/* ========================================================================== 
   Quoly Enterprise — Apple 产品页语言 × 企业 AI 服务
   作为 site.css 之后的最终主题层；不依赖外部字体或第三方脚本。
   ========================================================================== */

:root{
  color-scheme:dark;
  --bg-0:#09090B;
  --bg-1:#0F0F12;
  --bg-2:#141418;
  --bg-3:#18181B;
  --glass:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.024));
  --glass-hi:linear-gradient(180deg,rgba(255,255,255,.082),rgba(255,255,255,.035));
  --glass-line:rgba(255,255,255,.09);
  --glass-line-hi:rgba(129,140,248,.38);
  --glass-inset:inset 0 1px 0 rgba(255,255,255,.09);
  --blur:saturate(135%) blur(20px);
  --accent:#6366F1;
  --accent-strong:#818CF8;
  --accent-2:#8B5CF6;
  --accent-soft:rgba(99,102,241,.13);
  --indigo:#6366F1;
  --violet:#8B5CF6;
  --cyan:#818CF8;
  --mint:#10B981;
  --amber:#F59E0B;
  --rose:#EF4444;
  --indigo-soft:var(--accent-soft);
  --cyan-soft:rgba(129,140,248,.13);
  --mint-soft:rgba(16,185,129,.12);
  --amber-soft:rgba(245,158,11,.12);
  --tx:#FAFAFA;
  --tx-2:#A1A1AA;
  --tx-3:#7C7C86;
  --tx-4:#575761;
  --r-sm:10px;
  --r-md:14px;
  --r-lg:18px;
  --r-xl:24px;
  --sh-sm:0 2px 10px rgba(0,0,0,.25);
  --sh-md:0 14px 36px rgba(0,0,0,.32);
  --sh-lg:0 28px 70px rgba(0,0,0,.42);
  --glow-indigo:0 18px 52px rgba(99,102,241,.24);
  --glow-mint:0 18px 44px rgba(16,185,129,.18);
  --line:rgba(255,255,255,.09);
  --line-dark:rgba(255,255,255,.07);
  --card:rgba(255,255,255,.035);
  --wrap:1180px;
  --t-fast:150ms ease;
  --t-base:250ms ease;
  --t-slow:600ms cubic-bezier(.2,.8,.2,1);
}

[data-theme="light"]{
  color-scheme:light;
  --bg-0:#FFFFFF;
  --bg-1:#F8FAFC;
  --bg-2:#F1F5F9;
  --bg-3:#E8ECF3;
  --glass:linear-gradient(180deg,rgba(255,255,255,.98),rgba(248,250,252,.9));
  --glass-hi:linear-gradient(180deg,#FFFFFF,#F8FAFC);
  --glass-line:rgba(15,23,42,.09);
  --glass-line-hi:rgba(79,70,229,.30);
  --glass-inset:inset 0 1px 0 #FFFFFF;
  --accent:#4F46E5;
  --accent-strong:#6366F1;
  --accent-2:#7C3AED;
  --accent-soft:rgba(79,70,229,.09);
  --indigo:#4F46E5;
  --violet:#7C3AED;
  --cyan:#4F46E5;
  --mint:#047857;
  --amber:#B45309;
  --rose:#DC2626;
  --indigo-soft:var(--accent-soft);
  --cyan-soft:rgba(79,70,229,.09);
  --mint-soft:rgba(4,120,87,.09);
  --amber-soft:rgba(180,83,9,.09);
  --tx:#0F172A;
  --tx-2:#475569;
  --tx-3:#64748B;
  --tx-4:#94A3B8;
  --sh-sm:0 2px 10px rgba(15,23,42,.06);
  --sh-md:0 14px 36px rgba(15,23,42,.09);
  --sh-lg:0 28px 70px rgba(15,23,42,.12);
  --line:rgba(15,23,42,.09);
  --line-dark:rgba(15,23,42,.07);
  --card:rgba(15,23,42,.025);
}

body{
  background:
    radial-gradient(60rem 38rem at 50% -14rem,rgba(99,102,241,.12),transparent 72%),
    var(--bg-0);
  color:var(--tx-2);
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Segoe UI",Inter,"PingFang SC","HarmonyOS Sans SC","Microsoft YaHei",sans-serif;
}

.aurora{
  background:
    radial-gradient(48% 30% at 74% 0%,rgba(99,102,241,.17),transparent 74%),
    radial-gradient(34% 28% at 18% 12%,rgba(139,92,246,.09),transparent 76%);
  filter:blur(42px);
}
.grain{opacity:.018}
[data-theme="light"] .aurora{
  background:
    radial-gradient(48% 30% at 74% 0%,rgba(99,102,241,.09),transparent 74%),
    radial-gradient(34% 28% at 18% 12%,rgba(139,92,246,.055),transparent 76%);
}

h1,h2,h3,h4{font-weight:780}
h1{letter-spacing:-.045em}
h2{letter-spacing:-.035em}
a{color:var(--accent-strong)}
a:hover{color:#A5B4FC}
[data-theme="light"] a:hover{color:var(--accent)}
:focus-visible{outline-color:var(--accent-strong)}
.wrap{max-width:var(--wrap)}

/* 导航：Apple 式轻薄顶栏，保留企业身份与诊断主入口。 */
.nav{
  background:rgba(9,9,11,.78);
  border-bottom:1px solid rgba(255,255,255,.07);
  backdrop-filter:saturate(150%) blur(22px);
  -webkit-backdrop-filter:saturate(150%) blur(22px);
}
.nav .in{max-width:1180px;min-height:72px;gap:22px}
.brand .mk{
  background:linear-gradient(135deg,#6366F1,#8B5CF6);
  color:#FFFFFF;
  border-radius:10px;
  box-shadow:0 8px 24px rgba(99,102,241,.28),inset 0 1px 0 rgba(255,255,255,.35);
}
.brand-copy b{letter-spacing:-.01em}
.brand-copy small{color:var(--tx-3)}
.nav .links{gap:3px}
.nav .links a:not(.cta){padding:8px 10px;color:var(--tx-2);font-size:13.5px}
.nav .links a:not(.cta):hover,.nav .links a:not(.cta).on{color:var(--tx);background:rgba(255,255,255,.045)}
.nav .links a:not(.cta)::after{background:linear-gradient(90deg,var(--accent),var(--accent-2))}
.nav .links a.cta,
.btn-primary{
  color:#FFFFFF;
  /* 起始色不要用 #6366F1：配白字对比仅 4.45，低于 AA 4.5；压深一档到 5.2 */
  background:linear-gradient(135deg,#5B57EA,#7C3AED);
  border-color:rgba(129,140,248,.56);
  box-shadow:0 10px 30px rgba(99,102,241,.25),inset 0 1px 0 rgba(255,255,255,.26);
}
.nav .links a.cta:hover,.btn-primary:hover{
  color:#FFFFFF;
  /* hover 也必须过 AA：原 #6D70F5/#8B5CF6 配白字仅 3.97/4.24，压深到 4.68/5.01 */
  background:linear-gradient(135deg,#6461EE,#8449F0);
  box-shadow:0 14px 36px rgba(99,102,241,.32),inset 0 1px 0 rgba(255,255,255,.3);
  transform:translateY(-1px);
}
.theme-btn{border-radius:10px}
[data-theme="light"] .nav{background:rgba(255,255,255,.84);border-bottom-color:rgba(15,23,42,.08)}
[data-theme="light"] .brand .mk{background:linear-gradient(135deg,#4F46E5,#7C3AED);color:#FFFFFF}
[data-theme="light"] .nav .links a:not(.cta):hover,
[data-theme="light"] .nav .links a:not(.cta).on{background:rgba(79,70,229,.06)}
[data-theme="light"] .nav .cta,
[data-theme="light"] .btn-primary{background:linear-gradient(135deg,#4F46E5,#7C3AED);border-color:transparent;color:#FFFFFF}

/* 通用区块与表面。 */
.sec{padding:clamp(64px,6vw,88px) 0;border-top:1px solid var(--line-dark)}
.sec.tint{background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.008))}
[data-theme="light"] .sec.tint{background:linear-gradient(180deg,rgba(79,70,229,.025),rgba(15,23,42,.012))}
.sec-head{max-width:780px;margin:0 auto 40px;text-align:center}
.sec-head .tag,.eyebrow{
  display:inline-flex;align-items:center;
  color:#C7D2FE;
  background:rgba(99,102,241,.11);
  border:1px solid rgba(129,140,248,.22);
  border-radius:999px;
  padding:6px 12px;
}
.sec-head .tag{margin-bottom:0}
[data-theme="light"] .sec-head .tag,[data-theme="light"] .eyebrow{color:#4338CA;background:rgba(79,70,229,.07);border-color:rgba(79,70,229,.16)}
.eyebrow i{background:var(--mint);box-shadow:0 0 0 4px rgba(16,185,129,.10),0 0 14px rgba(16,185,129,.38)}
.sec-head h2{font-size:clamp(32px,4.8vw,52px);line-height:1.08;margin-top:18px}
.sec-head p{font-size:17px;line-height:1.75;margin-inline:auto}
.grad,.hero h1 em,.sec-head h2 em,.page-head h1 em{
  background:linear-gradient(115deg,#818CF8 0%,#A78BFA 48%,#C4B5FD 100%) !important;
  -webkit-background-clip:text !important;background-clip:text !important;
  -webkit-text-fill-color:transparent !important;color:transparent !important;
}
[data-theme="light"] .grad,[data-theme="light"] .hero h1 em,
[data-theme="light"] .sec-head h2 em,[data-theme="light"] .page-head h1 em{
  background:linear-gradient(115deg,#4F46E5,#7C3AED) !important;
  -webkit-background-clip:text !important;background-clip:text !important;
  -webkit-text-fill-color:transparent !important;
}

.glass,.card,.step,.case,.shotcard,.kv,.form,.note{
  background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.022));
  border-color:var(--glass-line);
  border-radius:var(--r-lg);
  box-shadow:var(--glass-inset),0 14px 36px rgba(0,0,0,.12);
  backdrop-filter:saturate(125%) blur(14px);
  -webkit-backdrop-filter:saturate(125%) blur(14px);
}
[data-theme="light"] .glass,[data-theme="light"] .card,[data-theme="light"] .step,
[data-theme="light"] .case,[data-theme="light"] .shotcard,[data-theme="light"] .kv,
[data-theme="light"] .form,[data-theme="light"] .note{
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(248,250,252,.92));
}
.card:hover,.step:hover,.lift:hover,.shotcard:hover,a.case:hover{
  transform:translateY(-2px);
  border-color:rgba(129,140,248,.30);
  box-shadow:var(--sh-md),var(--glass-inset);
}
.card .ico,.step .no{
  color:#C7D2FE;background:rgba(99,102,241,.11);border-color:rgba(129,140,248,.22);
}
.card.pain .ico{color:#FCD34D;background:rgba(245,158,11,.10);border-color:rgba(245,158,11,.20)}
.list li::before{background:var(--accent-strong);box-shadow:0 0 0 3px rgba(99,102,241,.11)}
.svc .go,.case .more,.step .out b{color:var(--accent-strong)}
.note.blue{background:rgba(99,102,241,.07);border-color:rgba(129,140,248,.18);border-left-color:var(--accent)}

.btn{min-height:48px;border-radius:12px;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease,background .25s ease}
.btn:hover{transform:translateY(-1px)}
.btn-ghost,.btn-outline{
  color:var(--tx);background:rgba(255,255,255,.035);border-color:rgba(255,255,255,.12);
}
.btn-ghost:hover,.btn-outline:hover{color:var(--tx);background:rgba(255,255,255,.065);border-color:rgba(129,140,248,.32)}
[data-theme="light"] .btn-ghost,[data-theme="light"] .btn-outline{background:rgba(255,255,255,.8);border-color:rgba(15,23,42,.12)}

.page-head{
  position:relative;overflow:hidden;text-align:center;
  padding:clamp(72px,8vw,112px) 0 clamp(56px,6vw,84px);
  background:
    radial-gradient(48rem 30rem at 50% -10rem,rgba(99,102,241,.22),transparent 72%),
    linear-gradient(180deg,#0C0C13,var(--bg-0));
  border-bottom:1px solid var(--line);
}
.page-head::before{content:"";position:absolute;inset:auto 14% -55% 14%;height:75%;background:radial-gradient(ellipse,rgba(139,92,246,.09),transparent 70%);filter:blur(30px);pointer-events:none}
.page-head .wrap{position:relative;z-index:1}
.page-head .crumb{justify-content:center}
.page-head h1{max-width:960px;margin-left:auto;margin-right:auto;font-size:clamp(40px,6.6vw,76px);line-height:1.06}
.page-head .sub,.page-head .lead{max-width:760px;margin-left:auto;margin-right:auto;font-size:18px}
.page-head .metaline{justify-content:center}
[data-theme="light"] .page-head{background:radial-gradient(48rem 30rem at 50% -10rem,rgba(99,102,241,.12),transparent 72%),linear-gradient(180deg,#F8FAFC,#FFFFFF)}

.contact{
  border-radius:24px;
  background:
    radial-gradient(35rem 18rem at 78% 0%,rgba(99,102,241,.18),transparent 72%),
    linear-gradient(145deg,#14141B,#0D0D11 72%);
  border-color:rgba(129,140,248,.18);
  box-shadow:0 26px 70px rgba(0,0,0,.35),var(--glass-inset);
}
.contact::before{background:linear-gradient(90deg,transparent,rgba(129,140,248,.72),rgba(167,139,250,.34),transparent)}
.contact-email{-webkit-text-fill-color:#A5B4FC;color:#A5B4FC}
[data-theme="light"] .contact{background:radial-gradient(35rem 18rem at 78% 0%,rgba(99,102,241,.10),transparent 72%),linear-gradient(145deg,#FFFFFF,#F8FAFC);border-color:rgba(79,70,229,.14)}
[data-theme="light"] .contact-email{-webkit-text-fill-color:var(--accent);color:var(--accent)}
footer.foot{margin-top:0;background:#0C0C0F;border-top-color:var(--line)}
[data-theme="light"] footer.foot{background:#F8FAFC}
footer.foot a:hover{color:var(--accent-strong)}

/* ========================= 首页痛点海报轮播 ========================= */
.pain-hero{
  position:relative;display:grid;grid-template-columns:minmax(0,1fr);align-items:center;overflow:hidden;
  padding:clamp(72px,10vh,120px) 0 clamp(40px,5vh,60px);
  background:var(--bg-0);border-bottom:1px solid var(--line);
  isolation:isolate;
}
.pain-hero::before{
  content:"";position:absolute;inset:0;z-index:-3;
  background:
    radial-gradient(56rem 38rem at 50% 12%,rgba(99,102,241,.20),transparent 70%),
    radial-gradient(38rem 28rem at 84% 48%,rgba(139,92,246,.10),transparent 72%),
    linear-gradient(180deg,var(--bg-1) 0%,var(--bg-0) 76%);
}
[data-theme="light"] .pain-hero::before{
  background:
    radial-gradient(56rem 38rem at 50% 12%,rgba(99,102,241,.10),transparent 70%),
    radial-gradient(38rem 28rem at 84% 48%,rgba(124,58,237,.06),transparent 72%),
    linear-gradient(180deg,#F8FAFC 0%,#FFFFFF 76%);
}
[data-theme="light"] .pain-hero__blob--one{background:rgba(99,102,241,.10)}
[data-theme="light"] .pain-hero__blob--two{background:rgba(124,58,237,.07)}
.pain-hero__blob{position:absolute;z-index:-2;border-radius:50%;filter:blur(40px);opacity:.85;pointer-events:none;animation:painBlob 9s ease-in-out infinite}
.pain-hero__blob--one{width:360px;height:360px;top:-160px;left:18%;background:rgba(99,102,241,.18)}
.pain-hero__blob--two{width:300px;height:300px;right:12%;bottom:-140px;background:rgba(139,92,246,.12);animation-delay:-4.5s}
@keyframes painBlob{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(0,-18px,0) scale(1.04)}}
.pain-carousel{width:100%;max-width:1180px;margin:0 auto;padding:0 28px}
.pain-identity{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:7px 12px;margin:0 auto 20px;color:var(--tx-3);font-size:13px;line-height:1.5;text-align:center}
.pain-identity strong{color:var(--tx);font-weight:750;letter-spacing:.01em}
.pain-identity span{position:relative;padding-left:13px}
.pain-identity span::before{content:"";position:absolute;left:0;top:.65em;width:4px;height:4px;border-radius:50%;background:var(--accent-strong);box-shadow:0 0 0 4px rgba(99,102,241,.10)}
.form-intro{display:flex;align-items:flex-start;gap:12px;margin:0 0 18px;padding:12px 14px;border:1px solid rgba(129,140,248,.18);border-radius:14px;background:rgba(99,102,241,.055);color:var(--tx-2);font-size:13.5px;line-height:1.65}
.form-intro strong{flex:none;color:var(--tx);font-weight:750}
[data-theme="light"] .form-intro{border-color:rgba(79,70,229,.16);background:rgba(79,70,229,.045)}
.pain-carousel__viewport{overflow:hidden;contain:paint}
.pain-track{display:block}
.pain-hero.is-ready .pain-track{display:flex;align-items:stretch;transition:transform var(--pain-slide-duration,1000ms) cubic-bezier(.32,.72,0,1);will-change:transform}
.pain-slide{min-width:0;overflow:hidden}
.pain-hero.is-ready .pain-slide{flex:0 0 100%;display:flex;align-items:center;justify-content:center;min-width:100%;padding:0 8px}
.pain-slide__content{width:100%;max-width:980px;margin:0 auto;text-align:center}
.pain-slide__top{display:flex;justify-content:center;align-items:center;gap:12px;margin-bottom:24px}
.pain-slide__number{font:700 12px/1 var(--mono);letter-spacing:.12em;color:var(--tx-3)}
.pain-kicker{display:inline-flex;align-items:center;gap:8px;padding:7px 13px;border:1px solid rgba(129,140,248,.22);border-radius:999px;background:rgba(99,102,241,.10);color:#C7D2FE;font-size:13px;font-weight:650}
[data-theme="light"] .pain-kicker{color:#4338CA;border-color:rgba(79,70,229,.20);background:rgba(79,70,229,.07)}
.pain-kicker::before{content:"";width:7px;height:7px;border-radius:50%;background:#10B981;box-shadow:0 0 0 4px rgba(16,185,129,.10),0 0 12px rgba(16,185,129,.35)}
/* 字号与行宽按「每行放得下一个完整语义段」反推：原 70px/940px 每行仅约 14 字，
   多条标题的标点段落放不下，只能被迫在词中间断行。 */
.pain-slide h1,.pain-slide h2{max-width:1010px;margin:0 auto;color:var(--tx);font-size:clamp(38px,5.1vw,64px);font-weight:820;line-height:1.14;letter-spacing:-.045em}
.pain-slide h1 span,.pain-slide h2 span{background:linear-gradient(110deg,#818CF8,#A78BFA 52%,#C4B5FD);-webkit-background-clip:text;background-clip:text;color:transparent}
[data-theme="light"] .pain-slide h1 span,[data-theme="light"] .pain-slide h2 span{background:linear-gradient(115deg,#4F46E5,#7C3AED);-webkit-background-clip:text;background-clip:text}
.pain-slide__lead{max-width:760px;margin:24px auto 0;color:var(--tx-2);font-size:clamp(16px,1.7vw,19px);line-height:1.72}
.pain-proof{display:flex;flex-wrap:wrap;justify-content:center;gap:9px;margin:24px auto 0}
.pain-proof span{padding:7px 11px;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--tx-2);font-size:12.5px}
.pain-proof span:first-child{color:var(--tx);border-color:rgba(129,140,248,.20);background:rgba(99,102,241,.08)}
[data-theme="light"] .pain-proof span:first-child{border-color:rgba(79,70,229,.18);background:rgba(79,70,229,.06)}
.pain-slide .actions{justify-content:center;margin-top:28px}
.pain-slide .actions .btn{min-height:52px;padding-inline:24px}
.pain-carousel__bar{position:relative;display:flex;align-items:center;justify-content:center;gap:18px;margin:36px auto 0}
.pain-control{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;padding:0 13px;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--tx);font:650 13px/1 var(--sans);cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .2s ease}
.pain-control:hover{border-color:rgba(129,140,248,.32);transform:translateY(-1px)}
[data-theme="light"] .pain-control{background:rgba(255,255,255,.9);border-color:rgba(15,23,42,.12)}
/* 指示器：半透明玻璃胶囊，当前项内部由计时条填充 */
/* 指示器：半透明玻璃胶囊，当前项内部由计时条填充 */
.pain-dots{display:flex;align-items:center;justify-content:center;gap:10px}
.pain-dot{
  position:relative;width:clamp(52px,7vw,82px);height:14px;padding:0;
  border:1px solid rgba(255,255,255,.18);border-radius:999px;
  background:rgba(255,255,255,.06);
  -webkit-backdrop-filter:saturate(180%) blur(16px);
  backdrop-filter:saturate(180%) blur(16px);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.15),
    0 4px 12px rgba(0,0,0,.22);
  overflow:hidden;cursor:pointer;
  transition:border-color .25s ease,background .25s ease,transform .25s ease,box-shadow .25s ease;
}
.pain-dot::after{
  content:"";position:absolute;inset:0;border-radius:inherit;
  background:
    linear-gradient(180deg,rgba(255,255,255,.30),rgba(255,255,255,.05)),
    linear-gradient(90deg,rgba(99,102,241,.34),rgba(167,139,250,.42));
  -webkit-backdrop-filter:saturate(145%) blur(8px);
  backdrop-filter:saturate(145%) blur(8px);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.38),
    inset 0 -1px 0 rgba(99,102,241,.16),
    0 0 10px rgba(129,140,248,.12);
  transform:scaleX(0);transform-origin:left center;
}
.pain-dot:hover{background:rgba(255,255,255,.12);border-color:rgba(129,140,248,.42);transform:translateY(-2px);box-shadow:inset 0 1px 0 rgba(129,140,248,.25),0 6px 18px rgba(0,0,0,.28)}
.pain-dot[aria-current="true"]{
  border-color:rgba(129,140,248,.48);
  background:rgba(99,102,241,.12);
  box-shadow:
    inset 0 1px 0 rgba(99,102,241,.22),
    0 6px 20px rgba(99,102,241,.25);
}
.pain-dot:focus-visible{outline:2px solid #818CF8;outline-offset:3px}
[data-theme="light"] .pain-dot{
  border-color:rgba(15,23,42,.12);background:rgba(255,255,255,.45);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.65),
    0 3px 10px rgba(15,23,42,.08);
}
[data-theme="light"] .pain-dot:hover{background:rgba(255,255,255,.75);border-color:rgba(79,70,229,.32);box-shadow:inset 0 1px 0 rgba(79,70,229,.15),0 5px 15px rgba(15,23,42,.12)}
[data-theme="light"] .pain-dot[aria-current="true"]{
  border-color:rgba(79,70,229,.42);
  background:rgba(79,70,229,.12);
  box-shadow:
    inset 0 1px 0 rgba(79,70,229,.28),
    0 5px 18px rgba(79,70,229,.20);
}
[data-theme="light"] .pain-dot::after{
  background:
    linear-gradient(180deg,rgba(255,255,255,.46),rgba(255,255,255,.10)),
    linear-gradient(90deg,rgba(79,70,229,.26),rgba(124,58,237,.34));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.78),
    inset 0 -1px 0 rgba(79,70,229,.12),
    0 0 8px rgba(79,70,229,.10);
}

/* 暂停控件：默认不占视觉位置，键盘聚焦时浮出，保证 WCAG 2.2.2 可暂停 */
.pain-control--quiet{
  position:absolute;right:0;top:50%;transform:translate(0,-50%) scale(.96);
  opacity:0;pointer-events:none;
}
.pain-control--quiet:focus-visible{
  opacity:1;pointer-events:auto;transform:translate(0,-50%) scale(1);
}
.pain-hero.is-cycling .pain-dot[aria-current="true"]::after{animation:painDotProgress var(--pain-progress-duration,2250ms) linear forwards}
.pain-hero.is-paused .pain-dot[aria-current="true"]::after{animation-play-state:paused}
@keyframes painDotProgress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
/* 从克隆屏瞬间归位到第 1 屏时不能有过渡，否则会看见倒回 */
.pain-hero.is-jumping .pain-track{transition:none!important}
.pain-carousel__status{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ========================= 首页品牌卡片滚动带 ========================= */
.kw-band{position:relative;padding:clamp(30px,4.5vh,48px) 0;background:var(--bg-0);border-bottom:1px solid var(--line);overflow:hidden}
.kw-band__label{display:flex;align-items:center;justify-content:center;gap:9px;margin:0 20px 22px;color:var(--tx-3);font-size:13px;letter-spacing:.03em;text-align:center}
.kw-band__label i{flex:none;width:5px;height:5px;border-radius:50%;background:var(--accent-strong);box-shadow:0 0 0 4px rgba(99,102,241,.10)}
.kw-marquee{overflow:hidden;padding:6px 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.kw-marquee + .kw-marquee{margin-top:10px}
.kw-track{display:flex;width:max-content;animation:kwScroll 42s linear infinite}
.kw-marquee--rev .kw-track{animation-direction:reverse;animation-duration:52s}
.kw-marquee:hover .kw-track{animation-play-state:paused}
.kw-group{display:flex;gap:14px;padding-right:14px}
.kw-card{flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;width:104px;height:106px;padding:12px 8px;border:1px solid rgba(15,18,30,.09);border-radius:18px;background:rgba(255,255,255,.95);box-shadow:0 6px 18px rgba(8,10,20,.18);transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.kw-card img{width:30px;height:30px;display:block}
.kw-card span{font-size:12.5px;font-weight:600;color:#3d4354;letter-spacing:.01em;white-space:nowrap}
.kw-card:hover{transform:translateY(-3px);border-color:rgba(99,102,241,.5);box-shadow:0 12px 26px rgba(99,102,241,.22)}
[data-theme="light"] .kw-card{background:#fff;border-color:var(--line);box-shadow:0 4px 14px rgba(20,26,46,.06)}
[data-theme="light"] .kw-card:hover{box-shadow:0 10px 24px rgba(99,102,241,.16)}
@keyframes kwScroll{to{transform:translate3d(-50%,0,0)}}
@media (prefers-reduced-motion:reduce){.kw-track{animation:none!important}}
@media (max-width:680px){.kw-card{width:88px;height:92px;border-radius:15px}.kw-card img{width:26px;height:26px}.kw-card span{font-size:11.5px}.kw-band__label{margin-bottom:16px}}

/* ========================= 场景专栏集合页 ========================= */
.scenario-index-hero{
  position:relative;overflow:hidden;text-align:center;padding:clamp(100px,12vw,158px) 0 92px;
  background:radial-gradient(52rem 34rem at 50% -10rem,rgba(99,102,241,.23),transparent 72%),linear-gradient(180deg,#0B0B12,var(--bg-0));
  border-bottom:1px solid var(--line);
}
.scenario-index-hero h1{max-width:940px;margin:22px auto 0;font-size:clamp(46px,7.2vw,82px);line-height:1.04;color:var(--tx)}
.scenario-index-hero h1 span{background:linear-gradient(110deg,#818CF8,#A78BFA,#C4B5FD);-webkit-background-clip:text;background-clip:text;color:transparent}
.scenario-index-hero .lead{max-width:760px;margin:24px auto 0;font-size:18px;line-height:1.75;color:var(--tx-2)}
.scenario-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:760px;margin:36px auto 0}
.scenario-stat{padding:18px 20px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.03)}
.scenario-stat b{display:block;font-size:25px;color:var(--tx);letter-spacing:-.03em}.scenario-stat span{font-size:13px;color:var(--tx-3)}
.scenario-jump{position:sticky;top:72px;z-index:20;border-bottom:1px solid var(--line);background:rgba(9,9,11,.82);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.scenario-jump .wrap{display:flex;gap:8px;overflow-x:auto;padding-top:12px;padding-bottom:12px;scrollbar-width:none}
.scenario-jump .wrap::-webkit-scrollbar{display:none}
.scenario-jump a{flex:none;padding:8px 12px;border:1px solid var(--line);border-radius:999px;color:var(--tx-2);font-size:13px;background:rgba(255,255,255,.025)}
.scenario-jump a:hover{color:var(--tx);border-color:rgba(129,140,248,.30);background:rgba(99,102,241,.08)}
.scenario-category{scroll-margin-top:142px}
.scenario-category__head{display:grid;grid-template-columns:170px 1fr;gap:32px;align-items:end;margin-bottom:34px}
.scenario-category__index{font:750 12px/1 var(--mono);letter-spacing:.14em;color:var(--accent-strong)}
.scenario-category__head h2{font-size:clamp(32px,4.5vw,50px);margin-bottom:8px}.scenario-category__head p{max-width:720px}
.scenario-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.scenario-card{display:flex;flex-direction:column;min-height:320px;padding:28px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018));box-shadow:var(--glass-inset);transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.scenario-card:hover{transform:translateY(-3px);border-color:rgba(129,140,248,.32);box-shadow:0 18px 46px rgba(0,0,0,.22),var(--glass-inset)}
.scenario-card__meta{display:flex;justify-content:space-between;gap:12px;color:var(--tx-3);font-size:12px}
.scenario-card h3{margin:32px 0 12px;font-size:23px;line-height:1.22;color:var(--tx)}
/* 卡片整体是链接，说明文字若继承链接色会变成强调紫且对比不足 */
.scenario-card p{font-size:14.5px;line-height:1.68;color:var(--tx-2)}
.scenario-card__foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:24px;border-top:1px solid var(--line);color:var(--accent-strong);font-size:13px;font-weight:700}
.evidence-chip{display:inline-flex;align-items:center;gap:7px}.evidence-chip::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--mint)}
.evidence-chip.is-method::before{background:var(--amber)}.evidence-chip.is-beta::before{background:#A78BFA}
[data-theme="light"] .scenario-index-hero{background:radial-gradient(52rem 34rem at 50% -10rem,rgba(99,102,241,.12),transparent 72%),linear-gradient(180deg,#F8FAFC,#FFFFFF)}
[data-theme="light"] .scenario-jump{background:rgba(255,255,255,.86)}
[data-theme="light"] .scenario-jump a,[data-theme="light"] .scenario-stat,[data-theme="light"] .scenario-card{background:rgba(255,255,255,.82)}

/* ========================= 场景文章 ========================= */
.article-hero{position:relative;overflow:hidden;padding:clamp(94px,11vw,148px) 0 72px;text-align:center;background:radial-gradient(48rem 30rem at 50% -11rem,rgba(99,102,241,.22),transparent 72%),var(--bg-0);border-bottom:1px solid var(--line)}
.article-hero .crumb{justify-content:center}.article-hero .eyebrow{margin-top:28px}
.article-hero h1{max-width:980px;margin:24px auto 0;font-size:clamp(42px,6.3vw,72px);line-height:1.06;color:var(--tx)}
.article-hero .lead{max-width:760px;margin:24px auto 0;font-size:18px;line-height:1.75;color:var(--tx-2)}
.article-meta{display:flex;flex-wrap:wrap;justify-content:center;gap:9px;margin-top:28px}
.article-meta span{padding:7px 11px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.025);color:var(--tx-3);font-size:12px}
.article-shell{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:58px;align-items:start;max-width:1040px;margin:0 auto}
.article-prose{min-width:0}.article-prose>h2{margin:58px 0 18px;font-size:clamp(28px,3.5vw,40px);line-height:1.15}.article-prose>h2:first-child{margin-top:0}
.article-prose>h3{margin:30px 0 12px;font-size:21px}.article-prose>p{margin:0 0 18px;font-size:17px;line-height:1.82;color:var(--tx-2)}
.article-prose ul,.article-prose ol{display:grid;gap:12px;margin:18px 0 26px;padding-left:0;list-style:none;counter-reset:item}
.article-prose li{position:relative;padding-left:28px;font-size:16px;line-height:1.75;color:var(--tx-2)}
.article-prose ul li::before{content:"";position:absolute;left:4px;top:.72em;width:7px;height:7px;border-radius:50%;background:var(--accent-strong);box-shadow:0 0 0 4px rgba(99,102,241,.10)}
.article-prose ol li{counter-increment:item}.article-prose ol li::before{content:counter(item);position:absolute;left:0;top:.08em;color:var(--accent-strong);font:750 13px/1.7 var(--mono)}
.article-aside{position:sticky;top:104px;padding:22px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.025)}
.article-aside b{display:block;margin-bottom:14px}.article-aside a{display:block;padding:8px 0;color:var(--tx-3);font-size:13px;border-bottom:1px solid var(--line-dark)}.article-aside a:last-child{border-bottom:0}.article-aside a:hover{color:var(--accent-strong)}
.scene-callout{padding:28px;border:1px solid rgba(129,140,248,.22);border-radius:20px;background:linear-gradient(145deg,rgba(99,102,241,.10),rgba(139,92,246,.04));box-shadow:var(--glass-inset)}
.scene-callout h2{font-size:26px;margin-bottom:12px}.scene-callout p{font-size:17px;line-height:1.8}
.decision-checks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0}
.decision-check{padding:20px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.025)}.decision-check b{display:block;margin-bottom:8px;font-size:15px}.decision-check p{font-size:13.5px!important;line-height:1.65!important;margin:0!important}
.boundary-box,.evidence-panel{margin:28px 0;padding:24px 26px;border:1px solid var(--line);border-left:3px solid var(--amber);border-radius:16px;background:rgba(245,158,11,.045)}
.evidence-panel{border-left-color:var(--mint);background:rgba(16,185,129,.045)}
.boundary-box b,.evidence-panel b{display:block;margin-bottom:8px}.boundary-box p,.evidence-panel p{font-size:15px!important;line-height:1.75!important;margin:0!important}
.evidence-panel a{display:inline-block;margin-top:12px;font-weight:700}
.article-cta{margin-top:54px;padding:34px;border:1px solid rgba(129,140,248,.20);border-radius:22px;text-align:center;background:radial-gradient(26rem 16rem at 50% 0%,rgba(99,102,241,.16),transparent 74%),rgba(255,255,255,.025)}
.article-cta h2{font-size:30px;margin-bottom:10px}.article-cta p{max-width:620px;margin:0 auto 22px!important;font-size:15px!important}.article-cta .actions{justify-content:center}
.article-nav{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:1040px;margin:0 auto;padding-top:0}
.article-nav a{padding:20px 22px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.025);color:var(--tx-2)}.article-nav a:last-child{text-align:right}.article-nav b{display:block;margin-top:5px;color:var(--tx)}.article-nav a:hover{border-color:rgba(129,140,248,.28);background:rgba(99,102,241,.06)}
[data-theme="light"] .article-hero{background:radial-gradient(48rem 30rem at 50% -11rem,rgba(99,102,241,.12),transparent 72%),#FFFFFF}
[data-theme="light"] .article-aside,[data-theme="light"] .decision-check,[data-theme="light"] .article-cta,[data-theme="light"] .article-nav a{background:rgba(255,255,255,.86)}

#dx{scroll-margin-top:96px}

@media (max-width:1024px){
  .scenario-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .article-shell{grid-template-columns:1fr;gap:34px}
  .article-aside{position:static;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}.article-aside b{grid-column:1/-1}.article-aside a{padding:10px}
}

@media (max-width:900px){
  .nav .in{min-height:64px}
  .nav .links{background:rgba(11,11,16,.97);border-radius:16px}
  [data-theme="light"] .nav .links{background:rgba(255,255,255,.98)}
  .pain-hero{padding-top:48px}
  .pain-carousel{padding-inline:20px}
  .scenario-jump{top:64px}
  .scenario-category{scroll-margin-top:132px}
  .scenario-category__head{grid-template-columns:1fr;gap:10px}
}

@media (max-width:680px){
  .sec{padding:56px 0}.sec-head{margin-bottom:30px;text-align:left}.sec-head h2{font-size:34px}.sec-head p{font-size:15.5px}
  .page-head{padding:64px 0 48px}.page-head h1{font-size:40px}.page-head .sub,.page-head .lead{font-size:16px}
  .pain-hero{padding:32px 0 24px}
  .pain-slide__top{margin-bottom:18px}.pain-slide h1,.pain-slide h2{font-size:clamp(36px,10.8vw,46px);line-height:1.1}.pain-slide__lead{margin-top:18px;font-size:15.5px;line-height:1.65}.pain-proof{margin-top:18px}.pain-proof span{font-size:11.5px;padding:6px 9px}.pain-slide .actions{margin-top:22px;gap:10px}.pain-slide .actions .btn{min-height:48px;padding-inline:16px}.pain-carousel__bar{grid-template-columns:minmax(0,1fr) auto;gap:10px;margin-top:22px}.pain-control{height:38px;min-width:38px;padding-inline:10px}.pain-dot{width:clamp(22px,8vw,32px)}
  .scenario-index-hero{padding:92px 0 70px}.scenario-index-hero h1{font-size:44px}.scenario-index-hero .lead{font-size:16px}.scenario-stats{grid-template-columns:1fr;gap:8px}.scenario-stat{display:flex;align-items:center;justify-content:space-between;padding:13px 16px}.scenario-stat b{font-size:20px}.scenario-grid{grid-template-columns:1fr}.scenario-card{min-height:0;padding:24px}.scenario-card h3{margin-top:24px}
  .article-hero{padding:88px 0 60px}.article-hero h1{font-size:40px}.article-hero .lead{font-size:16px}.article-shell{gap:28px}.article-prose>h2{margin-top:46px;font-size:30px}.article-prose>p{font-size:16px}.decision-checks{grid-template-columns:1fr}.article-aside{grid-template-columns:1fr}.article-aside b{grid-column:auto}.article-cta{padding:28px 20px}.article-nav{grid-template-columns:1fr}.article-nav a:last-child{text-align:left}
}

@media (prefers-reduced-motion:reduce){
  .pain-hero__blob{animation:none!important}
  .pain-hero.is-ready .pain-track{transition:none!important}
  .pain-dot[aria-current="true"]::after{animation:none!important;transform:scaleX(1)}
}

@media print{
  .scenario-jump,.pain-carousel__bar,.article-aside{display:none!important}
  .article-shell{display:block}.article-hero{padding:28px 0;background:none!important}.article-prose{max-width:none}
}

/* 注意：不要给标题里的强调段设 display:inline-block。
   那样会在强调段边界产生换行机会，使其后的「，」等标点被推到行首，
   违反中文禁则（已实测 amazon-compass 标题在 4 档宽度下全部出现）。 */

/* 页脚（.fg/.copy 版式，用于场景与文章页）：补齐分组层级与响应式 */
footer.foot .fg{display:grid;grid-template-columns:1.7fr 1fr 1fr;gap:40px}
footer.foot .fg > div{min-width:0}
footer.foot .fg h4{
  margin:0 0 14px;color:var(--tx);font:700 12px/1 var(--mono);
  letter-spacing:.12em;text-transform:uppercase;
}
footer.foot .fg a{display:block;padding:5px 0;color:var(--tx-3);font-size:14px}
footer.foot .fg a:hover{color:var(--accent-strong)}
footer.foot .fg > div:first-child p{margin-top:12px;max-width:42ch;color:var(--tx-3);font-size:14px}
footer.foot .fg .brand a,footer.foot .fg a.brand{padding:0}
footer.foot .copy{
  display:flex;flex-wrap:wrap;align-items:center;gap:10px 20px;
  margin-top:40px;padding-top:22px;
  border-top:1px solid var(--line);
  font-size:13px;color:var(--tx-4);
}
footer.foot .copy span:last-child{margin-left:auto;font-family:var(--mono);letter-spacing:.1em}

/* 分类跳转条：横向滚动时右侧留出渐隐，避免最后一项被硬切得像缺陷 */
.scenario-jump{position:relative}
.scenario-jump .wrap{padding-right:34px;scroll-padding-right:34px}
.scenario-jump::after{
  content:"";position:absolute;top:0;right:0;bottom:0;width:34px;
  pointer-events:none;
  background:linear-gradient(90deg,transparent,var(--bg-0));
}

@media (max-width:820px){
  footer.foot .fg{grid-template-columns:1fr;gap:28px}
  footer.foot .copy{margin-top:28px}
  footer.foot .copy span:last-child{margin-left:0}
}

/* 竖版长图占满整行，且与横版图同宽：两张截图视觉宽度一致，节奏统一 */
.shotgrid .shotcard--tall{grid-column:1/-1}
.shotgrid .shotcard--tall img{
  display:block;width:100%;max-height:none;
}

/* 证据卡里的多条链接原为相邻 inline-block，彼此紧贴成一句话，改为独立成行的弹性排列 */
.evidence-panel,.boundary-box{display:flow-root}
.evidence-panel a,.boundary-box a{margin-top:0}
.evidence-panel__links,
.evidence-panel > a{margin-top:14px}
.evidence-panel > a + a{margin-left:22px}

/* 相邻文章导航固定两列时，第三张卡会换行落在左列且仍右对齐，右半行空出。
   改为等分弹性排列：两张各半、三张各三分之一，均在同一行。 */
.article-nav{display:flex;flex-wrap:wrap;gap:14px}
.article-nav a{flex:1 1 220px;min-width:0}
.article-nav a:last-child{text-align:right}
.article-nav a:only-child{text-align:left}

@media (max-width:820px){
  .article-nav{flex-direction:column}
  .article-nav a{flex:1 1 auto}
  .article-nav a:last-child{text-align:left}
  .evidence-panel > a + a{margin-left:0}
  .evidence-panel > a{display:block}
}

/* 大标题断行控制：
   text-wrap:balance 会为拉平行长而多加一行、并把词组劈开（实测「不用」「应该」「可达性」被拆开）。
   对首屏与页头这类展示型标题改用作者指定断点：优先断在标点，其次断在词组边界，首行不短于次行。
   .brk 只在宽屏生效，窄屏仍按容器自然换行，避免强制断行造成溢出。
   实测：完全关掉 balance 会退回贪心换行，虽然首行变长，但尾行常只剩一两个字
   （诊断页出现单字「化」成行），观感更差。因此保留 balance，只在需要处加断点，
   balance 会在每个断点分段内各自平衡。 */
.brk{display:none}
@media (min-width:900px){
  .brk{display:inline}
}

/* ========================= 滚动进场与悬停动效 =========================
   安全约束：内容默认完全可见。只有脚本确认支持 IntersectionObserver 且用户
   未开启减弱动效时，才在 <html> 上加 .has-reveal 接管动画。
   任何情况下（禁用 JS、脚本报错、观察器不触发、截图工具）都不会留下空白。 */
/* 过渡只声明在显现态上：否则 .has-reveal 落到 <html> 的瞬间，
   元素会从默认可见 opacity:1 反向过渡到 0，出现先淡出再淡入的闪烁。 */
.has-reveal .reveal-item{
  opacity:0;
  transform:translate3d(0,18px,0);
  transition:none;
  will-change:opacity,transform;
}
.has-reveal .reveal-item.is-in{
  opacity:1;
  transform:none;
  transition:opacity 620ms cubic-bezier(.22,1,.36,1),transform 620ms cubic-bezier(.22,1,.36,1);
}
/* 进场结束后由脚本移除 .reveal-item / .is-in，把 transform 控制权交回悬停规则，
   否则结束态的 transform:none 权重更高，会让悬停位移失效。 */

/* 悬停动效：位移 + 边框高亮 + 光晕，幅度比原来更明确但不浮夸 */
.card,.step,.case,.shotcard,.scenario-card,.kv,.glass,.note,
.choices .choice,.article-nav a,.scenario-jump a,.scenario-stat,
footer.foot .fg a,.evidence-panel a{
  transition:
    transform 260ms cubic-bezier(.22,1,.36,1),
    box-shadow 260ms ease,
    border-color 260ms ease,
    background-color 260ms ease,
    color 200ms ease;
}
.card:hover,.step:hover,.shotcard:hover,.kv:hover,.glass:hover,
a.case:hover,.scenario-card:hover{
  transform:translate3d(0,-8px,0);
  border-color:rgba(129,140,248,.48);
  box-shadow:
    0 24px 52px rgba(0,0,0,.38),
    0 0 0 1px rgba(129,140,248,.22),
    var(--glass-inset);
}
[data-theme="light"] .card:hover,[data-theme="light"] .step:hover,
[data-theme="light"] .shotcard:hover,[data-theme="light"] .kv:hover,
[data-theme="light"] .glass:hover,[data-theme="light"] a.case:hover,
[data-theme="light"] .scenario-card:hover{
  border-color:rgba(79,70,229,.38);
  box-shadow:
    0 20px 44px rgba(15,23,42,.14),
    0 0 0 1px rgba(79,70,229,.18);
}
/* 案例封面图轻微推近，强化「可点」的反馈 */
a.case:hover .shot img{transform:scale(1.035)}
.case .shot img{transition:transform 620ms cubic-bezier(.22,1,.36,1)}

/* 小体量交互元素：抬起之外同时给边框与阴影，避免反馈过弱 */
.choices .choice:hover,.article-nav a:hover,.scenario-jump a:hover,.scenario-stat:hover{
  transform:translate3d(0,-2px,0);
  border-color:rgba(129,140,248,.42);
  box-shadow:0 8px 20px rgba(0,0,0,.24);
}
[data-theme="light"] .choices .choice:hover,[data-theme="light"] .article-nav a:hover,
[data-theme="light"] .scenario-jump a:hover,[data-theme="light"] .scenario-stat:hover{
  border-color:rgba(79,70,229,.34);
  box-shadow:0 8px 18px rgba(15,23,42,.10);
}
.evidence-panel a:hover,footer.foot .fg a:hover{transform:translate3d(3px,0,0)}
.btn{transition:transform 220ms cubic-bezier(.22,1,.36,1),box-shadow 220ms ease,background-color 220ms ease,border-color 220ms ease,color 200ms ease}
.btn-primary:hover{transform:translate3d(0,-2px,0);box-shadow:0 14px 32px rgba(99,102,241,.34)}
.btn-ghost:hover,.btn-outline:hover,.btn-light:hover{transform:translate3d(0,-2px,0)}

/* 减弱动效：完全关闭进场与悬停位移，仅保留颜色反馈 */
@media (prefers-reduced-motion:reduce){
  .has-reveal .reveal-item{opacity:1!important;transform:none!important;transition:none!important}
  .card:hover,.step:hover,.shotcard:hover,.kv:hover,.glass:hover,
  a.case:hover,.scenario-card:hover,.choices .choice:hover,
  .article-nav a:hover,.scenario-jump a:hover,.scenario-stat:hover,
  .evidence-panel a:hover,footer.foot .fg a:hover,
  .btn-primary:hover,.btn-ghost:hover,.btn-outline:hover,.btn-light:hover{transform:none!important}
  a.case:hover .shot img{transform:none!important}
}

/* ========================= 最终体验复验修正 =========================
   只处理已通过运行时测量确认的断词、场景页节奏与案例图可读性问题。 */
.nobr{white-space:nowrap}

/* 标题优先选择自然断点；窄屏一级标题再做均衡换行，避免语义词被拆成两行。 */
main h1,main h2,main h3{text-wrap:pretty}
@media (max-width:899px){
  main h1,header h1{text-wrap:balance}
}

/* 浅色背景使用更深的品牌渐变，确保大标题保持清晰对比。 */
[data-theme="light"] .scenario-index-hero h1 span{
  background-image:linear-gradient(110deg,#4F46E5,#7C3AED,#9333EA);
}

/* 只命中“判断条件”下恰好四项的网格；五项条件与三天动作保持原布局。 */
@media (min-width:681px){
  #conditions + .decision-checks:has(> .decision-check:nth-child(4):last-child){
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

/* 相邻文章之后不再叠加整段 section 留白与大额 footer 外边距。 */
main .sec:has(.article-nav){padding-bottom:40px}
main:has(.article-nav) + footer.foot{margin-top:24px}

/* 原图入口由脚本渐进增强；无脚本时截图仍按原方式完整显示。 */
.shot-link{position:relative;display:block;cursor:zoom-in}
.shot-link:focus-visible{outline:3px solid var(--mint);outline-offset:-3px}
.shot-link__hint{
  position:absolute;right:12px;bottom:12px;z-index:1;
  min-height:32px;padding:7px 11px;
  border:1px solid rgba(255,255,255,.24);border-radius:999px;
  color:#fff;background:rgba(9,13,29,.78);backdrop-filter:blur(10px);
  box-shadow:0 8px 24px rgba(0,0,0,.30);
  font-size:12px;font-weight:800;line-height:1.35;letter-spacing:.02em;
  pointer-events:none;
}
/* 竖版图与横版图同宽（占满容器），不再单独限宽 */
.shotgrid .shotcard--tall img{width:100%;max-height:none}

/* ========================= Selective glass materials ========================= */
:root{
  /* 液态玻璃 = 折射渐变 + 顶部镜面高光 + 外深内亮双层边缘。 */
  --micro-glass-bg:linear-gradient(152deg,rgba(255,255,255,.22) 0%,rgba(255,255,255,.05) 46%,rgba(199,210,254,.13) 100%);
  --micro-glass-line:rgba(255,255,255,.30);
  --micro-glass-shadow:
    inset 0 0 0 1px rgba(255,255,255,.13),
    inset 0 1px 0 rgba(255,255,255,.58),
    inset 0 9px 15px -10px rgba(255,255,255,.50),
    inset 0 -7px 13px -8px rgba(99,102,241,.50),
    0 8px 20px rgba(0,0,0,.30);
  --glass-blur-micro:saturate(185%) blur(14px);
}
[data-theme="light"]{
  /* 白底上叠白不产生玻璃感：浅色用冷色微染 + 上下亮边 + 内侧阴影表达厚度。 */
  --micro-glass-bg:linear-gradient(152deg,rgba(255,255,255,.66) 0%,rgba(224,231,255,.46) 44%,rgba(238,242,255,.56) 100%);
  --micro-glass-line:rgba(79,70,229,.26);
  --micro-glass-shadow:
    inset 0 0 0 1px rgba(255,255,255,.96),
    inset 0 1px 0 #FFFFFF,
    inset 0 -1px 0 rgba(255,255,255,.88),
    inset 0 9px 15px -10px rgba(255,255,255,.98),
    inset 0 -8px 14px -8px rgba(49,46,129,.28),
    0 7px 18px rgba(49,46,129,.14);
}
/* 玻璃只用于纯展示徽标；可点击元素一律保持实体，避免四种状态难以区分。
   .card.pain .ico 保留琥珀语义色，不纳入。 */
:is(.eyebrow,.sec-head .tag,.pain-kicker,.step .no),
.card:not(.pain) .ico{
  background:var(--micro-glass-bg);
  border-color:var(--micro-glass-line);
  box-shadow:var(--micro-glass-shadow);
  -webkit-backdrop-filter:var(--glass-blur-micro);
  backdrop-filter:var(--glass-blur-micro);
}
:is(.pain-slide__number,.scenario-category__index){
  display:inline-flex;align-items:center;
  padding:6px 10px;border:1px solid var(--micro-glass-line);border-radius:999px;
  background:var(--micro-glass-bg);box-shadow:var(--micro-glass-shadow);
  -webkit-backdrop-filter:var(--glass-blur-micro);
  backdrop-filter:var(--glass-blur-micro);
}

/* 主 CTA 保持实体紫色，只保留两层高光：顶部 1px 镜面 + 底部内侧压深。 */
.nav .links > a.cta,
.page-head .metaline > .btn-primary,
main .actions > .btn-primary{
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.42),
    inset 0 -10px 18px -12px rgba(30,27,90,.55),
    0 12px 30px rgba(99,102,241,.28);
}
.nav .links > a.cta:hover,
.page-head .metaline > .btn-primary:hover,
main .actions > .btn-primary:hover{
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.50),
    inset 0 -10px 18px -12px rgba(30,27,90,.60),
    0 16px 38px rgba(99,102,241,.34);
}

/* 浅色微玻璃使用深紫文字，避免数字与 STEP 标签在白底上发灰。 */
[data-theme="light"] :is(.eyebrow,.sec-head .tag,.pain-kicker,.step .no,
  .pain-slide__number,.scenario-category__index),
[data-theme="light"] .card:not(.pain) .ico{color:#4338CA}

/* ========================= 联系区「免费」说明 =========================
   用绿色系（站内代表已交付 / 正向的同一族颜色）让「免费、无负担」一眼可见，
   与紫色主 CTA 区分开，避免两个强调色互相抢注意力。 */
.contact-free{
  position:relative;display:flex;align-items:flex-start;gap:11px;
  margin-top:16px;padding:12px 15px;
  border:1px solid rgba(16,185,129,.30);border-radius:13px;
  background:rgba(16,185,129,.10);
  color:var(--tx-2);font-size:14.4px;line-height:1.72;
  max-width:64ch;
}
.contact-free b{flex:none;color:var(--mint);font-weight:800;letter-spacing:.01em}
.contact-free span{min-width:0}
[data-theme="light"] .contact-free{
  border-color:rgba(4,120,87,.26);
  background:rgba(4,120,87,.07);
}
@media (max-width:600px){
  .contact-free{flex-direction:column;gap:5px}
}

/* 诊断结果区的一对一沟通提示：与联系区的「免费」提示同一套绿色语言 */
.result-note{
  display:flex;align-items:flex-start;gap:11px;
  margin:0;padding:13px 20px 15px;
  border-top:1px solid rgba(16,185,129,.20);
  background:rgba(16,185,129,.08);
  color:var(--tx-2);font-size:14px;line-height:1.72;
}
.result-note b{flex:none;color:var(--mint);font-weight:800}
.result-note span{min-width:0}
[data-theme="light"] .result-note{
  border-top-color:rgba(4,120,87,.20);
  background:rgba(4,120,87,.06);
}
@media (max-width:600px){
  .result-note{flex-direction:column;gap:5px;padding:12px 16px 14px}
}

/* ========================= 案例封面的界面性质标注 =========================
   五张封面都是产品真实界面，但其中两张的数据不是真实经营数据。
   总览页直接标出来，避免和详情页的披露口径不一致。 */
.case .shot-tag{
  position:absolute;left:12px;top:12px;z-index:2;
  display:inline-flex;align-items:center;gap:7px;
  padding:5px 10px;border-radius:999px;
  border:1px solid rgba(255,255,255,.26);
  background:rgba(9,13,29,.72);
  -webkit-backdrop-filter:saturate(150%) blur(10px);
  backdrop-filter:saturate(150%) blur(10px);
  color:#F1F5F9;font-size:11.5px;font-weight:750;line-height:1.4;letter-spacing:.01em;
  box-shadow:0 6px 18px rgba(0,0,0,.28);
  pointer-events:none;
}
.case .shot-tag i{
  font-style:normal;padding:2px 7px;border-radius:999px;
  background:rgba(245,158,11,.22);border:1px solid rgba(245,158,11,.44);
  color:#FDE68A;font-size:11px;font-weight:800;
}
[data-theme="light"] .case .shot-tag{
  border-color:rgba(15,23,42,.14);
  background:rgba(255,255,255,.86);
  color:#0F172A;
  box-shadow:0 6px 16px rgba(15,23,42,.14);
}
[data-theme="light"] .case .shot-tag i{
  background:rgba(180,83,9,.12);border-color:rgba(180,83,9,.34);color:#92400E;
}
@media (max-width:600px){
  .case .shot-tag{left:9px;top:9px;font-size:11px;padding:4px 8px}
}

/* 诊断结果区直接放二维码：不再把高意向用户推去关于页找联系方式 */
.result-contact{
  display:flex;align-items:center;gap:18px;
  padding:18px 20px 20px;
  border-top:1px solid var(--line);
}
.result-contact img{
  flex:none;width:118px;height:118px;padding:8px;
  border-radius:12px;background:#FFFFFF;
  border:1px solid rgba(255,255,255,.6);
  box-shadow:0 10px 26px rgba(0,0,0,.24);
}
.result-contact__copy{min-width:0}
.result-contact__copy b{display:block;margin-bottom:6px;color:var(--tx);font-size:15px;font-weight:750}
.result-contact__copy span{display:block;color:var(--tx-3);font-size:13.4px;line-height:1.7}
[data-theme="light"] .result-contact img{
  border-color:rgba(15,23,42,.10);
  box-shadow:0 8px 20px rgba(15,23,42,.12);
}
@media (max-width:600px){
  .result-contact{flex-direction:column;align-items:flex-start;gap:13px;padding:16px}
  .result-contact img{width:150px;height:150px}
}

/* ========================= 大屏适配 =========================
   实测问题：内容栏恒为 1180px，两侧空白在 1920 屏占 39%、2560 屏占 54%、3440 屏占 66%；
   区块高度中位数从 0.85 屏掉到 0.53 屏 —— 屏幕变大而内容不变，观感就是「半屏内容 + 大片空白」。
   做法：容器分档放宽 + 字号同步升一档；但「标签+说明」型的表格与通栏段落各自限宽，
   否则一行会排到 70 多个汉字，比留白更难读。 */
@media (min-width:1600px){
  :root{--wrap:1340px}
  /* 导航与首屏轮播原本各自硬编码 1180px，这里改为跟随容器 */
  .nav .in{max-width:var(--wrap)}
  .pain-carousel{max-width:var(--wrap)}
}

@media (min-width:1920px){
  :root{--wrap:1480px}
  .sec-head{max-width:840px}
  .sec-head p{font-size:18px}
  .card p,.list li{font-size:15.8px}
  .card h3{font-size:20px}
  /* 说明型表格不跟着无限变宽，保持在舒适阅读宽度并居中 */
  .kv{max-width:1300px;margin-left:auto;margin-right:auto}
  .kv .k{font-size:15px}
  .kv .v{font-size:16px}
  .note,.note.blue{font-size:15.4px}
}

@media (min-width:2400px){
  :root{--wrap:1620px}
  /* 不加区块内边距：屏幕越高，区块本来就越填不满，再加内边距只会更空 */
  .sec-head{margin-bottom:34px}
  .sec-head h2{font-size:58px}
  .sec-head p{font-size:18.6px}
  .card h3{font-size:21px}
  .card p,.list li{font-size:16.2px}
  .kv{max-width:1360px}
  .kv .v{font-size:16.4px}
  .svc .who,.step .out{font-size:14.6px}
}
