@charset "utf-8";
/* 香香腐宅 · xxfzgw.cc  共享样式 */

:root{
  --brand:#7c5ce0;
  --brand-d:#4b2fa0;
  --brand-l:#a68cf0;
  --pink:#ff8fb3;
  --pink-d:#e4638f;
  --mint:#2fc39b;
  --mint-d:#1d9b78;
  --gold:#ffc42e;
  --ink:#241b3a;
  --body:#4f4766;
  --mut:#8b83a3;
  --line:#eae5f6;
  --bg:#faf8ff;
  --card:#ffffff;
  --soft:#f4f0fd;
  --grad:linear-gradient(135deg,#8b6ce8,#7c5ce0 44%,#ff8fb3);
  --cta:linear-gradient(135deg,#5fe0b6,#2fc39b 56%,#1d9b78);
  --cta-ink:#06301f;
  --shadow:0 12px 34px rgba(84,60,160,.10);
  --radius:16px;
}

*{box-sizing:border-box}
body,h1,h2,h3,h4,p,ul,ol,li,figure,figcaption,blockquote,dl,dd,dt{margin:0;padding:0}
figure,figcaption{margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:"Microsoft YaHei","PingFang SC","Hiragino Sans GB","Heiti SC",sans-serif;
  color:var(--body);background:var(--bg);line-height:1.78;font-size:16px;
  padding-top:68px;
}
img{max-width:100%;height:auto;display:block;border:0}
a{color:var(--brand-d);text-decoration:none}
a:hover{color:var(--pink-d)}
ul,ol{list-style:none}
.wrap{width:100%;max-width:1160px;margin:0 auto;padding-left:22px;padding-right:22px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ============ 头部 ============ */
.site-header{
  position:fixed;left:0;right:0;top:0;z-index:60;background:rgba(255,255,255,.94);
  backdrop-filter:blur(8px);border-bottom:1px solid var(--line);
}
.header-inner{display:flex;align-items:center;min-height:68px;gap:18px}
.brand{display:flex;align-items:center;gap:10px;flex:none}
.brand img{width:40px;height:40px;border-radius:11px}
.brand-name{display:flex;flex-direction:column;line-height:1.16}
.brand-name b{font-size:18.5px;color:var(--ink);font-weight:800;letter-spacing:.6px}
.brand-name .sub{font-size:11.5px;color:var(--mut);letter-spacing:1.4px}
.nav{margin-left:auto;display:flex;align-items:center;gap:22px}
.nav a{font-size:14.5px;color:var(--body);position:relative;padding:4px 0;white-space:nowrap}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;border-radius:2px;
  background:var(--grad);opacity:0;transition:opacity .2s}
.nav a:hover::after,.nav a.on::after{opacity:1}
.nav a.on{color:var(--brand-d);font-weight:700}
.nav .header-cta{
  display:inline-flex;align-items:center;gap:7px;padding:10px 20px;border-radius:24px;
  background:var(--cta);color:var(--cta-ink);font-size:14.5px;font-weight:800;
  box-shadow:0 8px 20px rgba(47,195,155,.30);flex:none;line-height:1.2;
}
.nav .header-cta::after{display:none}
.nav .header-cta:hover{color:var(--cta-ink);filter:brightness(1.05)}
.nav .header-cta .fa-solid{font-size:.95em;line-height:1}

/* ============ 通用按钮 ============ */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  padding:15px 34px;border-radius:32px;background:var(--cta);color:var(--cta-ink);
  font-size:16.5px;font-weight:800;letter-spacing:.5px;
  box-shadow:0 14px 28px rgba(47,195,155,.32);transition:transform .18s,filter .18s;
}
.btn:hover{transform:translateY(-2px);filter:brightness(1.05);color:var(--cta-ink)}
.btn--ghost{background:rgba(255,255,255,.16);color:#fff;box-shadow:none;
  box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.55)}
.btn--ghost:hover{background:rgba(255,255,255,.26);color:#fff}
.btn--light{background:#fff;color:var(--brand-d);box-shadow:0 12px 26px rgba(36,27,58,.16)}
.btn--light:hover{color:var(--brand-d)}

/* ============ Hero ============ */
.hero{
  position:relative;overflow:hidden;color:#fff;
  background:linear-gradient(150deg,#2e1259,#5c2aa8 46%,#c9569c);
}
.hero::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(560px 340px at 12% 8%,rgba(255,143,179,.34),transparent 62%),
    radial-gradient(520px 320px at 88% 22%,rgba(47,195,155,.30),transparent 64%),
    radial-gradient(460px 300px at 62% 96%,rgba(166,140,240,.34),transparent 66%),
    radial-gradient(rgba(255,255,255,.14) 1px,transparent 1px);
  background-size:auto,auto,auto,22px 22px;
}
.hero .hero-grid{
  position:relative;display:grid;grid-template-columns:1.08fr .92fr;gap:34px;align-items:center;
  padding-top:70px;padding-bottom:74px;
}
.hero-grid>*{min-width:0}
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;padding:7px 15px;border-radius:20px;
  background:rgba(255,255,255,.16);box-shadow:inset 0 0 0 1px rgba(255,255,255,.28);
  font-size:13px;letter-spacing:.6px;margin-bottom:20px;
}
.hero h1{font-size:clamp(30px,4.4vw,50px);line-height:1.22;font-weight:900;letter-spacing:1px;color:#fff}
.hero-lead{margin-top:16px;font-size:16.5px;color:rgba(255,255,255,.92);max-width:520px}
.hero-lead b{color:#fff}
.hero-acts{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}
.hero-tip{margin-top:20px;font-size:13.5px;color:rgba(255,255,255,.78)}
.hero-visual{display:flex;justify-content:center}
.phone-stage{display:flex;align-items:center;justify-content:center;gap:16px}
.phone{flex:none;background:#150c2e;border-radius:24px;padding:8px;box-shadow:0 22px 48px rgba(10,4,30,.42)}
.phone .screen{border-radius:17px;overflow:hidden;background:#fff}
.phone .screen img{width:100%;height:auto}
.phone-stage .phone{width:206px;flex:none}
.phone-stage .phone.small{width:142px;flex:none}

/* ============ 区块 ============ */
.section{padding-top:64px;padding-bottom:64px}
.section--tight{padding-top:44px;padding-bottom:44px}
.section--soft{background:var(--soft)}
.sec-head{text-align:center;margin-bottom:34px}
.sec-head h2{font-size:clamp(22px,2.6vw,30px);color:var(--ink);font-weight:800;letter-spacing:.5px}
.sec-head-p{margin-top:12px;font-size:15.5px;color:var(--mut)}
.sec-head--left{text-align:left}

/* 数据信任条 */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.stat{background:var(--card);border-radius:var(--radius);padding:24px 18px;text-align:center;
  border:1px solid var(--line);box-shadow:var(--shadow)}
.stat b{display:block;font-size:30px;font-weight:900;color:var(--brand);letter-spacing:.5px}
.stat span{display:block;margin-top:7px;font-size:14px;color:var(--mut)}
.stats-note{margin-top:14px;text-align:center;font-size:12.5px;color:var(--mut)}

/* 卡片栅格 */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  padding:26px 22px;box-shadow:var(--shadow);display:flex;flex-direction:column}
.card .ic{width:46px;height:46px;border-radius:14px;background:var(--soft);color:var(--brand);
  display:flex;align-items:center;justify-content:center;font-size:20px;margin-bottom:15px}
.card:nth-child(3n+2) .ic{background:#eafaf4;color:var(--mint-d)}
.card:nth-child(3n) .ic{background:#fff0f5;color:var(--pink-d)}
.card h3{font-size:17.5px;color:var(--ink);font-weight:800;margin-bottom:9px}
.card p{font-size:14.6px;color:var(--body)}
.card .use{margin-top:auto;padding-top:14px;border-top:1px dashed var(--line);
  font-size:13.4px;color:var(--mut)}

/* 预览栅格 */
.shots{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.shot{display:flex;flex-direction:column}
.shot .frame{border-radius:18px;overflow:hidden;background:#fff;border:1px solid var(--line);
  box-shadow:var(--shadow)}
.shot img{width:100%;height:auto}
.shot figcaption{margin-top:11px;font-size:13.6px;color:var(--mut);text-align:center;line-height:1.6}
.shot figcaption b{display:block;color:var(--ink);font-size:14.4px;font-weight:700;margin-bottom:2px}

/* 入口卡 */
.entries{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.entry{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);
  border-radius:var(--radius);padding:24px 20px;box-shadow:var(--shadow);color:var(--body)}
.entry:hover{color:var(--body);box-shadow:0 16px 38px rgba(84,60,160,.16)}
.entry .n{font-size:12.5px;font-weight:800;letter-spacing:1.6px;color:var(--brand-l)}
.entry h3{margin:9px 0 8px;font-size:17px;color:var(--ink);font-weight:800}
.entry p{font-size:14.4px}
.entry .more{margin-top:auto;padding-top:14px;font-size:13.6px;color:var(--pink-d);font-weight:700}

/* 评价 */
.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.review{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);
  border-radius:var(--radius);padding:24px 22px;box-shadow:var(--shadow)}
.review .stars{color:var(--gold);font-size:14px;letter-spacing:2px;margin-bottom:12px}
.review p{font-size:14.8px;color:var(--body)}
.review .who{margin-top:auto;padding-top:16px;border-top:1px dashed var(--line);
  font-size:13.4px;color:var(--mut)}
.review .who b{color:var(--ink)}

/* FAQ 速览 / 折叠 */
.faq-list{display:flex;flex-direction:column;gap:12px}
.faq-list details,.prose details{background:var(--card);border:1px solid var(--line);
  border-radius:14px;overflow:hidden}
.faq-list summary,.prose details>summary{
  cursor:pointer;list-style:none;padding:17px 20px;font-size:16px;font-weight:700;color:var(--ink);
  position:relative;padding-right:52px}
.faq-list summary::-webkit-details-marker,.prose details>summary::-webkit-details-marker{display:none}
.faq-list summary::after,.prose details>summary::after{
  content:"+";position:absolute;right:20px;top:50%;transform:translateY(-50%);
  width:24px;height:24px;line-height:22px;text-align:center;border-radius:50%;
  background:var(--soft);color:var(--brand);font-size:17px;font-weight:800}
.faq-list details[open] summary::after,.prose details[open]>summary::after{content:"−"}
.faq-list .ans,.prose details .ans{padding:0 20px 18px;font-size:15px;color:var(--body)}
.faq-list .ans p+p,.prose details .ans p+p{margin-top:10px}
.faq-list .ans ul>li,.prose details .ans ul>li{position:relative;padding-left:18px;margin-top:8px}
.faq-list .ans ul>li::before,.prose details .ans ul>li::before{content:"";position:absolute;left:2px;top:11px;
  width:6px;height:6px;border-radius:50%;background:var(--mint)}
.faq-more{text-align:center;margin-top:26px}

/* CTA 条 */
.band{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:30px 28px;
  box-shadow:var(--shadow);display:grid;grid-template-columns:1fr auto;gap:14px 28px;align-items:center}
.band h2{grid-column:1;grid-row:1;font-size:clamp(20px,2.3vw,26px);color:var(--ink);font-weight:800}
.band .btn{grid-column:2;grid-row:1;justify-self:end}
.band-txt{grid-column:1/-1;grid-row:2;font-size:15px;color:var(--body)}
.band .cta-band{grid-column:1/-1;grid-row:2}

/* 页脚 */
.site-footer{background:#241b3a;color:rgba(255,255,255,.74);padding-top:52px;margin-top:64px}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:32px}
.footer-col h4{font-size:15px;color:#fff;font-weight:800;margin-bottom:14px}
.footer-col p{font-size:14px;line-height:1.9}
.footer-col ul li{margin-bottom:9px}
.footer-col ul a{font-size:14px;color:rgba(255,255,255,.74)}
.footer-col ul a:hover{color:#fff}
.footer-brand{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.footer-brand img{width:38px;height:38px;border-radius:11px}
.footer-brand b{color:#fff;font-size:17.5px;font-weight:800;letter-spacing:.6px}
.footer-dl{display:inline-flex;align-items:center;gap:8px;margin-top:16px;padding:11px 22px;
  border-radius:24px;background:var(--cta);color:var(--cta-ink);font-weight:800;font-size:14.5px}
.footer-dl:hover{color:var(--cta-ink)}
.footer-bottom{margin-top:38px;border-top:1px solid rgba(255,255,255,.14);padding:22px 0 30px}
.footer-bottom p{font-size:12.8px;line-height:2;color:rgba(255,255,255,.6)}
.footer-bottom .disc{color:rgba(255,255,255,.76)}

/* ============ 内页 ============ */
.page-hero{background:linear-gradient(150deg,#2e1259,#5c2aa8 52%,#c9569c);color:#fff;position:relative;overflow:hidden}
.page-hero::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(520px 300px at 82% 12%,rgba(47,195,155,.28),transparent 62%),
             radial-gradient(rgba(255,255,255,.13) 1px,transparent 1px);
  background-size:auto,22px 22px}
.page-hero .in{position:relative;padding-top:46px;padding-bottom:48px}
.crumb{font-size:13.4px;color:rgba(255,255,255,.78);margin-bottom:12px}
.page-hero p a,.page-hero .crumb a{color:#d6c8ff;border-bottom:1px dashed rgba(214,200,255,.55)}
.page-hero p a:hover,.page-hero .crumb a:hover{color:#fff;border-bottom-color:#fff}
.page-hero h1{font-size:clamp(24px,3.2vw,36px);font-weight:900;color:#fff;letter-spacing:.6px;line-height:1.3}
.page-hero .lead{margin-top:14px;font-size:15.8px;color:rgba(255,255,255,.9);max-width:800px}

.layout{display:block}
.prose{width:100%;max-width:900px;min-width:0;margin:0 auto;padding-top:54px;padding-bottom:64px;
  padding-left:22px;padding-right:22px}
.prose h2{font-size:clamp(20px,2.3vw,26px);color:var(--ink);font-weight:800;
  margin-top:42px;margin-bottom:0;letter-spacing:.4px}
.prose h2:first-child{margin-top:0}
.prose h3{font-size:17.5px;color:var(--ink);font-weight:800;margin-top:26px;margin-bottom:0}
.sec-body{margin-top:16px}
.sec-body p+p{margin-top:12px}
.prose p{font-size:15.6px}
.prose b,.prose strong{color:var(--ink)}
.prose ul,.prose ol{margin-top:14px}
.prose ul>li,.prose ol>li{position:relative;padding-left:18px;margin-bottom:9px;font-size:15.4px}
.prose ul>li::before{content:"";position:absolute;left:2px;top:11px;width:6px;height:6px;
  border-radius:50%;background:var(--mint)}
.prose ol{counter-reset:pl}
.prose ol>li{counter-increment:pl;padding-left:32px}
.prose ol>li::before{content:counter(pl);position:absolute;left:0;top:2px;width:21px;height:21px;
  line-height:21px;text-align:center;border-radius:50%;background:var(--soft);
  color:var(--brand-d);font-size:12.5px;font-weight:800}
.prose .table-scroll{margin-top:18px}
.prose .note{margin-top:20px;background:var(--soft);border-left:4px solid var(--brand-l);
  border-radius:0 12px 12px 0;padding:16px 20px;font-size:14.8px}
.prose .tip{margin-top:20px;background:#eafaf4;border-left:4px solid var(--mint);
  border-radius:0 12px 12px 0;padding:16px 20px;font-size:14.8px}
.prose .faq-group{margin-top:34px}
.prose .faq-group>h2{margin-top:0}
.prose details{margin-top:12px}
.prose .faq-group details:first-of-type{margin-top:16px}
.prose .rel-links{margin-top:44px;background:var(--card);border:1px solid var(--line);
  border-radius:16px;padding:22px 24px;box-shadow:var(--shadow)}
.prose .rel-links h2{margin-top:0;font-size:18.5px}
.prose .rel-links ul{margin-top:12px}
.prose .rel-links ul>li{padding-left:18px;font-size:15px}
.prose .rel-links ul>li::before{background:var(--pink)}
.prose .shot{margin:26px auto;max-width:368px}
.prose .shot img{width:100%;height:auto;border-radius:16px;border:1px solid var(--line);box-shadow:var(--shadow)}
.prose .shot figcaption{margin-top:11px;font-size:13.4px;color:var(--mut);text-align:center}

/* 表格 */
.table-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:var(--card)}
table.cmp{width:100%;min-width:680px;border-collapse:collapse;font-size:14.6px}
table.cmp th,table.cmp td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--line);
  vertical-align:top}
table.cmp thead th{background:var(--soft);color:var(--ink);font-weight:800;white-space:nowrap}
table.cmp tbody tr:last-child th,table.cmp tbody tr:last-child td{border-bottom:0}
table.cmp tbody th{color:var(--ink);font-weight:700;white-space:nowrap}

/* 步骤列表（counter 只写在直接子项上） */
.prose .steps{counter-reset:st;margin-top:18px}
.prose .steps>li{position:relative;padding-left:58px;padding-bottom:20px;
  border-bottom:1px dashed var(--line);margin-bottom:0}
.prose .steps>li:last-child{border-bottom:0;padding-bottom:0}
.prose .steps>li::before{counter-increment:st;content:counter(st);position:absolute;left:0;top:0;
  width:34px;height:34px;line-height:34px;text-align:center;border-radius:11px;
  background:var(--grad);color:#fff;font-size:15px;font-weight:800}
.prose .steps>li>b{display:block;font-size:16.4px;margin-bottom:6px}
.prose .steps>li>ul>li{position:relative;padding-left:17px;margin-top:7px;font-size:14.8px}
.prose .steps>li>ul>li::before{content:"";position:absolute;left:2px;top:10px;width:6px;height:6px;
  border-radius:50%;background:var(--pink)}

/* 尾部下载条 */
.cta-band{background:linear-gradient(135deg,#2e1259,#5c2aa8 52%,#c9569c);border-radius:20px;
  padding:34px 30px;color:#fff;display:grid;grid-template-columns:1fr auto;gap:14px 28px;align-items:center}
.cta-band h2{grid-column:1;grid-row:1;font-size:clamp(20px,2.3vw,26px);font-weight:800;color:#fff}
.cta-band .btn{grid-column:2;grid-row:1;justify-self:end}
.cta-band .band-txt{grid-column:1/-1;grid-row:2;font-size:15px;color:rgba(255,255,255,.9)}

/* 渐显 */
.reveal{transition:opacity .6s ease,transform .6s ease}
.js .reveal{opacity:0;transform:translateY(18px)}
.js .reveal.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .js .reveal,.reveal{opacity:1;transform:none}
  html{scroll-behavior:auto}
}
@media print{.js .reveal,.reveal{opacity:1!important;transform:none!important}}

/* ============ 断点 ============ */
@media (max-width:980px){
  .hero .hero-grid{grid-template-columns:1fr;gap:28px}
  .hero-visual{justify-content:center}
  .cards,.entries{grid-template-columns:repeat(2,1fr)}
  .shots{grid-template-columns:repeat(2,1fr)}
  .reviews{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
  .band,.cta-band{grid-template-columns:1fr}
  .band h2,.band .btn,.band-txt,.cta-band h2,.cta-band .btn,.cta-band .band-txt{
    grid-column:1;justify-self:start}
  .band .btn,.cta-band .btn{grid-row:3;margin-top:6px}
  .band-txt,.cta-band .band-txt{grid-row:2}
}

@media (max-width:620px){
  body{padding-top:0;font-size:15.4px}
  .site-header{position:static}
  .header-inner{flex-wrap:wrap;min-height:0;padding-top:10px;padding-bottom:10px;gap:8px}
  .brand{width:100%}
  .brand-name .sub{display:none}
  .nav{width:100%;margin-left:0;flex-wrap:wrap;justify-content:space-between;gap:0}
  .nav a{flex:0 0 33.3333%;text-align:center;padding:7px 0;font-size:14px;white-space:nowrap}
  .nav .header-cta{display:none}
  .hero .hero-grid{padding-top:38px;padding-bottom:44px}
  .hero-lead{font-size:15.4px}
  .hero-visual{order:2}
  .phone-stage{gap:12px}
  .phone-stage .phone{width:44vw;max-width:196px}
  .phone-stage .phone.small{width:30vw;max-width:132px}
  .stats{grid-template-columns:repeat(2,1fr)}
  .stat b{font-size:25px}
  .cards,.entries,.shots{grid-template-columns:1fr}
  .section{padding-top:44px;padding-bottom:44px}
  .prose{padding-top:38px;padding-bottom:46px;padding-left:22px;padding-right:22px}
  .prose h2{margin-top:34px}
  .prose .steps>li{padding-left:46px}
  .prose .steps>li::before{width:30px;height:30px;line-height:30px;font-size:14px}
  .footer-grid{grid-template-columns:1fr;gap:24px}
  .band,.cta-band{padding:26px 22px}
  .band .btn,.cta-band .btn{justify-self:stretch}
}
