*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Source Han Sans SC",system-ui,-apple-system,"Segoe UI",sans-serif;
  color:#14122b;
  background-color:#fdfbff;
  background-image:
    radial-gradient(1100px 620px at 6% -8%, rgba(109,40,217,.16), transparent 62%),
    radial-gradient(900px 540px at 100% 0%, rgba(225,29,116,.14), transparent 58%),
    radial-gradient(900px 620px at 50% 108%, rgba(6,168,201,.14), transparent 62%);
  background-repeat:no-repeat;
  line-height:1.7;
  font-size:16px;
}
img{max-width:100%;height:auto}
a{color:#6d28d9;text-decoration:none}
h1,h2,h3,h4{margin:0;line-height:1.32;color:#14122b}
p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
.wrap{width:100%;max-width:1180px;margin:0 auto;padding-left:20px;padding-right:20px}
section[id]{scroll-margin-top:86px}

/* Header */
.site-header{
  position:sticky;top:0;z-index:60;
  background:rgba(255,255,255,.88);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(109,40,217,.14);
}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:68px;padding-top:8px;padding-bottom:8px}
.brand{display:flex;align-items:center;gap:10px;flex:none}
.brand img{max-height:38px;width:auto;object-fit:contain;display:block}
.brand-text{font-size:1.06rem;font-weight:800;letter-spacing:.02em;color:#14122b;white-space:nowrap}
.brand-text em{font-style:normal;color:#6d28d9}
.nav-links{display:flex;align-items:center;flex-wrap:nowrap;gap:0}
.nav-links a{
  display:block;padding:.5rem .62rem;font-size:.88rem;font-weight:600;color:#2c2950;
  border-radius:9px;white-space:nowrap;transition:color .2s,background .2s;
}
.nav-links a:hover,.nav-links a:focus-visible{color:#6d28d9;background:rgba(109,40,217,.09)}
.header-cta{display:flex;align-items:center;gap:10px;flex:none}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:.8rem 1.45rem;border-radius:999px;font-size:.94rem;font-weight:700;
  border:1px solid transparent;cursor:pointer;line-height:1.2;
  transition:transform .22s ease,box-shadow .22s ease,background .22s ease,color .22s ease;
  font-family:inherit;
}
.btn-primary{background:linear-gradient(135deg,#6d28d9 0%,#c2189c 55%,#e11d74 100%);color:#fff;box-shadow:0 12px 26px -12px rgba(109,40,217,.8)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 18px 32px -12px rgba(225,29,116,.68)}
.btn-primary:active{transform:translateY(0);box-shadow:0 8px 18px -10px rgba(109,40,217,.7)}
.btn-ghost{background:#fff;color:#4c1d95;border-color:rgba(109,40,217,.38)}
.btn-ghost:hover{background:rgba(109,40,217,.07);transform:translateY(-2px)}
.btn-sm{padding:.62rem 1.05rem;font-size:.87rem}
.nav-toggle{
  display:none;width:44px;height:44px;border-radius:12px;border:1px solid rgba(109,40,217,.22);
  background:#fff;cursor:pointer;padding:0;place-items:center;flex:none;
}
.nav-toggle span{display:block;width:18px;height:2px;background:#4c1d95;border-radius:2px;margin:3px auto;transition:transform .25s,opacity .25s}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(5px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-5px) rotate(-45deg)}
.mobile-panel{display:none;border-top:1px solid rgba(109,40,217,.13);background:rgba(255,255,255,.97);padding:14px 0 18px}
.mobile-panel.open{display:block}
.mobile-panel nav{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;margin-bottom:14px}
.mobile-panel nav a{padding:.66rem .8rem;border-radius:10px;font-size:.9rem;font-weight:600;color:#2c2950;background:#f6f2ff}
.mobile-panel nav a:hover{background:#ece3ff;color:#6d28d9}
.mobile-panel .btn{width:100%}

/* Hero */
.hero{position:relative;overflow:hidden;padding:54px 0 34px}
.hero .blob{position:absolute;border-radius:50%;filter:blur(64px);pointer-events:none;z-index:0}
.blob-a{width:320px;height:320px;left:-90px;top:-60px;background:rgba(109,40,217,.4);animation:floatA 13s ease-in-out infinite}
.blob-b{width:280px;height:280px;right:-70px;bottom:-80px;background:rgba(6,168,201,.38);animation:floatB 16s ease-in-out infinite}
@keyframes floatA{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(24px,18px,0)}}
@keyframes floatB{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(-22px,-16px,0)}}
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.12fr .88fr;gap:42px;align-items:center}
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;font-size:.78rem;font-weight:700;letter-spacing:.08em;
  color:#6d28d9;background:rgba(109,40,217,.1);border:1px solid rgba(109,40,217,.2);
  padding:6px 14px;border-radius:999px;margin-bottom:18px;
}
.eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;background:#e11d74;flex:none}
.hero h1{font-size:clamp(1.72rem,3.6vw,2.7rem);letter-spacing:-.01em;margin-bottom:16px}
.hero h1 .hl{color:#6d28d9}
.hero h1 .hl2{color:#e11d74}
.hero-sub{font-size:1rem;color:#443f66;max-width:34em;margin-bottom:26px}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.hero-points{display:flex;flex-wrap:wrap;gap:10px 20px;margin-top:24px}
.hero-points li{display:flex;align-items:center;gap:7px;font-size:.87rem;color:#3b3560;font-weight:600}
.hero-points li::before{content:"";width:6px;height:6px;border-radius:2px;background:linear-gradient(135deg,#6d28d9,#e11d74);flex:none}
.model-card{
  background:#fff;border:1px solid rgba(109,40,217,.16);border-radius:22px;padding:24px;
  box-shadow:0 26px 54px -34px rgba(76,29,149,.6);
}
.mc-kicker{font-size:.72rem;letter-spacing:.16em;font-weight:800;color:#e11d74;margin-bottom:8px;text-transform:uppercase}
.mc-title{font-size:1.1rem;font-weight:800;margin-bottom:16px;color:#14122b}
.model-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.model-tags span{
  font-size:.78rem;font-weight:700;padding:5px 11px;border-radius:999px;
  background:#f4efff;color:#4c1d95;border:1px solid rgba(109,40,217,.16);
}
.model-tags span:nth-child(3n+2){background:#fff0f7;color:#a3165f;border-color:rgba(225,29,116,.18)}
.model-tags span:nth-child(3n+3){background:#eafaff;color:#066a83;border-color:rgba(6,168,201,.2)}
.mc-list li{display:flex;gap:9px;font-size:.88rem;color:#443f66;padding:7px 0;border-top:1px dashed rgba(109,40,217,.16)}
.mc-list li::before{content:"";width:7px;height:7px;border-radius:50%;background:#06a8c9;margin-top:.62em;flex:none}

.stat-bar{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:44px}
.stat{background:#fff;border:1px solid rgba(109,40,217,.14);border-radius:16px;padding:18px 14px;text-align:center;box-shadow:0 16px 34px -30px rgba(20,18,43,.8);transition:transform .25s,box-shadow .25s}
.stat:hover{transform:translateY(-3px);box-shadow:0 20px 38px -26px rgba(109,40,217,.55)}
.stat strong{display:block;font-size:1.55rem;font-weight:900;letter-spacing:-.02em}
.stat span{display:block;font-size:.82rem;color:#4a4768;font-weight:600;margin-top:2px}
.stat:nth-child(1) strong{color:#6d28d9}
.stat:nth-child(2) strong{color:#e11d74}
.stat:nth-child(3) strong{color:#06a8c9}
.stat:nth-child(4) strong{color:#ef8b09}

/* Sections */
.section{padding:62px 0}
.section-head{max-width:780px;margin:0 auto 36px;text-align:center}
.kicker{display:inline-block;font-size:.76rem;letter-spacing:.16em;font-weight:800;color:#6d28d9;background:rgba(109,40,217,.09);border:1px solid rgba(109,40,217,.2);padding:5px 14px;border-radius:999px;margin-bottom:14px}
.section-head h2{font-size:clamp(1.35rem,2.5vw,1.95rem);margin-bottom:12px}
.section-head p{color:#4a4768;font-size:.96rem;line-height:1.85}
.grid-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.grid-cards.cols-4{grid-template-columns:repeat(4,1fr)}
.grid-cards.cols-2{grid-template-columns:repeat(2,1fr)}
.card{
  background:#fff;border:1px solid rgba(109,40,217,.13);border-radius:18px;padding:22px;
  box-shadow:0 16px 34px -30px rgba(20,18,43,.85);
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.card:hover{transform:translateY(-4px);box-shadow:0 22px 44px -26px rgba(109,40,217,.45);border-color:rgba(109,40,217,.3)}
.card h3{font-size:1rem;display:flex;align-items:flex-start;gap:8px;margin-bottom:9px}
.card h3::before{content:"";width:8px;height:8px;border-radius:3px;background:var(--c,#6d28d9);flex:none;margin-top:.5em}
.card p{font-size:.9rem;color:#4a4768;line-height:1.75}
.grid-cards>.card:nth-child(3n+1){--c:#6d28d9}
.grid-cards>.card:nth-child(3n+2){--c:#e11d74}
.grid-cards>.card:nth-child(3n+3){--c:#06a8c9}
.grid-cards.cols-4>.card:nth-child(4n+1){--c:#6d28d9}
.grid-cards.cols-4>.card:nth-child(4n+2){--c:#e11d74}
.grid-cards.cols-4>.card:nth-child(4n+3){--c:#06a8c9}
.grid-cards.cols-4>.card:nth-child(4n+4){--c:#ef8b09}

/* About */
.about-text{background:#fff;border:1px solid rgba(109,40,217,.13);border-radius:20px;padding:26px 26px 24px;box-shadow:0 20px 44px -34px rgba(20,18,43,.8)}
.about-text p{font-size:.95rem;color:#413c62;line-height:1.9}
.about-text p+p{margin-top:14px}
.about-text .accent{color:#6d28d9;font-weight:800}
.banner-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:22px}
.banner-strip figure{margin:0;background:#fff;border:1px solid rgba(109,40,217,.13);border-radius:16px;padding:10px;box-shadow:0 16px 34px -30px rgba(20,18,43,.85)}
.banner-strip img{display:block;width:100%;border-radius:11px}

/* Steps */
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.step{background:#fff;border:1px solid rgba(109,40,217,.13);border-radius:18px;padding:20px;box-shadow:0 16px 34px -30px rgba(20,18,43,.85);transition:transform .25s,box-shadow .25s}
.step:hover{transform:translateY(-4px);box-shadow:0 22px 44px -26px rgba(225,29,116,.4)}
.step-num{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:11px;font-weight:900;font-size:.85rem;color:#fff;background:linear-gradient(135deg,#6d28d9,#e11d74);margin-bottom:12px}
.step h3{font-size:.96rem;margin-bottom:8px}
.step p{font-size:.86rem;color:#4a4768;line-height:1.72}

/* Flow timeline */
.flow{display:grid;gap:14px}
.flow li{display:flex;gap:14px;background:#fff;border:1px solid rgba(109,40,217,.13);border-radius:16px;padding:18px 20px;box-shadow:0 16px 34px -32px rgba(20,18,43,.9);transition:transform .22s,border-color .22s}
.flow li:hover{transform:translateX(4px);border-color:rgba(6,168,201,.4)}
.flow-num{flex:none;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-weight:900;font-size:.85rem;color:#fff;background:linear-gradient(135deg,#06a8c9,#6d28d9)}
.flow h3{font-size:.98rem;margin-bottom:5px}
.flow p{font-size:.88rem;color:#4a4768;line-height:1.72}

/* Cases */
.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.case-card{margin:0;background:#fff;border:1px solid rgba(109,40,217,.13);border-radius:20px;padding:14px;box-shadow:0 18px 38px -32px rgba(20,18,43,.9);transition:transform .25s,box-shadow .25s}
.case-card:hover{transform:translateY(-4px);box-shadow:0 24px 46px -28px rgba(109,40,217,.42)}
.case-media{background:linear-gradient(135deg,#f2ecff,#ffe9f4 55%,#e7f9ff);border-radius:13px;padding:8px;display:flex;align-items:center;justify-content:center}
.case-media img{display:block;width:100%;border-radius:9px}
.case-card figcaption{padding:15px 6px 6px}
.case-tag{display:inline-block;font-size:.74rem;font-weight:800;color:#a3165f;background:#fff0f7;border:1px solid rgba(225,29,116,.2);border-radius:999px;padding:3px 10px;margin-bottom:9px}
.case-card h3{font-size:.98rem;margin-bottom:7px}
.case-card p{font-size:.87rem;color:#4a4768;line-height:1.72}

/* Table */
.table-wrap{overflow-x:auto;border-radius:18px;border:1px solid rgba(109,40,217,.15);background:#fff;box-shadow:0 18px 40px -34px rgba(20,18,43,.9);-webkit-overflow-scrolling:touch}
table{width:100%;border-collapse:collapse;min-width:720px;font-size:.9rem}
thead th{background:rgba(109,40,217,.07);color:#14122b;font-weight:800;text-align:left;padding:14px 16px;white-space:nowrap;border-bottom:1px solid rgba(109,40,217,.15)}
tbody td{padding:13px 16px;border-bottom:1px solid rgba(109,40,217,.09);color:#3f3a5e;vertical-align:top;line-height:1.7}
tbody tr:last-child td{border-bottom:none}
tbody tr:hover{background:rgba(6,168,201,.055)}
td strong{color:#6d28d9}
.col-self{background:rgba(109,40,217,.035)}

/* Review score */
.score-panel{display:grid;grid-template-columns:.9fr 1.1fr;gap:20px;align-items:stretch;margin-bottom:22px}
.score-card{background:linear-gradient(150deg,#4c1d95,#6d28d9 45%,#c2189c 100%);color:#fff;border-radius:22px;padding:26px;box-shadow:0 26px 50px -30px rgba(76,29,149,.9)}
.score-card .score-label{font-size:.8rem;letter-spacing:.14em;font-weight:800;color:#f5d9ff;margin-bottom:12px}
.score-value{font-size:3rem;font-weight:900;line-height:1;letter-spacing:-.03em}
.score-value small{font-size:1rem;font-weight:700;opacity:.8;margin-left:6px}
.stars{display:flex;gap:5px;margin:14px 0 12px}
.stars i{width:17px;height:17px;display:block;background:#ffd166;clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}
.score-card p{font-size:.9rem;line-height:1.75;color:#f0e6ff}
.score-notes{background:#fff;border:1px solid rgba(109,40,217,.15);border-radius:22px;padding:24px;box-shadow:0 18px 40px -34px rgba(20,18,43,.9)}
.score-notes h3{font-size:1rem;margin-bottom:14px}
.score-notes li{display:flex;gap:9px;font-size:.9rem;color:#443f66;padding:8px 0;border-bottom:1px dashed rgba(109,40,217,.14);line-height:1.7}
.score-notes li:last-child{border-bottom:none}
.score-notes li::before{content:"";width:7px;height:7px;border-radius:50%;background:linear-gradient(135deg,#6d28d9,#06a8c9);flex:none;margin-top:.6em}

/* Form */
.form-shell{display:grid;grid-template-columns:.85fr 1.15fr;gap:24px;align-items:start}
.form-side{background:linear-gradient(150deg,#f5efff,#fff0f7 55%,#eafaff);border:1px solid rgba(109,40,217,.16);border-radius:22px;padding:26px}
.form-side h3{font-size:1.05rem;margin-bottom:12px}
.form-side p{font-size:.9rem;color:#443f66;line-height:1.85}
.form-side ul{margin-top:16px;display:grid;gap:9px}
.form-side li{display:flex;gap:9px;font-size:.88rem;color:#3b3560;font-weight:600}
.form-side li::before{content:"";width:7px;height:7px;border-radius:2px;background:#e11d74;flex:none;margin-top:.55em}
.need-form{background:#fff;border:1px solid rgba(109,40,217,.15);border-radius:22px;padding:26px;box-shadow:0 20px 44px -34px rgba(20,18,43,.9)}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.field{display:flex;flex-direction:column;gap:7px}
.field.full{grid-column:1 / -1}
.field label{font-size:.85rem;font-weight:700;color:#2c2950}
.field input,.field select,.field textarea{
  width:100%;padding:.72rem .9rem;border-radius:12px;border:1px solid rgba(109,40,217,.22);
  background:#fbfaff;color:#14122b;font-size:.92rem;font-family:inherit;line-height:1.5;
  transition:border-color .2s,box-shadow .2s,background .2s;
}
.field textarea{resize:vertical;min-height:110px}
.field input:focus,.field select:focus,.field textarea:focus{
  outline:none;border-color:#6d28d9;background:#fff;box-shadow:0 0 0 3px rgba(109,40,217,.14);
}
.field input::placeholder,.field textarea::placeholder{color:#948fb3}
.form-foot{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:20px}
.form-note{font-size:.82rem;color:#5d5880;line-height:1.6}

/* FAQ */
.faq-list{display:grid;gap:12px;max-width:920px;margin:0 auto}
.faq-item{background:#fff;border:1px solid rgba(109,40,217,.14);border-radius:16px;overflow:hidden;transition:border-color .22s,box-shadow .22s}
.faq-item.open{border-color:rgba(109,40,217,.35);box-shadow:0 18px 38px -30px rgba(109,40,217,.6)}
.faq-q{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:14px;
  background:none;border:none;cursor:pointer;text-align:left;font-family:inherit;
  padding:17px 20px;font-size:.95rem;font-weight:700;color:#1e1b3d;line-height:1.55;
}
.faq-ico{flex:none;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:rgba(109,40,217,.1);color:#6d28d9;font-weight:900;font-size:1rem;transition:transform .28s,background .28s,color .28s}
.faq-item.open .faq-ico{transform:rotate(45deg);background:linear-gradient(135deg,#6d28d9,#e11d74);color:#fff}
.faq-a{max-height:0;overflow:hidden;transition:max-height .34s ease}
.faq-a p{padding:0 20px 18px;font-size:.9rem;color:#4a4768;line-height:1.85}

/* Tags */
.tag-cloud{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.tag-cloud span{
  font-size:.85rem;font-weight:700;padding:7px 15px;border-radius:999px;
  background:#fff;border:1px solid rgba(109,40,217,.18);color:#4c1d95;
  transition:transform .2s,background .2s,color .2s,border-color .2s;
}
.tag-cloud span:nth-child(3n+2){color:#a3165f;border-color:rgba(225,29,116,.22);background:#fffafd}
.tag-cloud span:nth-child(3n+3){color:#066a83;border-color:rgba(6,168,201,.24);background:#f8feff}
.tag-cloud span:hover{transform:translateY(-3px);background:#6d28d9;color:#fff;border-color:#6d28d9}

/* Voice */
.voice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.voice-card{background:#fff;border:1px solid rgba(109,40,217,.13);border-radius:18px;padding:22px;box-shadow:0 16px 34px -30px rgba(20,18,43,.85);transition:transform .25s,box-shadow .25s;display:flex;flex-direction:column;gap:16px}
.voice-card:hover{transform:translateY(-4px);box-shadow:0 22px 44px -26px rgba(6,168,201,.42)}
.voice-text{font-size:.9rem;color:#3f3a5e;line-height:1.85;margin:0}
.voice-user{display:flex;align-items:center;gap:11px;margin-top:auto;padding-top:14px;border-top:1px dashed rgba(109,40,217,.16)}
.voice-avatar{width:38px;height:38px;flex:none;border-radius:12px;display:grid;place-items:center;font-weight:900;font-size:.92rem;color:#fff;background:linear-gradient(135deg,#6d28d9,#06a8c9)}
.voice-card:nth-child(2n) .voice-avatar{background:linear-gradient(135deg,#e11d74,#6d28d9)}
.voice-card:nth-child(3n) .voice-avatar{background:linear-gradient(135deg,#06a8c9,#ef8b09)}
.voice-user strong{display:block;font-size:.9rem;color:#14122b}
.voice-user span{display:block;font-size:.8rem;color:#6b6690}

/* News */
.news-list{display:grid;gap:12px}
.news-list li{background:#fff;border:1px solid rgba(109,40,217,.13);border-radius:15px;transition:transform .22s,border-color .22s,box-shadow .22s}
.news-list li:hover{transform:translateX(4px);border-color:rgba(109,40,217,.32);box-shadow:0 16px 32px -30px rgba(109,40,217,.7)}
.news-list a{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 20px;font-size:.92rem;font-weight:600;color:#221f42}
.news-list a::after{content:"→";flex:none;color:#e11d74;font-weight:900;transition:transform .22s}
.news-list li:hover a::after{transform:translateX(4px)}

/* Contact */
.contact-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:22px;align-items:start}
.contact-card{background:#fff;border:1px solid rgba(109,40,217,.14);border-radius:22px;padding:26px;box-shadow:0 20px 44px -34px rgba(20,18,43,.9)}
.contact-card h3{font-size:1.02rem;margin-bottom:16px}
.info-list{display:grid;gap:13px}
.info-list li{display:flex;flex-wrap:wrap;gap:6px 10px;font-size:.9rem;color:#3f3a5e;align-items:baseline}
.info-list b{flex:none;min-width:82px;color:#6d28d9;font-weight:800;font-size:.85rem}
.qr-box{background:linear-gradient(150deg,#f5efff,#fff0f7 60%,#eafaff);border:1px solid rgba(109,40,217,.16);border-radius:22px;padding:22px;text-align:center}
.qr-box img{width:168px;max-width:100%;height:auto;border-radius:14px;background:#fff;padding:8px;border:1px solid rgba(109,40,217,.16);display:block;margin:0 auto 14px}
.qr-box p{font-size:.86rem;color:#443f66;line-height:1.75}
.agent-card{margin-top:22px;background:linear-gradient(150deg,#2a1650,#4c1d95 55%,#8b1a6b 100%);color:#fff;border-radius:22px;padding:28px;box-shadow:0 26px 50px -30px rgba(76,29,149,.85)}
.agent-card h3{color:#fff;font-size:1.12rem;margin-bottom:12px}
.agent-card p{font-size:.92rem;color:#e8ddff;line-height:1.85;max-width:64em}
.agent-card .btn{margin-top:18px;background:#fff;color:#4c1d95;box-shadow:0 12px 26px -14px rgba(0,0,0,.6)}
.agent-card .btn:hover{transform:translateY(-2px);background:#f7f2ff}
.agent-tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:16px}
.agent-tags span{font-size:.8rem;font-weight:700;padding:5px 12px;border-radius:999px;background:rgba(255,255,255,.16);color:#fff;border:1px solid rgba(255,255,255,.28)}

/* Footer */
.site-footer{margin-top:58px;background:#15122c;color:#ded9f2;padding:40px 0 22px}
.footer-top{display:grid;grid-template-columns:1.05fr .95fr;gap:26px;padding-bottom:26px;border-bottom:1px solid rgba(255,255,255,.13)}
.footer-brand{font-size:1.05rem;font-weight:800;color:#fff;margin-bottom:10px}
.footer-desc{font-size:.88rem;color:#c6c0e2;line-height:1.85;max-width:36em}
.footer-mail{display:inline-block;margin-top:12px;font-size:.9rem;font-weight:700;color:#8ee6ff}
.footer-mail:hover{color:#fff}
.footer-label{display:block;font-size:.8rem;font-weight:800;letter-spacing:.12em;color:#a99ede;margin-bottom:12px}
.footer-links{display:flex;flex-wrap:wrap;gap:9px}
.footer-links a{font-size:.85rem;color:#d7d1ee;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.13);padding:6px 13px;border-radius:999px;transition:background .2s,color .2s,transform .2s}
.footer-links a:hover{background:#6d28d9;color:#fff;border-color:#6d28d9;transform:translateY(-2px)}
.footer-bottom{padding-top:18px;font-size:.8rem;color:#a9a2c9;text-align:center;line-height:1.8}

/* Floating */
.fab-stack{position:fixed;right:16px;bottom:20px;z-index:80;display:flex;flex-direction:column;gap:10px;align-items:flex-end}
.fab{
  width:50px;height:50px;border-radius:16px;border:none;cursor:pointer;display:grid;place-items:center;
  background:linear-gradient(135deg,#6d28d9,#e11d74);color:#fff;font-size:.76rem;font-weight:800;
  box-shadow:0 14px 30px -14px rgba(76,29,149,.95);transition:transform .22s,box-shadow .22s,opacity .22s;
  font-family:inherit;line-height:1.1;
}
.fab:hover{transform:translateY(-3px);box-shadow:0 18px 34px -14px rgba(225,29,116,.85)}
.fab-top{background:#fff;color:#4c1d95;border:1px solid rgba(109,40,217,.3);opacity:0;pointer-events:none}
.fab-top.show{opacity:1;pointer-events:auto}
.fab-panel{
  position:fixed;right:16px;bottom:150px;z-index:81;width:214px;background:#fff;border:1px solid rgba(109,40,217,.2);
  border-radius:18px;padding:16px;text-align:center;box-shadow:0 24px 48px -26px rgba(20,18,43,.7);
  opacity:0;transform:translateY(10px) scale(.96);pointer-events:none;transition:opacity .24s,transform .24s;
}
.fab-panel.show{opacity:1;transform:none;pointer-events:auto}
.fab-panel img{width:150px;max-width:100%;height:auto;border-radius:12px;display:block;margin:0 auto 10px;background:#fff;padding:6px;border:1px solid rgba(109,40,217,.15)}
.fab-panel p{font-size:.82rem;color:#443f66;line-height:1.7}

/* Reveal */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .62s ease,transform .62s ease}
.reveal.in{opacity:1;transform:none}

/* Responsive */
@media (max-width:1080px){
  .nav-links,.header-cta{display:none}
  .nav-toggle{display:grid}
}
@media (max-width:980px){
  .hero-grid{grid-template-columns:1fr;gap:28px}
  .stat-bar{margin-top:32px}
  .score-panel{grid-template-columns:1fr}
  .form-shell{grid-template-columns:1fr}
  .contact-grid{grid-template-columns:1fr}
  .footer-top{grid-template-columns:1fr}
  .grid-cards,.grid-cards.cols-4{grid-template-columns:repeat(2,1fr)}
  .case-grid{grid-template-columns:repeat(2,1fr)}
  .voice-grid{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:repeat(3,1fr)}
  .banner-strip{grid-template-columns:1fr 1fr}
}
@media (max-width:720px){
  .section{padding:48px 0}
  .hero{padding:38px 0 26px}
  .stat-bar{grid-template-columns:repeat(2,1fr)}
  .grid-cards,.grid-cards.cols-4,.grid-cards.cols-2,.case-grid,.voice-grid,.steps{grid-template-columns:1fr}
  .banner-strip{grid-template-columns:1fr}
  .form-grid{grid-template-columns:1fr}
  .hero-actions .btn{flex:1 1 auto}
  .fab-panel{width:200px;bottom:140px}
  .footer-bottom{font-size:.76rem}
}
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
  .blob-a,.blob-b{animation:none}
  *{animation-duration:.001ms !important;animation-iteration-count:1 !important}
}