:root {
  --primary: #1b44e7;
  --accent: #1b44e7;
  --dark: #002b57;
  --darker: #ffffff;
  --light-bg: #f4f7fe;
  --white: #ffffff;
  --text: #1a2332;
  --text-muted: #5a6a7a;
  --gradient: linear-gradient(135deg, #1b44e7, #2a5ae8);
  --card-bg: #ffffff;
  --card-border: #e8ecf4;
  --shadow: 0 2px 16px rgba(27,68,231,0.08);
  --shadow-hover: 0 8px 32px rgba(27,68,231,0.16);
  /* Fluid Typography (min 12px hard floor) */
  --fs-12: clamp(12px, 0.72vw + 9px, 14px);
  --fs-13: clamp(12px, 0.78vw + 9.4px, 15px);
  --fs-14: clamp(12px, 0.82vw + 9.8px, 16px);
  --fs-15: clamp(12px, 0.9vw + 10px, 17px);
  --fs-16: clamp(12px, 1vw + 10.2px, 18px);
  --fs-17: clamp(13px, 1.05vw + 10.6px, 19px);
  --fs-18: clamp(14px, 1.1vw + 11px, 20px);
  --fs-20: clamp(16px, 1.22vw + 12px, 22px);
  --fs-22: clamp(16px, 1.4vw + 12px, 24px);
  --fs-24: clamp(18px, 1.55vw + 13px, 28px);
  --fs-28: clamp(20px, 2vw + 14px, 34px);
  --fs-32: clamp(22px, 2.4vw + 15px, 38px);
  --fs-36: clamp(24px, 2.7vw + 16px, 44px);
  --fs-44: clamp(28px, 3.3vw + 18px, 52px);
  --fs-52: clamp(32px, 4vw + 20px, 60px);
  --fs-64: clamp(40px, 5vw + 24px, 76px);
  --fs-hero: clamp(40px, 6vw + 26px, 84px);
  --fi-20: clamp(18px, 1.2vw + 14px, 22px);
  --fi-22: clamp(20px, 1.3vw + 15px, 26px);
  --fi-24: clamp(22px, 1.5vw + 16px, 28px);
  --fi-28: clamp(24px, 1.7vw + 17px, 32px);
  --fi-36: clamp(32px, 2.2vw + 20px, 42px);
  --fi-40: clamp(36px, 2.4vw + 22px, 46px);
  --fi-50: clamp(44px, 3vw + 26px, 58px);
  --fi-52: clamp(46px, 3.2vw + 28px, 60px);
  --fi-60: clamp(52px, 3.6vw + 30px, 72px);
}
* { margin:0; padding:0; box-sizing:border-box; }
[class*="-icon"],
[class*="icon-"],
.ccb-icon,
.ccm-icon,
.base-info span,
.highlight-icon,
.card-icon,
.value-icon,
.honor-icon,
.mfg-num,
.contact-icon,
.map-icon,
.feature-icon,
.strategy-icon,
.device-icon,
.partner-item-icon,
.footer-brand .logo-icon,
.footer-values span,
.timeline-h-dot,
.footer .logo-text::before,
.solution-img,
.product-img,
.nav-phone {
  color:#33425a !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight:600;
}
.contact-card-big,
.contact-card-big .ccb-icon,
.contact-card-big .base-info span {
  color:rgba(255,255,255,0.92) !important;
  font-weight:500;
}
.ccm-icon,
.highlight-icon {
  background:transparent !important;
  border:1px solid #dce3ef !important;
  color:#3b4a63 !important;
}
html { scroll-behavior:smooth; }
body { font-family:'Noto Sans SC',sans-serif; color:var(--text); background:var(--white); overflow-x:hidden; line-height:1.7; font-size:var(--fs-15); }
h1,h2,h3,h4,h5,h6 { font-weight:700; color:var(--dark); line-height:1.25; }
h1 { font-size:var(--fs-52); }
h2 { font-size:var(--fs-44); }
h3 { font-size:var(--fs-24); }
h4 { font-size:var(--fs-20); }
h5 { font-size:var(--fs-17); }
h6 { font-size:var(--fs-16); }
p, li, label, td, th { font-size:var(--fs-15); }
small, .small, .tip { font-size:var(--fs-13); }
button, input, select, textarea { font-family:inherit; font-size:var(--fs-15); }
::-webkit-scrollbar { width:6px; }
::-webkit-scrollbar-track { background:#f0f0f0; }
::-webkit-scrollbar-thumb { background:#0079c5; border-radius:0; }
a { color:#0079c5; text-decoration:none; }

/* ── Navigation ── */
nav { position:fixed; top:0; left:0; right:0; z-index:1000; padding:0 40px; height:68px; display:flex; align-items:center; justify-content:space-between; background:rgba(255,255,255,0.95); backdrop-filter:blur(20px); border-bottom:1px solid #e8ecf4; transition:all .3s; box-shadow:0 1px 8px rgba(0,0,0,0.04); transform:translateY(0); }
nav.scrolled { box-shadow:0 4px 24px rgba(0,0,0,0.1); }
nav.nav-hidden { transform:translateY(-100%); box-shadow:none; border-bottom-color:transparent; }
.nav-logo { display:flex; align-items:center; gap:12px; text-decoration:none; }
.logo-icon { width:130px; height:44px; object-fit:contain; border-radius:0; }
.logo-text { color:var(--dark); font-size:var(--fs-15); font-weight:700; line-height:1.3; }
.logo-text span { color:#0079c5; font-weight:400; font-size:var(--fs-12); }
.nav-links { display:flex; gap:32px; list-style:none; }
.nav-links a { color:var(--text-muted); text-decoration:none; font-size:var(--fs-14); font-weight:500; transition:color .25s; position:relative; padding:4px 0; }
.nav-links a:hover, .nav-links a.active { color:#0079c5; }
.nav-links a::after { content:''; position:absolute; bottom:-2px; left:0; right:0; height:2px; background:#0079c5; transform:scaleX(0); transition:transform .3s; border-radius:0; }
.nav-links a:hover::after, .nav-links a.active::after { transform:scaleX(1); }
.nav-phone { color:#0079c5; font-size:var(--fs-14); font-weight:600; text-decoration:none; white-space:nowrap; }
.menu-btn { display:none; background:none; border:none; cursor:pointer; flex-direction:column; gap:5px; }
.menu-btn span { display:block; width:24px; height:2px; background:var(--dark); border-radius:0; transition:.3s; }
.mobile-nav { display:none; position:fixed; inset:0; z-index:999; background:rgba(255,255,255,0.98); flex-direction:column; align-items:center; justify-content:center; gap:30px; }
.mobile-nav.open { display:flex; }
.mobile-nav a { color:var(--dark); text-decoration:none; font-size:var(--fs-20); font-weight:500; }

/* ── Page Header ── */
.page-header { padding:140px 24px 80px; text-align:center; position:relative; overflow:hidden; background:var(--light-bg); }
.page-header::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse 70% 60% at 50% 0%, rgba(27,68,231,0.08) 0%, transparent 70%); }
.page-header h1 { font-size:clamp(32px,5vw,56px); font-weight:700; color:var(--dark); position:relative; z-index:1; margin-bottom:12px; }
.page-header p { font-size:var(--fs-16); color:var(--text-muted); position:relative; z-index:1; }

/* ── Sections ── */
.section { padding:100px 24px; max-width:1200px; margin:0 auto; }
.section-dark { background:var(--light-bg); }
.section-label { display:inline-flex; align-items:center; gap:8px; font-size:var(--fs-13); color:#0079c5; font-weight:600; letter-spacing:0.08em; text-transform:uppercase; margin-bottom:16px; }
.section-label::before { content:''; width:24px; height:2px; background:#0079c5; border-radius:0; }
.section-title { font-size:clamp(28px,4vw,44px); color:var(--dark); font-weight:700; line-height:1.25; margin-bottom:16px; }
.section-desc { font-size:var(--fs-16); color:var(--text-muted); max-width:620px; line-height:1.8; }
.section-header { margin-bottom:64px; }
.section-header.center { text-align:center; }
.section-header.center .section-desc { margin:0 auto; }

/* ── Grid ── */
.grid-2 { display:grid; grid-template-columns:repeat(2,1fr); gap:24px; }
.grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.grid-4 { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }

/* ── Cards ── */
.card { background:var(--card-bg); border:1px solid var(--card-border); border-radius:0; padding:36px 28px; transition:all .4s; position:relative; overflow:hidden; box-shadow:var(--shadow); }
.card:hover { transform:translateY(-4px); box-shadow:var(--shadow-hover); border-color:rgba(27,68,231,0.2); }
.card-icon { width:56px; height:56px; border-radius:0; background:rgba(27,68,231,0.08); border:1px solid rgba(27,68,231,0.12); display:flex; align-items:center; justify-content:center; font-size:var(--fi-24); margin-bottom:20px; }
.card h3 { color:var(--dark); font-size:var(--fs-18); font-weight:600; margin-bottom:12px; }
.card p { color:var(--text-muted); font-size:var(--fs-14); line-height:1.7; }
.card-num { position:absolute; top:24px; right:24px; font-size:var(--fi-52); font-weight:700; color:rgba(27,68,231,0.05); line-height:1; user-select:none; }

/* ── Product Cards ── */
.product-card { background:var(--card-bg); border:1px solid var(--card-border); border-radius:0; padding:40px 32px; transition:all .4s; position:relative; overflow:hidden; box-shadow:var(--shadow); }
.product-card:hover { transform:translateY(-6px); box-shadow:var(--shadow-hover); border-color:rgba(27,68,231,0.25); }
.product-card h3 { color:var(--dark); font-size:var(--fs-20); font-weight:700; margin-bottom:8px; }
.product-card .subtitle { color:#0079c5; font-size:var(--fs-13); font-weight:600; margin-bottom:16px; }
.product-card p { color:var(--text-muted); font-size:var(--fs-14); line-height:1.8; }
.product-specs { display:flex; flex-wrap:wrap; gap:12px; margin-top:20px; }
.spec-tag { background:rgba(27,68,231,0.07); border:1px solid rgba(27,68,231,0.12); border-radius:0; padding:6px 14px; font-size:var(--fs-13); color:var(--text); }
.spec-tag .val { color:#0079c5; font-weight:600; }

/* ── Solution Cards ── */
.solution-card { background:var(--card-bg); border:1px solid var(--card-border); border-radius:0; overflow:hidden; transition:all .4s; box-shadow:var(--shadow); }
.solution-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-hover); border-color:rgba(27,68,231,0.2); }
.solution-img { height:280px; display:flex; align-items:center; justify-content:center; font-size:var(--fi-60); }
.solution-body { padding:32px; }
.solution-body h3 { color:var(--dark); font-size:var(--fs-18); font-weight:600; margin-bottom:10px; }
.solution-body p { color:var(--text-muted); font-size:var(--fs-14); line-height:1.7; margin-bottom:16px; }
.solution-tags { display:flex; flex-wrap:wrap; gap:8px; }
.sol-tag { background:rgba(27,68,231,0.07); border:1px solid rgba(27,68,231,0.12); border-radius:0; padding:4px 12px; font-size:var(--fs-12); color:var(--text); }

/* ── Timeline ── */
.timeline { position:relative; max-width:900px; margin:0 auto; }
.timeline::before { content:''; position:absolute; left:50%; top:0; bottom:0; width:2px; background:linear-gradient(to bottom, #0079c5, rgba(27,68,231,0.1)); transform:translateX(-50%); }
.timeline-item { display:flex; gap:40px; margin-bottom:56px; align-items:flex-start; position:relative; }
.timeline-item:nth-child(even) { flex-direction:row-reverse; }
.timeline-dot { position:absolute; left:50%; top:12px; transform:translateX(-50%); width:16px; height:16px; border-radius:50%; background:#0079c5; border:3px solid var(--white); box-shadow:0 0 16px rgba(27,68,231,0.3); z-index:1; flex-shrink:0; }
.timeline-content { flex:1; background:var(--card-bg); border:1px solid var(--card-border); border-radius:0; padding:24px 28px; transition:all .3s; box-shadow:var(--shadow); }
.timeline-content:hover { border-color:rgba(27,68,231,0.3); transform:translateY(-2px); box-shadow:var(--shadow-hover); }
.timeline-year { font-size:var(--fs-12); font-weight:600; color:#0079c5; background:rgba(27,68,231,0.08); border-radius:0; padding:3px 12px; display:inline-block; margin-bottom:10px; }
.timeline-content h3 { color:var(--dark); font-size:var(--fs-17); font-weight:600; margin-bottom:8px; }
.timeline-content p { color:var(--text-muted); font-size:var(--fs-14); line-height:1.7; }
.timeline-spacer { flex:1; }

/* ── Manufacturing ── */
.mfg-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:24px; }
.mfg-card { background:var(--card-bg); border:1px solid var(--card-border); border-radius:0; padding:36px; display:flex; gap:20px; transition:all .3s; box-shadow:var(--shadow); }
.mfg-card:hover { border-color:rgba(27,68,231,0.2); transform:translateY(-3px); box-shadow:var(--shadow-hover); }
.mfg-num { font-size:var(--fi-40); font-weight:800; color:rgba(27,68,231,0.08); line-height:1; flex-shrink:0; }
.mfg-card h3 { color:var(--dark); font-size:var(--fs-17); font-weight:600; margin-bottom:8px; }
.mfg-card p { color:var(--text-muted); font-size:var(--fs-14); }

/* ── Quality ── */
.quality-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:24px; }
.quality-card { background:var(--card-bg); border:1px solid var(--card-border); border-radius:0; padding:36px; transition:all .3s; box-shadow:var(--shadow); }
.quality-card:hover { border-color:rgba(27,68,231,0.2); box-shadow:var(--shadow-hover); }
.quality-card h3 { color:var(--dark); font-size:var(--fs-17); font-weight:600; margin-bottom:16px; }
.quality-list { list-style:none; display:flex; flex-direction:column; gap:10px; }
.quality-list li { color:var(--text-muted); font-size:var(--fs-14); padding-left:18px; position:relative; }
.quality-list li::before { content:''; position:absolute; left:0; top:9px; width:6px; height:6px; border-radius:50%; background:#0079c5; }
.quality-devices { background:var(--white); border:1px solid var(--card-border); border-radius:0; padding:32px; margin-top:48px; box-shadow:var(--shadow); }
.quality-devices h3 { color:var(--dark); font-size:var(--fs-18); font-weight:600; margin-bottom:28px; text-align:center; }
.device-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.device-card { background:var(--light-bg); border-radius:0; padding:24px; text-align:center; border:1px solid var(--card-border); }
.device-card h4 { color:#0079c5; font-size:var(--fs-14); font-weight:600; margin-bottom:8px; }
.device-card p { color:var(--text-muted); font-size:var(--fs-13); line-height:1.6; }

/* ── CTA ── */
.cta-section { padding:100px 24px; text-align:center; background:var(--dark); position:relative; overflow:hidden; }
.cta-section::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse 70% 60% at 50% 50%, rgba(27,68,231,0.15) 0%, transparent 70%); }
.cta-section h2 { font-size:clamp(28px,4vw,48px); color:var(--white); font-weight:700; margin-bottom:16px; line-height:1.3; position:relative; z-index:1; }
.cta-section p { color:rgba(255,255,255,0.7); font-size:var(--fs-16); margin-bottom:40px; position:relative; z-index:1; }
.btn-primary { display:inline-flex; align-items:center; gap:8px; background:#0079c5; color:var(--white); text-decoration:none; padding:14px 32px; border-radius:0; font-weight:500; font-size:var(--fs-15); transition:all .3s; box-shadow:0 4px 20px rgba(27,68,231,0.35); }
.btn-primary:hover { transform:translateY(-2px); box-shadow:0 8px 32px rgba(27,68,231,0.45); }
.btn-outline { display:inline-flex; align-items:center; gap:8px; background:transparent; color:var(--white); border:1.5px solid rgba(255,255,255,0.3); padding:14px 32px; border-radius:0; font-weight:500; font-size:var(--fs-15); text-decoration:none; transition:all .3s; }
.btn-outline:hover { border-color:var(--white); background:rgba(255,255,255,0.1); }

/* ── About ── */
.about-grid { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.about-text p { color:var(--text-muted); font-size:var(--fs-15); line-height:2; margin-bottom:16px; }
.about-highlights { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:32px; }
.highlight-item { background:var(--light-bg); border:1px solid var(--card-border); border-radius:0; padding:16px 20px; }
.highlight-item h4 { color:#0079c5; font-size:var(--fs-13); font-weight:600; margin-bottom:4px; }
.highlight-item p { color:var(--text); font-size:var(--fs-13); }
.about-visual { background:var(--light-bg); border-radius:0; padding:48px; border:1px solid var(--card-border); display:flex; flex-direction:column; gap:24px; }
.about-visual-stat { text-align:center; }
.about-visual-stat .num { font-size:var(--fi-52); font-weight:800; color:var(--dark); line-height:1; }
.about-visual-stat .num .accent { color:#0079c5; }
.about-visual-stat .label { color:var(--text-muted); font-size:var(--fs-14); margin-top:8px; }

/* ── About V2 Optimized ── */
.about-grid-v2 { display:flex; flex-direction:column; gap:32px; }
.about-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.about-stat-card { background:var(--card-bg); border:1px solid var(--card-border); border-radius:0; padding:36px 28px; display:flex; flex-direction:column; gap:20px; box-shadow:var(--shadow); transition:all .3s; position:relative; overflow:hidden; }
.about-stat-card::before { content:''; position:absolute; top:0; left:0; width:4px; height:100%; background:linear-gradient(180deg,#0079c5,#1b44e7); }
.about-stat-card:hover { border-color:rgba(27,68,231,0.25); transform:translateY(-4px); box-shadow:var(--shadow-hover); }
.stat-num { font-size:var(--fs-44); font-weight:800; color:var(--dark); line-height:1; letter-spacing:-0.02em; }
.stat-num .accent { color:#0079c5; font-size:var(--fs-24); font-weight:700; margin-left:4px; }
.stat-divider { width:40px; height:2px; background:rgba(27,68,231,0.2); }
.stat-info h5 { color:var(--dark); font-size:var(--fs-15); font-weight:600; margin-bottom:6px; }
.stat-info p { color:var(--text-muted); font-size:var(--fs-13); line-height:1.6; }
.about-highlights-v2 { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
.about-highlight-card { background:var(--card-bg); border:1px solid var(--card-border); border-radius:0; padding:28px; display:flex; gap:20px; align-items:flex-start; box-shadow:var(--shadow); transition:all .3s; }
.about-highlight-card:hover { border-color:rgba(27,68,231,0.25); transform:translateY(-3px); box-shadow:var(--shadow-hover); }
.highlight-icon { width:52px; height:52px; flex-shrink:0; background:rgba(27,68,231,0.08); color:#0079c5; display:flex; align-items:center; justify-content:center; font-size:var(--fi-24); border-radius:0; }
.highlight-body h5 { color:var(--dark); font-size:var(--fs-15); font-weight:600; margin-bottom:8px; }
.highlight-body p { color:var(--text-muted); font-size:var(--fs-14); line-height:1.7; }

/* ── Timeline Horizontal ── */
.timeline-h { position:relative; padding:80px 0 40px; }
.timeline-h-line { position:absolute; top:120px; left:3%; right:3%; height:2px; background:linear-gradient(90deg,rgba(27,68,231,0.05),#0079c5,rgba(27,68,231,0.05)); }
.timeline-h-wrap { position:relative; display:grid; grid-template-columns:repeat(5,1fr); gap:16px; }
.timeline-h-item { position:relative; display:flex; flex-direction:column; align-items:center; padding-top:10px; }
.timeline-h-dot { width:22px; height:22px; border-radius:50%; background:var(--white); border:4px solid #0079c5; box-shadow:0 0 0 4px rgba(27,68,231,0.1), 0 4px 16px rgba(27,68,231,0.25); z-index:2; margin-bottom:28px; flex-shrink:0; }
.timeline-h-card { background:var(--card-bg); border:1px solid var(--card-border); border-radius:0; padding:28px 22px; width:100%; box-shadow:var(--shadow); transition:all .35s; position:relative; }
.timeline-h-card::before { content:''; position:absolute; top:-10px; left:50%; transform:translateX(-50%); width:0; height:0; border-left:10px solid transparent; border-right:10px solid transparent; border-bottom:10px solid var(--card-border); }
.timeline-h-card::after { content:''; position:absolute; top:-8px; left:50%; transform:translateX(-50%); width:0; height:0; border-left:9px solid transparent; border-right:9px solid transparent; border-bottom:9px solid var(--card-bg); }
.timeline-h-card:hover { border-color:rgba(27,68,231,0.3); transform:translateY(-5px); box-shadow:var(--shadow-hover); }
.timeline-h-card:hover .timeline-h-dot { background:#0079c5; }
.timeline-h-card h3 { color:var(--dark); font-size:var(--fs-15); font-weight:600; margin:10px 0 10px; }
.timeline-h-card p { color:var(--text-muted); font-size:var(--fs-13); line-height:1.7; }

/* ── Values ── */
.values-row { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:48px; }
.value-card { background:var(--card-bg); border:1px solid var(--card-border); border-radius:0; padding:28px 24px; text-align:center; transition:all .3s; box-shadow:var(--shadow); }
.value-card:hover { border-color:rgba(27,68,231,0.2); transform:translateY(-3px); box-shadow:var(--shadow-hover); }
.value-icon { font-size:var(--fi-36); margin-bottom:12px; }
.value-card h4 { color:var(--dark); font-size:var(--fs-15); font-weight:600; margin-bottom:6px; }
.value-card p { color:var(--text-muted); font-size:var(--fs-13); }

/* ── Honor ── */
.honor-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.honor-card { background:var(--card-bg); border:1px solid var(--card-border); border-radius:0; padding:28px 20px; text-align:center; transition:all .3s; box-shadow:var(--shadow); }
.honor-card:hover { border-color:rgba(27,68,231,0.2); transform:translateY(-3px); box-shadow:var(--shadow-hover); }
.honor-icon { font-size:var(--fi-40); margin-bottom:12px; }
.honor-card h4 { color:var(--dark); font-size:var(--fs-14); font-weight:600; margin-bottom:4px; }
.honor-card p { color:var(--text-muted); font-size:var(--fs-12); }

/* ── Strategy ── */
.strategy-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.strategy-card { background:var(--card-bg); border:1px solid var(--card-border); border-radius:0; padding:32px 24px; text-align:center; transition:all .4s; box-shadow:var(--shadow); }
.strategy-card:hover { transform:translateY(-4px); border-color:rgba(27,68,231,0.25); background:var(--white); box-shadow:var(--shadow-hover); }
.strategy-icon { font-size:var(--fi-40); margin-bottom:16px; }
.strategy-card h3 { color:var(--dark); font-size:var(--fs-15); font-weight:600; margin-bottom:8px; }
.strategy-card p { color:var(--text-muted); font-size:var(--fs-13); }

/* ── Partner ── */
.partner-content { background:var(--card-bg); border:1px solid var(--card-border); border-radius:0; padding:56px; display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; box-shadow:var(--shadow); }
.partner-left h3 { color:#0079c5; font-size:var(--fs-14); font-weight:600; margin-bottom:8px; }
.partner-left h2 { color:var(--dark); font-size:var(--fs-28); font-weight:700; margin-bottom:16px; line-height:1.3; }
.partner-left p { color:var(--text-muted); font-size:var(--fs-14); line-height:1.9; }
.partner-items { display:flex; flex-direction:column; gap:16px; }
.partner-item { display:flex; gap:14px; align-items:flex-start; background:var(--light-bg); border:1px solid var(--card-border); border-radius:0; padding:16px 20px; }
.partner-item-icon { font-size:var(--fi-22); flex-shrink:0; }
.partner-item h4 { color:var(--dark); font-size:var(--fs-14); font-weight:600; margin-bottom:3px; }
.partner-item p { color:var(--text-muted); font-size:var(--fs-13); }

/* ── Contact ── */
.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:48px; }
.contact-info { display:flex; flex-direction:column; gap:24px; }
.contact-item { display:flex; gap:16px; align-items:flex-start; background:var(--card-bg); border:1px solid var(--card-border); border-radius:0; padding:20px 24px; box-shadow:var(--shadow); }
.contact-icon { font-size:var(--fi-28); flex-shrink:0; }
.contact-item h4 { color:var(--dark); font-size:var(--fs-14); font-weight:600; margin-bottom:4px; }
.contact-item p { color:var(--text-muted); font-size:var(--fs-14); }
.contact-map { background:var(--light-bg); border:1px solid var(--card-border); border-radius:0; padding:40px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; gap:16px; }
.map-icon { font-size:var(--fi-60); opacity:0.5; }
.contact-map .addr { color:var(--dark); font-size:var(--fs-15); font-weight:500; }
.contact-map p { color:var(--text-muted); font-size:var(--fs-14); line-height:1.8; }

/* ── Contact V2 Grand Layout ── */
.contact-main-grid { display:grid; grid-template-columns:1.05fr 1fr; gap:32px; align-items:stretch; }
.contact-left-panel { display:flex; flex-direction:column; gap:24px; }
.contact-card-big { background:linear-gradient(135deg,#0b2545 0%,#1b44e7 100%); color:var(--white); padding:52px 44px; display:flex; flex-direction:column; gap:16px; box-shadow:0 20px 50px rgba(27,68,231,0.3); position:relative; overflow:hidden; }
.contact-card-big::before{content:'';position:absolute;right:-80px;bottom:-80px;width:260px;height:260px;border-radius:50%;background:rgba(255,255,255,0.08);}
.contact-card-big::after{content:'';position:absolute;right:80px;top:-40px;width:180px;height:180px;border-radius:50%;background:rgba(255,255,255,0.05);}
.ccb-icon { font-size:var(--fi-52); line-height:1; opacity:0.8; z-index:1; }
.ccb-label { font-size:var(--fs-12); letter-spacing:2px; color:rgba(255,255,255,0.7); font-weight:600; z-index:1; }
.ccb-title { font-size:var(--fs-36); font-weight:800; line-height:1.1; z-index:1; }
.ccb-desc { color:rgba(255,255,255,0.85); font-size:var(--fs-15); line-height:1.8; z-index:1; }
.contact-sub-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.contact-main-grid-single { display:flex; flex-direction:column; gap:24px; max-width:1200px; margin:0 auto; }
.contact-row-4 { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.contact-card-md { background:var(--card-bg); border:1px solid var(--card-border); padding:28px 24px; display:flex; flex-direction:column; gap:8px; box-shadow:var(--shadow); transition:all .3s; }
.contact-card-md:hover { border-color:rgba(27,68,231,0.25); transform:translateY(-3px); box-shadow:var(--shadow-hover); }
.ccm-icon { width:52px; height:52px; background:rgba(27,68,231,0.08); color:#0079c5; display:flex; align-items:center; justify-content:center; font-size:var(--fi-22); border-radius:0; margin-bottom:12px; }
.contact-card-md h5 { color:var(--dark); font-size:var(--fs-14); font-weight:600; margin-bottom:2px; }
.ccm-phone { color:#0079c5; font-size:var(--fs-18); font-weight:700; letter-spacing:-0.01em; }
.ccm-tip { color:var(--text-muted); font-size:var(--fs-12); margin-top:4px; line-height:1.5; }
.contact-right-panel { display:flex; }
.contact-form-card { background:var(--card-bg); border:1px solid var(--card-border); box-shadow:var(--shadow); padding:44px; display:flex; flex-direction:column; width:100%; }
.cform-header { border-bottom:1px solid var(--card-border); padding-bottom:28px; margin-bottom:32px; }
.form-badge { display:inline-block; font-size:var(--fs-12); font-weight:600; letter-spacing:1px; color:#0079c5; background:rgba(27,68,231,0.08); padding:4px 12px; border-radius:0; margin-bottom:12px; }
.cform-header h3 { color:var(--dark); font-size:var(--fs-28); font-weight:700; margin-bottom:8px; }
.cform-header p { color:var(--text-muted); font-size:var(--fs-14); line-height:1.6; }
.cform-body { display:flex; flex-direction:column; gap:20px; flex:1; }
.cform-row { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.cform-field { display:flex; flex-direction:column; gap:8px; }
.cform-field label { color:var(--dark); font-size:var(--fs-13); font-weight:600; }
.cform-field input, .cform-field select, .cform-field textarea { width:100%; padding:14px 16px; border:1px solid var(--card-border); border-radius:0; font-size:var(--fs-14); color:var(--text); background:var(--white); outline:none; transition:border-color .2s, box-shadow .2s; font-family:inherit; box-sizing:border-box; }
.cform-field input:focus, .cform-field select:focus, .cform-field textarea:focus { border-color:#0079c5; box-shadow:0 0 0 3px rgba(27,68,231,0.1); }
.cform-field textarea { resize:vertical; min-height:120px; }
.cform-submit { margin-top:auto; padding:16px 28px; background:linear-gradient(135deg,#0079c5 0%,#1b44e7 100%); color:var(--white); border:none; border-radius:0; font-size:var(--fs-15); font-weight:600; cursor:pointer; transition:all .3s; box-shadow:0 8px 24px rgba(27,68,231,0.25); }
.cform-submit:hover { transform:translateY(-2px); box-shadow:0 12px 36px rgba(27,68,231,0.35); }

/* ── Nationwide Base Grid */
.base-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.base-card { background:var(--card-bg); border:1px solid var(--card-border); padding:36px 28px; box-shadow:var(--shadow); transition:all .3s; position:relative; }
.base-card:hover { border-color:rgba(27,68,231,0.3); transform:translateY(-4px); box-shadow:var(--shadow-hover); }
.base-tag { display:inline-block; font-size:var(--fs-12); font-weight:600; color:#0079c5; background:rgba(27,68,231,0.08); padding:4px 12px; border-radius:0; margin-bottom:20px; letter-spacing:1px; }
.base-card h4 { color:var(--dark); font-size:var(--fs-22); font-weight:700; margin-bottom:12px; }
.base-card p { color:var(--text-muted); font-size:var(--fs-14); line-height:1.8; margin-bottom:20px; }
.base-info { border-top:1px solid var(--card-border); padding-top:16px 0 0; color:var(--text); font-size:var(--fs-13); display:flex; align-items:center; gap:8px; line-height:1.6; }
.base-info span { color:#0079c5; font-size:var(--fs-16); flex-shrink:0; }

/* ── Footer ── */
footer { background:var(--dark); border-top:1px solid rgba(0,43,87,0.3); padding:48px 24px 32px; }
.footer-content { max-width:1200px; margin:0 auto; display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:40px; margin-bottom:40px; }
.footer-brand .logo-text { color:var(--white); font-size:var(--fs-16); font-weight:700; }
.footer-brand p { color:rgba(255,255,255,0.5); font-size:var(--fs-13); margin-top:12px; line-height:1.7; }
.footer-col h4 { color:var(--white); font-size:var(--fs-14); font-weight:600; margin-bottom:16px; }
.footer-col a { display:block; color:rgba(255,255,255,0.5); font-size:var(--fs-13); text-decoration:none; margin-bottom:10px; transition:color .2s; }
.footer-col a:hover { color:var(--white); }
.footer-bottom { max-width:1200px; margin:0 auto; padding-top:24px; border-top:1px solid rgba(255,255,255,0.1); display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; }
.footer-bottom p { color:rgba(255,255,255,0.35); font-size:var(--fs-12); }
.footer-values { display:flex; gap:20px; }
.footer-values span { color:rgba(255,255,255,0.3); font-size:var(--fs-12); }

/* ── Hero Carousel ── */
.hero { min-height:100vh; position:relative; background:var(--white); overflow:hidden; padding:0; display:flex; align-items:center; }
.hero-carousel { position:absolute; inset:0; }
.hero-track { position:absolute; inset:0; }
.hero-slide { position:absolute; inset:0; opacity:0; transition:opacity 1.2s ease-in-out; }
.hero-slide.active { opacity:1; z-index:1; }
.hero-slide .hero-bg { position:absolute; inset:0; background:#000 center/cover no-repeat; animation:heroZoom 8s ease-in-out forwards; }
.hero-slide.active .hero-bg { animation:heroZoom 8s ease-in-out forwards; }
.hero-slide .hero-bg::after { content:''; position:absolute; inset:0; background:linear-gradient(135deg, rgba(0,30,70,0.8) 0%, rgba(0,60,120,0.7) 50%, rgba(0,45,100,0.8) 100%); }
@keyframes heroZoom { 0% { transform:scale(1); } 100% { transform:scale(1.15); } }
.hero-slide-content { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; padding:100px 24px; z-index:2; }
.hero-slide.active h1 { opacity:0; transform:translateY(50px); animation:fadeInUp 1s ease-out 0.5s forwards; }
.hero-slide.active .hero-tagline { opacity:0; transform:translateY(50px); animation:fadeInUp 1s ease-out 0.8s forwards; }
.hero-slide.active .hero-actions { opacity:0; transform:translateY(50px); animation:fadeInUp 1s ease-out 1.1s forwards; }
.hero h1 { font-size:clamp(40px,7vw,80px); font-weight:800; color:var(--white); line-height:1.1; margin-bottom:16px; letter-spacing:-0.02em; text-shadow:0 4px 20px rgba(0,0,0,0.2); }
.hero h1 .accent { color:#60a5fa; }
.hero-tagline { font-size:clamp(16px,2.5vw,24px); color:rgba(255,255,255,0.92); font-weight:400; margin-bottom:40px; max-width:720px; }
.hero-actions { display:flex; gap:16px; flex-wrap:wrap; justify-content:center; }
.carousel-btn { position:absolute; top:50%; transform:translateY(-50%); width:56px; height:56px; background:rgba(255,255,255,0.15); backdrop-filter:blur(8px); border:1px solid rgba(255,255,255,0.25); color:var(--white); font-size:var(--fi-22); cursor:pointer; z-index:10; transition:all .3s; display:flex; align-items:center; justify-content:center; }
.carousel-btn:hover { background:rgba(255,255,255,0.3); }
.carousel-btn.prev { left:32px; }
.carousel-btn.next { right:32px; }
.carousel-dots { position:absolute; bottom:64px; left:50%; transform:translateX(-50%); display:flex; gap:12px; z-index:10; }
.carousel-dots .dot { width:40px; height:4px; background:rgba(255,255,255,0.35); cursor:pointer; transition:all .3s; }
.carousel-dots .dot.active { background:var(--white); width:60px; }
.scroll-indicator { position:absolute; bottom:24px; left:50%; transform:translateX(-50%); color:rgba(255,255,255,0.7); font-size:var(--fs-12); display:flex; flex-direction:column; align-items:center; gap:8px; opacity:0; animation:bounceFade 2s ease-in-out infinite; animation-delay:1.5s; z-index:5; }
@keyframes bounceFade { 
  0% { opacity:0; transform:translateX(-50%) translateY(0); }
  10% { opacity:1; transform:translateX(-50%) translateY(0); }
  50% { opacity:1; transform:translateX(-50%) translateY(8px); }
  100% { opacity:1; transform:translateX(-50%) translateY(0); }
}
@keyframes fadeInUp { to { opacity:1; transform:translateY(0); } }

/* ── Solutions Carousel ── */
.solutions-carousel { position:relative; width:100%; margin-top:32px; overflow:hidden; box-shadow:0 24px 80px rgba(11,37,69,0.18); border:1px solid var(--card-border); }
.sol-track { position:relative; width:100%; padding-top:54%; }
.sol-slide { position:absolute; inset:0; opacity:0; transition:opacity 1.2s ease-in-out; z-index:0; }
.sol-slide.active { opacity:1; z-index:2; }
.sol-bg { position:absolute; inset:0; background:#000 center/cover no-repeat; transform:scale(1); }
.sol-slide.active .sol-bg { animation:solZoom 7s ease-out forwards; }
@keyframes solZoom { 0% { transform:scale(1); } 100% { transform:scale(1.12); } }
.sol-overlay { position:absolute; inset:0; background:linear-gradient(100deg, rgba(11,37,69,0.92) 0%, rgba(11,37,69,0.85) 38%, rgba(11,37,69,0.55) 60%, rgba(11,37,69,0.25) 100%); }
.sol-content { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; padding:64px 72px; max-width:60%; z-index:3; color:var(--white); }
.sol-eyebrow { font-size:var(--fs-12); font-weight:600; letter-spacing:2px; color:rgba(96,165,250,0.95); margin-bottom:20px; }
.sol-title { font-size:clamp(28px,4.5vw,52px); font-weight:800; color:var(--white); line-height:1.15; margin-bottom:20px; letter-spacing:-0.015em; text-shadow:0 2px 14px rgba(0,0,0,0.3); }
.sol-desc { font-size:clamp(13px,1.6vw,16px); color:rgba(255,255,255,0.88); line-height:1.85; margin-bottom:24px; max-width:620px; }
.sol-tags { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:32px; }
.sol-tags span { padding:6px 14px; background:rgba(255,255,255,0.12); backdrop-filter:blur(6px); border:1px solid rgba(255,255,255,0.22); color:rgba(255,255,255,0.95); font-size:var(--fs-12); font-weight:500; letter-spacing:0.5px; }
.sol-btn { display:inline-flex; align-items:center; gap:8px; padding:14px 28px; background:var(--white); color:#0b2545; font-size:var(--fs-14); font-weight:600; text-decoration:none; transition:all .3s; box-shadow:0 10px 30px rgba(0,0,0,0.2); }
.sol-btn:hover { background:#1b44e7; color:var(--white); transform:translateY(-2px); box-shadow:0 14px 40px rgba(27,68,231,0.4); }
.sol-slide.active .sol-eyebrow { opacity:0; transform:translateY(30px); animation:fadeInUp 0.8s ease-out 0.3s forwards; }
.sol-slide.active .sol-title { opacity:0; transform:translateY(40px); animation:fadeInUp 0.9s ease-out 0.55s forwards; }
.sol-slide.active .sol-desc { opacity:0; transform:translateY(40px); animation:fadeInUp 0.9s ease-out 0.8s forwards; }
.sol-slide.active .sol-tags { opacity:0; transform:translateY(40px); animation:fadeInUp 0.9s ease-out 1.05s forwards; }
.sol-slide.active .sol-cta { opacity:0; transform:translateY(40px); animation:fadeInUp 0.9s ease-out 1.3s forwards; }
.sol-arrow { position:absolute; top:50%; transform:translateY(-50%); width:52px; height:52px; background:rgba(255,255,255,0.12); backdrop-filter:blur(8px); border:1px solid rgba(255,255,255,0.22); color:var(--white); font-size:var(--fi-20); cursor:pointer; z-index:10; transition:all .3s; display:flex; align-items:center; justify-content:center; padding:0; }
.sol-arrow:hover { background:rgba(255,255,255,0.25); transform:translateY(-50%) scale(1.06); }
.sol-arrow.prev { left:24px; }
.sol-arrow.next { right:24px; }
.sol-dots { position:absolute; left:72px; bottom:32px; display:flex; gap:10px; z-index:10; }
.sol-dots .dot { width:28px; height:3px; background:rgba(255,255,255,0.3); cursor:pointer; transition:all .3s; }
.sol-dots .dot.active { background:var(--white); width:48px; }
.sol-counter { position:absolute; right:72px; bottom:32px; color:rgba(255,255,255,0.85); font-size:var(--fs-13); font-weight:600; letter-spacing:1px; display:flex; align-items:center; gap:10px; z-index:10; }
.sol-counter .divider { width:20px; height:1px; background:rgba(255,255,255,0.35); }
.sol-counter #solCur { color:var(--white); font-size:var(--fs-18); font-weight:800; }

/* ── Features ── */
.features-row { display:flex; gap:24px; flex-wrap:wrap; margin-top:48px; }
.feature-col { flex:1; min-width:240px; background:var(--card-bg); border:1px solid var(--card-border); border-radius:0; padding:36px; box-shadow:var(--shadow); }
.feature-col h3 { color:var(--dark); font-size:var(--fs-17); font-weight:600; margin-bottom:12px; }
.feature-col p { color:var(--text-muted); font-size:var(--fs-14); }

/* ── News ── */
.news-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.news-card { background:var(--card-bg); border:1px solid var(--card-border); border-radius:0; overflow:hidden; transition:all .3s; box-shadow:var(--shadow); }
.news-card:hover { border-color:rgba(27,68,231,0.2); transform:translateY(-3px); box-shadow:var(--shadow-hover); }
.news-thumb { height:160px; display:flex; align-items:center; justify-content:center; font-size:var(--fi-50); }
.news-body { padding:24px; }
.news-body .date { font-size:var(--fs-12); color:#0079c5; font-weight:600; margin-bottom:8px; }
.news-body h3 { color:var(--dark); font-size:var(--fs-15); font-weight:600; margin-bottom:8px; }
.news-body p { color:var(--text-muted); font-size:var(--fs-13); line-height:1.7; }

/* ── Animations ── */
.reveal { opacity:0; transform:translateY(30px); transition:all .8s cubic-bezier(.16,1,.3,1); }
.reveal.visible { opacity:1; transform:translateY(0); }
.reveal-delay-1 { transition-delay:.1s; }
.reveal-delay-2 { transition-delay:.2s; }
.reveal-delay-3 { transition-delay:.3s; }
.reveal-delay-4 { transition-delay:.4s; }

/* ── Responsive ── */
@media (max-width:1024px) { .grid-4, .strategy-grid, .honor-grid, .base-grid, .contact-row-4 { grid-template-columns:repeat(2,1fr); } .footer-content { grid-template-columns:1fr 1fr; } .about-stats { grid-template-columns:repeat(2,1fr); } .timeline-h-wrap { grid-template-columns:repeat(3,1fr); } .contact-main-grid { grid-template-columns:1fr; } .sol-content { padding:52px 56px; max-width:70%; } .sol-dots { left:56px; bottom:28px; } .sol-counter { right:56px; bottom:28px; } .sol-arrow { width:46px; height:46px; font-size:var(--fs-18); } .sol-arrow.prev { left:20px; } .sol-arrow.next { right:20px; } }
@media (max-width:768px) {
  nav { padding:0 20px; }
  .nav-links { display:none; }
  .menu-btn { display:flex; }
  .grid-2, .grid-3, .mfg-grid, .quality-grid, .contact-row-4, .contact-sub-row { grid-template-columns:1fr; }
  .about-grid, .partner-content, .contact-grid { grid-template-columns:1fr; }
  .timeline::before { left:20px; }
  .timeline-item, .timeline-item:nth-child(even) { flex-direction:row; gap:20px; }
  .timeline-dot { left:20px; position:absolute; }
  .timeline-spacer { display:none; }
  .timeline-content { flex:1; }
  .device-grid { grid-template-columns:1fr; }
  .features-row, .values-row { flex-direction:column; }
  .footer-content { grid-template-columns:1fr; }
  .section { padding:72px 20px; }
  .hero { padding:100px 20px 60px; }
  .news-grid { grid-template-columns:1fr; }
  .carousel-btn { width:40px; height:40px; font-size:var(--fi-20); }
  .carousel-btn.prev { left:12px; }
  .carousel-btn.next { right:12px; }
  .carousel-dots { bottom:48px; }
  .carousel-dots .dot { width:28px; height:3px; }
  .carousel-dots .dot.active { width:44px; }
  .about-stats { grid-template-columns:repeat(2,1fr); gap:12px; }
  .about-stat-card { padding:24px 18px; gap:14px; }
  .stat-num { font-size:var(--fs-32); }
  .stat-num .accent { font-size:var(--fs-18); }
  .about-highlights-v2 { grid-template-columns:1fr; gap:12px; }
  .about-highlight-card { padding:20px; gap:14px; }
  .highlight-icon { width:44px; height:44px; font-size:var(--fi-20); }
  .timeline-h { padding:40px 0 20px; }
  .timeline-h-line { display:none; }
  .timeline-h-wrap { grid-template-columns:1fr; gap:0; padding-left:36px; position:relative; }
  .timeline-h-wrap::before { content:''; position:absolute; left:11px; top:10px; bottom:10px; width:2px; background:linear-gradient(180deg,rgba(27,68,231,0.05),#0079c5,rgba(27,68,231,0.05)); }
  .timeline-h-item { align-items:flex-start; padding-top:0; padding-bottom:28px; position:relative; }
  .timeline-h-dot { position:absolute; left:-36px; top:6px; width:18px; height:18px; border-width:3px; box-shadow:0 0 0 3px rgba(27,68,231,0.1); margin:0; }
  .timeline-h-card::before, .timeline-h-card::after { display:none; }
  .timeline-h-card { padding:20px; }
  .sol-track { padding-top:140%; }
  .sol-content { padding:36px 28px; max-width:100%; }
  .sol-overlay { background:linear-gradient(180deg, rgba(11,37,69,0.85) 0%, rgba(11,37,69,0.75) 40%, rgba(11,37,69,0.92) 100%); }
  .sol-arrow { width:38px; height:38px; font-size:var(--fi-20); }
  .sol-arrow.prev { left:10px; }
  .sol-arrow.next { right:10px; }
  .sol-dots { left:20px; bottom:20px; gap:6px; }
  .sol-dots .dot { width:20px; height:2px; }
  .sol-dots .dot.active { width:34px; }
  .sol-counter { right:20px; bottom:20px; font-size:var(--fs-12); gap:6px; }
  .sol-counter .divider { width:14px; }
  .sol-counter #solCur { font-size:var(--fs-15); }
  .sol-btn { padding:12px 22px; font-size:var(--fs-13); }
  .base-grid { grid-template-columns:repeat(2,1fr); gap:12px; }
  .base-card { padding:24px 18px; }
  .base-card h4 { font-size:var(--fs-18); }
  .contact-card-big { padding:36px 28px; }
  .ccb-title { font-size:var(--fs-28); }
  .ccb-icon { font-size:var(--fi-40); }
  .contact-sub-row { grid-template-columns:1fr; gap:12px; }
  .contact-form-card { padding:28px 24px; }
  .cform-header h3 { font-size:var(--fs-22); }
  .cform-row { grid-template-columns:1fr; gap:16px; }
}
@media (max-width:480px) { .grid-4, .strategy-grid { grid-template-columns:1fr; } .about-highlights { grid-template-columns:1fr; } .about-stats { grid-template-columns:1fr; } .base-grid { grid-template-columns:1fr; } }
