/* 首页独立样式：沿用已有数据、表单与内页。 */
.home-page { background: #fff; }
.home-page .site-header { display:flex; flex-wrap:nowrap; gap:16px; min-height:76px; padding:8px max(24px,calc((100vw - 1220px)/2)); background:#fff; box-shadow:none; border-bottom:1px solid #edf0f4; }
.home-page .brand { flex:0 0 auto; gap:10px; min-height:0; padding:0; }
.home-page .brand img { width:54px; height:46px; object-fit:contain; filter:none; }
.home-page .brand span { display:block; }
.home-page .brand strong { font-size:14px; white-space:nowrap; }
.home-page .brand small { max-width:210px; font-size:10px; white-space:nowrap; }
.home-page .main-nav { gap:2px; }
.home-page .main-nav a { font-size:13px; padding:10px 6px; }
.home-page .header-actions { flex:0 0 auto; gap:8px; }
.home-page .lang-switch { border:0; background:transparent; padding:8px 4px; white-space:nowrap; }
.home-page .header-cta { min-height:42px; padding:8px 15px; border-radius:0; background:#ff6600; box-shadow:none; white-space:nowrap; }
.home-page .mobile-lang,.home-page .mobile-header-tools { display:none; }
.home-page .hero { display:grid; grid-template-columns:43% 57%; min-height:590px; padding:0; background:#f0f4f8; color:#14243a; }
.home-page .hero::before,.home-page .hero-content::before { content:none; }
.home-page .hero-content { display:flex; flex-direction:column; justify-content:center; align-self:stretch; width:100%; max-width:none; margin:0; padding:70px 40px 70px max(32px,calc((100vw - 1220px)/2)); background:transparent; overflow:visible; }
.home-page .hero .eyebrow { color:#ff6600; font-size:12px; margin:0 0 18px; }
.home-page .hero h1 { max-width:480px; color:#0a2d66; font-size:clamp(36px,3.4vw,53px); line-height:1.2; letter-spacing:0; overflow-wrap:normal; word-break:normal; margin:0 0 22px; }
.home-page .hero h1 span { display:block; }
.home-page .hero-copy { max-width:470px; margin:0; color:#526278; font-size:16px; line-height:1.9; }
.home-page .hero-actions { display:flex; flex-wrap:wrap; gap:10px; margin:29px 0 0; }
.home-page .hero-actions .btn { min-height:48px; padding:11px 18px; border-radius:0; box-shadow:none; font-size:14px; }
.home-page .hero-actions .btn-accent { color:#fff; background:#ff6600; }
.home-page .hero-actions .btn-primary { color:#0a2d66; border:1px solid #aab9c9; background:#fff; }
.home-page .hero-image { position:relative; min-width:0; overflow:hidden; background:#d7e1e8; }
.home-page .hero-image img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:48% center; }
.home-page .hero-caption { position:absolute; right:58px; bottom:0; padding:17px 28px; background:#0a2d66; color:#fff; font-size:13px; }
.home-page .hero-caption small,.home-page .hero-caption strong { display:block; }
.home-page .hero-caption small { color:#a6b8d1; font-size:10px; letter-spacing:.12em; }
.home-page .home-benefits { background:#0a2d66; color:#fff; }
.home-page .home-benefits .container { display:grid; grid-template-columns:repeat(3,1fr); }
.home-page .home-benefits a { display:flex; align-items:center; gap:16px; padding:23px 24px; border-right:1px solid #ffffff26; font-size:14px; }
.home-page .home-benefits a:first-child { padding-left:0; }
.home-page .home-benefits a:last-child { border:0; }
.home-page .home-benefits span { color:#ff8b40; font-size:12px; }
.home-page .product-section { background:#fff; }
.home-page .product-section::before { content:none; }
.home-page .product-heading h2 { font-size:clamp(27px,3vw,38px); }
.home-page .product-grid { gap:20px; }
.home-page .image-card { background:#fff; border:1px solid #dce3eb; border-radius:0; box-shadow:none; overflow:hidden; }
.home-page .image-card img { width:100%; height:235px; aspect-ratio:auto; object-fit:contain; background:#f1f4f6; }
.home-page .image-card > div { padding:22px; }
.home-page .image-card h3 { color:#0a2d66; font-size:20px; }
.home-page .image-card p { font-size:13px; }
.home-page .product-meta { background:#edf2f7; }
.home-page .product-fit-panel,.home-page .info-card,.home-page .service-tile,.home-page .case-card,.home-page .cases-summary,.home-page .network-quote { box-shadow:none; }
.home-page .section-light { background:#f3f6f9; }
.home-page .case-card { border-radius:0; }
.home-page .btn-accent { background:#ff6600; box-shadow:none; }
.home-page .form-note { margin:0; color:#667085; font-size:13px; }
@media (min-width:1280px) {
  .home-page .product-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media (max-width:1279px) {
  .home-page .brand { margin-right:auto; }
  .home-page .site-header { padding:8px 24px; }
  .home-page .header-actions { display:none; }
  .home-page .mobile-lang { display:inline-flex; align-items:center; justify-content:center; flex:none; min-height:42px; padding:0 6px; color:#0a2d66; border:0; background:transparent; font-size:12px; font-weight:700; white-space:nowrap; }
  .home-page .menu-toggle { display:grid; grid-template-columns:22px auto; grid-template-rows:repeat(3,3px); gap:5px 6px; align-items:center; justify-content:center; width:auto; min-width:74px; height:42px; margin:0; padding:0 4px; border:0; background:transparent; color:#0a2d66; }
  .home-page .menu-toggle::after { content:"MENU"; grid-column:2; grid-row:1 / 4; font-size:13px; font-weight:700; }
  .home-page .menu-toggle span { grid-column:1; width:22px; height:3px; background:currentColor; }
  .home-page .main-nav { position:absolute; inset:100% 0 auto; display:none; flex-direction:column; align-items:stretch; max-height:calc(100vh - 76px); overflow:auto; gap:0; padding:10px 24px 18px; background:#fff; border-top:1px solid #dce3eb; box-shadow:0 12px 25px #00142a20; }
  .home-page .main-nav.is-open { display:flex; }
  .home-page .main-nav a { display:block; padding:9px 0; }
  .home-page .dropdown-panel,.home-page .nav-dropdown:hover .dropdown-panel,.home-page .nav-dropdown:focus-within .dropdown-panel { position:static; display:grid; min-width:0; margin-left:12px; padding:0 0 0 12px; border:0; border-left:2px solid #dce3eb; border-radius:0; box-shadow:none; }
  .home-page .mobile-header-tools { display:block; width:100%; padding:10px 0 0; background:transparent; }
  .home-page .mobile-search { display:grid; grid-template-columns:minmax(0,1fr) 46px; align-items:center; border:1px solid #dce3eb; background:#fff; }
  .home-page .mobile-search input { width:100%; min-width:0; height:44px; padding:0 12px; border:0; background:transparent; font:inherit; }
  .home-page .mobile-search button { width:46px; height:44px; display:grid; place-items:center; border:0; background:transparent; color:#0a2d66; }
  .home-page .hero { grid-template-columns:47% 53%; }
  .home-page .hero-content { padding:65px 32px; }
}
@media (max-width:699px) {
  .home-page .site-header { min-height:65px; padding:6px 16px; gap:8px; }
  .home-page .brand { flex:1 1 0; min-width:0; gap:8px; }
  .home-page .brand img { flex:0 0 42px; width:42px; height:39px; }
  .home-page .brand span { min-width:0; }
  .home-page .brand strong { max-width:100%; overflow:hidden; font-size:12px; text-overflow:ellipsis; }
  .home-page .brand small { max-width:100%; overflow:hidden; font-size:9px; text-overflow:ellipsis; }
  .home-page .mobile-lang { padding:0; }
  .home-page .menu-toggle { min-width:66px; }
  .home-page .hero { display:flex; flex-direction:column; min-height:0; }
  .home-page .hero-content { display:block; padding:35px 16px 31px; }
  .home-page .hero .eyebrow { font-size:10px; margin-bottom:12px; }
  .home-page .hero h1 { font-size:32px; line-height:1.23; margin-bottom:14px; }
  .home-page .hero-copy { font-size:14px; line-height:1.75; }
  .home-page .hero-actions { display:flex; gap:8px; margin-top:20px; }
  .home-page .hero-actions .btn { flex:1; min-height:44px; padding:10px 6px; font-size:12px; white-space:nowrap; }
  .home-page .hero-image { height:260px; }
  .home-page .hero-caption { padding:11px 16px; font-size:11px; }
  .home-page .home-benefits a { display:block; padding:12px 8px; font-size:11px; }
  .home-page .home-benefits span { display:none; }
  .home-page .product-grid { grid-template-columns:1fr; gap:14px; }
  .home-page .image-card { display:grid; grid-template-columns:42% 58%; }
  .home-page .image-card img { height:100%; min-height:165px; }
  .home-page .image-card > div { padding:16px 14px; }
  .home-page .image-card h3 { font-size:17px; }
  .home-page .image-card p { font-size:12px; }
  .home-page .product-meta { display:none; }
}
@media (max-width:360px) {
  .home-page .site-header { gap:4px; }
  .home-page .brand small { display:none; }
  .home-page .hero h1 { font-size:29px; }
  .home-page .hero-actions .btn { font-size:11px; }
}
