/* ============================================================
   企业门户网站 · 全局样式（响应式 + RTL 支持）
   ============================================================ */
:root{
  --c-primary:#1b4f72;
  --c-primary-d:#13384f;
  --c-accent:#2d6a4f;
  --c-bg:#ffffff;
  --c-bg-soft:#f4f7fa;
  --c-text:#22282e;
  --c-muted:#5b6770;
  --c-border:#e2e8ee;
  --c-btn:#cfe8ff;
  --c-btn-text:#0d47a1;
  --radius:10px;
  --maxw:1180px;
  --shadow:0 2px 12px rgba(20,40,60,.08);
  --gap:20px;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
html{scroll-padding-top:160px;}
body{
  font-family:"Segoe UI","Microsoft YaHei","PingFang SC",system-ui,-apple-system,"Noto Sans",Arial,sans-serif;
  color:var(--c-text);background:var(--c-bg);line-height:1.7;font-size:16px;
}
/* ---------- 分语言字体栈 ----------
   全局字体栈里的字体都不含韩文谚文/阿拉伯字形，必须按语言显式声明首选字体，
   否则只能靠浏览器自行回退，渲染效果因操作系统而异。 */
html[lang="ko"] body{
  font-family:"Malgun Gothic","Apple SD Gothic Neo","Noto Sans KR","Nanum Gothic","Microsoft YaHei","Segoe UI",system-ui,-apple-system,Arial,sans-serif;
}
html[lang="ar"] body{
  font-family:"Tahoma","Noto Sans Arabic","Geeza Pro","Segoe UI",system-ui,-apple-system,Arial,sans-serif;
}
/* lang 属性走 BCP 47 规范写法（zh-Hans / zh-Hant，文字子标签首字母大写）。
   CSS 属性选择器对 lang 的值大小写敏感，所以两种写法都要覆盖，
   否则改成规范标签后繁体字体规则会静默失效。 */
html[lang="zh-hant"] body,
html[lang="zh-Hant"] body{
  font-family:"Microsoft JhengHei","PingFang TC","Noto Sans TC","Microsoft YaHei",system-ui,-apple-system,Arial,sans-serif;
}
/* 简体站沿用全局字体栈（已含雅黑/苹方），无需单独声明，避免拉丁字形无谓变化。 */
a{color:var(--c-primary);text-decoration:none;}
a:hover{text-decoration:underline;}
img{max-width:100%;display:block;}
.container{max-width:var(--maxw);margin:0 auto;padding:0 18px;}
h1,h2,h3,h4{line-height:1.3;color:var(--c-primary-d);}
h1{font-size:32px;margin:.2em 0 .4em;}
h2{font-size:26px;margin:.2em 0 .5em;}
h3{font-size:20px;}
p{margin:.4em 0;}

/* ---------- Header / Nav ---------- */
.site-header{background:var(--c-bg);border-bottom:1px solid var(--c-border);position:sticky;top:0;z-index:50;box-shadow:var(--shadow);}
/* 两行布局：第一行 品牌（公司名不换行），第二行 整条导航（避免长外文公司名把导航挤爆） */
.header-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:14px 0 12px;gap:12px;}
.brand{display:flex;align-items:center;gap:12px;font-weight:700;font-size:19px;color:var(--c-primary);white-space:nowrap;}
.brand small{display:block;font-size:12px;color:var(--c-muted);font-weight:400;}
/* 品牌 logo：约束高度，避免原图(1024px)被放大撑爆；inline-block 让 span 与之同行 */
.brand-logo{height:70px;width:auto;display:inline-block;object-fit:contain;flex:none;}
.brand-text{font-size:28px;font-weight:700;line-height:1.3;color:var(--c-primary);}
/* 独占第二行；flex-end = 行尾对齐（RTL 阿语下自动反向为自己的行尾，无需另写） */
.nav{display:flex;align-items:center;gap:4px;flex-wrap:wrap;flex:1 1 100%;justify-content:flex-end;}
.nav a.nav-link{
  padding:8px 14px;border-radius:8px;color:var(--c-text);font-size:16px;font-weight:500;
}
.nav a.nav-link:hover{background:var(--c-bg-soft);text-decoration:none;}
.nav a.nav-link.active{background:var(--c-accent);color:#fff;}
.header-tools{display:flex;align-items:center;gap:10px;}
.lang-select{
  padding:7px 10px;border:1px solid var(--c-border);border-radius:8px;background:var(--c-bg);
  font-size:15px;color:var(--c-text);cursor:pointer;min-width:120px;
}
/* 语言切换器在品牌行（第一行）行尾：margin-inline-start:auto 兼容 RTL 自动反向 */
.header-inner > .lang-select{margin-inline-start:auto;flex:none;}
.menu-toggle{display:none;background:none;border:1px solid var(--c-border);border-radius:8px;padding:8px 10px;cursor:pointer;flex-direction:column;gap:4px;align-items:center;justify-content:center;}
.menu-toggle .bar{display:block;width:20px;height:2px;background:var(--c-text);border-radius:2px;}

/* ---------- Hero / Banner ---------- */
.hero{
  background:linear-gradient(135deg,var(--c-primary),var(--c-accent));
  color:#fff;padding:64px 0;text-align:center;
}
.hero h1{color:#fff;font-size:34px;margin-bottom:.3em;line-height:1.3;}
.hero p{font-size:18px;opacity:.95;max-width:820px;margin:0 auto;line-height:1.65;}
.hero .btn-light{margin-top:22px;}

/* 多语言版面一致：西/法/德/俄等译文比中文长 3–4 倍，标题必然折行。
   这里不改字号（保持中文站的视觉规格），只让折行后各行长度尽量均衡、行距舒适，
   避免最后一行只剩一两个单词。旧浏览器不支持 text-wrap 时自动忽略，无副作用。 */
.hero h1,.hero p,.section-head h2,.section-head p,.subnav a{text-wrap:balance;}

/* ---------- Sections ---------- */
section.block{padding:54px 0;}
section.block.soft{background:var(--c-bg-soft);}
.section-head{text-align:center;margin-bottom:34px;}
.section-head h1,.section-head h2{font-size:26px;margin-bottom:.2em;line-height:1.3;}
.section-head p{color:var(--c-muted);}

/* ---------- Cards / Grid ---------- */
.grid{display:grid;gap:var(--gap);}
.grid-3{grid-template-columns:repeat(3,1fr);}
.grid-2{grid-template-columns:repeat(2,1fr);}
.card{background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow);}
.card h3{margin-top:0;color:var(--c-primary);}
.card .tag{display:inline-block;font-size:12px;background:var(--c-btn);color:var(--c-btn-text);padding:2px 8px;border-radius:6px;margin-bottom:8px;}

/* advantages */
.adv .card h3{color:var(--c-accent);}

/* partners logo wall */
.partners{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;}
.partners .logo{
  width:150px;height:70px;display:flex;align-items:center;justify-content:center;
  background:var(--c-bg);border:1px dashed var(--c-border);border-radius:8px;color:var(--c-muted);font-size:14px;text-align:center;
}

/* ---------- Buttons ---------- */
.btn{
  display:inline-block;padding:10px 20px;border-radius:8px;font-size:15px;cursor:pointer;border:1px solid transparent;
  background:var(--c-btn);border-color:#a9d4ff;color:var(--c-btn-text);
}
.btn:hover{text-decoration:none;filter:brightness(.97);}
.btn-primary{background:var(--c-accent);border-color:var(--c-accent);color:#fff;}
.btn-light{background:#fff;color:var(--c-primary);border-color:#fff;}

/* ---------- About timeline ---------- */
.timeline{list-style:none;padding:0;margin:0;}
.timeline li{padding:10px 0 10px 22px;border-left:3px solid var(--c-accent);position:relative;margin-bottom:6px;}
.timeline li::before{content:"";position:absolute;left:-8px;top:16px;width:12px;height:12px;border-radius:50%;background:var(--c-accent);}
.timeline .year{font-weight:700;color:var(--c-primary);}
.values li{margin:.3em 0;}

/* ---------- Services sub-nav ---------- */
.subnav{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:26px;}
.subnav a{padding:8px 14px;border-radius:8px;background:var(--c-btn);color:var(--c-btn-text);font-size:14px;border:1px solid #a9d4ff;text-align:center;}
.subnav a:hover{text-decoration:none;filter:brightness(.97);}
.svc-block{margin-bottom:30px;padding-bottom:24px;border-bottom:1px solid var(--c-border);}
.svc-block:last-child{border-bottom:none;}
.notice{background:#fff8e6;border:1px solid #f3d98b;color:#7a5b00;padding:12px 16px;border-radius:8px;font-size:14px;margin-top:12px;}

/* ---------- Contact ---------- */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;}
.contact-info p{margin:.5em 0;}
.map-wrap{border:1px solid var(--c-border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);}
.map-wrap iframe{width:100%;height:320px;border:0;display:block;}

/* form */
.form-row{margin-bottom:16px;}
.form-row label{display:block;font-weight:600;margin-bottom:6px;font-size:14px;}
.form-row label .req{color:#c0392b;}
.form-row input,.form-row textarea{
  width:100%;padding:10px 12px;border:1px solid var(--c-border);border-radius:8px;font-size:15px;font-family:inherit;
}
.form-row textarea{min-height:120px;resize:vertical;}
.consent{display:flex;gap:8px;align-items:flex-start;font-size:14px;color:var(--c-muted);margin-bottom:16px;}
.consent input{margin-top:4px;}
.form-msg{font-size:14px;margin-top:10px;}
.form-msg.ok{color:var(--c-accent);}
.form-msg.err{color:#c0392b;}

/* ---------- Footer ---------- */
.site-footer{background:var(--c-primary-d);color:#cdd9e3;padding:36px 0 18px;margin-top:20px;}
.site-footer a{color:#cfe8ff;}
.footer-cols{display:flex;flex-wrap:wrap;gap:30px;justify-content:space-between;}
.footer-col{text-align:left;}
.footer-col h4{color:#fff;margin-top:0;font-size:15px;text-align:left;}
.footer-col ul{list-style:none;padding:0;margin:0;}
.footer-col li{margin:6px 0;font-size:14px;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:24px;padding-top:14px;font-size:13px;color:#9fb2c2;text-align:center;}
.social a{margin-left:8px;}

/* ---------- Legal pages ---------- */
.legal{max-width:860px;margin:0 auto;}
.legal h1,.legal h2{font-size:26px;margin-top:28px;}
.legal p,.legal li{color:var(--c-text);}

/* ---------- Sitemap page ---------- */
.sitemap-list{columns:2;gap:30px;}
.sitemap-list a{display:block;padding:6px 0;}

/* ---------- Responsive ---------- */
@media (max-width:860px){
  .grid-3,.grid-2{grid-template-columns:1fr;}
  .contact-grid{grid-template-columns:1fr;}
  .sitemap-list{columns:1;}
  .menu-toggle{display:block;}
  /* 窄屏：语言切换器留在品牌行行尾，缩窄给公司名让位 */
  .header-inner > .lang-select{min-width:86px;padding:6px 6px;font-size:13px;}
  /* header 改为两行后高度自适应，下拉菜单不能再写死 top:64px，改为贴 header 下沿 */
  .nav{
    display:none;position:absolute;top:100%;left:0;right:0;background:var(--c-bg);
    flex:0 0 auto;
    flex-direction:column;align-items:stretch;padding:10px 18px;border-bottom:1px solid var(--c-border);box-shadow:var(--shadow);
  }
  .nav.open{display:flex;}
  .nav a.nav-link{padding:12px 8px;}
  .hero{padding:44px 0;}
  .hero h1{font-size:26px;}
}
@media (min-width:861px){
  .nav{display:flex !important;}
}

/* ---------- RTL (阿拉伯语) ---------- */
[dir="rtl"] body{direction:rtl;text-align:right;}
[dir="rtl"] .nav,.footer-cols{direction:rtl;}
[dir="rtl"] .timeline li{padding:10px 22px 10px 0;border-left:none;border-right:3px solid var(--c-accent);}
[dir="rtl"] .timeline li::before{left:auto;right:-8px;}
[dir="rtl"] .consent{text-align:right;}
[dir="rtl"] .social a{margin-left:0;margin-right:8px;}
