/* ═══════════════════════════════════════════════
   Lime Source — Shared Stylesheet
   www.limesource.hk
   ═══════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Cairo:wght@400;600;700;900&family=Inter:wght@400;500;600;700;900&display=swap');

/* ─── Variables ─── */
:root {
  --lime:       #8DC63F;
  --lime-dark:  #5A8A1A;
  --lime-pale:  #EEF7DC;
  --ink:        #0F1A05;
  --ink2:       #2C3A1A;
  --gray:       #6B7280;
  --gray2:      #9CA3AF;
  --light:      #F5F8EF;
  --white:      #FFFFFF;
  --radius:     10px;
  --shadow:     0 4px 24px rgba(0,0,0,.09);
  --nav-h:      66px;
}

/* ─── Reset ─── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
  color: var(--ink); background: var(--white); line-height: 1.72;
  -webkit-font-smoothing: antialiased;
}
[lang="ar"] body, body[dir="rtl"] {
  font-family: 'Cairo', 'Segoe UI', Tahoma, Arial, sans-serif;
}
[lang="zh"] body {
  font-family: 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', system-ui, sans-serif;
}
a { text-decoration: none; color: inherit; }
img { max-width: 100%; display: block; }

/* ─── Layout Utilities ─── */
.container   { max-width: 1160px; margin: 0 auto; padding: 0 28px; }
.section     { padding: 96px 0; }
.section-alt { background: var(--light); }
.section-dark { background: var(--ink); color: var(--white); }

/* ─── Typography ─── */
.tag {
  display: inline-block; background: var(--lime-pale); color: var(--lime-dark);
  font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
  padding: 4px 14px; border-radius: 999px; margin-bottom: 14px;
}
.tag-dark { background: rgba(141,198,63,.12); color: var(--lime); }
.tag-white { background: rgba(255,255,255,.12); color: rgba(255,255,255,.85); }

h1, h2, h3, h4, h5 { line-height: 1.2; letter-spacing: -.02em; }
.sh { font-size: clamp(1.9rem, 3.5vw, 2.9rem); font-weight: 900; margin-bottom: 16px; }
.sub { font-size: 1.05rem; color: #4B5563; max-width: 580px; line-height: 1.75; }
.sub-white { color: rgba(255,255,255,.82); }

/* ─── Buttons ─── */
.btn {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 14px 32px; border-radius: 999px;
  font-size: .92rem; font-weight: 700; cursor: pointer;
  border: none; transition: transform .2s, box-shadow .2s; letter-spacing: .01em;
}
.btn:hover { transform: translateY(-2px); }
.btn-lime  { background: var(--lime); color: var(--ink); }
.btn-lime:hover  { box-shadow: 0 8px 28px rgba(141,198,63,.45); }
.btn-dark  { background: var(--ink); color: var(--white); }
.btn-dark:hover  { box-shadow: 0 8px 28px rgba(0,0,0,.25); }
.btn-outline-w { background: transparent; border: 2px solid rgba(255,255,255,.4); color: var(--white); }
.btn-outline-w:hover { border-color: var(--white); }
.btn-outline { background: transparent; border: 2px solid rgba(0,0,0,.15); color: var(--ink); }
.btn-outline:hover { border-color: var(--ink); }
.btn-block { width: 100%; justify-content: center; }

/* ─── Navigation ─── */
nav.site-nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 500;
  background: rgba(15,26,5,.93); backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(255,255,255,.07); height: var(--nav-h);
}
.nav-inner {
  max-width: 1160px; margin: 0 auto; padding: 0 28px;
  display: flex; align-items: center; justify-content: space-between;
  height: 100%;
}
.nav-logo { display: flex; align-items: center; gap: 10px; }
.logo-mark {
  width: 34px; height: 34px; background: var(--lime); border-radius: 8px;
  display: flex; align-items: center; justify-content: center;
  font-weight: 900; font-size: .88rem; color: var(--ink); flex-shrink: 0;
}
.logo-text { font-size: 1.05rem; font-weight: 800; color: var(--white); line-height: 1.2; }
.logo-sub  { font-size: .64rem; color: rgba(255,255,255,.58); }

.nav-links { display: flex; gap: 28px; list-style: none; }
.nav-links a {
  font-size: .86rem; font-weight: 500; color: rgba(255,255,255,.55);
  transition: color .2s; padding: 4px 0; border-bottom: 2px solid transparent;
}
.nav-links a:hover, .nav-links a.active { color: var(--white); }
.nav-links a.active { border-bottom-color: var(--lime); }

.nav-right { display: flex; align-items: center; gap: 16px; }
.lang-switch { display: flex; gap: 4px; }
.lang-btn {
  padding: 4px 10px; border-radius: 6px; font-size: .75rem; font-weight: 600;
  color: rgba(255,255,255,.4); border: 1px solid transparent;
  cursor: pointer; transition: all .2s; text-decoration: none;
}
.lang-btn:hover  { color: rgba(255,255,255,.8); }
.lang-btn.active { color: var(--lime); border-color: rgba(141,198,63,.3); background: rgba(141,198,63,.1); }

.nav-cta { padding: 9px 20px; font-size: .82rem; }

/* Hamburger */
.nav-hamburger {
  display: none; flex-direction: column; gap: 5px; cursor: pointer;
  background: none; border: none; padding: 4px;
}
.nav-hamburger span {
  display: block; width: 22px; height: 2px;
  background: rgba(255,255,255,.7); border-radius: 2px; transition: all .3s;
}
.nav-hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.nav-hamburger.open span:nth-child(2) { opacity: 0; }
.nav-hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.nav-mobile-menu {
  display: none; position: fixed; top: var(--nav-h); left: 0; right: 0;
  background: rgba(15,26,5,.97); backdrop-filter: blur(16px);
  padding: 24px 28px; z-index: 499;
  border-bottom: 1px solid rgba(255,255,255,.07);
}
.nav-mobile-menu.open { display: block; }
.nav-mobile-menu ul { list-style: none; margin-bottom: 20px; }
.nav-mobile-menu li { margin-bottom: 4px; }
.nav-mobile-menu a {
  display: block; padding: 10px 0; font-size: 1rem; font-weight: 600;
  color: rgba(255,255,255,.7); border-bottom: 1px solid rgba(255,255,255,.06);
  transition: color .2s;
}
.nav-mobile-menu a:hover, .nav-mobile-menu a.active { color: var(--lime); }
.nav-mobile-lang { display: flex; flex-wrap: wrap; gap: 8px; }
.nav-mobile-lang a {
  padding: 6px 14px; border-radius: 6px; font-size: .82rem; font-weight: 600;
  color: rgba(255,255,255,.5); border: 1px solid rgba(255,255,255,.1);
}
.nav-mobile-lang a.active { color: var(--lime); border-color: rgba(141,198,63,.3); background: rgba(141,198,63,.1); }

/* ─── Hero ─── */
.hero {
  min-height: 100vh; display: flex; align-items: center; padding-top: var(--nav-h);
  background: linear-gradient(140deg, #0A1203 0%, #111D04 45%, #1A2E06 100%);
  overflow: hidden; position: relative;
}
.hero::before {
  content: ''; position: absolute; top: -80px; right: -200px;
  width: 780px; height: 780px;
  background: radial-gradient(circle, rgba(141,198,63,.13) 0%, transparent 62%);
  border-radius: 50%; pointer-events: none;
}
.hero::after {
  content: ''; position: absolute; bottom: -200px; left: -80px;
  width: 500px; height: 500px;
  background: radial-gradient(circle, rgba(141,198,63,.06) 0%, transparent 65%);
  border-radius: 50%; pointer-events: none;
}
.hero-inner { position: relative; z-index: 1; display: grid; grid-template-columns: 1.15fr .85fr; gap: 80px; align-items: center; }
.hero-eyebrow {
  display: inline-flex; align-items: center; gap: 10px;
  background: rgba(141,198,63,.1); border: 1px solid rgba(141,198,63,.22);
  border-radius: 999px; padding: 6px 18px; margin-bottom: 28px;
}
.dot { width: 6px; height: 6px; background: var(--lime); border-radius: 50%; flex-shrink: 0; animation: pulse 2s infinite; }
@keyframes pulse { 0%,100%{opacity:1} 50%{opacity:.4} }
.hero-eyebrow span { font-size: .76rem; font-weight: 600; color: rgba(255,255,255,.7); letter-spacing: .05em; }
.hero h1 {
  font-size: clamp(2.4rem, 4.8vw, 3.7rem); font-weight: 900;
  line-height: 1.1; color: var(--white); margin-bottom: 10px;
}
.hero h1 em { font-style: normal; color: var(--lime); }
.hero-sub-name { font-size: .86rem; font-weight: 600; color: rgba(255,255,255,.56); margin-bottom: 24px; letter-spacing: .04em; }
.hero p { font-size: 1.04rem; color: rgba(255,255,255,.84); margin-bottom: 34px; max-width: 510px; line-height: 1.78; }
.hero-btns { display: flex; gap: 14px; flex-wrap: wrap; margin-bottom: 40px; }
.hero-divider { height: 1px; background: rgba(255,255,255,.14); margin-bottom: 22px; }
.hero-tagline { font-size: .95rem; font-style: italic; color: rgba(255,255,255,.72); }
.hero-tagline strong { color: var(--lime); font-style: normal; }

/* Hero card */
.hero-card {
  background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.09);
  border-radius: 20px; padding: 30px;
}
.hc-label { font-size: .7rem; font-weight: 700; letter-spacing: .1em; color: rgba(255,255,255,.33); text-transform: uppercase; margin-bottom: 18px; }
.stat-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 22px; }
.stat-box {
  background: rgba(255,255,255,.05); border-radius: 12px; padding: 16px;
  border: 1px solid rgba(255,255,255,.06);
}
.stat-num { font-size: 1.65rem; font-weight: 900; color: var(--white); line-height: 1; }
.stat-num span { font-size: .95rem; color: var(--lime); }
.stat-lbl { font-size: .7rem; color: rgba(255,255,255,.42); margin-top: 5px; line-height: 1.4; }
.hc-divider { height: 1px; background: rgba(255,255,255,.07); margin: 18px 0; }
.plat-row { display: flex; justify-content: space-between; align-items: center; padding: 9px 0; border-bottom: 1px solid rgba(255,255,255,.06); }
.plat-row:last-child { border-bottom: none; }
.plat-name { font-size: .8rem; font-weight: 700; color: var(--white); }
.plat-name small { display: block; font-size: .67rem; color: rgba(255,255,255,.33); font-weight: 400; margin-top: 1px; }
.plat-badge { font-size: .67rem; background: rgba(141,198,63,.12); color: var(--lime); padding: 2px 9px; border-radius: 999px; font-weight: 700; }

/* ─── Numbers Band ─── */
.numbers-band { background: var(--lime); padding: 52px 0; }
.numbers-grid { display: grid; grid-template-columns: repeat(5,1fr); gap: 0; }
.nb-item { text-align: center; padding: 0 16px; border-right: 1px solid rgba(15,26,5,.12); }
.nb-item:last-child { border-right: none; }
.nb-num  { font-size: 2.1rem; font-weight: 900; color: var(--ink); line-height: 1; }
.nb-unit { font-size: 1.1rem; }
.nb-lbl  { font-size: .8rem; color: var(--ink2); margin-top: 7px; font-weight: 700; }
.nb-sub  { font-size: .7rem; color: rgba(15,26,5,.5); margin-top: 2px; }

/* ─── Page Hero (inner pages) ─── */
.page-hero {
  padding: calc(var(--nav-h) + 56px) 0 64px;
  background: linear-gradient(135deg, #0F1A05 0%, #1A2E06 100%);
  position: relative; overflow: hidden;
}
.page-hero::before {
  content: ''; position: absolute; top: -100px; right: -100px;
  width: 500px; height: 500px;
  background: radial-gradient(circle, rgba(141,198,63,.1) 0%, transparent 65%);
  border-radius: 50%; pointer-events: none;
}
.page-hero h1 { font-size: clamp(2rem, 4vw, 3rem); font-weight: 900; color: var(--white); margin-bottom: 12px; position: relative; }
.page-hero p  { font-size: 1.05rem; color: rgba(255,255,255,.82); max-width: 560px; position: relative; }
.breadcrumb { display: flex; align-items: center; gap: 8px; margin-bottom: 18px; font-size: .8rem; color: rgba(255,255,255,.38); position: relative; }
.breadcrumb a { color: rgba(255,255,255,.5); transition: color .2s; }
.breadcrumb a:hover { color: var(--lime); }
.breadcrumb .sep { color: rgba(255,255,255,.2); }

/* ─── Two-col grid ─── */
.two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: start; margin-top: 56px; }
.two-col-center { align-items: center; }

/* ─── Info Table ─── */
.info-table { width: 100%; border-collapse: collapse; margin-top: 24px; }
.info-table tr { border-bottom: 1px solid rgba(0,0,0,.07); }
.info-table td { padding: 11px 0; font-size: .86rem; }
.info-table td:first-child { color: var(--gray); width: 130px; font-weight: 600; }
.info-table td:last-child  { font-weight: 500; color: var(--ink); }

/* ─── Feature Cards ─── */
.feat-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px,1fr)); gap: 22px; margin-top: 52px; }
.feat-card {
  background: var(--white); border: 1px solid rgba(0,0,0,.07);
  border-radius: var(--radius); padding: 28px 24px;
  transition: transform .25s, box-shadow .25s;
}
.feat-card:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.feat-icon {
  width: 48px; height: 48px; background: var(--lime-pale); border-radius: 12px;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.4rem; margin-bottom: 18px;
}
.feat-card h3 { font-size: 1rem; font-weight: 700; margin-bottom: 8px; }
.feat-card p  { font-size: .87rem; color: var(--gray); line-height: 1.65; }

/* ─── Mission Box ─── */
.mission-box { background: var(--ink); border-radius: 16px; padding: 30px; color: var(--white); }
.mission-box h4 { font-size: .9rem; font-weight: 800; color: var(--lime); margin-bottom: 18px; letter-spacing: .05em; text-transform: uppercase; }
.mission-item { display: flex; gap: 14px; align-items: flex-start; padding: 16px 0; border-bottom: 1px solid rgba(255,255,255,.07); }
.mission-item:last-child { border-bottom: none; }
.mi-num {
  flex-shrink: 0; width: 36px; height: 36px; background: var(--lime);
  border-radius: 9px; display: flex; align-items: center; justify-content: center;
  font-size: .85rem; font-weight: 900; color: var(--ink);
}
.mission-item h5 { font-size: .93rem; font-weight: 800; color: var(--white); margin-bottom: 4px; }
.mission-item p  { font-size: .82rem; color: rgba(255,255,255,.52); line-height: 1.65; }

/* ─── Platform Table ─── */
.platform-block { border-radius: 14px; overflow: hidden; box-shadow: var(--shadow); }
.pb-head {
  background: var(--ink2); display: grid;
  grid-template-columns: 1.7fr 1fr 1fr 1fr;
  padding: 12px 20px; font-size: .7rem; font-weight: 700;
  letter-spacing: .07em; color: rgba(255,255,255,.45); text-transform: uppercase;
}
.pb-row {
  display: grid; grid-template-columns: 1.7fr 1fr 1fr 1fr;
  padding: 14px 20px; border-bottom: 1px solid rgba(0,0,0,.06);
  align-items: center; transition: background .2s; background: var(--white);
}
.pb-row:last-child { border-bottom: none; }
.pb-row:hover { background: var(--lime-pale); }
.pb-platform { font-size: .88rem; font-weight: 700; color: var(--ink); }
.pb-platform small { display: block; font-size: .69rem; color: var(--gray); font-weight: 400; margin-top: 1px; }
.pb-row span { font-size: .8rem; color: var(--gray2); }
.pb-row .hl  { color: var(--lime-dark); font-weight: 700; }
.pb-total {
  background: var(--lime-pale); padding: 12px 20px;
  display: flex; justify-content: space-between; align-items: center;
  border-top: 2px solid var(--lime);
}
.pb-total span { font-size: .8rem; font-weight: 700; color: var(--lime-dark); }

/* ─── Clusters ─── */
.cluster-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 14px;
  margin-top: 36px;
}
.cluster {
  background: var(--white); border: 1.5px solid rgba(0,0,0,.08);
  border-radius: 8px; padding: 7px 15px; font-size: .82rem; font-weight: 600;
  color: var(--ink2); transition: all .2s; cursor: default;
}
.cluster:hover { background: var(--lime); border-color: var(--lime); color: var(--ink); }
.cluster.key   { background: var(--lime-pale); border-color: rgba(141,198,63,.4); color: var(--lime-dark); }

/* ─── Services Tab ─── */
.svc-tabs { display: flex; gap: 12px; margin: 36px 0 44px; flex-wrap: wrap; }
.svc-tab {
  padding: 11px 26px; border-radius: 999px; font-size: .88rem; font-weight: 700;
  cursor: pointer; border: 2px solid rgba(0,0,0,.12); color: var(--gray);
  transition: all .2s; background: var(--white);
}
.svc-tab.active { background: var(--lime); border-color: var(--lime); color: var(--ink); }
.svc-panel { display: none; }
.svc-panel.active { display: block; }
.svc-badge {
  display: inline-flex; align-items: center;
  background: var(--lime); color: var(--ink);
  padding: 5px 16px; border-radius: 999px;
  font-size: .72rem; font-weight: 800; letter-spacing: .07em; margin-bottom: 16px;
}
.svc-panel h3 { font-size: 1.85rem; font-weight: 900; margin-bottom: 14px; line-height: 1.2; }
.svc-panel p  { color: var(--gray); margin-bottom: 16px; font-size: .94rem; }

/* Service list */
.svc-list { list-style: none; margin: 18px 0 28px; }
.svc-list li { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 12px; font-size: .9rem; }
.svc-list li::before {
  content: ''; flex-shrink: 0;
  width: 20px; height: 20px; border-radius: 50%; background: var(--lime);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 6l3 3 5-5' stroke='%230F1A05' stroke-width='1.8' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-size: 64%; background-repeat: no-repeat; background-position: center;
  margin-top: 2px;
}

/* Service right card */
.svc-right {
  background: var(--ink); border-radius: 18px; padding: 30px; color: var(--white);
}
.svc-right h4 { font-size: .88rem; font-weight: 800; color: var(--lime); margin-bottom: 16px; letter-spacing: .05em; text-transform: uppercase; }
.why-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 22px; }
.why-item {
  background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.07);
  border-radius: 10px; padding: 16px;
}
.why-item .wi-icon { font-size: 1.4rem; margin-bottom: 7px; }
.why-item h5 { font-size: .8rem; font-weight: 800; color: var(--white); margin-bottom: 4px; }
.why-item p  { font-size: .74rem; color: rgba(255,255,255,.5); line-height: 1.55; }
.buyer-tags  { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 20px; }
.buyer-tag {
  background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.1);
  border-radius: 6px; padding: 6px 12px; font-size: .78rem; color: rgba(255,255,255,.72);
}

/* Steps */
.steps .step-item { display: flex; gap: 14px; align-items: flex-start; padding: 15px 0; border-bottom: 1px solid rgba(0,0,0,.07); }
.steps .step-item:last-child { border-bottom: none; }
.step-dot {
  flex-shrink: 0; width: 32px; height: 32px; background: var(--ink);
  border-radius: 50%; display: flex; align-items: center; justify-content: center;
  font-size: .78rem; font-weight: 900; color: var(--lime); margin-top: 2px;
}
.step-item h5 { font-size: .9rem; font-weight: 700; margin-bottom: 3px; }
.step-item p  { font-size: .82rem; color: var(--gray); }

/* Mode cards */
.mode-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 18px 0; }
.mode-card { border-radius: 11px; padding: 20px 18px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.08); }
.mode-card.a { background: var(--lime-pale); border: 1px solid rgba(141,198,63,.2); }
.mode-card.b { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.08); }
.mode-card h5 { font-size: .87rem; font-weight: 800; margin-bottom: 6px; }
.mode-card.a h5 { color: var(--lime-dark); }
.mode-card.b h5 { color: var(--lime); }
.mode-card p  { font-size: .78rem; line-height: 1.6; color: rgba(255,255,255,.68); }
.mode-card.a p { color: var(--gray); }
.mode-card.b p { color: rgba(255,255,255,.52); }

/* ─── Factory section ─── */
.fcard { background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.08); border-radius: var(--radius); padding: 22px; margin-bottom: 14px; }
.fcard h4 { font-size: .9rem; font-weight: 800; color: var(--lime); margin-bottom: 7px; display: flex; align-items: center; gap: 8px; }
.fcard p  { font-size: .83rem; color: rgba(255,255,255,.58); line-height: 1.65; }
.guarantee { background: rgba(141,198,63,.08); border: 1px solid rgba(141,198,63,.18); border-radius: var(--radius); padding: 20px; margin-top: 18px; }
.guarantee h5 { font-size: .87rem; font-weight: 800; color: var(--lime); margin-bottom: 7px; }
.guarantee p  { font-size: .81rem; color: rgba(255,255,255,.58); line-height: 1.65; }
.ss-item { display: flex; gap: 14px; padding: 15px 0; border-bottom: 1px solid rgba(255,255,255,.07); }
.ss-item:last-child { border-bottom: none; }
.ss-num {
  flex-shrink: 0; width: 28px; height: 28px; background: var(--lime);
  border-radius: 50%; display: flex; align-items: center; justify-content: center;
  font-size: .74rem; font-weight: 900; color: var(--ink); margin-top: 2px;
}
.ss-item h5 { font-size: .88rem; font-weight: 700; color: var(--white); margin-bottom: 3px; }
.ss-item p  { font-size: .8rem; color: rgba(255,255,255,.52); }

/* ─── How It Works ─── */
.how-steps { display: grid; grid-template-columns: repeat(5,1fr); gap: 0; margin-top: 52px; position: relative; }
.how-steps::before {
  content: ''; position: absolute; top: 26px; left: 10%; right: 10%; height: 2px;
  background: linear-gradient(90deg, var(--lime), rgba(141,198,63,.15));
}
.how-step { text-align: center; padding: 0 10px; }
.how-num {
  width: 52px; height: 52px; border-radius: 50%; background: var(--lime);
  display: flex; align-items: center; justify-content: center;
  font-size: .95rem; font-weight: 900; color: var(--ink);
  margin: 0 auto 16px; border: 4px solid var(--white);
  box-shadow: 0 0 0 2px var(--lime); position: relative; z-index: 1;
}
.how-step h4 { font-size: .85rem; font-weight: 800; margin-bottom: 6px; }
.how-step p  { font-size: .76rem; color: var(--gray); line-height: 1.55; }

/* ─── CTA Band ─── */
.cta-band { background: var(--lime); padding: 72px 0; text-align: center; }
.cta-band h2 { font-size: clamp(1.7rem, 3vw, 2.5rem); font-weight: 900; color: var(--ink); margin-bottom: 12px; }
.cta-band p  { font-size: 1.03rem; color: rgba(15,26,5,.62); margin-bottom: 28px; max-width: 520px; margin-left: auto; margin-right: auto; }
.cta-btns { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }

/* ─── Contact ─── */
.contact-grid { display: grid; grid-template-columns: 1fr 1.5fr; gap: 64px; align-items: start; margin-top: 52px; }
.contact-info p { color: rgba(255,255,255,.8); margin-bottom: 28px; font-size: .95rem; }
.ci-item { display: flex; align-items: flex-start; gap: 14px; margin-bottom: 18px; }
.ci-icon {
  width: 42px; height: 42px; border-radius: 10px;
  background: rgba(141,198,63,.14);
  display: flex; align-items: center; justify-content: center;
  font-size: 1.1rem; flex-shrink: 0;
}
.ci-lbl { font-size: .69rem; color: rgba(255,255,255,.58); margin-bottom: 2px; }
.ci-val { font-size: .9rem; font-weight: 600; color: var(--white); }
.social-row { display: flex; gap: 10px; margin-top: 24px; flex-wrap: wrap; }
.social-btn {
  display: flex; align-items: center; gap: 8px;
  background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.1);
  border-radius: 8px; padding: 9px 15px; font-size: .8rem; font-weight: 600;
  color: rgba(255,255,255,.68); transition: all .2s;
}
.social-btn:hover { background: var(--lime); color: var(--ink); border-color: var(--lime); }
.contact-form {
  background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.1);
  border-radius: 16px; padding: 36px;
}
.form-label-bar { font-size: .7rem; font-weight: 700; letter-spacing: .08em; color: rgba(255,255,255,.58); text-transform: uppercase; margin-bottom: 22px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.form-group { margin-bottom: 15px; }
.form-group label { display: block; font-size: .8rem; font-weight: 600; color: rgba(255,255,255,.78); margin-bottom: 6px; }
.form-group input,
.form-group textarea,
.form-group select {
  width: 100%; padding: 11px 15px;
  background: rgba(255,255,255,.06); border: 1.5px solid rgba(255,255,255,.11);
  border-radius: 8px; font-size: .88rem; font-family: inherit;
  color: var(--white); outline: none; transition: border-color .2s;
}
.form-group select option { background: #1a2d08; color: var(--white); }
.form-group input::placeholder,
.form-group textarea::placeholder { color: rgba(255,255,255,.45); }
.form-group input:focus,
.form-group textarea:focus,
.form-group select:focus { border-color: var(--lime); }
.form-group textarea { resize: vertical; min-height: 100px; }
.form-note { text-align: center; font-size: .72rem; color: rgba(255,255,255,.58); margin-top: 12px; }

/* ─── Footer ─── */
footer {
  background: #070E02; color: rgba(255,255,255,.45);
  padding: 68px 0 28px; border-top: 1px solid rgba(255,255,255,.05);
}
.footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 48px; margin-bottom: 52px; }
.footer-logo { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; }
.footer-brand p { font-size: .83rem; max-width: 280px; line-height: 1.72; color: rgba(255,255,255,.72); }
.footer-tagline { margin-top: 16px; font-size: .78rem; font-style: italic; color: var(--lime); opacity: 1; }
.footer-parent { margin-top: 14px; display: flex; align-items: center; gap: 8px; }
.fp-badge { background: rgba(141,198,63,.12); border: 1px solid rgba(141,198,63,.2); border-radius: 6px; padding: 3px 10px; font-size: .7rem; color: var(--lime); font-weight: 700; }
.footer-col h5 { color: var(--white); font-size: .78rem; font-weight: 700; margin-bottom: 13px; letter-spacing: .05em; text-transform: uppercase; }
.footer-col ul { list-style: none; }
.footer-col li { margin-bottom: 9px; }
.footer-col a { font-size: .81rem; transition: color .2s; }
.footer-col a:hover { color: var(--lime); }
.footer-bottom { border-top: 1px solid rgba(255,255,255,.07); padding-top: 22px; display: flex; justify-content: space-between; align-items: center; font-size: .76rem; flex-wrap: wrap; gap: 10px; }

/* ─── Honor Tags ─── */
.honor-tags { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.honor-tag {
  display: inline-flex; align-items: center; gap: 8px;
  background: var(--lime-pale); border: 1px solid rgba(141,198,63,.3);
  border-radius: 8px; padding: 8px 14px; font-size: .78rem; font-weight: 600; color: var(--lime-dark);
}
.why-partner { margin-top: 22px; background: rgba(141,198,63,.07); border: 1px solid rgba(141,198,63,.15); border-radius: var(--radius); padding: 18px; }
.why-partner h5 { font-size: .82rem; font-weight: 800; color: var(--lime); margin-bottom: 10px; }
.why-partner ul { list-style: none; }
.why-partner li { font-size: .8rem; color: rgba(255,255,255,.58); line-height: 2.1; }
.why-partner li::before { content: '✓  '; color: var(--lime); }

/* ─── Category Tags ─── */
.category-tags { display: flex; justify-content: center; gap: 16px; margin-top: 28px; flex-wrap: wrap; }
.cat-tag { display: flex; align-items: center; gap: 9px; background: var(--white); border: 1px solid rgba(0,0,0,.08); border-radius: 999px; padding: 9px 20px; font-size: .84rem; font-weight: 700; box-shadow: var(--shadow); }
.category-tag {
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--white); border: 1px solid rgba(0,0,0,.08);
  border-radius: 999px; padding: 9px 20px; font-size: .84rem; font-weight: 700;
  color: var(--ink2); box-shadow: var(--shadow);
}
.cat-dot { width: 9px; height: 9px; border-radius: 50%; flex-shrink: 0; }

/* ─── RTL Overrides (Arabic) ─── */
[dir="rtl"] {
  font-family: 'Cairo', 'Segoe UI', Tahoma, Arial, sans-serif;
}
[dir="rtl"] .container { direction: rtl; }
[dir="rtl"] .nav-inner { flex-direction: row-reverse; }
[dir="rtl"] .nav-links { flex-direction: row-reverse; }
[dir="rtl"] .nav-right { flex-direction: row-reverse; }
[dir="rtl"] .hero-inner { direction: rtl; }
[dir="rtl"] .hero p,
[dir="rtl"] .hero h1,
[dir="rtl"] .hero-eyebrow { text-align: right; }
[dir="rtl"] .hero-btns { flex-direction: row-reverse; }
[dir="rtl"] .two-col { direction: rtl; }
[dir="rtl"] .sub { text-align: right; }
[dir="rtl"] .tag { letter-spacing: .02em; }
[dir="rtl"] .svc-list li { flex-direction: row-reverse; }
[dir="rtl"] .svc-list li::before { transform: scaleX(-1); }
[dir="rtl"] .step-item,
[dir="rtl"] .mission-item,
[dir="rtl"] .ci-item,
[dir="rtl"] .ss-item,
[dir="rtl"] .fcard h4 { flex-direction: row-reverse; }
[dir="rtl"] .step-item h5,
[dir="rtl"] .step-item p,
[dir="rtl"] .mission-item h5,
[dir="rtl"] .mission-item p { text-align: right; }
[dir="rtl"] .info-table td { text-align: right; }
[dir="rtl"] .pb-head,
[dir="rtl"] .pb-row { direction: rtl; }
[dir="rtl"] .footer-grid { direction: rtl; }
[dir="rtl"] .footer-bottom { flex-direction: row-reverse; }
[dir="rtl"] .contact-grid { direction: rtl; }
[dir="rtl"] .ci-lbl,
[dir="rtl"] .ci-val { text-align: right; }
[dir="rtl"] .breadcrumb { flex-direction: row-reverse; }
[dir="rtl"] .how-steps::before { background: linear-gradient(270deg, var(--lime), rgba(141,198,63,.15)); }
[dir="rtl"] .numbers-grid { direction: rtl; }
[dir="rtl"] .nb-item { border-right: none; border-left: 1px solid rgba(15,26,5,.12); }
[dir="rtl"] .nb-item:last-child { border-left: none; }
[dir="rtl"] .cta-band { direction: rtl; }
[dir="rtl"] .social-row { flex-direction: row-reverse; }
[dir="rtl"] .hero-tagline { text-align: right; }
[dir="rtl"] .honor-tags { direction: rtl; }
[dir="rtl"] .why-partner li { direction: rtl; }
[dir="rtl"] .plat-row { flex-direction: row-reverse; }
[dir="rtl"] .pb-total { flex-direction: row-reverse; }
[dir="rtl"] .form-row { direction: rtl; }
[dir="rtl"] .form-group label { text-align: right; }
[dir="rtl"] .form-group input,
[dir="rtl"] .form-group textarea,
[dir="rtl"] .form-group select { text-align: right; direction: rtl; }
[dir="rtl"] .stat-grid,
[dir="rtl"] .why-grid,
[dir="rtl"] .mode-cards { direction: rtl; }
[dir="rtl"] .stat-lbl,
[dir="rtl"] .hc-label { text-align: right; }
[dir="rtl"] .feat-card { text-align: right; }
[dir="rtl"] .feat-icon { margin-right: 0; }
[dir="rtl"] .svc-tabs { flex-direction: row-reverse; }
[dir="rtl"] .buyer-tags { flex-direction: row-reverse; flex-wrap: wrap; }
[dir="rtl"] .footer-col h5,
[dir="rtl"] .footer-col a,
[dir="rtl"] .footer-brand p,
[dir="rtl"] .footer-tagline { text-align: right; }
[dir="rtl"] .footer-col ul { padding-right: 0; }
[dir="rtl"] .cluster-grid { direction: rtl; }
[dir="rtl"] .category-tags { direction: rtl; }
[dir="rtl"] .page-hero { text-align: right; }
[dir="rtl"] .page-hero p { text-align: right; }

/* ─── Responsive ─── */
@media (max-width: 960px) {
  .nav-links, .nav-cta { display: none; }
  .nav-hamburger { display: flex; }
  .hero-inner { grid-template-columns: 1fr; gap: 40px; }
  .hero { min-height: auto; padding-bottom: 64px; }
  .two-col { grid-template-columns: 1fr; gap: 40px; }
  .contact-grid { grid-template-columns: 1fr; gap: 40px; }
  .numbers-grid { grid-template-columns: repeat(3,1fr); }
  .nb-item:nth-child(3) { border-right: none; }
  .nb-item:nth-child(n+4) { border-top: 1px solid rgba(15,26,5,.12); padding-top: 20px; margin-top: 20px; }
  .how-steps { grid-template-columns: repeat(3,1fr); }
  .how-steps::before { display: none; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .svc-grid { grid-template-columns: 1fr; }
  .factory-grid { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .container { padding: 0 18px; }
  .section { padding: 64px 0; }
  .numbers-grid { grid-template-columns: 1fr 1fr; }
  .stat-grid { grid-template-columns: 1fr 1fr; }
  .why-grid { grid-template-columns: 1fr; }
  .mode-cards, .form-row { grid-template-columns: 1fr; }
  .how-steps { grid-template-columns: 1fr 1fr; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-bottom { flex-direction: column; text-align: center; }
  .hero-btns { flex-direction: column; align-items: flex-start; }
  .cta-btns { flex-direction: column; align-items: center; }
  [dir="rtl"] .hero-btns { align-items: flex-end; }
  .pb-head, .pb-row { grid-template-columns: 1.4fr 1fr 1fr; }
  .pb-head span:nth-child(4), .pb-row span:nth-child(4) { display: none; }
}

/* ═══════════════════════════════════════════════
   COMPATIBILITY PATCH — alias classes used by
   generated HTML pages that differ from the
   design-system names above.
   ═══════════════════════════════════════════════ */

/* ─── Hero Layout (no .hero-inner wrapper) ─── */
/* Make .hero .container itself the 2-col grid   */
.hero .container {
  position: relative; z-index: 1;
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  column-gap: 80px;
  align-items: start;
}
/* All direct children go into column 1 */
.hero .container > * { grid-column: 1; }
/* .hero-card and .hero-inner span into column 2 */
.hero .container > .hero-card,
.hero .container > .hero-inner { grid-column: 2; grid-row: 1 / span 20; align-self: center; }
/* .hero-inner is its own wrapper — reset its inner display */
.hero .container > .hero-inner { display: contents; }

/* ─── Hero text aliases ─── */
.hero-title {
  font-size: clamp(2.4rem, 4.8vw, 3.7rem); font-weight: 900;
  line-height: 1.1; color: var(--white); margin-bottom: 10px;
}
.hero-title em { font-style: normal; color: var(--lime); }
.hero-subname {
  font-size: .86rem; font-weight: 600; color: rgba(255,255,255,.32);
  margin-bottom: 24px; letter-spacing: .04em;
}
.hero-desc {
  font-size: 1.04rem; color: rgba(255,255,255,.84);
  margin-bottom: 34px; max-width: 510px; line-height: 1.78;
}
.hero-buttons {
  display: flex; gap: 14px; flex-wrap: wrap; margin-bottom: 40px;
}

/* ─── Hero card stat grid aliases ─── */
.hc-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 22px;
}
.hc-stat {
  background: rgba(255,255,255,.05); border-radius: 12px; padding: 16px;
  border: 1px solid rgba(255,255,255,.06);
}
.hc-value {
  font-size: 1.65rem; font-weight: 900; color: var(--white); line-height: 1;
}
.hc-value span { font-size: .95rem; color: var(--lime); }

/* ─── Numbers band aliases ─── */
.numbers-row,
.numbers-inner {
  display: grid; grid-template-columns: repeat(5,1fr); gap: 0;
}
.numbers-item {
  text-align: center; padding: 0 16px;
  border-right: 1px solid rgba(15,26,5,.12);
}
.numbers-item:last-child { border-right: none; }
.numbers-value {
  font-size: 2.1rem; font-weight: 900; color: var(--ink); line-height: 1;
}
.numbers-label {
  font-size: .8rem; color: var(--ink2); margin-top: 7px; font-weight: 700;
}
.numbers-sub { font-size: .7rem; color: rgba(15,26,5,.5); margin-top: 2px; }

/* ─── Button size alias ─── */
.btn-lg { padding: 16px 40px; font-size: 1rem; }

/* ─── Section used as feat-grid container ─── */
section.feat-grid { display: block; margin-top: 0; }

/* ─── RTL aliases ─── */
[dir="rtl"] .hero .container { direction: rtl; }
[dir="rtl"] .hero-buttons { flex-direction: row-reverse; }
[dir="rtl"] .hero-title,
[dir="rtl"] .hero-desc,
[dir="rtl"] .hero-subname,
[dir="rtl"] .hero-eyebrow { text-align: right; }
[dir="rtl"] .numbers-row,
[dir="rtl"] .numbers-inner { direction: rtl; }
[dir="rtl"] .numbers-item { border-right: none; border-left: 1px solid rgba(15,26,5,.12); }
[dir="rtl"] .numbers-item:last-child { border-left: none; }
[dir="rtl"] .hc-grid { direction: rtl; }

/* ─── Responsive overrides for alias classes ─── */
@media (max-width: 960px) {
  .hero .container {
    grid-template-columns: 1fr;
    column-gap: 0;
  }
  .hero .container > .hero-card { grid-column: 1; grid-row: auto; }
  .numbers-row,
  .numbers-inner { grid-template-columns: repeat(3,1fr); }
  .numbers-item:nth-child(3) { border-right: none; }
  .numbers-item:nth-child(n+4) {
    border-top: 1px solid rgba(15,26,5,.12);
    padding-top: 20px; margin-top: 20px;
  }
}
@media (max-width: 600px) {
  .numbers-row,
  .numbers-inner { grid-template-columns: 1fr 1fr; }
  .hc-grid { grid-template-columns: 1fr 1fr; }
  .hero-buttons { flex-direction: column; align-items: flex-start; }
  [dir="rtl"] .hero-buttons { align-items: flex-end; }
}

/* ═══════════════════════════════════════════════
   EXTENDED COMPATIBILITY PATCH — covers ZH / AR / RU
   page-specific class names
   ═══════════════════════════════════════════════ */

/* ─── Hero-inner used directly inside .hero (zh) ─── */
.hero > .hero-inner {
  max-width: 1160px; margin: 0 auto; padding: 0 28px;
  position: relative; z-index: 1;
  display: grid; grid-template-columns: 1.15fr .85fr; gap: 80px; align-items: center;
}
.hero > .hero-inner > * { grid-column: 1; }
.hero > .hero-inner > .hero-cards,
.hero > .hero-inner > .hero-card { grid-column: 2; grid-row: 1 / span 20; align-self: center; }

/* ─── More hero text aliases (zh / ar / ru) ─── */
.hero-description {
  font-size: 1.04rem; color: rgba(255,255,255,.84);
  margin-bottom: 34px; max-width: 510px; line-height: 1.78;
}
.hero-ctas,
.hero-cta {
  display: flex; gap: 14px; flex-wrap: wrap; margin-bottom: 40px;
}
.hero-subtitle { font-size: .86rem; font-weight: 600; color: rgba(255,255,255,.56); margin-bottom: 24px; letter-spacing: .04em; }

/* ─── Hero cards container (zh) ─── */
.hero-cards {
  background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.09);
  border-radius: 20px; padding: 30px;
}

/* ─── Stats grid aliases (zh / ru) ─── */
.hero-stats,
.hc-stats {
  display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 22px;
}
.stat-item {
  background: rgba(255,255,255,.05); border-radius: 12px; padding: 16px;
  border: 1px solid rgba(255,255,255,.06);
}
/* .stat-num already exists in CSS */
.stat-label { font-size: .7rem; color: rgba(255,255,255,.68); margin-top: 5px; line-height: 1.4; }

/* ─── Platform rows inside hero-cards (zh / ar / ru) ─── */
.hero-platforms,
.hc-platforms {
  margin-top: 16px; padding-top: 16px; border-top: 1px solid rgba(255,255,255,.09);
}
.platform-row,
.hc-platform-row {
  display: flex; justify-content: space-between; align-items: center;
  padding: 9px 0; border-bottom: 1px solid rgba(255,255,255,.06);
}
.platform-row:last-child,
.hc-platform-row:last-child { border-bottom: none; }
.platform-badge {
  font-size: .78rem; background: rgba(141,198,63,.12); color: var(--lime);
  padding: 3px 10px; border-radius: 999px; font-weight: 700; flex-shrink: 0;
}
.platform-info { flex: 1; margin-left: 12px; }
.platform-name,
.hc-platform { font-size: .8rem; font-weight: 700; color: var(--white); }
.platform-stats { font-size: .67rem; color: rgba(255,255,255,.6); margin-top: 1px; }

/* ─── Numbers band badge style (zh) ─── */
.number-badge {
  text-align: center; padding: 0 16px;
  font-size: 1.05rem; font-weight: 900; color: var(--ink); line-height: 1;
  border-right: 1px solid rgba(15,26,5,.12); flex: 1;
  display: flex; align-items: center; justify-content: center;
}
.number-badge:last-child { border-right: none; }
/* Make numbers-inner also work as flex for number-badge children */
.numbers-band .numbers-inner {
  display: flex; align-items: center;
  max-width: 1160px; margin: 0 auto; padding: 0 28px;
}

/* ─── Section-tag alias (zh) ─── */
.section-tag {
  display: inline-block; background: var(--lime-pale); color: var(--lime-dark);
  font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
  padding: 4px 14px; border-radius: 999px; margin-bottom: 14px;
}

/* ─── Services overview cards (zh) ─── */
.services-overview h2,
.why-section h2 {
  font-size: clamp(1.9rem, 3.5vw, 2.9rem); font-weight: 900;
  margin-bottom: 16px; letter-spacing: -.02em;
}
.services-overview > .container > p,
.why-section > .container > p { font-size: 1.05rem; color: var(--gray); max-width: 580px; line-height: 1.75; margin-bottom: 48px; }
.services-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 48px;
}
.service-card { border-radius: 16px; padding: 36px; }
.services-grid .service-card:not(.service-card-dark):not(.service-card-lime) {
  background: var(--white);
  border: 1px solid rgba(0,0,0,.07);
  box-shadow: var(--shadow);
}
.services-grid .service-card:not(.service-card-dark):not(.service-card-lime) h3 {
  color: var(--ink); font-size: 1.35rem; font-weight: 900; margin-bottom: 12px;
}
.services-grid .service-card:not(.service-card-dark):not(.service-card-lime) p {
  color: var(--gray); font-size: .9rem; line-height: 1.7; margin-bottom: 20px;
}
.service-card-dark { background: var(--ink); color: var(--white); }
.service-card-dark h3 { color: var(--white); font-size: 1.5rem; font-weight: 900; margin-bottom: 12px; }
.service-card-dark p { color: rgba(255,255,255,.6); font-size: .9rem; line-height: 1.7; margin-bottom: 20px; }
.service-card-lime { background: var(--lime); color: var(--ink); }
.service-card-lime h3 { color: var(--ink); font-size: 1.5rem; font-weight: 900; margin-bottom: 12px; }
.service-card-lime p { color: var(--ink2); font-size: .9rem; line-height: 1.7; margin-bottom: 20px; }
.service-icon { font-size: 2.5rem; margin-bottom: 16px; display: block; }
.service-link { font-size: .85rem; font-weight: 700; text-decoration: none; }
.service-card-dark .service-link { color: var(--lime); }
.service-card-lime .service-link { color: var(--ink2); }

/* ─── Features grid (zh) ─── */
.features-grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(220px,1fr));
  gap: 22px; margin-top: 48px;
}
.why-section { padding: 96px 0; }

/* ─── RTL extras ─── */
[dir="rtl"] .hero > .hero-inner { direction: rtl; }
[dir="rtl"] .hero-ctas,
[dir="rtl"] .hero-cta { flex-direction: row-reverse; }
[dir="rtl"] .hero-description,
[dir="rtl"] .hero-subtitle { text-align: right; }
[dir="rtl"] .hero > .hero-inner > * { grid-column: 1; }
[dir="rtl"] .platform-info { margin-left: 0; margin-right: 12px; }
[dir="rtl"] .platform-row,
[dir="rtl"] .hc-platform-row { flex-direction: row-reverse; }
[dir="rtl"] .services-grid { direction: rtl; }
[dir="rtl"] .hero-ctas,
[dir="rtl"] .hero-cta { flex-direction: row-reverse; }

/* ─── Responsive extras ─── */
@media (max-width: 960px) {
  .hero > .hero-inner {
    grid-template-columns: 1fr; column-gap: 0; gap: 40px;
  }
  .hero > .hero-inner > .hero-cards,
  .hero > .hero-inner > .hero-card { grid-column: 1; grid-row: auto; }
  .services-grid { grid-template-columns: 1fr; }
  .numbers-band .numbers-inner { flex-wrap: wrap; justify-content: center; gap: 20px; }
  .number-badge { border-right: none; flex: 0 0 calc(33% - 20px); }
}
@media (max-width: 600px) {
  .hero-stats, .hc-stats { grid-template-columns: 1fr 1fr; }
  .number-badge { flex: 0 0 calc(50% - 20px); }
  .hero-ctas, .hero-cta { flex-direction: column; align-items: flex-start; }
  [dir="rtl"] .hero-ctas, [dir="rtl"] .hero-cta { align-items: flex-end; }
}

/* ═══════════════════════════════════════════════
   INNER PAGE LAYOUT PATCH — about / services /
   contact pages across all languages
   ═══════════════════════════════════════════════ */

/* ─── Section containers with standard padding ─── */
.company-overview, .coverage-section, .honors-section,
.factories-section, .settle-section, .how-section,
.services-tabs-section, .svc-tabs-section, .why-section,
.faq-section, .social-section, .response-band,
.features-band, .group-background, .services-overview {
  padding: 96px 0;
}
.company-overview.section-alt,
.coverage-section.section-alt { background: var(--light); }
.services-overview.section-alt { background: var(--light); }

/* ─── Two-col structural aliases ─── */
.two-col-left,
.col-left,
.about-left { /* first column */ }

.two-col-right,
.col-right,
.about-right { /* second column */ }

/* Make about-two-col same as two-col */
.about-two-col {
  display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: start;
  margin-top: 56px;
}

/* ─── Info rows (div-based info table) ─── */
.info-row {
  display: flex; gap: 16px; padding: 11px 0;
  border-bottom: 1px solid rgba(0,0,0,.07); font-size: .86rem;
}
.info-row:last-child { border-bottom: none; }
.info-label {
  color: var(--gray); width: 130px; font-weight: 600; flex-shrink: 0;
}
.info-value { font-weight: 500; color: var(--ink); }

/* ─── Section tag variants ─── */
.section-tag-dark {
  display: inline-block; background: rgba(141,198,63,.12); color: var(--lime);
  font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
  padding: 4px 14px; border-radius: 999px; margin-bottom: 14px;
}
.section-light { background: var(--light); }

/* ─── CTA band dark variant ─── */
.cta-band-dark {
  background: var(--ink); padding: 72px 0; text-align: center; color: var(--white);
}
.cta-band-dark h2 { font-size: clamp(1.7rem, 3vw, 2.5rem); font-weight: 900; color: var(--white); margin-bottom: 12px; }
.cta-band-dark p  { font-size: 1.03rem; color: rgba(255,255,255,.6); margin-bottom: 28px; max-width: 520px; margin-left: auto; margin-right: auto; }
.cta-inner, .cta-content { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }

/* ─── Contact section wrappers ─── */
.contact-section { padding: 96px 0; }
.contact-left { /* first col */ }
.contact-right { /* second col */ }
.contact-form-wrapper {
  background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.1);
  border-radius: 16px; padding: 36px;
}
.form-wrapper { width: 100%; }
.form-section { margin-bottom: 22px; }
.form-content { width: 100%; }
.form-row-two { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.quick-contact {
  background: rgba(141,198,63,.08); border: 1px solid rgba(141,198,63,.18);
  border-radius: var(--radius); padding: 20px; margin-top: 24px;
}
.quick-btn {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 10px 22px; border-radius: 999px; font-size: .88rem; font-weight: 700;
  cursor: pointer; background: var(--lime); color: var(--ink);
  border: none; margin-top: 12px;
}

/* ─── Contact info items ─── */
.ci-items { margin-top: 24px; }
.ci-section { margin-bottom: 28px; }
.ci-label, .cii-label {
  font-size: .69rem; color: rgba(255,255,255,.38); margin-bottom: 4px;
  text-transform: uppercase; letter-spacing: .07em; font-weight: 700;
}
.ci-name, .ci-value, .cii-value {
  font-size: .9rem; font-weight: 600; color: var(--white);
}
.ci-region, .ci-specialty { font-size: .78rem; color: rgba(255,255,255,.5); margin-top: 2px; }

/* ─── Social buttons ─── */
.social-buttons { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 16px; }
.social-link {
  display: inline-flex; align-items: center; gap: 8px;
  background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.1);
  border-radius: 8px; padding: 9px 15px; font-size: .8rem; font-weight: 600;
  color: rgba(255,255,255,.68); transition: all .2s;
}
.social-link:hover { background: var(--lime); color: var(--ink); border-color: var(--lime); }

/* ─── Honors / Features sections ─── */
.honors-grid, .feat-cards-grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(220px,1fr));
  gap: 22px; margin-top: 48px;
}
.feature-card {
  background: var(--white); border: 1px solid rgba(0,0,0,.07);
  border-radius: var(--radius); padding: 28px 24px;
  transition: transform .25s, box-shadow .25s;
}
.feature-card:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.honor-icon, .why-icon, .fc-icon, .sli-icon, .fcard-icon {
  width: 48px; height: 48px; background: var(--lime-pale); border-radius: 12px;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.4rem; margin-bottom: 18px;
}
.why-text { font-size: .87rem; color: var(--gray); line-height: 1.65; }

/* ─── Cluster tags / cards ─── */
.cluster-item {
  background: rgba(255,255,255,.05);
  border: 1.5px solid rgba(255,255,255,.1);
  border-radius: 14px;
  padding: 18px 16px;
  font-size: .9rem;
  font-weight: 600;
  color: var(--white);
  transition: all .2s;
  display: block;
  min-height: 112px;
}
.cluster-item .ci-name {
  font-size: 1rem;
  font-weight: 800;
  color: var(--white);
}
.cluster-item .ci-region {
  font-size: .8rem;
  color: rgba(255,255,255,.62);
  margin-top: 6px;
}
.cluster-item .ci-specialty {
  font-size: .86rem;
  color: rgba(255,255,255,.8);
  margin-top: 8px;
}
.cluster-item.key {
  background: rgba(141,198,63,.12);
  border-color: rgba(141,198,63,.34);
  color: #c6f16f;
}
.cluster-item.key .ci-name {
  color: #c6f16f;
}
.cluster-item:hover {
  background: var(--lime);
  border-color: var(--lime);
  color: var(--ink);
  transform: translateY(-2px);
}
.cluster-item:hover .ci-name,
.cluster-item:hover .ci-region,
.cluster-item:hover .ci-specialty {
  color: var(--ink);
}
.cluster-tag {
  background: var(--white);
  border: 1.5px solid rgba(0,0,0,.08);
  border-radius: 8px;
  padding: 7px 15px;
  font-size: .82rem;
  font-weight: 600;
  color: var(--ink2);
  transition: all .2s;
  display: inline-block;
}
.cluster-tag:hover { background: var(--lime); border-color: var(--lime); color: var(--ink); }
.coverage-grid-simple {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
  margin-top: 36px;
}
.coverage-grid-simple .cluster-item {
  min-height: 96px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 16px 14px;
}
.cluster-grid.detail-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
.cluster-grid.detail-grid .cluster-item {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  text-align: left;
  min-height: 156px;
}

/* ─── Services tab variants ─── */
.svc-tabs, .services-tabs { display: flex; gap: 12px; margin: 36px 0 44px; flex-wrap: wrap; }
.svc-tab-nav {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  width: 100%;
}
.svc-tab-btn, .tab-btn {
  padding: 11px 26px; border-radius: 999px; font-size: .88rem; font-weight: 700;
  cursor: pointer; border: 2px solid rgba(0,0,0,.12); color: var(--gray);
  transition: all .2s; background: var(--white);
}
.svc-tab-btn.active, .tab-btn.active { background: var(--lime); border-color: var(--lime); color: var(--ink); }
.svc-tab-content, .tab-panel { display: none; }
.svc-tab-content.active, .tab-panel.active { display: block; }
.svc-content, .svc-tab-inner { width: 100%; }
.svc-left, .svc-right {
  min-width: 0;
}
.svc-item, .svc-list-item { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 12px; font-size: .9rem; }
.svc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: start; }
.settle-steps {
  display: grid; grid-template-columns: 1fr; gap: 14px; margin-top: 22px;
}
.settle-steps .settle-step {
  display: flex; gap: 14px; align-items: flex-start;
  padding: 16px 0; border-bottom: 1px solid rgba(255,255,255,.07);
}
.settle-steps .settle-step:last-child { border-bottom: none; }
.hc-row-label {
  font-size: .72rem; font-weight: 700; letter-spacing: .08em;
  color: rgba(255,255,255,.4); text-transform: uppercase; margin-bottom: 14px;
}

/* ─── How-it-works variants ─── */
.how-steps-expanded, .how-steps-full,
.hs-grid, .settle-steps-grid {
  display: grid; grid-template-columns: repeat(5,1fr); gap: 0; margin-top: 52px;
}
.hs-item, .settle-step, .hse-item {
  text-align: center; padding: 0 10px;
}
.hs-item,
.hse-item,
.ss-item {
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 18px;
  padding: 28px 20px;
  min-height: 100%;
}
.hs-item h4,
.hse-item h4,
.ss-item h4 {
  font-size: 1.05rem;
  font-weight: 800;
  color: var(--white);
  margin-bottom: 10px;
}
.hs-item p,
.hse-item p,
.ss-item p {
  font-size: .9rem;
  line-height: 1.7;
  color: rgba(255,255,255,.74);
}
.how-steps {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 24px;
  align-items: start;
  margin-top: 48px;
}
.hsi-num, .hsei-num, .step-circle, .step-num, .ssi-num {
  width: 52px; height: 52px; border-radius: 50%; background: var(--lime);
  display: flex; align-items: center; justify-content: center;
  font-size: .95rem; font-weight: 900; color: var(--ink);
  margin: 0 auto 16px; border: 4px solid var(--white);
  box-shadow: 0 0 0 2px var(--lime); position: relative; z-index: 1;
}
.hsi-title, .step-text, .settle-text { font-size: .85rem; font-weight: 800; margin-bottom: 6px; }
.settle-num { font-size: 2rem; font-weight: 900; color: var(--lime-dark); margin-bottom: 4px; }
.how-step {
  text-align: center;
  min-width: 0;
}
.how-step h4 {
  font-size: 1rem;
  font-weight: 800;
  color: var(--ink);
  margin-bottom: 10px;
}
.how-step p {
  font-size: .92rem;
  color: #5f6c7a;
  line-height: 1.6;
}

/* ─── Factory grid variants ─── */
.fcard-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 32px; }
.factory-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.fcard {
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 18px;
  padding: 28px 24px;
  color: var(--white);
  min-height: 100%;
}
.fcard h4 {
  font-size: 1.15rem;
  font-weight: 800;
  color: var(--white);
  margin-bottom: 10px;
}
.fcard p {
  font-size: .92rem;
  line-height: 1.7;
  color: rgba(255,255,255,.76);
}
.factory-guarantee, .guarantee-box {
  background: rgba(141,198,63,.08); border: 1px solid rgba(141,198,63,.18);
  border-radius: var(--radius); padding: 20px; margin-top: 18px;
}
.factory-guarantee h5, .guarantee-box h5 { font-size: .87rem; font-weight: 800; color: var(--lime); margin-bottom: 7px; }
.factory-guarantee p, .guarantee-box p { font-size: .81rem; color: rgba(255,255,255,.58); line-height: 1.65; }

/* ─── FAQ ─── */
.faq-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; margin-top: 48px; }
.faq-item {
  background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.08);
  border-radius: 12px; padding: 22px;
}
.faq-item h4 { font-size: .93rem; font-weight: 800; color: var(--white); margin-bottom: 8px; }
.faq-item p  { font-size: .84rem; color: rgba(255,255,255,.55); line-height: 1.65; }

/* ─── GONEXIS / group box ─── */
.gonexis-box, .group-background {
  background: var(--ink); border-radius: 16px; padding: 30px; color: var(--white);
}
.gonexis-content { }
.gx-name { font-size: 1.2rem; font-weight: 900; color: var(--lime); margin-bottom: 12px; }
.gonexis-box p { font-size: .88rem; color: rgba(255,255,255,.6); line-height: 1.7; }

/* ─── Platform table (div-based) ─── */
.platform-table, .pb-table {
  width: 100%; border-collapse: collapse;
  border-radius: 14px; overflow: hidden; box-shadow: var(--shadow); table-layout: fixed;
}
.platform-table thead,
.pb-table thead {
  background: var(--ink2); color: rgba(255,255,255,.78);
}
.platform-table th,
.pb-table th {
  padding: 14px 20px; text-align: left; font-size: .74rem; font-weight: 700;
  letter-spacing: .06em; text-transform: uppercase;
}
.platform-table td,
.pb-table td {
  padding: 16px 20px; background: var(--white); color: var(--ink); font-size: .88rem;
  border-bottom: 1px solid rgba(0,0,0,.06); vertical-align: top;
}
.platform-table tbody tr:hover td,
.pb-table tbody tr:hover td { background: var(--lime-pale); }
.platform-table th:first-child,
.platform-table td:first-child,
.pb-table th:first-child,
.pb-table td:first-child {
  width: 34%;
}
.platform-table th:not(:first-child),
.platform-table td:not(:first-child),
.pb-table th:not(:first-child),
.pb-table td:not(:first-child) {
  width: 22%;
}
.pt-header, .pt-col {
  display: grid; grid-template-columns: 1.7fr 1fr 1fr 1fr;
}
.pt-header { background: var(--ink2); padding: 12px 20px; }
.pt-col-1 { font-size: .7rem; font-weight: 700; letter-spacing: .07em; color: rgba(255,255,255,.72); text-transform: uppercase; }
.pt-row { display: grid; grid-template-columns: 1.7fr 1fr 1fr 1fr; padding: 14px 20px; border-bottom: 1px solid rgba(0,0,0,.06); background: var(--white); }
.pt-row:hover { background: var(--lime-pale); }

/* ─── Numbers / stats generic ─── */
.num-value, .ni-num, .nb-value, .fc-number {
  font-size: 2.1rem; font-weight: 900; color: var(--ink); line-height: 1;
}
.num-label, .ni-label { font-size: .8rem; color: var(--ink2); margin-top: 7px; font-weight: 700; }
.number-item { text-align: center; padding: 0 16px; }
.mb-item {
  text-align: center; padding: 0 16px;
  border-right: 1px solid rgba(15,26,5,.12);
}
.mb-item:last-child { border-right: none; }
.wg-item, .wgi-icon { /* generic feature items */ }
.why-partner-box {
  background: rgba(141,198,63,.07); border: 1px solid rgba(141,198,63,.15);
  border-radius: var(--radius); padding: 18px; margin-top: 22px;
}
.why-partner-box h5 { font-size: .82rem; font-weight: 800; color: var(--lime); margin-bottom: 10px; }
.wp-list { list-style: none; }
.wp-list li { font-size: .8rem; color: rgba(255,255,255,.58); line-height: 2.1; }
.wp-list li::before { content: '✓  '; color: var(--lime); }
.settle-steps-grid {
  gap: 24px;
  margin-top: 28px;
}

/* ─── Generic utility aliases ─── */
.section-main { padding: 96px 0; }
.section-divider {
  margin: 52px 0;
  padding-top: 32px;
  border-top: 1px solid rgba(141,198,63,.15);
  height: auto;
  background: none;
}
.divider        { height: 1px; background: rgba(0,0,0,.08); margin: 32px 0; }
.full-width { width: 100%; }
.desc, .pr-desc { font-size: .87rem; color: var(--gray); line-height: 1.65; }
.label  { font-size: .7rem; font-weight: 700; color: var(--gray2); text-transform: uppercase; letter-spacing: .07em; }
.value  { font-size: .9rem; font-weight: 600; color: var(--ink); }
.main   { min-height: calc(100vh - 66px); }
.btag {
  display: inline-block; background: rgba(141,198,63,.12); color: var(--lime);
  font-size: .72rem; font-weight: 700; padding: 3px 10px; border-radius: 6px;
}
.btn-full, .btn-block { width: 100%; justify-content: center; display: inline-flex; align-items: center; }
.link-arrow { font-size: .85rem; font-weight: 700; color: var(--lime); }
.link-arrow:hover { text-decoration: underline; }
.service-badge {
  display: inline-flex; align-items: center; background: var(--lime); color: var(--ink);
  padding: 5px 16px; border-radius: 999px; font-size: .72rem; font-weight: 800;
  letter-spacing: .07em; margin-bottom: 16px;
}
.service-cards-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px,1fr)); gap: 22px; margin-top: 48px; }
.sc-icon { width: 48px; height: 48px; background: var(--lime-pale); border-radius: 12px; display: flex; align-items: center; justify-content: center; font-size: 1.4rem; margin-bottom: 18px; }
.sc-link { font-size: .85rem; font-weight: 700; color: var(--lime); }
.pr-name { font-size: .88rem; font-weight: 700; color: var(--ink); }
.mission-icon { font-size: 1.6rem; margin-bottom: 10px; display: block; }
.mode-title { font-size: .87rem; font-weight: 800; margin-bottom: 6px; }

/* ─── Language picker aliases (root index.html) ─── */
.picker-wrap { min-height: 100vh; display: flex; align-items: center; justify-content: center; flex-direction: column; padding: 40px 20px; }
.picker-logo { display: flex; align-items: center; gap: 14px; margin-bottom: 12px; }
.picker-logo-mark { width: 52px; height: 52px; background: var(--lime); border-radius: 14px; display: flex; align-items: center; justify-content: center; font-weight: 900; font-size: 1.1rem; color: var(--ink); }
.picker-logo-text { font-size: 1.4rem; font-weight: 800; color: var(--white); }
.picker-title { font-size: clamp(1.6rem, 3.5vw, 2.5rem); font-weight: 900; color: var(--white); text-align: center; margin-bottom: 10px; }
.picker-tagline { font-size: 1rem; color: rgba(255,255,255,.5); text-align: center; margin-bottom: 48px; }
.lang-cards { display: grid; grid-template-columns: repeat(2,1fr); gap: 16px; max-width: 580px; width: 100%; }
.lang-card {
  background: rgba(255,255,255,.05); border: 1.5px solid rgba(255,255,255,.1);
  border-radius: 16px; padding: 28px 24px; cursor: pointer; transition: all .25s;
  text-decoration: none; display: flex; flex-direction: column; align-items: flex-start;
}
.lang-card:hover { background: rgba(141,198,63,.1); border-color: rgba(141,198,63,.4); transform: translateY(-4px); }
.lang-flag { font-size: 2.2rem; margin-bottom: 12px; }
.lang-name-native { font-size: 1.3rem; font-weight: 800; color: var(--white); }
.lang-name-en { font-size: .8rem; color: rgba(255,255,255,.4); margin-top: 2px; }
.lang-enter { font-size: .75rem; color: var(--lime); margin-top: 14px; font-weight: 700; }
.picker-footer { margin-top: 48px; text-align: center; font-size: .76rem; color: rgba(255,255,255,.25); }

/* ─── RTL inner page overrides ─── */
[dir="rtl"] .about-two-col { direction: rtl; }
[dir="rtl"] .info-row { flex-direction: row-reverse; }
[dir="rtl"] .info-label { text-align: right; }
[dir="rtl"] .info-value { text-align: right; }
[dir="rtl"] .contact-left, [dir="rtl"] .contact-right { text-align: right; }
[dir="rtl"] .cta-inner, [dir="rtl"] .cta-content { flex-direction: row-reverse; }
[dir="rtl"] .honors-grid, [dir="rtl"] .feat-cards-grid { direction: rtl; }
[dir="rtl"] .svc-grid { direction: rtl; }
[dir="rtl"] .faq-grid { direction: rtl; }
[dir="rtl"] .how-steps-expanded, [dir="rtl"] .hs-grid, [dir="rtl"] .settle-steps-grid { direction: rtl; }
[dir="rtl"] .lang-cards { direction: rtl; }
[dir="rtl"] .social-buttons { flex-direction: row-reverse; }

/* ─── Responsive inner pages ─── */
@media (max-width: 960px) {
  .about-two-col, .svc-grid, .fcard-grid, .factory-cards { grid-template-columns: 1fr; }
  .faq-grid { grid-template-columns: 1fr; }
  .how-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .how-steps-expanded, .how-steps-full, .hs-grid, .settle-steps-grid { grid-template-columns: repeat(3,1fr); }
  .lang-cards { grid-template-columns: 1fr 1fr; }
  .form-row-two { grid-template-columns: 1fr; }
  .services-grid { grid-template-columns: 1fr; }
  .coverage-grid-simple,
  .cluster-grid.detail-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .svc-tab-nav { flex-direction: column; }
  .how-steps { grid-template-columns: 1fr; }
  .how-steps-expanded, .how-steps-full, .hs-grid { grid-template-columns: 1fr 1fr; }
  .lang-cards { grid-template-columns: 1fr 1fr; }
  .cluster-grid { grid-template-columns: 1fr; }
  .coverage-grid-simple,
  .cluster-grid.detail-grid { grid-template-columns: 1fr 1fr; }
}

/* ═══════════════════════════════════════════════
   UI CONSISTENCY PATCH — spacing, contrast,
   and contact-page normalization
   ═══════════════════════════════════════════════ */

html, body {
  overflow-x: hidden;
}

body {
  color: #12210a;
}

.hero-eyebrow,
.hero-eyebrow span {
  font-size: .76rem;
  font-weight: 700;
  color: rgba(255,255,255,.82);
  letter-spacing: .05em;
}

.hero-subname,
.hero-sub-name,
.hero-subtitle {
  color: rgba(255,255,255,.68);
}

.hero-tagline {
  color: rgba(255,255,255,.8);
}

.sub,
.desc,
.pr-desc,
.services-overview > .container > p,
.why-section > .container > p {
  color: #4d5b56;
}

.label,
.pb-row span {
  color: #667382;
}

.page-hero p,
.breadcrumb,
.breadcrumb a,
.contact-info p,
.gonexis-box p,
.faq-item p,
.form-note,
.footer-brand p,
.footer-bottom,
.picker-tagline,
.lang-name-en {
  color: rgba(255,255,255,.74);
}

.nav-links a,
.lang-btn,
.nav-mobile-lang a {
  color: rgba(255,255,255,.72);
}

.nav-links a.active,
.nav-links a:hover,
.lang-btn:hover,
.nav-mobile-lang a:hover {
  color: var(--white);
}

.footer-parent span[style],
.footer-logo + p + .footer-tagline + .footer-parent span[style] {
  color: rgba(255,255,255,.62) !important;
}

.contact-section .contact-grid,
.section-dark .contact-grid {
  margin-top: 0;
}

.contact-grid {
  align-items: stretch;
}

.contact-left,
.contact-right,
.contact-info,
.contact-form,
.contact-form-wrapper {
  min-width: 0;
}

.contact-left h3,
.contact-info h3,
.contact-right h3 {
  font-size: 1.1rem;
  font-weight: 800;
  color: var(--white);
  margin-bottom: 16px;
}

.contact-left .ci-items,
.contact-info .ci-items {
  display: grid;
  gap: 14px;
}

.contact-left .ci-items .ci-item,
.contact-info .ci-items .ci-item {
  display: block;
  margin-bottom: 0;
  padding: 16px 18px;
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 12px;
}

.contact-left .ci-items .ci-item a,
.contact-info .ci-items .ci-item a,
.gonexis-box a,
.subsidiary-box a {
  color: #b5e96d;
}

.ci-label,
.cii-label,
.ci-lbl,
.form-label-bar {
  color: rgba(255,255,255,.82);
}

.ci-value,
.cii-value,
.ci-val {
  color: var(--white);
  line-height: 1.7;
}

.social-row,
.social-buttons {
  gap: 12px;
}

.social-btn,
.social-link {
  min-height: 42px;
  color: rgba(255,255,255,.82);
}

.contact-form,
.contact-form-wrapper {
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 16px;
  padding: 32px;
  box-shadow: 0 16px 48px rgba(0,0,0,.18);
}

.form-group label {
  color: rgba(255,255,255,.9);
}

.form-group input,
.form-group textarea,
.form-group select {
  background: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.18);
  color: var(--white);
}

.form-group input::placeholder,
.form-group textarea::placeholder {
  color: rgba(255,255,255,.6);
}

.form-group input:focus,
.form-group textarea:focus,
.form-group select:focus {
  background: rgba(255,255,255,.12);
  box-shadow: 0 0 0 3px rgba(141,198,63,.16);
}

.quick-contact,
.gonexis-box,
.subsidiary-box {
  border-radius: 14px;
}

.faq-grid {
  align-items: start;
}

.faq-item {
  height: 100%;
}

@media (max-width: 960px) {
  .contact-form,
  .contact-form-wrapper {
    padding: 24px;
  }
}

@media (max-width: 600px) {
  .contact-left .ci-items .ci-item,
  .contact-info .ci-items .ci-item,
  .contact-form,
  .contact-form-wrapper {
    padding: 18px;
  }

  .social-row,
  .social-buttons {
    flex-direction: column;
  }

  .social-btn,
  .social-link,
  .quick-btn {
    justify-content: center;
    width: 100%;
  }
}

/* ═══════════════════════════════════════════════
   FINAL LAYOUT STABILIZATION PATCH
   unify cross-language modules and fix collisions
   ═══════════════════════════════════════════════ */

/* 1) Resolve class-name collision of .how-steps in services wrappers */
.svc-content .how-steps,
.svc-left .how-steps,
.section-divider .how-steps,
section.how-steps {
  display: block !important;
  margin-top: 24px !important;
}

.svc-left .how-steps .step-item,
.svc-left .how-steps .settle-step {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  text-align: left;
  padding: 12px 0;
  border-bottom: 1px solid rgba(255,255,255,.09);
}

.svc-left .how-steps .step-item:last-child,
.svc-left .how-steps .settle-step:last-child {
  border-bottom: 0;
}

/* 2) EN services: 5 steps evenly distributed */
.how-steps-section .container {
  width: 100%;
}

.how-steps-section .how-steps-grid {
  width: 100%;
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 22px !important;
  justify-items: stretch;
}

.how-steps-section .how-step {
  width: 100%;
}

/* 3) Contact CTA alignment and button visibility */
.contact-cta-actions {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  width: min(420px, 100%);
  margin-left: auto;
  margin-right: auto;
}

.contact-cta-actions .btn {
  width: 100%;
  min-width: 0;
  justify-content: center;
}

/* 4) Unified cluster module (EN/ZH/RU about pages) */
.cluster-grid.coverage-grid-simple {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

.cluster-grid.detail-grid {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

.cluster-grid.coverage-grid-simple .cluster-item,
.cluster-grid.detail-grid .cluster-item {
  min-height: 62px !important;
  border-radius: 10px !important;
  padding: 10px 10px !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: .9rem;
  font-weight: 700;
  line-height: 1.35;
  transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
}

.cluster-grid.detail-grid .cluster-item {
  min-height: 66px !important;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  text-align: left;
  padding: 7px 9px !important;
}

.cluster-grid.detail-grid .cluster-item .ci-name {
  font-size: .86rem;
  font-weight: 800;
}

.cluster-grid.detail-grid .cluster-item .ci-region {
  display: none !important;
}

.cluster-grid.detail-grid .cluster-item .ci-specialty {
  margin-top: 2px;
  font-size: .76rem;
}

/* dark section variants */
.section-dark .cluster-item {
  background: rgba(255,255,255,.05) !important;
  border: 1.5px solid rgba(255,255,255,.12) !important;
  color: rgba(255,255,255,.9) !important;
}

.section-dark .cluster-item .ci-name,
.section-dark .cluster-item .ci-region,
.section-dark .cluster-item .ci-specialty {
  color: rgba(255,255,255,.9) !important;
}

/* light section variants */
.section-light .cluster-item,
.coverage-section .cluster-item {
  background: #f2f7e8 !important;
  border: 1.5px solid rgba(90,138,26,.22) !important;
  color: #223215 !important;
}

.section-light .cluster-item .ci-name,
.section-light .cluster-item .ci-region,
.section-light .cluster-item .ci-specialty,
.coverage-section .cluster-item .ci-name,
.coverage-section .cluster-item .ci-region,
.coverage-section .cluster-item .ci-specialty {
  color: #223215 !important;
}

.cluster-item.key {
  background: rgba(141,198,63,.2) !important;
  border-color: rgba(141,198,63,.5) !important;
}

.cluster-item:hover {
  background: var(--lime) !important;
  border-color: var(--lime) !important;
  color: var(--ink) !important;
  transform: translateY(-2px);
}

.cluster-item:hover .ci-name,
.cluster-item:hover .ci-region,
.cluster-item:hover .ci-specialty {
  color: var(--ink) !important;
}

/* 5) RU about table alignment */
.platform-table,
.pb-table {
  table-layout: auto !important;
  width: 100%;
}

.platform-table th,
.platform-table td,
.pb-table th,
.pb-table td {
  vertical-align: middle !important;
}

.platform-table th:first-child,
.platform-table td:first-child,
.pb-table th:first-child,
.pb-table td:first-child {
  text-align: left;
  width: 40% !important;
}

.platform-table th:not(:first-child),
.platform-table td:not(:first-child),
.pb-table th:not(:first-child),
.pb-table td:not(:first-child) {
  text-align: center;
  width: 20% !important;
}

/* 6) RU index hero card text contrast */
.hero .platform-row .pr-desc,
.hero .pr-desc,
.hero-card .pr-desc {
  color: rgba(255,255,255,.9) !important;
}

.hero .platform-row .pr-name,
.hero .pr-name,
.hero-card .pr-name {
  color: rgba(255,255,255,.98) !important;
}

/* 7) RU services section-divider and card spacing */
.section-divider {
  margin-top: 44px !important;
  padding-top: 28px !important;
  border-top: 1px solid rgba(141,198,63,.22) !important;
  background: transparent !important;
}

.section-divider .how-steps-expanded {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 16px !important;
  margin-top: 20px !important;
}

.section-light .section-divider h2 {
  color: var(--ink) !important;
}

.section-light .section-divider .hse-item {
  background: #10240a !important;
  border: 1px solid rgba(141,198,63,.22) !important;
}

.section-light .section-divider .hse-item h4 {
  color: #ffffff !important;
}

.section-light .section-divider .hse-item p {
  color: rgba(255,255,255,.82) !important;
}

.section-divider .hse-item {
  min-height: 230px;
  padding: 22px 16px;
}

.settle-section {
  margin-top: 46px;
}

.settle-section h3 {
  color: var(--white);
  font-size: clamp(1.5rem, 2.8vw, 2rem);
  margin-bottom: 20px;
}

.settle-section .settle-steps-grid {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 16px !important;
  margin-top: 0 !important;
}

.settle-section .ss-item {
  display: block !important;
  min-height: 214px;
  padding: 20px 16px !important;
  border-bottom: 0 !important;
  border-radius: 14px;
  background: rgba(255,255,255,.04) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
}

.settle-section .ss-item h4 {
  color: var(--white) !important;
  margin-bottom: 8px;
}

.settle-section .ss-item p {
  color: rgba(255,255,255,.8) !important;
}

.settle-section .ssi-num {
  margin: 0 0 12px 0 !important;
}

/* responsive for stabilized modules */
@media (max-width: 1100px) {
  .how-steps-section .how-steps-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .cluster-grid.coverage-grid-simple,
  .cluster-grid.detail-grid,
  .section-divider .how-steps-expanded,
  .settle-section .settle-steps-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 760px) {
  .how-steps-section .how-steps-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .cluster-grid.coverage-grid-simple,
  .cluster-grid.detail-grid,
  .section-divider .how-steps-expanded,
  .settle-section .settle-steps-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .contact-cta-actions .btn {
    width: 100%;
    min-width: 0;
  }
}

@media (max-width: 520px) {
  .how-steps-section .how-steps-grid,
  .cluster-grid.coverage-grid-simple,
  .cluster-grid.detail-grid,
  .section-divider .how-steps-expanded,
  .settle-section .settle-steps-grid {
    grid-template-columns: 1fr !important;
  }
}

/* ═══════════════════════════════════════════════
   MOBILE ONLY PATCH (<=760px)
   keep desktop unchanged, optimize phone layout
   ═══════════════════════════════════════════════ */
@media (max-width: 760px) {
  .container {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .section,
  .company-overview,
  .coverage-section,
  .honors-section,
  .factories-section,
  .settle-section,
  .how-section,
  .services-tabs-section,
  .svc-tabs-section,
  .why-section,
  .faq-section,
  .social-section,
  .response-band,
  .features-band,
  .group-background,
  .services-overview,
  .contact-section {
    padding-top: 56px !important;
    padding-bottom: 56px !important;
  }

  .page-hero {
    padding-top: calc(var(--nav-h) + 34px) !important;
    padding-bottom: 38px !important;
  }

  .page-hero h1,
  .hero h1,
  .hero-title {
    font-size: clamp(1.75rem, 8vw, 2.25rem) !important;
    line-height: 1.12 !important;
  }

  .sh,
  .section h2,
  .section-light h2,
  .section-dark h2 {
    font-size: clamp(1.45rem, 6.8vw, 1.95rem) !important;
    line-height: 1.2 !important;
    margin-bottom: 10px !important;
  }

  .sub,
  .hero-desc,
  .page-hero p,
  .svc-panel p,
  .desc,
  .pr-desc {
    font-size: .95rem !important;
    line-height: 1.62 !important;
  }

  .hero {
    min-height: auto !important;
    padding-bottom: 34px !important;
  }

  .hero-card,
  .hero-cards {
    padding: 18px !important;
    border-radius: 14px !important;
  }

  .hero-cta,
  .hero-ctas,
  .hero-buttons,
  .cta-btns {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    width: 100% !important;
  }

  .hero-cta .btn,
  .hero-ctas .btn,
  .hero-buttons .btn,
  .cta-btns .btn {
    width: 100% !important;
    justify-content: center !important;
  }

  .svc-tabs,
  .svc-tab-nav {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    margin-bottom: 22px !important;
  }

  .svc-tab,
  .svc-tab-btn,
  .tab-btn {
    width: 100% !important;
    min-height: 44px !important;
    padding: 11px 14px !important;
    font-size: .9rem !important;
    line-height: 1.25 !important;
    white-space: normal !important;
  }

  .svc-grid,
  .fcard-grid,
  .factory-cards,
  .why-grid,
  .mode-cards,
  .faq-grid,
  .about-two-col,
  .two-col {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  .how-steps-section .how-steps-grid,
  .section-divider .how-steps-expanded,
  .settle-section .settle-steps-grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .section-divider {
    margin-top: 28px !important;
    padding-top: 18px !important;
  }

  .section-divider .hse-item,
  .settle-section .ss-item,
  .fcard,
  .why-item,
  .faq-item,
  .svc-right,
  .contact-form,
  .contact-form-wrapper {
    min-height: auto !important;
    padding: 14px !important;
    border-radius: 12px !important;
  }

  .section-divider .hse-item h4,
  .settle-section .ss-item h4,
  .fcard h4,
  .faq-item h4 {
    font-size: 1rem !important;
  }

  .section-divider .hse-item p,
  .settle-section .ss-item p,
  .fcard p,
  .faq-item p {
    font-size: .9rem !important;
    line-height: 1.58 !important;
  }

  .cluster-grid.coverage-grid-simple {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  .cluster-grid.detail-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  .cluster-grid.coverage-grid-simple .cluster-item,
  .cluster-grid.detail-grid .cluster-item {
    min-height: 52px !important;
    padding: 6px 7px !important;
    border-radius: 8px !important;
    font-size: .8rem !important;
    line-height: 1.3 !important;
  }

  .cluster-grid.detail-grid .cluster-item .ci-name {
    font-size: .8rem !important;
    line-height: 1.2 !important;
  }

  .cluster-grid.detail-grid .cluster-item .ci-specialty {
    font-size: .72rem !important;
    margin-top: 2px !important;
    line-height: 1.25 !important;
  }

  .platform-table-wrap,
  .platform-block {
    overflow-x: auto;
  }

  .platform-table,
  .pb-table {
    min-width: 620px;
  }

  .form-row,
  .form-row-two {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }
}

@media (max-width: 520px) {
  .cluster-grid.coverage-grid-simple,
  .cluster-grid.detail-grid {
    grid-template-columns: 1fr !important;
  }

  .logo-text {
    font-size: .95rem !important;
  }

  .logo-sub {
    font-size: .58rem !important;
  }
}

/* ═══════════════════════════════════════════════
   GLOBAL PHONE COVERAGE (all pages, mobile only)
   desktop remains unchanged
   ═══════════════════════════════════════════════ */
@media (max-width: 760px) {
  html, body {
    overflow-x: hidden;
  }

  /* Header / nav */
  nav.site-nav {
    height: 60px !important;
  }

  :root {
    --nav-h: 60px;
  }

  .nav-inner {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .nav-mobile-menu {
    top: var(--nav-h) !important;
    max-height: calc(100vh - var(--nav-h)) !important;
    overflow-y: auto !important;
    padding: 16px !important;
  }

  .nav-mobile-lang {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
  }

  .lang-switch {
    gap: 3px !important;
    flex-wrap: wrap;
  }

  .lang-btn {
    padding: 4px 8px !important;
    font-size: .68rem !important;
  }

  /* Generic typography */
  h3, h4, h5 {
    line-height: 1.24 !important;
  }

  p, li {
    word-break: break-word;
  }

  /* Hero + stats */
  .hero .container,
  .hero > .hero-inner {
    gap: 22px !important;
  }

  .hero-eyebrow,
  .tag,
  .section-tag,
  .section-tag-dark {
    font-size: .66rem !important;
    letter-spacing: .08em !important;
    padding: 4px 10px !important;
  }

  .hero-tagline {
    font-size: .82rem !important;
    line-height: 1.5 !important;
  }

  .stat-grid,
  .hc-grid,
  .hero-stats,
  .hc-stats {
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
  }

  .stat-box,
  .hc-stat,
  .stat-item {
    padding: 10px !important;
  }

  .stat-num,
  .hc-value {
    font-size: 1.2rem !important;
  }

  .platform-row,
  .hc-platform-row,
  .plat-row {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 2px !important;
    padding: 8px 0 !important;
  }

  .platform-badge,
  .plat-badge {
    font-size: .7rem !important;
  }

  /* Number bands */
  .numbers-grid,
  .numbers-row,
  .numbers-inner {
    grid-template-columns: 1fr 1fr !important;
    gap: 0 !important;
  }

  .number-item,
  .numbers-item,
  .nb-item,
  .mb-item {
    padding: 12px 8px !important;
    border: 0 !important;
  }

  .ni-num,
  .nb-num,
  .numbers-value,
  .num-value {
    font-size: 1.45rem !important;
  }

  .ni-label,
  .nb-lbl,
  .numbers-label,
  .num-label {
    font-size: .72rem !important;
  }

  /* Cards and content groups */
  .service-card,
  .feat-card,
  .feature-card,
  .mission-box,
  .gonexis-box,
  .group-background,
  .quick-contact,
  .guarantee,
  .guarantee-box,
  .factory-guarantee,
  .why-partner,
  .why-partner-box,
  .subsidiary-box {
    padding: 14px !important;
    border-radius: 12px !important;
  }

  .service-card h3,
  .feat-card h3,
  .feature-card h3,
  .feature-card h4,
  .svc-panel h3 {
    font-size: 1.18rem !important;
  }

  .service-card p,
  .feat-card p,
  .feature-card p,
  .svc-panel p {
    font-size: .9rem !important;
    line-height: 1.6 !important;
  }

  .buyer-tags,
  .honor-tags,
  .category-tags,
  .social-row,
  .social-buttons {
    gap: 8px !important;
  }

  .buyer-tag,
  .honor-tag,
  .category-tag,
  .cat-tag,
  .social-btn,
  .social-link {
    font-size: .76rem !important;
    padding: 7px 10px !important;
  }

  /* Lists / steps in all language service pages */
  .steps-list li,
  .step-item,
  .settle-step,
  .ss-item,
  .hs-item,
  .hse-item,
  .how-step,
  .mode-card,
  .why-item,
  .fcard {
    min-height: auto !important;
  }

  .step-num,
  .step-circle,
  .hsi-num,
  .hsei-num,
  .ssi-num,
  .how-step-num {
    width: 40px !important;
    height: 40px !important;
    font-size: 1rem !important;
    margin-bottom: 10px !important;
  }

  /* Form */
  .form-group label {
    font-size: .8rem !important;
  }

  .form-group input,
  .form-group textarea,
  .form-group select {
    min-height: 42px;
    font-size: .9rem !important;
    padding: 10px 12px !important;
  }

  .form-group textarea {
    min-height: 96px !important;
  }

  .btn,
  .btn-lg {
    min-height: 44px !important;
    padding: 11px 16px !important;
    font-size: .9rem !important;
  }

  .btn-block,
  .btn-full {
    width: 100% !important;
  }

  /* Tables */
  .info-table,
  .platform-table,
  .pb-table {
    font-size: .78rem !important;
  }

  .info-table td,
  .platform-table td,
  .platform-table th,
  .pb-table td,
  .pb-table th {
    padding: 9px 8px !important;
  }

  /* Footer */
  .footer-grid {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    margin-bottom: 20px !important;
  }

  .footer-col h5 {
    margin-bottom: 8px !important;
  }

  .footer-bottom {
    flex-direction: column !important;
    text-align: center !important;
    gap: 6px !important;
  }

  /* Language picker root page */
  .picker-wrap {
    padding: 26px 16px !important;
  }

  .picker-logo {
    gap: 10px !important;
    margin-bottom: 10px !important;
  }

  .picker-logo-mark {
    width: 42px !important;
    height: 42px !important;
    border-radius: 10px !important;
    font-size: 1rem !important;
  }

  .picker-logo-text .main {
    font-size: 1.2rem !important;
  }

  .picker-tagline {
    margin-bottom: 26px !important;
    font-size: .76rem !important;
  }

  .picker-title {
    margin-bottom: 16px !important;
    font-size: .64rem !important;
  }

  .lang-cards {
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
  }

  .lang-card {
    padding: 18px 10px !important;
    border-radius: 12px !important;
  }

  .lang-flag {
    font-size: 1.8rem !important;
    margin-bottom: 8px !important;
  }

  .lang-name-native {
    font-size: 1.05rem !important;
    margin-bottom: 2px !important;
  }

  .lang-name-en {
    font-size: .7rem !important;
    margin-bottom: 8px !important;
  }

  .lang-enter {
    font-size: .68rem !important;
  }
}

@media (max-width: 520px) {
  .nav-mobile-lang,
  .lang-cards,
  .numbers-grid,
  .numbers-row,
  .numbers-inner,
  .stat-grid,
  .hc-grid,
  .hero-stats,
  .hc-stats {
    grid-template-columns: 1fr !important;
  }

  .picker-footer {
    margin-top: 22px !important;
    font-size: .66rem !important;
  }
}
