    :root {
      color-scheme: light;
      --color-bg: #FFFFFF;
      --color-bg-alt: #FBFBFD;
      --color-bg-dark: #1D1D1F;
      --color-text-primary: #1D1D1F;
      --color-text-secondary: #6E6E73;
      --color-text-tertiary: #86868B;
      --color-text-on-dark: #F5F5F7;
      --color-divider: #D2D2D7;
      --color-brand: #05D38E;
      --color-brand-hover: #0CE59C;
      --color-brand-pressed: #04B87C;
      --color-link: #0066CC;
      --gradient-p1: linear-gradient(30deg, #15EF82 0%, #3CE6E9 100%);
      --gradient-p2: linear-gradient(30deg, #76ADFF 0%, #9494FF 100%);
      --gradient-p3: linear-gradient(30deg, #FFBF1D 0%, #FF712F 100%);
      --font-sans: -apple-system, BlinkMacSystemFont, "SF Pro Display", Inter, "Helvetica Neue", Arial, sans-serif;
      --font-cn: "PingFang SC", "苹方", "Noto Sans SC", "Microsoft YaHei", sans-serif;
      --font-num: Poppins, -apple-system, "SF Pro Display", Inter, sans-serif;
      --font-display-xl: clamp(48px, 9vw, 120px);
      --font-display-l: clamp(40px, 6vw, 80px);
      --font-headline: clamp(36px, 5vw, 72px);
      --font-title: clamp(22px, 2vw, 32px);
      --font-body-l: clamp(18px, 1.6vw, 24px);
      --font-body: 16px;
      --font-caption: 12px;
      --font-eyebrow: 14px;
      --space-1: 4px;
      --space-2: 8px;
      --space-3: 12px;
      --space-4: 16px;
      --space-5: 24px;
      --space-6: 32px;
      --space-8: 48px;
      --space-10: 64px;
      --space-12: 96px;
      --space-16: 128px;
      --radius-sm: 8px;
      --radius-md: 12px;
      --radius-lg: 18px;
      --radius-xl: 28px;
      --radius-full: 9999px;
      --shadow-sm: 0 1px 2px rgba(0,0,0,0.04);
      --shadow-md: 0 6px 20px rgba(0,0,0,0.06);
      --shadow-lg: 0 20px 60px rgba(0,0,0,0.08);
      --ease-out: cubic-bezier(0.22,1,0.36,1);
      --ease-in-out: cubic-bezier(0.65,0,0.35,1);
      --dur-fast: 150ms;
      --dur-base: 250ms;
      --dur-slow: 500ms;
      --container-max: 1240px;
      --container-pad-desk: 32px;
      --container-pad-mobile: 20px;
    }
    @media (max-width:734px) {
      :root {
        --font-display-xl: 40px;
        --font-display-l: 32px;
        --font-headline: 26px;
        --font-title: 20px;
      }
    }

    *,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
    html{scroll-behavior:smooth;}
    body{font-family:var(--font-cn),var(--font-sans);font-size:var(--font-body);color:var(--color-text-primary);background:var(--color-bg);overflow-x:hidden;-webkit-font-smoothing:antialiased;padding-top:94px;}

    .phrase{display:inline-block;white-space:nowrap;}
    .text-gradient{background-clip:text;-webkit-background-clip:text;color:var(--color-text-primary);-webkit-text-fill-color:transparent;}
    .grad-p1{background-image:var(--gradient-p1);}
    .grad-p2{background-image:var(--gradient-p2);}
    .grad-p3{background-image:var(--gradient-p3);}

    .container{max-width:var(--container-max);margin-inline:auto;padding-inline:var(--container-pad-desk);}
    .cta-group{display:flex;gap:var(--space-5);align-items:center;flex-wrap:wrap;}
    .cta-group.center{justify-content:center;}

    .fade-in{opacity:0;transform:translateY(24px);transition:opacity 0.6s var(--ease-out),transform 0.6s var(--ease-out);}
    .fade-in.visible{opacity:1;transform:translateY(0);}

    .btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:44px;padding:0 24px;border-radius:var(--radius-full);font-size:15px;font-weight:500;text-decoration:none;cursor:pointer;border:none;transition:background var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out);white-space:nowrap;font-family:var(--font-sans);}
    .btn:active{transform:scale(0.97);}
    .btn-primary{background:var(--color-text-primary);color:#fff;}
    .btn-primary:hover{background:#2C2C2E;font-weight:600;}
    .btn-primary.on-brand{background:var(--color-brand-pressed);color:#fff;}
    .btn-primary.on-brand:hover{background:var(--color-brand);font-weight:600;}
    .btn-secondary{background:transparent;color:var(--color-text-primary);border:1px solid var(--color-text-primary);}
    .btn-secondary:hover{background:var(--color-text-primary);color:#fff;font-weight:600;}
    .btn-ghost{background:rgba(255,255,255,0.10);color:var(--color-text-on-dark);border:1px solid rgba(255,255,255,0.18);}
    .btn-ghost:hover{background:rgba(255,255,255,0.18);font-weight:600;}

    /* ─── Topbar ─── */
    .site-topbar{position:fixed;top:0;left:0;right:0;z-index:201;height:34px;background:var(--color-bg-dark);display:flex;align-items:center;}
    .topbar-inner{padding-inline:40px;width:100%;display:flex;align-items:center;justify-content:space-between;}
    .topbar-products{display:flex;gap:var(--space-6);align-items:center;list-style:none;}
    .topbar-products a{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:400;color:rgba(245,245,247,0.45);text-decoration:none;font-family:var(--font-sans);transition:color var(--dur-fast);}
    .topbar-products a:hover{color:rgba(245,245,247,0.85);}
    .topbar-products li.active a{color:rgba(245,245,247,0.45);font-weight:600;}
    .topbar-products .dot{width:14px;height:14px;border-radius:4px;flex-shrink:0;background-size:contain;background-position:center;background-repeat:no-repeat;}
    .topbar-products .dot-fakao{background-image:url(images/icon-fakao.png);}
    .topbar-products .dot-fashuo{background-image:url(images/icon-fashuo.png);}
    .topbar-products .dot-cpa{background-image:url(images/icon-cpa.png);}
    .app-download-btn{position:relative;}
    .topbar-products .dot-app{position:relative;overflow:hidden;background:transparent;}
    .topbar-products .dot-app img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity 0.8s ease,transform 0.8s ease;}
    .topbar-products .dot-app img.dot-app-android{opacity:1;animation:jx-topbar-slide-1 7s infinite;}
    .topbar-products .dot-app img.dot-app-ios{opacity:0;animation:jx-topbar-slide-2 7s infinite;}
    @keyframes jx-topbar-slide-1{0%,40%{opacity:1;transform:translateY(0);}45%,95%{opacity:0;transform:translateY(100%);}100%{opacity:1;transform:translateY(0);}}
    @keyframes jx-topbar-slide-2{0%,40%{opacity:0;transform:translateY(-100%);}45%,95%{opacity:1;transform:translateY(0);}100%{opacity:0;transform:translateY(100%);}}
    .app-qrcode{display:none;position:absolute;top:100%;left:50%;transform:translateX(-50%);width:120px;height:120px;margin-top:8px;border-radius:8px;box-shadow:0 4px 20px rgba(0,0,0,0.3);z-index:1000;}
    .app-download-btn:hover .app-qrcode{display:block;}
    @media(max-width:734px){.topbar-products a span:not(.dot){display:none;}.topbar-products{gap:var(--space-3);}}

    /* ─── Nav ─── */
    .site-nav{position:fixed;top:34px;left:0;right:0;z-index:200;height:68px;background:rgba(255,255,255,0.82);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid rgba(0,0,0,0.05);}
    .nav-inner{padding-inline:40px;height:100%;display:flex;align-items:center;gap:var(--space-5);}
    .nav-logo{display:flex;align-items:center;text-decoration:none;flex-shrink:0;}
    .nav-links{display:flex;align-items:center;gap:28px;list-style:none;margin-left:40px;}
    .nav-links a{font-size:16px;font-weight:600;color:var(--color-text-primary);text-decoration:none;transition:font-weight var(--dur-fast);}
    .nav-links a:hover{font-weight:600;}
    .nav-links a.nav-active{font-weight:600;color:var(--color-brand-pressed);}
    .nav-actions{display:flex;align-items:center;gap:var(--space-4);flex-shrink:0;margin-left:auto;}
    .nav-actions .btn-primary.on-brand{position:relative;overflow:hidden;background:#FF9500;box-shadow:0 4px 12px rgba(255,149,0,0.30),0 0 18px rgba(255,149,0,0.18);}
    .nav-actions .btn-primary.on-brand:hover{background:#E68600;box-shadow:0 8px 22px rgba(255,149,0,0.42),0 0 28px rgba(255,149,0,0.32);transform:translateY(-1px);}
    .nav-actions .btn-primary.on-brand>*{position:relative;z-index:2;}
    .nav-actions .btn-primary.on-brand::before{content:'';position:absolute;top:0;left:-75%;width:55%;height:100%;background:linear-gradient(120deg,transparent 0%,rgba(255,255,255,0.55) 50%,transparent 100%);transform:skewX(-22deg);animation:nav-study-shine 3.6s ease-in-out 1.2s infinite;z-index:1;pointer-events:none;}
    @keyframes nav-study-shine{0%{left:-75%;opacity:0;}10%{opacity:1;}50%{left:130%;opacity:1;}60%,100%{left:130%;opacity:0;}}
    @media(prefers-reduced-motion:reduce){.nav-actions .btn-primary.on-brand::before{animation:none;display:none;}}
    .nav-actions .btn-consult{background:var(--color-brand);color:#fff;border-color:transparent;}
    .nav-actions .btn-consult:hover{background:var(--color-brand-pressed);color:#fff;border-color:transparent;}
    .nav-mobile-toggle{display:none;background:none;border:none;cursor:pointer;padding:8px;color:var(--color-text-primary);}
    .nav-mobile-actions{display:none;}
    @media(max-width:1068px){.nav-links{display:none;}.nav-mobile-toggle{display:flex;align-items:center;}.nav-inner>.nav-actions>a.btn{display:none;}.nav-mobile-actions{display:block;order:-1;width:100%;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid rgba(0,0,0,0.08);}.nav-mobile-actions .nav-actions{margin-left:0;width:100%;}.nav-mobile-actions .nav-actions .btn{flex:1;}}

    /* ─── Hero ─── */
    .subpage-hero{padding-top:40px;padding-bottom:100px;background:radial-gradient(ellipse 70% 60% at 20% 10%,rgba(5,211,142,0.15),transparent 60%),radial-gradient(ellipse 60% 50% at 85% 20%,rgba(93,234,199,0.13),transparent 60%),radial-gradient(ellipse 80% 60% at 50% 80%,rgba(60,230,233,0.18),transparent 65%),linear-gradient(180deg,#FAFAFC 0%,#FFFFFF 100%);text-align:center;}
    .subpage-hero .container{max-width:820px;}
    .subpage-hero .crumb-row{max-width:var(--container-max);margin-inline:auto;padding-inline:var(--container-pad-desk);}
    .breadcrumb{padding-bottom:12px;font-size:13px;color:var(--color-text-tertiary);text-align:left;position:relative;z-index:2;}
    .breadcrumb a{color:var(--color-text-secondary);text-decoration:none;transition:color var(--dur-fast);}
    .breadcrumb a:hover{color:var(--color-brand);}
    .hero-eyebrow{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--font-eyebrow);font-weight:600;letter-spacing:0.04em;color:var(--color-brand-pressed);background:rgba(5,211,142,0.08);padding:5px 14px;border-radius:var(--radius-full);margin-bottom:var(--space-5);font-family:var(--font-sans);}
    .subpage-hero h1{font-size:var(--font-display-l);font-weight:800;line-height:1.42;letter-spacing:-0.025em;color:var(--color-text-primary);margin-bottom:var(--space-5);font-family:var(--font-sans);text-wrap:balance;}
    .subpage-hero .hero-sub{font-size:var(--font-body-l);color:var(--color-text-secondary);line-height:1.55;margin-bottom:var(--space-8);max-width:620px;margin-inline:auto;letter-spacing:-0.005em;}
    .subpage-hero .hero-sub strong{color:var(--color-text-primary);font-weight:600;}

    section{padding-block:80px;}
    .bg-alt{background:var(--color-bg-alt);}
    .bg-dark{background:var(--color-bg-dark);color:var(--color-text-on-dark);}

    .section-eyebrow{display:inline-block;font-size:var(--font-eyebrow);font-weight:600;letter-spacing:0.04em;color:var(--color-brand-pressed);margin-bottom:var(--space-4);font-family:var(--font-sans);}
    .section-eyebrow.on-dark{color:var(--color-brand);}
    .section-headline{font-size:var(--font-headline);font-weight:600;line-height:1.38;letter-spacing:-0.02em;color:var(--color-text-primary);margin-bottom:var(--space-5);font-family:var(--font-sans);}
    .section-headline.on-dark{color:var(--color-text-on-dark);}
    .section-sub{font-size:var(--font-body-l);color:var(--color-text-secondary);line-height:1.55;max-width:640px;letter-spacing:-0.005em;}
    .section-sub.on-dark{color:rgba(245,245,247,0.7);}
    .section-header{margin-bottom:var(--space-12);}
    .section-header.center{text-align:center;}
    .section-header.center .section-sub{margin-inline:auto;}

    .card-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
    .card-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
    .info-card{background:var(--color-bg);border-radius:var(--radius-xl);padding:var(--space-8) var(--space-6);box-shadow:var(--shadow-sm);border:1px solid rgba(0,0,0,0.04);transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out);}
    .info-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);}

    .card-icon{width:48px;height:48px;border-radius:var(--radius-md);background:var(--color-brand);display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-5);}
    .card-icon svg{width:24px;height:24px;fill:#fff;}
    .card-eyebrow{font-size:12px;font-weight:700;letter-spacing:0.06em;color:var(--color-text-tertiary);margin-bottom:var(--space-3);font-family:var(--font-num);}
    .card-title{font-size:var(--font-title);font-weight:600;color:var(--color-text-primary);margin-bottom:var(--space-3);font-family:var(--font-sans);}
    .card-desc{font-size:15px;color:var(--color-text-secondary);line-height:1.65;}
    .card-tag{display:inline-block;font-size:12px;font-weight:600;padding:4px 12px;border-radius:var(--radius-full);background:rgba(5,211,142,0.10);color:var(--color-brand-pressed);margin-top:var(--space-4);font-family:var(--font-sans);}

    /* ─── 选班导引 ─── */
    .match-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:960px;margin:0 auto;}
    .mcard{display:flex;flex-direction:column;border-radius:24px;padding:36px 34px 32px;color:#fff;text-decoration:none;position:relative;overflow:hidden;transition:transform .35s var(--ease-out),box-shadow .35s var(--ease-out);}
    .mcard:hover{transform:translateY(-6px);}
    .mcard::after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;background:rgba(255,255,255,.10);right:-50px;top:-50px;pointer-events:none;}
    .mcard-tag{align-self:flex-start;font-size:12.5px;font-weight:600;padding:5px 14px;border-radius:999px;color:#fff;font-family:var(--font-sans);margin-bottom:22px;position:relative;z-index:1;}
    .mcard-name{font-size:30px;font-weight:800;line-height:1.15;margin:0 0 6px;font-family:var(--font-sans);letter-spacing:-.01em;position:relative;z-index:1;}
    .mcard-slogan{font-size:17px;font-weight:700;opacity:.95;margin-bottom:14px;font-family:var(--font-sans);position:relative;z-index:1;}
    .mcard-logic{font-size:14px;line-height:1.7;color:rgba(255,255,255,.85);margin:0 0 16px;position:relative;z-index:1;}
    .mcard-keys{font-size:13px;font-weight:600;color:rgba(255,255,255,.9);margin-bottom:24px;position:relative;z-index:1;}
    .mcard-cta{margin-top:auto;align-self:flex-start;font-size:14px;font-weight:700;padding:10px 22px;border-radius:999px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.35);color:#fff;font-family:var(--font-sans);position:relative;z-index:1;transition:background .25s;}
    .mcard:hover .mcard-cta{background:rgba(255,255,255,.28);}
    @media(max-width:734px){.mcard{padding:26px 22px 24px;}.mcard-name{font-size:25px;}}
    .match-card{border-radius:var(--radius-xl);padding:var(--space-8) var(--space-6);border:2px solid transparent;background:var(--color-bg);box-shadow:var(--shadow-sm);transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out),border-color var(--dur-base);}
    .match-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--color-brand);}
    .match-card-tag{display:inline-block;font-size:11px;font-weight:700;letter-spacing:0.08em;padding:3px 10px;border-radius:var(--radius-full);margin-bottom:var(--space-5);font-family:var(--font-num);}
    .tag-zhizhi{background:rgba(118,173,255,0.12);color:#4E90E0;}
    .tag-mingxiao{background:rgba(255,191,29,0.12);color:#C07800;}
    .tag-dingzhi{background:rgba(5,211,142,0.12);color:var(--color-brand-pressed);}
    .match-card-title{font-size:20px;font-weight:700;color:var(--color-text-primary);margin-bottom:var(--space-4);font-family:var(--font-sans);}
    .match-card-pain{font-size:14px;color:var(--color-text-secondary);line-height:1.6;margin-bottom:var(--space-5);padding:var(--space-3) var(--space-4);background:var(--color-bg-alt);border-radius:var(--radius-md);}
    .match-card-pain strong{color:var(--color-text-primary);}
    .match-card-points{list-style:none;margin-bottom:var(--space-6);}
    .match-card-points li{font-size:14px;color:var(--color-text-secondary);padding:5px 0;padding-left:20px;position:relative;line-height:1.55;}
    .match-card-points li::before{content:"✓";position:absolute;left:0;color:var(--color-brand-pressed);font-weight:700;}
    .match-card-cta{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:var(--color-text-primary);text-decoration:none;font-family:var(--font-sans);}
    .match-card-cta:hover{color:var(--color-brand-pressed);}

    /* ─── 班型详情 ─── */
    .class-section{padding-block:100px;}
    .class-section:nth-child(even){background:var(--color-bg-alt);}
    .class-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:stretch;}
    .class-layout > .fade-in:first-child{display:flex;flex-direction:column;}
    .class-layout > .fade-in:first-child .cta-group{margin-bottom:0;}
    .class-layout > .fade-in:first-child .match-product-card{margin-top:auto;flex:1;min-height:180px;}
    .class-layout > .fade-in:first-child .match-product-card > div{height:100%;display:flex;flex-direction:column;justify-content:flex-end;}
    .class-layout > .fade-in:first-child .mpc-inner{margin-top:auto;}
    .class-layout.reverse{direction:rtl;}
    .class-layout.reverse > *{direction:ltr;}
    .class-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 16px;border-radius:var(--radius-full);font-size:13px;font-weight:700;letter-spacing:0.03em;margin-bottom:var(--space-5);font-family:var(--font-sans);}
    .badge-zhizhi{background:rgba(118,173,255,0.14);color:#4E90E0;}
    .badge-mingxiao{background:rgba(255,191,29,0.14);color:#C07800;}
    .badge-dingzhi{background:rgba(5,211,142,0.14);color:var(--color-brand-pressed);}
    .class-title{font-size:clamp(28px,3.5vw,48px);font-weight:700;line-height:1.1;letter-spacing:-0.02em;color:var(--color-text-primary);margin-bottom:var(--space-4);font-family:var(--font-sans);}
    .class-tagline{font-size:var(--font-body-l);color:var(--color-text-secondary);line-height:1.55;margin-bottom:var(--space-8);letter-spacing:-0.005em;}
    .class-tagline strong{color:var(--color-text-primary);}
    .class-points-list{list-style:none;display:flex;flex-direction:column;gap:var(--space-4);}
    .class-point{display:flex;gap:var(--space-4);padding:var(--space-4) var(--space-5);border-radius:var(--radius-lg);background:var(--color-bg);box-shadow:var(--shadow-sm);border:1px solid rgba(0,0,0,0.04);}
    .class-point-icon{width:36px;height:36px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;background:rgba(5,211,142,0.10);}
    .class-point-body{}
    .class-point-name{font-size:15px;font-weight:700;color:var(--color-text-primary);margin-bottom:4px;font-family:var(--font-sans);}
    .class-point-desc{font-size:13px;color:var(--color-text-secondary);line-height:1.6;}
    .class-point-desc em{font-style:normal;color:var(--color-brand-pressed);font-weight:600;}
    /* 超高端定制班 — 9 items grid */
    .onev1-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
    .onev1-item{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;background:var(--color-bg);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid rgba(0,0,0,0.04);}
    .onev1-num{font-size:22px;font-weight:700;color:var(--color-brand);line-height:1;font-family:var(--font-num);flex-shrink:0;width:28px;}
    .onev1-text{font-size:14px;color:var(--color-text-secondary);line-height:1.55;}
    .onev1-text strong{display:block;font-size:14px;font-weight:700;color:var(--color-text-primary);margin-bottom:2px;font-family:var(--font-sans);}
    .onev1-new{font-size:11px;font-weight:700;background:rgba(5,211,142,0.12);color:var(--color-brand-pressed);padding:1px 6px;border-radius:var(--radius-full);margin-left:4px;vertical-align:middle;font-family:var(--font-num);}

    /* ─── 系统工具 ─── */
    .tools-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
    .tool-card{border-radius:var(--radius-xl);padding:var(--space-8) var(--space-5);background:#2C2C2E;border:1px solid rgba(255,255,255,0.06);transition:transform var(--dur-base) var(--ease-out),background var(--dur-base);}
    .tool-card:hover{transform:translateY(-4px);background:#3A3A3C;}
    .tool-card-icon{width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-4);}
    .tool-card-icon svg{width:28px;height:28px;}
    .tool-card-badge{display:inline-block;font-size:10px;font-weight:700;letter-spacing:0.06em;padding:3px 8px;border-radius:var(--radius-full);background:rgba(5,211,142,0.18);color:var(--color-brand);margin-bottom:var(--space-4);font-family:var(--font-num);}
    .tool-card-title{font-size:20px;font-weight:700;color:var(--color-text-on-dark);margin-bottom:var(--space-3);font-family:var(--font-sans);}
    .tool-card-desc{font-size:14px;color:rgba(245,245,247,0.6);line-height:1.65;margin-bottom:var(--space-4);}
    .tool-card-quote{font-size:14px;font-style:italic;color:rgba(245,245,247,0.45);line-height:1.6;padding-top:var(--space-3);border-top:1px solid rgba(255,255,255,0.08);}

    /* ─── VS 对比 ─── */
    .vs-table-wrap{border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-lg);border:1px solid rgba(0,0,0,0.05);}
    .vs-table{width:100%;border-collapse:collapse;}
    .vs-table th,.vs-table td{padding:16px 20px;text-align:left;font-size:15px;border-bottom:1px solid rgba(0,0,0,0.05);}
    .vs-table thead th{background:#F5F5F7;font-size:13px;font-weight:700;color:var(--color-text-secondary);letter-spacing:0.04em;font-family:var(--font-sans);}
    .vs-table thead th:first-child{width:30%;}
    .vs-table thead th.col-us{background:rgba(5,211,142,0.06);color:var(--color-brand-pressed);}
    .vs-table tbody tr:last-child td{border-bottom:none;}
    .vs-table tbody tr:hover td{background:rgba(5,211,142,0.03);}
    .vs-table td:first-child{font-weight:600;color:var(--color-text-primary);}
    .vs-table td.col-us{background:rgba(5,211,142,0.04);font-weight:600;color:var(--color-text-primary);}
    .vs-table td.col-others{color:var(--color-text-tertiary);}
    .vs-yes{color:var(--color-brand-pressed);font-weight:700;}
    .vs-no{color:var(--color-text-tertiary);}

    /* ─── 数字条 ─── */
    .numbers-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,0.08);border-radius:var(--radius-xl);overflow:hidden;}
    .num-item{background:var(--color-bg-dark);padding:var(--space-12) var(--space-8);text-align:center;}
    .num-big{font-size:var(--font-display-l);font-weight:700;line-height:1.05;color:var(--color-text-on-dark);font-family:var(--font-num);margin-bottom:var(--space-3);}
    .num-big .num-accent{color:var(--color-brand);}
    .num-label{font-size:15px;color:rgba(245,245,247,0.6);}

    /* ─── Final CTA ─── */
    .final-cta{background:var(--color-bg-dark);padding-block:var(--space-16);text-align:center;}
    .final-cta h2{font-size:var(--font-display-l);font-weight:700;line-height:1.05;color:var(--color-text-on-dark);margin-bottom:var(--space-5);font-family:var(--font-sans);text-wrap:balance;}
    .final-cta p{font-size:var(--font-body-l);color:rgba(245,245,247,0.65);margin-bottom:var(--space-8);}

      /* ── Footer ── */
  .site-footer {
    background: #0e0e10;
    padding-block: 64px 0;
  }
  .footer-grid {
    display: grid;
    grid-template-columns: 1.6fr 1fr 1fr 1fr;
    gap: 40px;
    padding-bottom: 56px;
  }
  .footer-logo { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; }
  .footer-brand-name { font-size: 17px; font-weight: 700; color: #fff; font-family: var(--font-sans); }
  .footer-brand-tagline { font-size: 13px; color: rgba(255,255,255,0.45); line-height: 1.6; margin-bottom: 20px; }
  .footer-apps { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 20px; }
  .footer-app-btn {
    display: flex; align-items: center; gap: 8px; padding: 9px 16px;
    border: 1px solid rgba(255,255,255,0.15); border-radius: 10px;
    text-decoration: none; background: rgba(255,255,255,0.05);
    transition: background 0.2s, border-color 0.2s; min-width: 128px;
  }
  .footer-app-btn:hover { background: rgba(255,255,255,0.1); border-color: rgba(255,255,255,0.3); }
  .footer-app-btn svg { width: 20px; height: 20px; fill: #fff; flex-shrink: 0; }
  .footer-app-btn-text { display: flex; flex-direction: column; }
  .footer-app-label { font-size: 10px; color: rgba(255,255,255,0.5); line-height: 1.2; }
  .footer-app-platform { font-size: 13px; font-weight: 600; color: #fff; line-height: 1.3; }
  .footer-socials { display: flex; gap: 16px; }
  .footer-socials a { font-size: 13px; color: rgba(255,255,255,0.4); text-decoration: none; transition: color 0.2s; }
  .footer-socials a:hover { color: rgba(255,255,255,0.8); }
  .footer-wechat-btn { position: relative; }
  .footer-wechat-qrcode { display: none; position: absolute; bottom: 100%; left: 50%; transform: translateX(-50%); width: 120px; height: auto; margin-bottom: 8px; border-radius: 8px; box-shadow: 0 4px 20px rgba(0,0,0,0.3); z-index: 1000; }
  .footer-wechat-btn:hover .footer-wechat-qrcode { display: block; }
  .footer-col-title { font-size: 14px; font-weight: 700; color: #fff; margin-bottom: 16px; font-family: var(--font-sans); }
  .footer-links { display: flex; flex-direction: column; gap: 12px; list-style: none; }
  .footer-links a { font-size: 13.5px; color: rgba(255,255,255,0.45); text-decoration: none; transition: color 0.2s; }
  .footer-links a:hover { color: rgba(255,255,255,0.85); }
  .footer-bottom {
    border-top: 1px solid rgba(255,255,255,0.08);
    padding: 24px 0 20px;
    display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; flex-wrap: wrap;
  }
  .footer-legal-company { font-size: 0.8125rem; color: rgba(255,255,255,0.7); margin-bottom: var(--space-2); font-weight: 500; }
  .footer-legal-records { font-size: 0.75rem; color: rgba(255,255,255,0.45); line-height: 1.8; max-width: 680px; display: flex; flex-wrap: wrap; gap: 4px 8px; align-items: center; margin-bottom: var(--space-2); }
  .footer-legal-records a { color: rgba(255,255,255,0.45); text-decoration: none; }
  .footer-legal-records a:hover { color: rgba(255,255,255,0.7); }
  .footer-legal-records .dot { margin: 0 4px; }
  .footer-legal-links { display: flex; align-items: center; gap: 8px; flex-shrink: 0; padding-top: 2px; color: rgba(255,255,255,0.45); font-size: 0.75rem; }
  .footer-legal-links a { font-size: 13px; color: rgba(255,255,255,0.45); text-decoration: none; transition: color 0.2s; }
  .footer-legal-links a:hover { color: rgba(255,255,255,0.7); }
  .footer-legal-links .dot { color: rgba(255,255,255,0.2); }
  .footer-tagline { font-size: 12px; color: rgba(255,255,255,0.45); font-style: italic; letter-spacing: 0.02em; padding: 14px 0 22px; }


    .honors-strip{background:var(--color-bg-dark);padding:var(--space-8) 0;border-top:1px solid rgba(255,255,255,0.06);}
    .honors-strip-inner{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:var(--space-6) var(--space-10);}
    .honor-item{display:flex;align-items:center;gap:var(--space-3);}
    .honor-item-icon{font-size:1.4rem;flex-shrink:0;}
    .honor-item-text{font-size:13px;font-weight:600;color:rgba(255,255,255,0.75);}

    @media(max-width:1068px){
      .card-grid-3,.match-grid{grid-template-columns:1fr 1fr;}
      .card-grid-4,.tools-grid{grid-template-columns:1fr 1fr;}
      .class-layout{grid-template-columns:1fr;gap:48px;}
      .class-layout.reverse{direction:ltr;}
      .numbers-grid-4{grid-template-columns:1fr 1fr;}
      .footer-grid{grid-template-columns:1fr 1fr;}
    }
    @media(max-width:734px){
      section{padding-block:80px;}
      .subpage-hero{padding-top:32px;padding-bottom:60px;}
      .card-grid-3,.match-grid,.card-grid-4,.tools-grid{grid-template-columns:1fr;}
      .onev1-grid{grid-template-columns:1fr;}
      .footer-grid{grid-template-columns:1fr;}
      .numbers-grid-4{grid-template-columns:1fr 1fr;}
      .cta-group{flex-direction:column;align-items:stretch;}
      .btn{justify-content:center;}
    }
      /* ── 全局防孤字规则 ─────────────────────────────────────────── */
    h1,h2,h3,h4{text-wrap:balance;}
    p,.hero-sub,.section-sub,.class-tagline,.hero-eyebrow,
    .match-card-pain,.wi-quote,.wi-compare,.promise-desc,
    .onev1-text,.class-point-desc,.card-desc,.stat-label,
    .timeline-desc,.teacher-bio,.story-quote{text-wrap:pretty;}
    /* ───────────────────────────────────────────────────────────── */
  
    /* ── 班型卖点概念图卡片 ────────────────────────────── */
    .cpoints-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
    .cpoint-card{background:var(--color-bg);border-radius:var(--radius-lg);border:1px solid rgba(0,0,0,0.06);box-shadow:0 2px 14px rgba(0,0,0,0.05);overflow:hidden;}
    .cpoint-mock{padding:16px 14px;display:flex;align-items:center;justify-content:center;min-height:108px;}
    .cpoint-info{padding:12px 14px 14px;border-top:1px solid rgba(0,0,0,0.05);}
    .cpoint-name{font-size:13px;font-weight:700;color:var(--color-text-primary);margin-bottom:4px;font-family:var(--font-sans);}
    .cpoint-desc{font-size:12px;color:var(--color-text-secondary);line-height:1.55;}
    .cpoint-desc em{font-style:normal;color:var(--color-brand-pressed);}
    .cpoint-card.span2{grid-column:span 2;}
    /* 计划进度条 */
    .cp-bar-row{display:flex;align-items:center;gap:7px;margin-bottom:6px;}
    .cp-bar-label{font-size:10px;font-weight:600;width:28px;flex-shrink:0;}
    .cp-bar-track{flex:1;height:5px;border-radius:3px;background:rgba(0,0,0,0.08);overflow:hidden;}
    .cp-bar-fill{height:100%;border-radius:3px;}
    .cp-bar-tag{font-size:10px;width:36px;text-align:right;flex-shrink:0;}
    /* 学练测流程 */
    .cp-flow{display:flex;align-items:center;gap:6px;justify-content:center;}
    .cp-flow-node{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700;font-family:var(--font-sans);}
    .cp-flow-arrow{font-size:14px;color:#CBD5E1;}
    /* 模考排名 */
    .cp-score-big{font-size:36px;font-weight:800;line-height:1;font-family:var(--font-num);}
    /* 分层记忆 */
    .cp-layer{border-radius:8px;padding:7px 12px;margin-bottom:6px;display:flex;align-items:center;gap:8px;}
    .cp-layer-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
    /* 通知气泡 */
    .cp-notify{border-radius:10px;padding:8px 11px;display:flex;align-items:flex-start;gap:8px;margin-bottom:6px;}
    .cp-notify-dot{width:7px;height:7px;border-radius:50%;margin-top:4px;flex-shrink:0;}
    /* 课程层级 */
    .cp-course-row{display:flex;align-items:center;gap:8px;margin-bottom:6px;}
    .cp-course-bar{height:22px;border-radius:5px;display:flex;align-items:center;padding:0 8px;font-size:11px;font-weight:600;}
    /* 督学日志 */
    .cp-log-row{display:flex;align-items:flex-start;gap:7px;margin-bottom:6px;font-size:11px;}
    .cp-log-icon{width:18px;height:18px;border-radius:5px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:10px;}
    /* 周趋势柱 */
    .cp-bars{display:flex;align-items:flex-end;gap:6px;height:60px;padding-bottom:2px;}
    .cp-wbar{display:flex;flex-direction:column;align-items:center;gap:3px;flex:1;}
    .cp-wbar-fill{width:100%;border-radius:3px 3px 0 0;}
    .cp-wbar-label{font-size:9px;color:#9CA3AF;}
    /* 择校表格 */
    .cp-school-row{display:grid;grid-template-columns:1fr auto auto;gap:6px 10px;align-items:center;padding:5px 0;border-bottom:1px solid rgba(0,0,0,0.05);font-size:11px;}
    /* ─────────────────────────────────────────────── */
  
    /* ── 选班商品卡 ──────────────────────────────────────── */
    .match-product-card{display:block;text-decoration:none;border-radius:14px;overflow:hidden;margin-top:20px;position:relative;cursor:pointer;transition:transform 0.2s var(--ease-out),box-shadow 0.2s var(--ease-out);}
    .match-product-card:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(0,0,0,0.14);}
    .match-product-card:active{transform:scale(0.98);}
    .mpc-inner{padding:20px 20px 16px;position:relative;z-index:1;}
    .mpc-tag{display:inline-block;font-size:10px;font-weight:700;letter-spacing:0.06em;padding:3px 8px;border-radius:20px;margin-bottom:10px;font-family:var(--font-sans);}
    .mpc-title{font-size:20px;font-weight:800;line-height:1.15;margin-bottom:6px;font-family:var(--font-sans);color:#fff;}
    .mpc-sub{font-size:12px;line-height:1.5;opacity:0.85;color:#fff;margin-bottom:14px;}
    .mpc-cta{display:inline-flex;align-items:center;gap:5px;font-size:13px;font-weight:700;background:rgba(255,255,255,0.18);color:#fff;padding:6px 14px;border-radius:20px;font-family:var(--font-sans);border:1px solid rgba(255,255,255,0.3);transition:background 0.15s;}
    .match-product-card:hover .mpc-cta{background:rgba(255,255,255,0.28);}
    .mpc-deco{position:absolute;right:0;top:0;bottom:0;width:45%;overflow:hidden;pointer-events:none;}
    .mpc-deco-circle{position:absolute;border-radius:50%;opacity:0.12;}
    /* ───────────────────────────────────────────────────────────── */
  
    .btn-consult{background:rgba(255,255,255,0.12);color:var(--color-text-primary);border:1.5px solid rgba(0,0,0,0.18);}
    .btn-consult:hover{background:var(--color-text-primary);color:#fff;border-color:transparent;font-weight:600;}

/* ===== 班型详情区改版：色卡区分 + 大徽标 + 清单式内容 ===== */
.class-section{padding:88px 0;}
.tint-zhizhi{background:linear-gradient(180deg,rgba(59,91,219,.07),rgba(59,91,219,.015));border-top:3px solid #3B5BDB;}
.tint-mingxiao{background:linear-gradient(180deg,rgba(255,177,29,.10),rgba(255,177,29,.02));border-top:3px solid #E8960C;}
.tint-dingzhi{background:linear-gradient(180deg,rgba(5,211,142,.08),rgba(5,211,142,.015));border-top:3px solid #05D38E;}
.class-badge-xl{display:inline-flex;align-items:center;padding:10px 24px;border-radius:999px;font-size:19px;font-weight:800;letter-spacing:.02em;margin-bottom:20px;font-family:var(--font-sans);color:#fff;}
.bxl-zhizhi{background:#3B5BDB;}
.bxl-mingxiao{background:#E8960C;}
.bxl-dingzhi{background:#05B87C;}
.class-points{margin:34px 0 6px;max-width:840px;display:flex;flex-direction:column;gap:13px;}
.class-point{display:flex;gap:15px;align-items:flex-start;background:var(--color-bg);border:1px solid var(--color-divider);border-radius:16px;padding:18px 22px;}
.class-point .idx{width:28px;height:28px;border-radius:9px;color:#fff;font-weight:800;font-size:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-family:var(--font-num);margin-top:1px;}
.class-point .tt{font-size:16px;font-weight:700;color:var(--color-text-primary);margin-bottom:3px;font-family:var(--font-sans);}
.class-point .dd{font-size:15px;color:var(--color-text-secondary);line-height:1.7;}
.class-gain{margin:24px 0 28px;font-size:16px;font-weight:700;color:var(--color-text-primary);}
.class-gain span{font-weight:400;color:var(--color-text-secondary);}
@media(max-width:734px){.class-badge-xl{font-size:16px;padding:8px 18px;}.class-point{padding:15px 16px;}}
  .qa-geo{padding:76px 0;background:var(--color-bg-alt);}
  .qa-geo .container{max-width:820px;}
  .qa-geo-eyebrow{font-size:13px;font-weight:700;color:var(--color-brand-pressed);letter-spacing:.06em;text-align:center;margin-bottom:10px;font-family:var(--font-sans);}
  .qa-geo-title{font-size:clamp(24px,3vw,34px);font-weight:800;color:var(--color-text-primary);text-align:center;margin-bottom:36px;font-family:var(--font-sans);line-height:1.3;}
  .qa-item{background:var(--color-bg);border:1px solid var(--color-divider);border-radius:14px;margin-bottom:12px;overflow:hidden;}
  .qa-item summary{cursor:pointer;padding:18px 22px;font-size:16px;font-weight:700;color:var(--color-text-primary);font-family:var(--font-sans);list-style:none;display:flex;align-items:center;gap:10px;}
  .qa-item summary::-webkit-details-marker{display:none;}
  .qa-item summary::before{content:"Q";flex-shrink:0;width:24px;height:24px;border-radius:7px;background:rgba(5,211,142,.12);color:var(--color-brand-pressed);font-size:13px;font-weight:800;display:flex;align-items:center;justify-content:center;}
  .qa-item[open] summary{border-bottom:1px solid var(--color-divider);}
  .qa-a{padding:16px 22px 20px 56px;font-size:15px;line-height:1.85;color:var(--color-text-secondary);}
  .qa-a b{color:var(--color-brand-pressed);font-weight:700;}
@keyframes qr-pop{from{opacity:0;transform:scale(0.88);}to{opacity:1;transform:scale(1);}}
