/* The MERCHANT-driven DOM and authentication hooks remain authoritative. */
body.family-merchant {
  --ink-0:#080a09; --ink-1:#080a09; --ink-2:#101312;
  --paper:#f3f0e8; --paper-dim:#bbb9b2; --paper-faint:#aaa69d;
  --line:rgba(255,255,255,.19); --line-2:rgba(255,255,255,.28);
  --lantern:#cfbc98; --lantern-dim:rgba(207,188,152,.45);
  --serif:"STFangsong","FangSong","Songti SC",serif;
  --sans:"OpenAI Sans","PingFang SC","Microsoft YaHei",sans-serif;
  min-width:320px; font-size:18px; line-height:1.85; letter-spacing:0;
  isolation:isolate; background:#080a09; overflow-x:clip;
}
body.family-merchant::before {
  z-index:-1; opacity:1;
  background:linear-gradient(180deg,rgba(3,7,7,.52),rgba(3,7,7,.8)),
    url('/yunianzhongsheng-merchant/assets/hero.webp') center/cover no-repeat;
}
.family-merchant .page { max-width:none; background:transparent; border:0; overflow:visible; box-shadow:none; }
.family-merchant [hidden] { display:none!important; }
.family-merchant .reveal { opacity:1; transform:none; filter:none; transition:none; }
.family-merchant .topbar { position:fixed; inset:0 0 auto; height:64px; padding:0 32px; background:rgba(4,7,7,.94); backdrop-filter:none; }
.family-merchant .topbar .co { font-size:18px; letter-spacing:.04em; font-weight:500; }
.family-merchant .topbar a.login { display:inline-flex; align-items:center; min-height:40px; border-radius:999px; padding:8px 20px; font-size:13px; letter-spacing:0; color:var(--paper); }
.family-merchant .hero { min-height:100svh; padding:140px 24px 96px; }
.family-merchant .hero-bg { inset:0; animation:none; will-change:auto; background-position:center; opacity:.48; }
.family-merchant .hero-scrim { background:linear-gradient(180deg,rgba(3,7,7,.25),rgba(3,7,7,.4)); }
.family-merchant .hero-vignette { box-shadow:none; }
.family-merchant .hero-in { width:min(100%,900px); margin-inline:auto; }
.family-merchant .co-badge { border:0; background:none; padding:0; margin-bottom:30px; font-size:12px; line-height:1.6; letter-spacing:.18em; }
.family-merchant .m-logo { width:58px; height:58px; margin-bottom:22px; background:rgba(4,7,7,.66); font-size:30px; border-radius:12px; }
.family-merchant .hero h1 { font-size:clamp(52px,6.4vw,92px); font-weight:500; line-height:1.15; letter-spacing:.02em; text-indent:0; }
.family-merchant .m-slogan { font-family:var(--serif); font-size:clamp(25px,3vw,40px); letter-spacing:.02em; text-indent:0; }
.family-merchant .hero-rule { height:28px; margin:26px auto 20px; background:var(--line); }
.family-merchant .m-meta { font-size:15px; letter-spacing:0; }
.family-merchant .hero-cta { gap:12px; margin-top:28px; }
.family-merchant .btn { border:1px solid var(--line); border-radius:999px; padding:13px 24px; font-size:14px; min-height:48px; letter-spacing:0; text-indent:0; }
.family-merchant .btn-primary { background:var(--paper); color:#121512; }
.family-merchant .btn-primary:hover { background:#fff; box-shadow:none; }
.family-merchant .btn-primary::after,.family-merchant .btn-bracket i { display:none; }
.family-merchant .btn-bracket { background:rgba(0,0,0,.25); color:var(--paper); }
.family-merchant .fm-content { position:relative; padding:86px 0 40px; }
.family-merchant .fm-tabs { display:flex; width:max-content; min-width:100%; gap:4px; padding:5px; }
.family-merchant .fm-tab-scroll { width:min(calc(100% - 48px),1280px); margin:0 auto 48px; border:1px solid var(--line); border-radius:999px; overflow-x:auto; scrollbar-width:none; background:rgba(4,7,7,.52); }
.family-merchant .fm-tab-scroll::-webkit-scrollbar { display:none; }
.family-merchant .fm-tab { border:0; border-radius:999px; background:transparent; color:var(--paper); font:inherit; font-size:18px; white-space:nowrap; padding:16px 28px; min-height:54px; flex:1; cursor:pointer; }
.family-merchant .fm-tab[aria-selected="true"] { background:rgba(255,255,255,.13); }
.family-merchant .fm-panel { width:min(calc(100% - 48px),1014px); margin:0 auto; padding:42px; border:1px solid var(--line); border-radius:28px; background:rgba(4,7,7,.92); scroll-margin-top:96px; }
.family-merchant .fm-panel .kicker { text-align:left; font-size:12px; letter-spacing:.15em; margin-bottom:18px; color:var(--lantern); }
.family-merchant .fm-panel .sec-title { text-align:left; font:500 clamp(26px,3vw,36px)/1.4 var(--sans); letter-spacing:-.025em; margin:0 0 28px; }
.family-merchant .fm-panel p,.family-merchant .fm-panel .dz-band,.family-merchant .fm-panel .cp,.family-merchant .fm-panel .story { font:400 20px/1.9 var(--sans); text-align:left; color:var(--paper); letter-spacing:0; }
.family-merchant .fm-panel .gallery { gap:14px; margin-block:32px; }
.family-merchant .fm-panel .g-item { aspect-ratio:4/3; border-radius:12px; }
.family-merchant .fm-panel .g-item::before { display:none; }
.family-merchant .fm-panel .m-intro { margin-top:24px; }
.family-merchant .fm-panel .perk { padding:26px 0; gap:22px; }
.family-merchant .fm-panel .perk b,.family-merchant .fm-panel .p-item .info b { font:500 23px/1.5 var(--sans); }
.family-merchant .fm-panel .perk span,.family-merchant .fm-panel .p-item .info span { font-size:16px; line-height:1.8; color:var(--paper-dim); }
.family-merchant .fm-panel .perk-note { font-size:15px; color:var(--paper-dim); }
.family-merchant .fm-panel .p-item { padding:28px 0; gap:24px; }
.family-merchant .fm-panel .p-item .dzn { min-width:104px; }
.family-merchant .fm-panel .p-item .dzn b { font:500 38px/1.3 var(--sans); }
.family-merchant .fm-panel .p-item .go { color:var(--paper); border:1px solid var(--line); border-radius:999px; min-height:44px; padding:10px 20px; font-size:14px; }
.family-merchant .fm-panel .p-item .go:hover { background:rgba(255,255,255,.12); }
.family-merchant .fm-panel .dz-how { font-size:17px; line-height:1.9; padding:26px 0; }
.family-merchant .fm-panel .card-visual { width:min(470px,100%); }
.family-merchant .fm-panel .card-points { margin-top:36px; }
.family-merchant .fm-panel .benming { text-align:left; }
.family-merchant .fm-panel .benming a { font-size:16px; letter-spacing:0; }
.family-merchant .fm-panel .loc-row { font-size:19px; padding:22px 0; }
.family-merchant .fm-panel .loc-row .k { font-family:var(--sans); width:68px; letter-spacing:0; }
.family-merchant .fm-panel .loc-row .v { min-width:0; overflow-wrap:anywhere; }
.family-merchant .fm-panel .story { margin-top:36px; padding-left:24px; font-size:19px; }
.family-merchant .hairline { display:none; }
.family-merchant .final { padding:120px 24px; }
.family-merchant .final-bg,.family-merchant .final-scrim { display:none; }
.family-merchant .final h2 { font-size:clamp(32px,4vw,56px); font-weight:500; letter-spacing:.02em; line-height:1.5; }
.family-merchant .final p { font-size:17px; max-width:600px; line-height:1.8; }
.family-merchant footer { background:rgba(4,7,7,.95); padding:42px 32px; }
.family-merchant footer .fb { font-family:var(--sans); font-size:18px; letter-spacing:.06em; }
.family-merchant footer .biz { max-width:1014px; margin:24px auto; font-size:14px; }
.family-merchant footer .legal { font-size:12px; }
.family-merchant .demo-badge { background:#080a09; border-radius:999px; padding:7px 12px; font-size:11px; letter-spacing:0; }
.family-merchant :focus-visible { outline:2px solid var(--lantern); outline-offset:4px; }
@media(max-width:767px) {
 .family-merchant .topbar { padding-inline:18px; }
 .family-merchant .topbar .co { font-size:15px; gap:8px; }
 .family-merchant .topbar a.login { padding:8px 14px; }
 .family-merchant .hero { padding:116px 24px 86px; }
 .family-merchant .hero h1 { font-size:clamp(46px,12vw,64px); }
 .family-merchant .m-slogan { font-size:27px; }
 .family-merchant .fm-content { padding-top:60px; }
 .family-merchant .fm-tab-scroll { width:calc(100% - 32px); margin-bottom:28px; }
 .family-merchant .fm-tab { padding:12px 20px; min-height:48px; font-size:16px; }
 .family-merchant .fm-panel { width:calc(100% - 32px); padding:24px 20px; border-radius:20px; }
 .family-merchant .fm-panel p,.family-merchant .fm-panel .dz-band,.family-merchant .fm-panel .cp,.family-merchant .fm-panel .story { font-size:17px; line-height:1.85; }
 .family-merchant .fm-panel .gallery { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
 .family-merchant .fm-panel .perk b,.family-merchant .fm-panel .p-item .info b { font-size:19px; }
 .family-merchant .fm-panel .perk span,.family-merchant .fm-panel .p-item .info span { font-size:14px; }
 .family-merchant .fm-panel .p-item { gap:14px; flex-wrap:wrap; }
 .family-merchant .fm-panel .p-item .dzn { min-width:64px; }
 .family-merchant .fm-panel .p-item .dzn b { font-size:30px; }
 .family-merchant .fm-panel .p-item .info { flex-basis:calc(100% - 80px); }
 .family-merchant .fm-panel .p-item .go { margin-left:78px; }
 .family-merchant .fm-panel .dz-how,.family-merchant .fm-panel .loc-row { font-size:16px; }
 .family-merchant .fm-panel .loc-row { gap:12px; }
 .family-merchant .fm-panel .loc-row .k { width:42px; }
 .family-merchant .final { padding-block:84px; }
}
@media print {
 .family-merchant::before,.family-merchant .topbar,.family-merchant .fm-tab-scroll,.family-merchant .demo-badge { display:none; }
 .family-merchant .fm-panel[hidden] { display:block!important; }
}
