/* ============================================
   正易龙算法实验室 - 全局样式表 v8.0
   AI Agent · 数字人 · MCP · A2A · 技能包 · 虚拟工作室
   双边交易平台 · 支持在线支付
   ============================================ */

/* ===== CSS 变量 ===== */
:root {
  --color-primary: #1a237e;
  --color-primary-light: #3949ab;
  --color-accent: #2962ff;
  --color-cyan: #00b8d4;
  --color-pink: #ec4899;
  --color-green: #10b981;
  --color-gold: #f59e0b;
  --color-red: #ef4444;
  --color-purple: #7c3aed;
  --color-indigo: #6366f1;
  --color-teal: #14b8a6;
  --color-orange: #f97316;
  --color-bg: #f8f9fc;
  --color-card: #ffffff;
  --color-text: #1a1a2e;
  --color-text-mid: #4a4a68;
  --color-text-light: #6c757d;
  --color-border: #e0e3eb;
  --color-white: #ffffff;
  --gradient-primary: linear-gradient(135deg, #1a237e 0%, #2962ff 100%);
  --gradient-hero: linear-gradient(135deg, #0d1547 0%, #1a237e 40%, #2962ff 100%);
  --gradient-cyan: linear-gradient(135deg, #2962ff 0%, #00b8d4 100%);
  --gradient-pink: linear-gradient(135deg, #ec4899 0%, #f59e0b 100%);
  --gradient-green: linear-gradient(135deg, #10b981 0%, #14b8a6 100%);
  --gradient-gold: linear-gradient(135deg, #f59e0b 0%, #f97316 100%);
  --shadow-sm: 0 2px 8px rgba(26,35,126,0.06);
  --shadow-md: 0 4px 20px rgba(26,35,126,0.1);
  --shadow-lg: 0 8px 40px rgba(26,35,126,0.15);
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 20px;
  --container-width: 1200px;
  --nav-bar-height: 72px;
  --nav-cta-height: 52px;
  /* 内容顶距 = 主导航 + CTA 条（各页沿用 --nav-height） */
  --nav-height: calc(var(--nav-bar-height) + var(--nav-cta-height));
  --transition: all 0.3s cubic-bezier(0.4,0,0.2,1);
  --color-accent-dark: #16307a;
  --shadow-xl: 0 12px 50px rgba(26,35,126,0.18);
  color-scheme: light;
}

/* ===== 深色模式变量覆盖 ===== */
[data-theme="dark"]{
  color-scheme: dark;
  --color-bg: #0f1222;
  --color-card: #1a1e33;
  --color-text: #e8eaf6;
  --color-text-mid: #b0b4d0;
  --color-text-light: #8a8fb0;
  --color-border: #2a2f4a;
  --color-white: #1a1e33; /* 将“白卡”映射为深色表面，避免白块 */
  --shadow-sm: 0 2px 8px rgba(0,0,0,0.4);
  --shadow-md: 0 4px 20px rgba(0,0,0,0.5);
  --shadow-lg: 0 8px 40px rgba(0,0,0,0.6);
  --shadow-xl: 0 12px 50px rgba(0,0,0,0.6);
  --color-accent-dark: #3b56c4;
}

/* 深色模式针对性覆盖（少数硬编码浅色背景/文字） */
[data-theme="dark"] .navbar{background:rgba(15,18,34,0.92)}
[data-theme="dark"] .navbar.scrolled{background:rgba(15,18,34,0.98)}
[data-theme="dark"] .btn-primary{background:rgba(255,255,255,0.08);color:#fff;border:1px solid rgba(255,255,255,0.18)}
[data-theme="dark"] .btn-primary:hover{box-shadow:0 8px 30px rgba(0,0,0,0.4)}
[data-theme="dark"] .auth-modal{background:var(--color-card)}
[data-theme="dark"] .legal-content .warning-box{background:rgba(245,158,11,0.12);border-color:rgba(245,158,11,0.3)}
[data-theme="dark"] .legal-content .warning-box p{color:#fcd34d}
[data-theme="dark"] .table-scroll-wrap::after{color:#fff}
@media(max-width:1180px){
  [data-theme="dark"] .nav-menu.active{background:var(--color-card)}
  [data-theme="dark"] .nav-actions.active{background:var(--color-card)}
}

/* ===== Reset ===== */
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:"PingFang SC","Microsoft YaHei","Helvetica Neue",Arial,sans-serif;color:var(--color-text);background:var(--color-bg);line-height:1.7;overflow-x:hidden}
a{text-decoration:none;color:inherit;transition:var(--transition)}
ul{list-style:none}
img{max-width:100%;display:block}
button{font-family:inherit;cursor:pointer;border:none;outline:none}

/* 跳转到主要内容链接（无障碍） */
.skip-link{position:absolute;top:-100%;left:50%;transform:translateX(-50%);z-index:1001;background:var(--color-accent);color:#fff;padding:10px 20px;border-radius:var(--radius-sm);font-weight:600;box-shadow:var(--shadow-md);transition:top 0.2s ease}
.skip-link:focus{top:12px;outline:2px solid #fff;outline-offset:2px}

.container{max-width:var(--container-width);margin:0 auto;padding:0 24px}

/* ===== 导航栏 ===== */
.navbar{position:fixed;top:0;left:0;width:100%;height:var(--nav-bar-height);z-index:1000;display:flex;align-items:center;background:rgba(255,255,255,0.9);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);transition:var(--transition)}
.navbar.scrolled{height:60px;box-shadow:var(--shadow-md);background:rgba(255,255,255,0.97)}
.navbar .container{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-width:0}
/* 发布需求 / 登录 / 注册：导航下方居中一条 */
.nav-cta-bar{position:fixed;top:var(--nav-bar-height);left:0;width:100%;height:var(--nav-cta-height);z-index:999;display:flex;align-items:center;justify-content:center;gap:12px;padding:0 16px;background:rgba(248,249,252,0.96);border-bottom:1px solid var(--color-border);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-sizing:border-box;transition:top 0.3s cubic-bezier(0.4,0,0.2,1)}
.navbar.scrolled ~ .nav-cta-bar{top:60px}
[data-theme="dark"] .nav-cta-bar{background:rgba(15,18,34,0.96);border-bottom-color:var(--color-border)}
.nav-cta-bar .nav-btn,
.nav-cta-bar .nav-btn-demand{height:36px}
.nav-cta-bar .nav-user{display:none;align-items:center;gap:10px}
.nav-cta-bar .nav-user.active{display:inline-flex}
.nav-logo{display:flex;align-items:center;gap:10px;font-size:1.15rem;font-weight:700;color:var(--color-primary);flex-shrink:0}
.nav-logo .logo-icon{width:38px;height:38px;border-radius:10px;background:var(--gradient-primary);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.2rem;font-weight:800;flex-shrink:0}
.nav-logo .logo-text{display:flex;flex-direction:column;line-height:1.2}
.nav-logo .logo-text .zh{font-size:1.05rem;font-weight:700}
.nav-logo .logo-text .en{font-size:0.65rem;color:var(--color-text-light);font-weight:400;letter-spacing:0.5px}
.nav-menu{display:flex;align-items:center;gap:2px;flex:1 1 auto;min-width:0;justify-content:flex-end;flex-wrap:nowrap}
.nav-menu li{flex-shrink:0}
.nav-menu a{padding:6px 8px;font-size:0.84rem;font-weight:500;color:var(--color-text);border-radius:var(--radius-sm);position:relative;white-space:nowrap}
.nav-menu a:hover{color:var(--color-accent);background:rgba(41,98,255,0.06)}
.nav-menu a.active{color:var(--color-accent);font-weight:600}
.nav-menu a.active::after{content:'';position:absolute;bottom:-2px;left:50%;transform:translateX(-50%);width:20px;height:3px;border-radius:2px;background:var(--color-accent)}
.nav-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}
.nav-theme-toggle{width:36px;height:36px;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;background:var(--color-bg);color:var(--color-text);font-size:1.05rem;cursor:pointer;transition:var(--transition);border:1px solid var(--color-border);line-height:1;flex-shrink:0;padding:0}
.nav-theme-toggle:hover{background:rgba(41,98,255,0.08);color:var(--color-accent)}
.nav-cart{width:36px;height:36px;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;background:var(--color-bg);color:var(--color-text);font-size:1.05rem;cursor:pointer;transition:var(--transition);position:relative;flex-shrink:0;border:1px solid var(--color-border);padding:0;line-height:1}
.nav-cart:hover{background:rgba(41,98,255,0.08);color:var(--color-accent)}
.nav-cart .cart-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;border-radius:50%;background:var(--color-red);color:#fff;font-size:0.65rem;display:flex;align-items:center;justify-content:center;font-weight:700;padding:0 4px}
.nav-btn{display:inline-flex;align-items:center;justify-content:center;height:36px;padding:0 14px;border-radius:var(--radius-sm);font-size:0.84rem;font-weight:600;transition:var(--transition);white-space:nowrap;flex-shrink:0;line-height:1;box-sizing:border-box}
.nav-btn-login{background:transparent;color:var(--color-accent);border:1.5px solid var(--color-accent)}
.nav-btn-login:hover{background:rgba(41,98,255,0.06)}
.nav-btn-register{background:var(--gradient-primary);color:#fff;border:none}
.nav-btn-register:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}
.nav-btn-demand{display:inline-flex;align-items:center;justify-content:center;height:36px;background:var(--color-green);color:#fff;padding:0 12px;border-radius:var(--radius-sm);font-size:0.82rem;font-weight:600;white-space:nowrap;flex-shrink:0;line-height:1;box-sizing:border-box}
.nav-btn-demand:hover{background:#0ea271;transform:translateY(-1px)}
.nav-toggle{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:8px;z-index:1001;flex-shrink:0}
.nav-toggle span{width:22px;height:2px;background:var(--color-text);border-radius:2px;transition:var(--transition)}
.nav-toggle.active span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle.active span:nth-child(2){opacity:0}
.nav-toggle.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.nav-overlay{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.4);z-index:999}
.nav-overlay.active{display:block}

/* ===== Hero ===== */
.hero{position:relative;min-height:600px;display:flex;align-items:center;background:var(--gradient-hero);overflow:hidden;padding-top:var(--nav-height);padding-bottom:60px}
.hero::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background-image:radial-gradient(circle at 20% 50%,rgba(0,184,212,0.15) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(41,98,255,0.2) 0%,transparent 50%),radial-gradient(circle at 60% 80%,rgba(236,72,153,0.1) 0%,transparent 50%)}
.hero::after{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background-image:linear-gradient(rgba(255,255,255,0.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,0.03) 1px,transparent 1px);background-size:50px 50px}
.hero .container{position:relative;z-index:2}
.hero-content{max-width:720px;color:#fff}
.hero-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 16px;background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.2);border-radius:50px;font-size:0.82rem;color:rgba(255,255,255,0.9);margin-bottom:24px;backdrop-filter:blur(10px)}
.hero-badge .dot{width:8px;height:8px;border-radius:50%;background:var(--color-cyan);animation:pulse 2s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:0.5;transform:scale(1.2)}}
.hero h1{font-size:2.8rem;font-weight:800;line-height:1.25;margin-bottom:20px;letter-spacing:-1px}
.hero h1 .highlight{background:linear-gradient(135deg,#00b8d4 0%,#ec4899 50%,#00b8d4 100%);background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:gradientShift 4s linear infinite}
@keyframes gradientShift{0%{background-position:0% center}100%{background-position:200% center}}
.hero-subtitle{font-size:1.15rem;color:rgba(255,255,255,0.8);margin-bottom:32px;line-height:1.6;max-width:560px}
.hero-search{display:flex;gap:0;margin-bottom:32px;max-width:560px;background:rgba(255,255,255,0.12);border:1px solid rgba(255,255,255,0.2);border-radius:var(--radius-sm);backdrop-filter:blur(10px);overflow:hidden}
.hero-search input{flex:1;padding:14px 20px;background:transparent;border:none;color:#fff;font-size:0.95rem;outline:none}
.hero-search input::placeholder{color:rgba(255,255,255,0.5)}
.hero-search button{padding:0 28px;background:var(--color-accent);color:#fff;font-weight:600;font-size:0.9rem;white-space:nowrap}
.hero-search button:hover{background:#1e4fd6}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;gap:8px;padding:13px 28px;border-radius:var(--radius-sm);font-size:0.98rem;font-weight:600;cursor:pointer;transition:var(--transition);border:none;font-family:inherit}
.btn-primary{background:#fff;color:var(--color-primary)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 30px rgba(255,255,255,0.3)}
.btn-outline{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,0.4)}
.btn-outline:hover{background:rgba(255,255,255,0.1);border-color:rgba(255,255,255,0.8)}
.btn-accent{background:var(--gradient-primary);color:#fff}
.btn-accent:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
.btn-green{background:var(--color-green);color:#fff}
.btn-green:hover{background:#0ea271;transform:translateY(-2px)}
.btn-lg{padding:16px 36px;font-size:1.05rem}

/* ===== 通用区块 ===== */
.section{padding:80px 0}
.section[id],section[id]{scroll-margin-top:80px}
.section-header{text-align:center;margin-bottom:56px}
.section-tag{display:inline-block;padding:5px 14px;border-radius:50px;font-size:0.82rem;font-weight:600;margin-bottom:14px;letter-spacing:0.5px}
.section-title{font-size:2.2rem;font-weight:800;color:var(--color-text);margin-bottom:14px;letter-spacing:-0.5px}
.section-desc{font-size:1.05rem;color:var(--color-text-light);max-width:600px;margin:0 auto}

/* ===== 平台数据统计 ===== */
.stats{background:var(--color-white);padding:48px 0;border-bottom:1px solid var(--color-border)}
.stats-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:20px}
.stat-card{text-align:center;padding:24px 16px;border-radius:var(--radius-md);background:var(--color-bg);transition:var(--transition)}
.stat-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);background:var(--color-white);border-left:3px solid var(--color-accent)}
.stat-number{font-size:2.4rem;font-weight:800;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1;margin-bottom:6px}
.stat-number .suffix{font-size:1.2rem;-webkit-text-fill-color:var(--color-accent)}
.stat-label{font-size:0.9rem;color:var(--color-text-light);font-weight:500}

/* ===== 双边市场入口 ===== */
.market-entry{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.market-card{padding:40px 32px;border-radius:var(--radius-md);text-align:center;transition:var(--transition);cursor:pointer;position:relative;overflow:hidden}
.market-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.market-card.buy{background:linear-gradient(135deg,#2962ff 0%,#1a237e 100%);color:#fff}
.market-card.demand{background:linear-gradient(135deg,#10b981 0%,#14b8a6 100%);color:#fff}
.market-card.dev{background:linear-gradient(135deg,#7c3aed 0%,#6366f1 100%);color:#fff}
.market-card .icon{font-size:3rem;margin-bottom:16px}
.market-card h3{font-size:1.4rem;font-weight:700;margin-bottom:10px}
.market-card p{font-size:0.95rem;opacity:0.85;margin-bottom:20px}
.market-card .btn{background:rgba(255,255,255,0.15);color:#fff;border:1px solid rgba(255,255,255,0.3)}
.market-card .btn:hover{background:rgba(255,255,255,0.25)}

/* ===== 产品线入口 ===== */
.product-lines{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.product-line-card{padding:28px 16px;border-radius:var(--radius-md);background:var(--color-white);border:1px solid var(--color-border);text-align:center;transition:var(--transition);cursor:pointer}
.product-line-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.product-line-card .pl-icon{width:56px;height:56px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.8rem;margin:0 auto 14px}
.product-line-card h4{font-size:0.98rem;font-weight:600;margin-bottom:6px}
.product-line-card p{font-size:0.78rem;color:var(--color-text-light)}

/* ===== 产品卡片 ===== */
.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.product-grid.cols-2{grid-template-columns:repeat(2,1fr)}
.product-grid.cols-4{grid-template-columns:repeat(4,1fr)}
.product-card{background:var(--color-white);border-radius:var(--radius-md);border:1px solid var(--color-border);overflow:hidden;transition:var(--transition);display:flex;flex-direction:column;position:relative}
.product-card::after{content:'';position:absolute;top:0;left:0;width:100%;height:3px;background:var(--gradient-primary);transform:scaleX(0);transform-origin:left;transition:transform 0.4s cubic-bezier(0.4,0,0.2,1)}
.product-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:transparent}
.product-card:hover::after{transform:scaleX(1)}
.product-card .pc-header{padding:20px 20px 0;display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.product-card .pc-tags{display:flex;flex-wrap:wrap;gap:6px}
.tag{display:inline-flex;align-items:center;padding:3px 10px;border-radius:50px;font-size:0.72rem;font-weight:600;white-space:nowrap}
.tag-blue{background:rgba(41,98,255,0.1);color:var(--color-accent)}
.tag-purple{background:rgba(124,58,237,0.1);color:var(--color-purple)}
.tag-cyan{background:rgba(0,184,212,0.1);color:var(--color-cyan)}
.tag-pink{background:rgba(236,72,153,0.1);color:var(--color-pink)}
.tag-green{background:rgba(16,185,129,0.1);color:var(--color-green)}
.tag-gold{background:rgba(245,158,11,0.1);color:var(--color-gold)}
.tag-indigo{background:rgba(99,102,241,0.1);color:var(--color-indigo)}
.tag-teal{background:rgba(20,184,166,0.1);color:var(--color-teal)}
.tag-orange{background:rgba(249,115,22,0.1);color:var(--color-orange)}
.tag-red{background:rgba(239,68,68,0.1);color:var(--color-red)}
.tag-gray{background:var(--color-bg);color:var(--color-text-light)}
.tag-member{background:var(--gradient-gold);color:#fff}
.tag-third{background:var(--color-text);color:#fff}
.product-card .pc-body{padding:16px 20px;flex:1}
.product-card .pc-body h3{font-size:1.1rem;font-weight:700;margin-bottom:8px}
.product-card .pc-body p{font-size:0.88rem;color:var(--color-text-light);line-height:1.6;margin-bottom:12px}
.product-card .pc-features{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:0}
.product-card .pc-feature{font-size:0.75rem;color:var(--color-text-mid);background:var(--color-bg);padding:3px 8px;border-radius:4px}
.product-card .pc-footer{padding:16px 20px 20px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--color-border)}
.product-card .pc-price{display:flex;flex-direction:column}
.product-card .pc-price .price{font-size:1.3rem;font-weight:800;color:var(--color-red)}
.product-card .pc-price .price-unit{font-size:0.75rem;color:var(--color-text-light)}
.product-card .pc-price .price-member{font-size:0.78rem;color:var(--color-gold);font-weight:600}
.product-card .pc-buy{padding:8px 20px;border-radius:var(--radius-sm);font-size:0.88rem;font-weight:600;transition:var(--transition)}
.pc-buy.btn-blue{background:var(--color-accent);color:#fff}
.pc-buy.btn-blue:hover{background:#1e4fd6;transform:translateY(-1px)}
.pc-buy.btn-green{background:var(--color-green);color:#fff}
.pc-buy.btn-green:hover{background:#0ea271;transform:translateY(-1px)}
.pc-buy.btn-pink{background:var(--color-pink);color:#fff}
.pc-buy.btn-pink:hover{background:#db2777;transform:translateY(-1px)}
.pc-buy.btn-purple{background:var(--color-purple);color:#fff}
.pc-buy.btn-purple:hover{background:#6d28d9;transform:translateY(-1px)}
.pc-buy.btn-cyan{background:var(--color-cyan);color:#fff}
.pc-buy.btn-cyan:hover{background:#0098b3;transform:translateY(-1px)}
.pc-buy.btn-gold{background:var(--color-gold);color:#fff}
.pc-buy.btn-gold:hover{background:#d97706;transform:translateY(-1px)}
.pc-buy.btn-indigo{background:var(--color-indigo);color:#fff}
.pc-buy.btn-indigo:hover{background:#4f46e5;transform:translateY(-1px)}
.pc-buy.btn-teal{background:var(--color-teal);color:#fff}
.pc-buy.btn-teal:hover{background:#0d9488;transform:translateY(-1px)}
.pc-buy.btn-orange{background:var(--color-orange);color:#fff}
.pc-buy.btn-orange:hover{background:#ea580c;transform:translateY(-1px)}

/* ===== 需求卡片 ===== */
.demand-list{display:flex;flex-direction:column;gap:16px}
.demand-card{background:var(--color-white);border-radius:var(--radius-md);border:1px solid var(--color-border);overflow:hidden;transition:var(--transition)}
.demand-card:hover{box-shadow:var(--shadow-md);border-color:var(--color-accent);border-left:3px solid var(--color-accent)}
.demand-card .dc-top{display:flex;align-items:center;gap:10px;padding:14px 24px;border-bottom:1px solid var(--color-border);background:var(--color-bg)}
.demand-card .dc-body{padding:16px 24px}
.demand-card .dc-body h3{font-size:1.1rem;font-weight:700;margin-bottom:8px}
.demand-card .dc-body p{font-size:0.88rem;color:var(--color-text-light);line-height:1.6}
.demand-card .dc-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.demand-card .dc-footer{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;border-top:1px solid var(--color-border);background:var(--color-bg)}
.demand-card .dc-meta{display:flex;gap:24px;flex-wrap:wrap}
.demand-card .dc-meta span{font-size:0.85rem;color:var(--color-text-mid)}
.demand-card .dc-meta strong{color:var(--color-text);font-weight:600}
.demand-card .dc-meta .budget{color:var(--color-red);font-weight:700}
.demand-detail{display:none;padding:20px 24px;border-top:1px solid var(--color-border);background:var(--color-bg)}
.demand-detail.open{display:block}
.demand-detail .dd-section{margin-bottom:16px}
.demand-detail .dd-section:last-child{margin-bottom:0}
.demand-detail .dd-section h4{font-size:0.95rem;font-weight:700;margin-bottom:8px;color:var(--color-text)}
.demand-detail .dd-section p{font-size:0.88rem;color:var(--color-text-mid);line-height:1.6}
.demand-detail .dd-quote-form{display:flex;flex-direction:column;gap:10px}
.demand-detail .dd-quote-form input,.demand-detail .dd-quote-form textarea{width:100%;padding:10px 14px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:0.9rem;font-family:inherit;outline:none;transition:var(--transition)}
.demand-detail .dd-quote-form input:focus,.demand-detail .dd-quote-form textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px rgba(41,98,255,0.1)}
.demand-detail .dd-quote-form textarea{resize:vertical;min-height:60px}
.demand-detail .dd-quote-btn{align-self:flex-start;padding:8px 20px;font-size:0.88rem}
.highlight{animation:highlightPulse 1.5s ease}
@keyframes highlightPulse{0%,100%{box-shadow:none}50%{box-shadow:0 0 0 3px rgba(41,98,255,0.3)}}

/* ===== 开发者卡片 ===== */
.dev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.dev-card{background:var(--color-white);border-radius:var(--radius-md);border:1px solid var(--color-border);padding:28px;transition:var(--transition)}
.dev-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.dev-card .dc-head{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.dev-card .dc-avatar{width:56px;height:56px;border-radius:50%;background:var(--gradient-primary);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.3rem;font-weight:700;flex-shrink:0}
.dev-card .dc-name{font-size:1.1rem;font-weight:700;display:flex;align-items:center;gap:8px}
.dev-card .dc-verify{font-size:0.8rem;color:var(--color-accent)}
.dev-card .dc-skills{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}
.dev-card .dc-stats{display:flex;gap:20px;padding-top:16px;border-top:1px solid var(--color-border)}
.dev-card .dc-stat{text-align:center}
.dev-card .dc-stat .num{font-size:1.3rem;font-weight:800;color:var(--color-text)}
.dev-card .dc-stat .label{font-size:0.78rem;color:var(--color-text-light)}

/* ===== 趋势卡片 ===== */
.trend-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.trend-card{background:var(--color-white);border-radius:var(--radius-md);border:1px solid var(--color-border);padding:28px;transition:var(--transition)}
.trend-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.trend-card .tc-icon{width:52px;height:52px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.6rem;margin-bottom:16px}
.trend-card h4{font-size:1.05rem;font-weight:700;margin-bottom:8px}
.trend-card p{font-size:0.85rem;color:var(--color-text-light);line-height:1.6}
.trend-card .tc-data{margin-top:12px;font-size:0.8rem;color:var(--color-accent);font-weight:600}

/* ===== 会员卡片 ===== */
.member-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.member-card{background:var(--color-white);border-radius:var(--radius-md);border:1px solid var(--color-border);padding:36px;transition:var(--transition);position:relative}
.member-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.member-card.featured{border:2px solid var(--color-gold);position:relative;box-shadow:0 0 0 4px rgba(245,158,11,0.08),var(--shadow-md)}
.member-card.featured::before{content:'推荐';position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--gradient-gold);color:#fff;padding:4px 16px;border-radius:50px;font-size:0.78rem;font-weight:600}
.member-card .mc-name{font-size:1.3rem;font-weight:700;margin-bottom:8px}
.member-card .mc-price{margin:20px 0}
.member-card .mc-price .amount{font-size:2.4rem;font-weight:800;color:var(--color-text)}
.member-card .mc-price .period{font-size:0.95rem;color:var(--color-text-light)}
.member-card .mc-features li{padding:8px 0;font-size:0.9rem;color:var(--color-text-mid);display:flex;align-items:start;gap:8px}
.member-card .mc-features li::before{content:'✓';color:var(--color-green);font-weight:700;flex-shrink:0}
.member-card .mc-features li.disabled{color:var(--color-text-light);opacity:0.5}
.member-card .mc-features li.disabled::before{content:'✗';color:var(--color-text-light)}
.member-card .btn{width:100%;justify-content:center;margin-top:20px}

/* ===== 页面Banner ===== */
.page-banner{position:relative;padding:calc(var(--nav-height) + 48px) 0 48px;background:var(--gradient-hero);overflow:hidden}
.page-banner::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background-image:radial-gradient(circle at 30% 50%,rgba(0,184,212,0.1) 0%,transparent 50%),radial-gradient(circle at 70% 30%,rgba(236,72,153,0.08) 0%,transparent 50%)}
.page-banner::after{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background-image:linear-gradient(rgba(255,255,255,0.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,0.03) 1px,transparent 1px);background-size:40px 40px}
.page-banner .container{position:relative;z-index:2}
.page-banner h1{font-size:2.2rem;font-weight:800;color:#fff;margin-bottom:12px}
.page-banner p{font-size:1.05rem;color:rgba(255,255,255,0.75);max-width:600px}
.page-banner .banner-cta{margin-top:24px}
.banner-stats{display:flex;gap:32px;margin-top:24px;flex-wrap:wrap}
.banner-stat{color:rgba(255,255,255,0.9)}
.banner-stat .num{font-size:1.6rem;font-weight:800;color:#fff}
.banner-stat .label{font-size:0.82rem;color:rgba(255,255,255,0.6)}

/* ===== Tab导航 ===== */
.tab-nav{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:32px;border-bottom:1px solid var(--color-border);padding-bottom:0}
.tab-nav button{padding:10px 20px;font-size:0.92rem;font-weight:500;color:var(--color-text-light);border-radius:var(--radius-sm) var(--radius-sm) 0 0;border-bottom:2px solid transparent;transition:var(--transition);background:none}
.tab-nav button:hover{color:var(--color-accent)}
.tab-nav button.active{color:var(--color-accent);border-bottom-color:var(--color-accent);font-weight:600;position:relative}
.tab-nav button.active::after{content:'';position:absolute;bottom:-1px;left:0;width:100%;height:2px;background:var(--color-accent);border-radius:1px;animation:tabSlide 0.3s ease}
@keyframes tabSlide{from{transform:scaleX(0)}to{transform:scaleX(1)}}

/* ===== 流程步骤 ===== */
.process-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;counter-reset:step}
.process-steps.cols-6{grid-template-columns:repeat(6,1fr)}
.process-step{text-align:center;position:relative;transition:var(--transition);padding:12px;border-radius:var(--radius-md)}
.process-step .ps-num{width:56px;height:56px;border-radius:50%;background:var(--gradient-primary);color:#fff;font-size:1.4rem;font-weight:800;display:flex;align-items:center;justify-content:center;margin:0 auto 16px}
.process-step .ps-icon{font-size:2rem;margin-bottom:12px}
.process-step h4{font-size:1rem;font-weight:600;margin-bottom:6px}
.process-step p{font-size:0.85rem;color:var(--color-text-light)}

/* ===== 对比表格 ===== */
.compare-table{width:100%;border-collapse:collapse;background:var(--color-white);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm)}
.compare-table th,.compare-table td{padding:16px 20px;text-align:center;border-bottom:1px solid var(--color-border)}
.compare-table th{background:var(--color-primary);color:#fff;font-weight:600;font-size:0.95rem}
.compare-table th:first-child{text-align:left}
.compare-table td:first-child{text-align:left;font-weight:500;color:var(--color-text)}
.compare-table td{font-size:0.9rem;color:var(--color-text-mid)}
.compare-table tr:hover td{background:var(--color-bg)}
.compare-table .check{color:var(--color-green);font-weight:700}
.compare-table .cross{color:var(--color-text-light)}

/* 可横向滚动表格容器 */
.table-scroll-wrap{position:relative;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}
.table-scroll-wrap::after{content:'➡️ 左右滑动查看';position:absolute;right:12px;top:12px;font-size:0.75rem;color:var(--color-white);background:rgba(0,0,0,0.35);padding:4px 10px;border-radius:50px;pointer-events:none;opacity:1;transition:opacity 0.3s;z-index:10}
.table-scroll-wrap.scrolled::after{opacity:0}
.table-scroll-wrap .compare-table{min-width:640px}

/* ===== 技术亮点卡片 ===== */
.tech-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.tech-card{background:var(--color-white);border-radius:var(--radius-md);border:1px solid var(--color-border);padding:32px;transition:var(--transition)}
.tech-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.tech-card .tc-icon{width:56px;height:56px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.8rem;margin-bottom:18px}
.tech-card h4{font-size:1.15rem;font-weight:700;margin-bottom:10px}
.tech-card p{font-size:0.9rem;color:var(--color-text-light);line-height:1.6}

/* ===== 案例卡片 ===== */
.case-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.case-card{background:var(--color-white);border-radius:var(--radius-md);border:1px solid var(--color-border);padding:28px;transition:var(--transition)}
.case-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.case-card .cc-icon{font-size:2.2rem;margin-bottom:14px}
.case-card h4{font-size:1.05rem;font-weight:700;margin-bottom:10px}
.case-card .cc-data{display:flex;flex-direction:column;gap:6px;margin-top:14px}
.case-card .cc-data .metric{font-size:0.85rem;color:var(--color-text-mid)}
.case-card .cc-data .metric strong{color:var(--color-green);font-weight:700}
.case-card .cc-data .metric.down strong{color:var(--color-red)}

/* ===== 协议架构图 ===== */
.arch-flow{display:flex;align-items:center;justify-content:center;gap:0;flex-wrap:wrap;margin:40px 0}
.arch-node{background:var(--color-white);border:2px solid var(--color-accent);border-radius:var(--radius-md);padding:20px 28px;text-align:center;min-width:180px;box-shadow:var(--shadow-sm)}
.arch-node .an-icon{font-size:1.8rem;margin-bottom:8px}
.arch-node .an-title{font-size:0.95rem;font-weight:600;margin-bottom:4px}
.arch-node .an-desc{font-size:0.78rem;color:var(--color-text-light)}
.arch-arrow{font-size:1.5rem;color:var(--color-accent);padding:0 16px}

/* ===== 支付协议卡片 ===== */
.protocol-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.protocol-card{background:var(--color-white);border-radius:var(--radius-md);border:1px solid var(--color-border);padding:24px;transition:var(--transition)}
.protocol-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.protocol-card .pc-org{font-size:0.82rem;font-weight:600;margin-bottom:8px}
.protocol-card h4{font-size:1rem;font-weight:700;margin-bottom:8px}
.protocol-card p{font-size:0.83rem;color:var(--color-text-light);line-height:1.5}

/* ===== 合规页面 ===== */
.legal-content{max-width:860px;margin:0 auto}
.legal-content h2{font-size:1.4rem;font-weight:700;margin:32px 0 14px;color:var(--color-primary);padding-bottom:8px;border-bottom:2px solid var(--color-border)}
.legal-content h2:first-child{margin-top:0}
.legal-content h3{font-size:1.1rem;font-weight:600;margin:24px 0 10px;color:var(--color-text)}
.legal-content p{font-size:0.95rem;color:var(--color-text-mid);line-height:1.85;margin-bottom:12px}
.legal-content ul{margin:10px 0 16px 20px}
.legal-content ul li{font-size:0.92rem;color:var(--color-text-mid);line-height:1.8;padding:3px 0}
.legal-content .warning-box{background:#fff7ed;border:1px solid #fed7aa;border-left:4px solid var(--color-gold);border-radius:var(--radius-sm);padding:16px 20px;margin:16px 0}
.legal-content .warning-box p{color:#92400e;margin:0}
.legal-content table{width:100%;border-collapse:collapse;margin:16px 0}
.legal-content table th,.legal-content table td{padding:10px 14px;border:1px solid var(--color-border);font-size:0.9rem;text-align:left}
.legal-content table th{background:var(--color-bg);font-weight:600}

/* ===== 关于我们 ===== */
.about-hero{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.about-hero h2{font-size:2rem;font-weight:800;margin-bottom:16px}
.about-hero p{font-size:1rem;color:var(--color-text-mid);line-height:1.8;margin-bottom:16px}
.timeline{display:flex;flex-direction:column;gap:0}
.timeline-item{display:flex;gap:24px;padding-bottom:32px;position:relative}
.timeline-item::before{content:'';position:absolute;left:15px;top:40px;bottom:0;width:2px;background:var(--color-border)}
.timeline-item:last-child::before{display:none}
.timeline-item .ti-dot{width:32px;height:32px;border-radius:50%;background:var(--gradient-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:0.82rem;font-weight:700;flex-shrink:0;z-index:1}
.timeline-item .ti-content h4{font-size:1.1rem;font-weight:600;margin-bottom:6px}
.timeline-item .ti-content p{font-size:0.9rem;color:var(--color-text-light)}
.value-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.value-card{text-align:center;padding:28px 20px;transition:var(--transition)}
.value-card .vc-icon{font-size:2.2rem;margin-bottom:12px}
.value-card h4{font-size:1rem;font-weight:600;margin-bottom:6px}
.value-card p{font-size:0.85rem;color:var(--color-text-light)}

/* ===== 联系页面 ===== */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px}
.contact-info-item{display:flex;gap:16px;padding:20px 0;border-bottom:1px solid var(--color-border)}
.contact-info-item .ci-icon{width:48px;height:48px;border-radius:12px;background:var(--color-bg);display:flex;align-items:center;justify-content:center;font-size:1.4rem;flex-shrink:0}
.contact-info-item .ci-content h4{font-size:1rem;font-weight:600;margin-bottom:4px}
.contact-info-item .ci-content p{font-size:0.92rem;color:var(--color-text-mid)}
.contact-form{background:var(--color-white);border-radius:var(--radius-md);border:1px solid var(--color-border);padding:32px}
.form-group{margin-bottom:20px}
.form-group label{display:block;font-size:0.9rem;font-weight:600;margin-bottom:8px;color:var(--color-text)}
.form-group input,.form-group textarea,.form-group select{width:100%;padding:12px 16px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:0.92rem;font-family:inherit;outline:none;transition:var(--transition)}
.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px rgba(41,98,255,0.1)}
.form-group textarea{resize:vertical;min-height:120px}
.form-group input:invalid:not(:placeholder-shown),.form-group textarea:invalid:not(:placeholder-shown){border-color:var(--color-red);background:rgba(239,68,68,0.04)}
.form-group input:valid:not(:placeholder-shown),.form-group textarea:valid:not(:placeholder-shown),.form-group select:valid{border-color:var(--color-green)}
.form-group .error-msg{display:none;font-size:0.8rem;color:var(--color-red);margin-top:6px}
form.was-validated .form-group input:invalid ~ .error-msg,form.was-validated .form-group textarea:invalid ~ .error-msg,form.was-validated .form-group select:invalid ~ .error-msg{display:block}
form.was-validated .form-group input:invalid,form.was-validated .form-group textarea:invalid,form.was-validated .form-group select:invalid{border-color:var(--color-red);background:rgba(239,68,68,0.04)}
.btn.is-loading{position:relative;color:transparent !important;pointer-events:none}
.btn.is-loading::after{content:'';position:absolute;width:18px;height:18px;border:2px solid rgba(255,255,255,0.3);border-top-color:#fff;border-radius:50%;animation:spin 0.8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}

/* ===== CTA区域 ===== */
.cta-section{background:var(--gradient-primary);padding:64px 0;text-align:center;position:relative;overflow:hidden}
.cta-section::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at 30% 50%,rgba(0,184,212,0.15) 0%,transparent 50%),radial-gradient(circle at 70% 50%,rgba(236,72,153,0.1) 0%,transparent 50%);animation:ctaPulse 6s ease-in-out infinite}
@keyframes ctaPulse{0%,100%{opacity:0.6}50%{opacity:1}}
.cta-section h2{font-size:2rem;font-weight:800;color:#fff;margin-bottom:14px}
.cta-section p{font-size:1.05rem;color:rgba(255,255,255,0.8);margin-bottom:28px}
.cta-section .btn{background:#fff;color:var(--color-primary)}
.cta-section .btn:hover{transform:translateY(-2px);box-shadow:0 8px 30px rgba(0,0,0,0.2)}
.cta-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.cta-actions .btn-outline{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,0.4)}
.cta-actions .btn-outline:hover{background:rgba(255,255,255,0.1)}

/* ===== 页脚 ===== */
.footer{background:var(--color-primary);color:rgba(255,255,255,0.7);padding:56px 0 0}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px;padding-bottom:40px}
.footer-brand .nav-logo{color:#fff;margin-bottom:16px}
.footer-brand p{font-size:0.88rem;line-height:1.7;margin-bottom:16px}
.footer-brand .footer-contact{font-size:0.85rem;line-height:2}
.footer-brand .footer-contact div{display:flex;align-items:center;gap:8px}
.footer-col h4{font-size:1rem;font-weight:600;color:#fff;margin-bottom:16px}
.footer-col ul li{margin-bottom:10px}
.footer-col ul li a{font-size:0.88rem;color:rgba(255,255,255,0.6);transition:var(--transition)}
.footer-col ul li a:hover{color:#fff}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.1);padding:20px 0;padding-bottom:calc(20px + env(safe-area-inset-bottom, 0));text-align:center}
.footer-bottom p{font-size:0.82rem;color:rgba(255,255,255,0.5);line-height:1.8}
.footer-bottom a{color:rgba(255,255,255,0.6)}
.footer-bottom a:hover{color:#fff}
.footer-warning{background:rgba(245,158,11,0.1);border:1px solid rgba(245,158,11,0.3);border-radius:var(--radius-sm);padding:10px 16px;margin:12px 0;text-align:center}
.footer-warning p{font-size:0.8rem;color:rgba(245,158,11,0.9);margin:0}

/* ===== 返回顶部 ===== */
.back-to-top{position:fixed;bottom:32px;right:32px;bottom:calc(32px + env(safe-area-inset-bottom, 0));width:48px;height:48px;border-radius:50%;background:var(--gradient-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.3rem;cursor:pointer;opacity:0;visibility:hidden;transition:var(--transition);z-index:900;box-shadow:var(--shadow-md)}
.back-to-top.visible{opacity:1;visibility:visible}

/* ===== 移动端兼容 (iOS Safari / Android Chrome / 微信 webview) ===== */
/* 1. iOS 输入框 ≤ 16px 会自动放大（缩放聚焦）—— 统一输入框字号 ≥ 16px */
@media (max-width:768px) {
  input[type="text"], input[type="email"], input[type="tel"], input[type="password"],
  input[type="number"], input[type="search"], textarea, select {
    font-size: 16px !important;
  }
}
/* 2. 移动端按钮 tap target ≥ 44px（Apple HIG / Material） */
@media (max-width:768px) {
  /* nav 主区 */
  .nav-menu a, .nav-btn, .nav-toggle, .footer-col ul li a,
  /* 商品按钮 */
  button, .btn, .pc-buy, .pc-qty button, .pbc-qty button,
  /* 列表过滤 tab */
  .tab-nav button,
  /* 表单操作 */
  input[type="submit"], input[type="button"], .form-actions button {
    min-height: 44px !important;
    min-width: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  /* 数量 +/- 按钮：保持 36px 宽×44px 高（更易点） */
  .pc-qty button, .pbc-qty button { min-width: 36px !important; }
}
/* 3. iOS Safari 100vh 不算 URL 栏底部 —— 全站改用 dvh（dynamic viewport height） */
@supports (height: 100dvh) {
  .hero, .banner, [style*="100vh"] { height: 100dvh; }
}
/* 4. 防止 iOS Safari 橡皮筋效果影响主内容 */
body { overscroll-behavior-y: contain; }
.back-to-top:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}

/* ===== 模态弹窗 ===== */
.modal-overlay{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.5);z-index:2000;align-items:center;justify-content:center;backdrop-filter:blur(4px)}
.modal-overlay.active{display:flex;animation:fadeIn 0.2s ease}
.modal{background:var(--color-white);border-radius:var(--radius-md);padding:40px;max-width:420px;width:90%;box-shadow:var(--shadow-lg);animation:slideUp 0.3s cubic-bezier(0.4,0,0.2,1)}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes slideUp{from{opacity:0;transform:translateY(20px) scale(0.96)}to{opacity:1;transform:translateY(0) scale(1)}}
.modal h3{font-size:1.3rem;font-weight:700;margin-bottom:20px;text-align:center}
.modal p{font-size:0.92rem;color:var(--color-text-light);text-align:center;margin-bottom:24px}
.modal .btn{width:100%;justify-content:center;margin-bottom:10px}
.modal .modal-close{font-size:0.88rem;color:var(--color-text-light);text-align:center;cursor:pointer}
.modal .modal-close:hover{color:var(--color-accent)}

/* ===== 全站搜索弹窗（导航 🔍 / Cmd·Ctrl+K） ===== */
.nav-search-btn{width:36px;height:36px;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;background:var(--color-bg);color:var(--color-text);font-size:1rem;cursor:pointer;transition:var(--transition);border:1px solid var(--color-border);line-height:1;padding:0;flex-shrink:0}
.nav-search-btn:hover{background:rgba(41,98,255,0.08);color:var(--color-accent);border-color:rgba(41,98,255,0.35)}
.search-modal-overlay{display:none;position:fixed;inset:0;z-index:2100;align-items:flex-start;justify-content:center;padding:14vh 16px 24px;background:rgba(15,18,34,0.45);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.search-modal-overlay.active{display:flex;animation:fadeIn 0.18s ease}
.search-modal{width:100%;max-width:560px;animation:slideUp 0.22s cubic-bezier(0.4,0,0.2,1)}
.search-modal-box{display:flex;align-items:center;gap:10px;background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-xl);padding:12px 14px}
.search-modal-icon{flex-shrink:0;font-size:1.1rem;line-height:1;opacity:0.85}
.search-modal-input{flex:1;min-width:0;border:none;outline:none;background:transparent;color:var(--color-text);font-size:1rem;line-height:1.4;padding:6px 0}
.search-modal-input::placeholder{color:var(--color-text-light)}
.search-modal-close{flex-shrink:0;width:32px;height:32px;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;background:transparent;color:var(--color-text-light);font-size:1rem;line-height:1;cursor:pointer;transition:var(--transition)}
.search-modal-close:hover{background:var(--color-bg);color:var(--color-text)}
.search-modal-hint{margin-top:10px;text-align:center;font-size:0.8rem;color:rgba(255,255,255,0.78);text-shadow:0 1px 2px rgba(0,0,0,0.25)}
[data-theme="dark"] .search-modal-box{background:var(--color-card);border-color:var(--color-border)}
[data-theme="dark"] .nav-search-btn:hover{background:rgba(41,98,255,0.16)}

/* ===== 滚动揭示动画 ===== */
.reveal{opacity:1;transform:translateY(0)}
.reveal.visible-animated{animation:revealLift 0.5s cubic-bezier(0.4,0,0.2,1) forwards}
@keyframes revealLift{from{transform:translateY(16px);opacity:0.85}to{transform:translateY(0);opacity:1}}

/* ===== 通用工具类 ===== */
.text-center{text-align:center}
.mt-32{margin-top:32px}
.mt-48{margin-top:48px}
.mb-32{margin-bottom:32px}
.bg-white{background:var(--color-white)}
.bg-light{background:var(--color-bg)}
.section-sm{padding:48px 0}

/* ===== 响应式 ===== */
@media(max-width:1200px){
  .stats-grid{grid-template-columns:repeat(3,1fr)}
  .product-lines{grid-template-columns:repeat(5,1fr)}
  .trend-grid{grid-template-columns:repeat(4,1fr)}
  .case-grid{grid-template-columns:repeat(2,1fr)}
  .protocol-grid{grid-template-columns:repeat(2,1fr)}
  .nav-menu a{padding:6px 6px;font-size:0.8rem}
  .nav-btn{padding:0 10px;font-size:0.8rem}
  .nav-btn-demand{padding:0 10px;font-size:0.78rem}
  .nav-logo .logo-text .zh{font-size:0.95rem}
}

/* 导航项过多时：≤1180 提前收起到汉堡菜单，避免按钮被压成竖排文字 */
@media(max-width:1180px){
  .nav-menu,.nav-actions{display:none}
  .nav-menu.active{display:flex;position:fixed;top:0;right:0;width:280px;height:100vh;height:100dvh;background:#fff;flex-direction:column;padding:80px 24px 180px;gap:0;align-items:stretch;z-index:1000;box-shadow:var(--shadow-lg);overflow-y:auto}
  .nav-menu.active a{padding:14px 16px;border-bottom:1px solid var(--color-border);font-size:1rem}
  .nav-actions.active{display:flex;position:fixed;bottom:0;right:0;width:280px;background:#fff;flex-direction:column;padding:20px 24px;gap:10px;z-index:1001;border-top:1px solid var(--color-border);box-shadow:0 -4px 12px rgba(0,0,0,0.06)}
  .nav-actions.active .nav-search-btn,
  .nav-actions.active .nav-theme-toggle,
  .nav-actions.active .nav-cart{width:100%;height:44px}
  .nav-toggle{display:flex}
  .nav-cta-bar{gap:8px}
  .nav-cta-bar .nav-btn{padding:0 12px;font-size:0.8rem}
  .nav-cta-bar .nav-btn-demand{padding:0 10px;font-size:0.78rem}
}

@media(max-width:768px){
  html{font-size:15px;scroll-behavior:smooth}
  .hero h1{font-size:2rem}
  .hero-subtitle{font-size:1rem}
  .hero-search{flex-direction:column;border-radius:var(--radius-md)}
  .hero-search button{padding:14px}
  .stats-grid{grid-template-columns:repeat(2,1fr)}
  .market-entry{grid-template-columns:1fr}
  .product-lines{grid-template-columns:repeat(2,1fr)}
  .product-grid,.product-grid.cols-2,.product-grid.cols-4{grid-template-columns:1fr}
  .dev-grid{grid-template-columns:1fr}
  .trend-grid{grid-template-columns:1fr}
  .member-grid{grid-template-columns:1fr}
  .case-grid{grid-template-columns:1fr}
  .protocol-grid{grid-template-columns:1fr}
  .tech-grid{grid-template-columns:1fr}
  .process-steps,.process-steps.cols-6{grid-template-columns:1fr 1fr}
  .contact-grid{grid-template-columns:1fr}
  .about-hero{grid-template-columns:1fr}
  .value-grid{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
  .section{padding:48px 0}
  .section-title{font-size:1.6rem}
  .hero{min-height:auto;padding-top:calc(var(--nav-height) + 20px)}
  .hero h1{font-size:1.8rem}
  .form-row{grid-template-columns:1fr}
  .arch-flow{flex-direction:column}
  .arch-arrow{transform:rotate(90deg);padding:8px 0}
  .demand-card .dc-meta{gap:12px}
  .demand-card .dc-footer{flex-direction:column;gap:12px;align-items:stretch}
  .compare-table th,.compare-table td{padding:12px 14px;font-size:0.85rem}
  .compare-table th:first-child,.compare-table td:first-child{position:sticky;left:0;z-index:2;background:var(--color-white);box-shadow:2px 0 8px rgba(0,0,0,0.06);min-width:110px}
  .compare-table th:first-child{background:var(--color-primary);color:#fff}
  .compare-table tr:hover td:first-child{background:var(--color-bg)}
}

@media(max-width:480px){
  .stats-grid{grid-template-columns:1fr}
  .product-lines{grid-template-columns:1fr}
  .process-steps,.process-steps.cols-6{grid-template-columns:1fr}
  .value-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .hero h1{font-size:1.6rem}
  .section-title{font-size:1.4rem}
}

/* ===== 无障碍：尊重用户动画偏好 ===== */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important}
  .reveal{opacity:1 !important;transform:none !important;animation:none !important}
}

/* ===== 选中文本样式 ===== */
::selection{background:rgba(41,98,255,0.2);color:var(--color-primary)}

/* ===== 滚动条美化 ===== */
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:var(--color-bg)}
::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:5px;border:2px solid var(--color-bg)}

/* ===== 无障碍：焦点样式 ===== */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-sm)}
.nav-menu a:focus-visible,.nav-actions button:focus-visible{outline-offset:-2px}
.skip-link:focus-visible{outline:2px solid #fff;outline-offset:2px}

/* ===== 微交互增强 ===== */
.tech-card:hover{transform:translateY(-6px) scale(1.01)}
.value-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.process-step:hover{transform:translateY(-4px);box-shadow:var(--shadow-sm)}
.market-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
::-webkit-scrollbar-thumb:hover{background:var(--color-text-light)}

/* ===== 用户认证弹窗 ===== */
.auth-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.5);backdrop-filter:blur(4px);z-index:2000;align-items:center;justify-content:center;padding:20px}
.auth-overlay.active{display:flex;animation:fadeIn 0.2s ease}
.auth-modal{background:#fff;border-radius:var(--radius-lg);width:100%;max-width:420px;box-shadow:var(--shadow-xl);overflow:hidden;animation:authSlideIn 0.3s cubic-bezier(0.4,0,0.2,1)}
@keyframes authSlideIn{from{transform:translateY(24px) scale(0.96);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}
.auth-header{text-align:center;padding:32px 32px 0}
.auth-header h3{font-size:1.4rem;font-weight:700;margin-bottom:6px}
.auth-header p{font-size:0.85rem;color:var(--color-text-light)}
.auth-tabs{display:flex;border-bottom:1px solid var(--color-border);margin:24px 32px 0;gap:0}
.auth-tab{flex:1;padding:10px 0;text-align:center;font-size:0.95rem;font-weight:600;color:var(--color-text-light);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:all 0.2s}
.auth-tab.active{color:var(--color-accent);border-bottom-color:var(--color-accent)}
.auth-tab:hover:not(.active){color:var(--color-text)}
.auth-body{padding:24px 32px 32px}
.auth-form{display:none}
.auth-form.active{display:block}
.auth-field{margin-bottom:16px}
.auth-field label{display:block;font-size:0.85rem;font-weight:600;margin-bottom:6px;color:var(--color-text)}
.auth-field input{width:100%;padding:11px 14px;border:1.5px solid var(--color-border);border-radius:var(--radius-sm);font-size:0.95rem;transition:border-color 0.2s,box-shadow 0.2s}
.auth-field input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px rgba(99,102,241,0.12);outline:none}
.auth-field input:invalid:not(:placeholder-shown){border-color:var(--color-red)}
.auth-error{display:none;background:rgba(239,68,68,0.08);color:var(--color-red);font-size:0.82rem;padding:8px 12px;border-radius:var(--radius-sm);margin-bottom:14px}
.auth-error.show{display:block}
.auth-success{display:none;background:rgba(34,197,94,0.08);color:var(--color-green);font-size:0.82rem;padding:8px 12px;border-radius:var(--radius-sm);margin-bottom:14px}
.auth-success.show{display:block}
.auth-submit{width:100%;padding:13px;font-size:1rem;font-weight:600;justify-content:center;margin-top:4px}
.auth-divider{text-align:center;font-size:0.8rem;color:var(--color-text-light);margin:18px 0;position:relative}
.auth-divider::before,.auth-divider::after{content:'';position:absolute;top:50%;width:38%;height:1px;background:var(--color-border)}
.auth-divider::before{left:0}.auth-divider::after{right:0}
.auth-toggle{text-align:center;font-size:0.85rem;color:var(--color-text-light);margin-top:16px}
.auth-toggle a{color:var(--color-accent);font-weight:600;cursor:pointer;text-decoration:none}
.auth-toggle a:hover{text-decoration:underline}
.auth-demo-hint{font-size:0.78rem;color:var(--color-text-light);text-align:center;margin-top:14px;padding:8px;background:var(--color-bg);border-radius:var(--radius-sm)}
.auth-forgot-link{display:block;text-align:right;font-size:0.82rem;color:var(--color-accent);text-decoration:none;margin-top:10px;cursor:pointer}
.auth-forgot-link:hover{text-decoration:underline}
.auth-back-link{display:block;text-align:center;font-size:0.82rem;color:var(--color-text-light);text-decoration:none;margin-top:14px;cursor:pointer}
.auth-back-link:hover{color:var(--color-accent);text-decoration:underline}

/* ===== 已登录导航栏状态 ===== */
.nav-user{display:none;align-items:center;gap:10px}
.nav-user.active{display:flex}
.nav-user-link{display:flex;align-items:center;gap:8px;text-decoration:none;color:inherit}
.nav-user-name{font-size:0.88rem;font-weight:600;color:var(--color-text);max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nav-user-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--color-accent),var(--color-accent-dark));color:#fff;display:flex;align-items:center;justify-content:center;font-size:0.85rem;font-weight:700;flex-shrink:0}
.nav-logout{font-size:0.82rem;color:var(--color-text-light);background:none;border:1px solid var(--color-border);padding:5px 12px;border-radius:var(--radius-sm);cursor:pointer;transition:all 0.2s}
.nav-logout:hover{color:var(--color-red);border-color:var(--color-red)}

/* 购物车图标（保留上方尺寸，仅补链接态） */
.nav-cart{text-decoration:none}
.nav-cart-icon{font-size:1.15rem;line-height:1}
.cart-badge{position:absolute;top:-4px;right:-4px;background:var(--color-red);color:#fff;font-size:0.65rem;font-weight:700;min-width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 4px}

/* 购买选项弹窗 */
.buy-options-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.5);z-index:10000;display:flex;align-items:center;justify-content:center;animation:fadeIn 0.2s}
.buy-options-modal{background:var(--color-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:460px;width:90%;overflow:hidden;animation:slideUp 0.25s}
.buy-options-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--color-border)}
.buy-options-header h3{font-size:1.1rem;font-weight:700;margin:0}
.buy-options-close{background:none;border:none;font-size:1.5rem;color:var(--color-text-light);cursor:pointer;padding:0;line-height:1}
.buy-options-body{padding:24px}
.buy-options-price{font-size:1.8rem;font-weight:800;color:var(--color-red);margin-bottom:8px}
.buy-options-price .member-tag{font-size:0.75rem;font-weight:600;color:var(--color-gold);background:rgba(245,158,11,0.1);padding:2px 8px;border-radius:var(--radius-sm);margin-left:8px;vertical-align:middle}
.buy-options-desc{font-size:0.9rem;color:var(--color-text-mid);line-height:1.6;margin-bottom:20px}
.buy-options-actions{display:flex;gap:12px}
.buy-options-actions .btn{flex:1;padding:12px;font-size:0.95rem}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes slideUp{from{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}

@media(max-width:768px){
  .nav-user{padding:14px 16px;border-bottom:1px solid var(--color-border)}
  .nav-user.active{display:flex}
}
/* ===== 骨架屏工具类（全站统一） ===== */
.skeleton{position:relative;overflow:hidden;background:var(--color-border);border-radius:6px;color:transparent!important;pointer-events:none}
.skeleton::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.45),transparent);animation:skeleton-shine 1.4s infinite}
[data-theme="dark"] .skeleton::after{background:linear-gradient(90deg,transparent,rgba(255,255,255,0.08),transparent)}
@keyframes skeleton-shine{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}
.skeleton-text{height:14px;margin:6px 0}
.skeleton-title{height:22px;width:60%;margin:8px 0}
.skeleton-card{height:120px;border-radius:var(--radius-md)}

/* ===================== 全站搜索结果页 ===================== */
.search-page{padding:110px 24px 64px;min-height:70vh}
.search-hero{text-align:center;margin-bottom:32px}
.search-hero h1{font-size:2rem;color:var(--color-text);margin-bottom:8px}
.search-sub{color:var(--color-text-light);margin-bottom:20px}
.search-bar{display:flex;align-items:center;gap:10px;max-width:640px;margin:0 auto;background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:6px 6px 6px 16px;box-shadow:0 2px 12px rgba(26,35,126,0.06)}
.search-bar-icon{opacity:0.7}
.search-bar-input{flex:1;min-width:0;border:none;outline:none;background:transparent;font-size:1rem;color:var(--color-text);padding:10px 0}
.search-bar-btn{white-space:nowrap}
.search-status{margin-top:14px;color:var(--color-text-mid);font-size:0.95rem}
.search-group{margin-bottom:36px}
.search-group-title{font-size:1.15rem;color:var(--color-text);margin-bottom:14px;padding-left:10px;border-left:3px solid var(--color-accent)}
.search-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.search-card{display:flex;flex-direction:column;gap:8px;background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:18px;transition:var(--transition);position:relative}
.search-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(26,35,126,0.10);border-color:rgba(41,98,255,0.35)}
.search-card-title{font-weight:600;color:var(--color-text)}
.search-card-snippet{font-size:0.88rem;color:var(--color-text-light);line-height:1.6;flex:1}
.search-card mark{background:rgba(41,98,255,0.14);color:var(--color-accent);padding:0 2px;border-radius:3px}
.search-card-kind{align-self:flex-start;font-size:0.75rem;color:var(--color-accent);background:rgba(41,98,255,0.08);padding:2px 10px;border-radius:999px}
.search-empty,.search-loading{text-align:center;color:var(--color-text-light);padding:48px 16px;background:var(--color-card);border:1px dashed var(--color-border);border-radius:var(--radius-md)}

/* ===================== 资讯中心 ===================== */
.news-page{padding:110px 24px 64px;min-height:70vh;max-width:860px}
.news-hero{text-align:center;margin-bottom:32px}
.news-hero h1{font-size:2rem;color:var(--color-text);margin-bottom:8px}
.news-sub{color:var(--color-text-light)}
.news-list{display:flex;flex-direction:column;gap:16px}
.news-card{display:block;background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:22px 24px;transition:var(--transition)}
.news-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(26,35,126,0.10);border-color:rgba(41,98,255,0.35)}
.news-card-top{display:flex;align-items:center;gap:12px;margin-bottom:8px}
.news-card-cat{font-size:0.75rem;color:var(--color-accent);background:rgba(41,98,255,0.08);padding:2px 10px;border-radius:999px}
.news-card-date{font-size:0.82rem;color:var(--color-text-light)}
.news-card-title{font-size:1.15rem;color:var(--color-text);margin-bottom:6px}
.news-card-summary{font-size:0.9rem;color:var(--color-text-mid);line-height:1.7;margin:0}
.news-empty,.news-loading{text-align:center;color:var(--color-text-light);padding:48px 16px;background:var(--color-card);border:1px dashed var(--color-border);border-radius:var(--radius-md)}
.news-pager{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:28px}
.news-pager-btn{padding:8px 18px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-card);color:var(--color-text)}
.news-pager-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}
.news-pager-info{color:var(--color-text-light);font-size:0.9rem}
.news-detail{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:36px 40px}
.news-back{display:inline-block;margin-bottom:20px;color:var(--color-accent);font-size:0.9rem}
.news-detail h1{font-size:1.6rem;color:var(--color-text);margin-bottom:12px;line-height:1.4}
.news-meta{display:flex;align-items:center;gap:12px;margin-bottom:24px;padding-bottom:18px;border-bottom:1px solid var(--color-border)}
.news-body{color:var(--color-text-mid);line-height:1.9;font-size:0.98rem}
.news-body h2{font-size:1.25rem;color:var(--color-text);margin:28px 0 12px}
.news-body h3{font-size:1.05rem;color:var(--color-text);margin:22px 0 10px}
.news-body p{margin:0 0 14px}
.news-body ul{margin:0 0 14px 20px}
.news-body li{margin-bottom:6px}
.news-body hr{border:none;border-top:1px solid var(--color-border);margin:24px 0}
.news-body a{color:var(--color-accent);text-decoration:underline}
@media (max-width:768px){.news-detail{padding:24px 18px}}

/* ===================== 更新日志 ===================== */
.changelog-page{padding:110px 24px 64px;min-height:70vh;max-width:760px}
.changelog-hero{text-align:center;margin-bottom:36px}
.changelog-hero h1{font-size:2rem;color:var(--color-text);margin-bottom:8px}
.changelog-sub{color:var(--color-text-light)}
.changelog-timeline{position:relative;padding-left:28px}
.changelog-timeline::before{content:"";position:absolute;left:8px;top:6px;bottom:6px;width:2px;background:var(--color-border)}
.changelog-item{position:relative;margin-bottom:28px;background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:18px 22px}
.changelog-item::before{content:"";position:absolute;left:-25px;top:24px;width:12px;height:12px;border-radius:50%;background:var(--color-accent);border:2px solid var(--color-card)}
.changelog-item-head{display:flex;align-items:center;gap:12px;margin-bottom:10px;flex-wrap:wrap}
.changelog-date{font-size:0.82rem;color:var(--color-text-light)}
.changelog-tag{font-size:0.72rem;padding:2px 10px;border-radius:999px;background:rgba(16,185,129,0.10);color:var(--color-green)}
.changelog-tag.feat{background:rgba(41,98,255,0.08);color:var(--color-accent)}
.changelog-tag.fix{background:rgba(245,158,11,0.12);color:var(--color-gold)}
.changelog-title{font-weight:600;color:var(--color-text)}
.changelog-item ul{margin:0 0 0 18px;color:var(--color-text-mid);font-size:0.9rem;line-height:1.8}

/* ===================== 首页·今日推荐轮换 ===================== */
.daily-picks-note{text-align:center;font-size:0.82rem;color:var(--color-text-light);margin-top:-8px;margin-bottom:24px}

/* ===================== 公司信息公示（公安备案） ===================== */
.company-info{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:8px}
.company-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:28px 26px;transition:var(--transition)}
.company-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-left:3px solid var(--color-accent)}
.company-card .cc-icon{width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.4rem;background:rgba(41,98,255,0.1);margin-bottom:14px}
.company-card h4{font-size:1.08rem;color:var(--color-text);margin-bottom:10px}
.company-card p{font-size:0.92rem;color:var(--color-text-mid);line-height:1.8;margin:0}
.company-card .cc-sub{margin-top:8px;color:var(--color-text-light);font-size:0.86rem}

.info-table{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;max-width:880px;margin:0 auto}
.info-row{display:flex;border-bottom:1px solid var(--color-border)}
.info-row:last-child{border-bottom:none}
.info-key{flex:0 0 140px;padding:16px 22px;background:var(--color-bg);color:var(--color-text-light);font-weight:600;font-size:0.92rem;border-right:1px solid var(--color-border)}
.info-val{flex:1;padding:16px 22px;color:var(--color-text);font-size:0.94rem;line-height:1.7}

.company-banner{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:22px 26px;margin-bottom:28px;display:grid;grid-template-columns:repeat(2,1fr);gap:14px 32px}
.cb-item{display:flex;gap:10px;align-items:baseline}
.cb-label{flex:0 0 76px;color:var(--color-accent);font-weight:700;font-size:0.9rem}
.cb-value{color:var(--color-text-mid);font-size:0.92rem;line-height:1.7}
@media (max-width:768px){
  .company-info{grid-template-columns:1fr}
  .company-banner{grid-template-columns:1fr}
  .info-key{flex:0 0 110px;padding:14px 16px}
  .info-val{padding:14px 16px}
}
