/* 与顶栏实际占位一致，供首屏等区块做 padding-top / top 对齐（见 index.css .landing-hero） */
:root {
  --landing-header-height: 80px;
}

.landing-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1030;
  background: #fff;
  box-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  transition: background-color 0.28s ease, box-shadow 0.28s ease;
}

.landing-header.landing-header--at-top {
  /*background: rgba(255, 255, 255, 0.55);*/
  box-shadow: none;
  backdrop-filter: saturate(160%) blur(10px);
  -webkit-backdrop-filter: saturate(160%) blur(10px);
}

.landing-header__container {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding: 8.5px 32px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.landing-header__brand {
  display: flex;
  align-items: center;
  gap: 8px;
}

.landing-header__mark {
  width: 258px;
  height: 63px;
  border-radius: 0;
  object-fit: cover;
  display: block;
  flex-shrink: 0;
}



.landing-header__nav {
  display: none;
  align-items: center;
  gap: 40px;
}

.landing-header__burger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 12px;
  background: transparent;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  cursor: pointer;
}

.landing-header__burger-lines,
.landing-header__burger-lines::before,
.landing-header__burger-lines::after {
  content: "";
  display: block;
  width: 22px;
  height: 2px;
  background: #0f172a;
  border-radius: 99px;
  position: relative;
  transition: transform 0.18s ease, opacity 0.18s ease;
}

.landing-header__burger-lines::before {
  position: absolute;
  top: -7px;
  left: 0;
}

.landing-header__burger-lines::after {
  position: absolute;
  top: 7px;
  left: 0;
}

.landing-header__mobile {
  display: none;
}

.landing-header__link {
  font-family: "Roboto", sans-serif;
  font-size: 18px;
  font-weight: 700;
  color: #374151;
  text-decoration: none;
  transition: color 0.15s ease;
}

.landing-header__link:hover {
  color: #00327e;
}

.landing-header__dropdown {
  position: relative;
  display: flex;
  align-items: center;
}

.landing-header__dropdown-trigger {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.landing-header__dropdown-icon {
  font-size: 12px;
  opacity: 0.8;
  transition: transform 0.15s ease;
}

.landing-header__dropdown-panel {
  position: absolute;
  top: calc(100% + 10px);
  left: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 320px;
  width: 320px;
  max-width: min(360px, calc(100vw - 32px));
  max-height: none;
  padding: 0;
  border-radius: 8px;
  border: 1px solid rgba(15, 23, 42, 0.12);
  background: #fff;
  box-shadow: 0 16px 40px rgba(15, 23, 42, 0.16);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px);
  transition: opacity 0.15s ease, transform 0.15s ease, visibility 0.15s ease;
  z-index: 2000;
  overflow: visible;
  box-sizing: border-box;
}

.landing-header__dropdown-panel-inner {
  max-height: none;
  overflow: visible;
  overflow-x: visible;
  display: flex;
  flex-direction: column;
  gap: 0;
}

.landing-header__dd-group {
  position: relative;
}

.landing-header__dd-parent {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.landing-header__dd-parent-text {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.landing-header__dd-parent-icon {
  flex: 0 0 auto;
  font-size: 12px;
  opacity: 0.7;
}

.landing-header__dropdown-subpanel {
  position: absolute;
  top: 0;
  /* 紧贴二级面板右缘；略向左 1px 重叠，避免鼠标移过去时经过缝隙导致子菜单闪断 */
  left: 100%;
  margin-left: -1px;
  min-width: 420px;
  max-width: min(520px, calc(100vw - 32px));
  max-height: 50vh;
  border-radius: 8px;
  border: 1px solid rgba(15, 23, 42, 0.12);
  background: #fff;
  box-shadow: 0 16px 40px rgba(15, 23, 42, 0.16);
  display: flex;
  flex-direction: column;
  gap: 0;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px);
  transition: opacity 0.15s ease, transform 0.15s ease, visibility 0.15s ease;
  box-sizing: border-box;
  overflow: hidden; /* 外层负责圆角裁切，滚动交给 inner */
  pointer-events: none;
}

.landing-header__dropdown-subpanel-inner {
  max-height: 50vh;
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-gutter: stable;
  padding: 6px 0;
}

.landing-header__dd-group:hover > .landing-header__dropdown-subpanel,
.landing-header__dd-group:focus-within > .landing-header__dropdown-subpanel {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}

.landing-header__dropdown-item {
  display: block;
  padding: 14px 18px;
  border-radius: 0;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.35;
  color: #111827;
  text-decoration: none;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  transition: background-color 0.12s ease, color 0.12s ease;
  border-bottom: 1px solid rgba(15, 23, 42, 0.06);
}

.landing-header__dropdown-item--lv2 {
  font-weight: 800;
}

.landing-header__dropdown-item--lv3 {
  padding-left: 18px;
  font-size: 15px;
  font-weight: 800;
  color: #111827;
}

.landing-header__dropdown-item--lv4 {
  padding-left: 38px;
  font-size: 13px;
  font-weight: 650;
  color: #475569;
}

.landing-header__dropdown-item--lv3:hover,
.landing-header__dropdown-item--lv3:focus-visible {
  color: #00327e;
}

.landing-header__dropdown-item:hover,
.landing-header__dropdown-item:focus-visible {
  background: rgba(0, 50, 126, 0.08);
  color: #00327e;
  outline: none;
}

/* Desktop dropdown open state is handled in >=1025 breakpoint (JS adds .is-open) */

.landing-header__actions {
  display: flex;
  align-items: center;
  gap: 57px;
}

.landing-header__cta {
  display: inline-block;
  background: #00327e;
  color: #fff;
  padding: 9px 24px;
  border-radius: 12px;
  font-weight: 500;
  font-size: 18px;

  text-decoration: none;
  white-space: nowrap;
  border: none;
  cursor: pointer;
  transition: background-color 0.15s ease;
}

.landing-header__cta:hover {
  background: #00255e;
  color: #fff;
}

.landing-header__lang {
  display: flex;
  align-items: center;
  gap: 4px;
  cursor: pointer;
  color: #374151;
  transition: color 0.15s ease;
}

.landing-header__lang:hover {
  color: #00327e;
}

.landing-header__lang-label {
  font-weight: 500;
}

.landing-header__lang-chevron {
  font-size: 12px;
}

/* ------------------------------------------------------------
   Responsive breakpoints (large → small)
------------------------------------------------------------- */

/* 8. 4K 大屏（3840×2160）*/
@media (min-width: 2560px) {
  .landing-header__nav { gap: 48px; }
  .landing-header__link { font-size: 20px; }
}

/* 7. 2K 大屏 / 笔记本高分屏 */
@media (max-width: 1920px) { /* 默认样式即可 */ }

/* 6.x 桌面：1580 / 1450 / 1366 */
@media (max-width: 1580px) {
  .landing-header__nav { gap: 34px; }
  .landing-header__link { font-size: 17px; }
}

@media (max-width: 1450px) {
  .landing-header__container { padding-left: 22px; padding-right: 22px; }
  .landing-header__nav { gap: 26px; }
  .landing-header__actions { gap: 16px; }
  .landing-header__mark { width: 210px; height: 52px; }
  .landing-header__link { font-size: 16px; }
  .landing-header__cta { font-size: 16px; padding: 8px 18px; border-radius: 10px; }
}

@media (max-width: 1366px) {
  .landing-header__nav { gap: 22px; }
  .landing-header__actions { gap: 14px; }
  .landing-header__link { font-size: 15px; }
  .landing-header__cta { font-size: 15px; padding: 7px 16px; }
}

/* >=1200：容器宽度控制 */
@media (min-width: 1200px) {
  .landing-header__container { max-width: 75% ; }
}

@media (min-width: 2000px) {
  .landing-header__container {
    max-width: min(1820px, 80vw);
  }
}

@media (min-width: 2600px) {
  .landing-header__container {
    max-width: min(2160px, 84vw);
  }
}

/* 首页大屏：与主内容区共用水平 padding 变量，并略放大导航与 LOGO */
body.landing-page .landing-header__container {
  padding: 8.5px var(--lp-container-pad);
}

@media (min-width: 2000px) {
  body.landing-page .landing-header__nav {
    gap: clamp(40px, 2.8vw, 56px);
  }

  body.landing-page .landing-header__actions {
    gap: clamp(40px, 3vw, 64px);
  }

  body.landing-page .landing-header__link {
    font-size: clamp(20px, 1.2vw, 26px);
  }

  body.landing-page .landing-header__cta {
    font-size: clamp(20px, 1.2vw, 26px);
    padding: clamp(9px, 0.65vw, 12px) clamp(22px, 1.6vw, 30px);
  }

  body.landing-page .landing-header__dropdown-item {
    font-size: clamp(17px, 1.04vw, 20px);
    padding: 11px 16px;
  }

  body.landing-page .landing-header__lang-label {
    font-size: clamp(18px, 1.05vw, 22px);
  }

  body.landing-page .landing-header__lang-chevron {
    font-size: clamp(14px, 0.85vw, 18px);
  }

  body.landing-page .landing-header__mark {
    width: clamp(258px, 14vw, 310px);
    height: clamp(63px, 3.4vw, 76px);
  }
}

/* >=1025：桌面导航 & hover 下拉 */
@media (min-width: 1025px) {
  .landing-header__nav { display: flex; }
  .landing-header__burger { display: none; }

  .landing-header__dropdown.is-open .landing-header__dropdown-panel,
  .landing-header__dropdown:focus-within .landing-header__dropdown-panel {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }

  .landing-header__dropdown.is-open .landing-header__dropdown-icon,
  .landing-header__dropdown:focus-within .landing-header__dropdown-icon {
    transform: rotate(180deg);
  }
}

/* <=1024：小屏导航模式（汉堡 + 语言；隐藏顶部报价） */
@media (max-width: 1024px) {
  .landing-header__cta { display: none !important; }
  .landing-header__lang { display: none !important; }

  /* mobile menu container */
  .landing-header__mobile {
    display: block;
    position: fixed;
    left: 0;
    right: 0;
    top: 67px;
    z-index: 1020;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-8px);
    transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s ease;
    pointer-events: none;
  }

  .landing-header--mobile-open .landing-header__mobile {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
  }

  .landing-header__mobile-inner {

    padding: 14px;

    background: rgba(255, 255, 255, 0.96);
    border: 1px solid rgba(15, 23, 42, 0.08);
    box-shadow: 0 18px 46px rgba(15, 23, 42, 0.16);
    max-height: calc(100vh - 110px);
    overflow: auto;
  }

  .landing-header__mobile-link {
    display: block;
    padding: 12px 12px;
    border-radius: 12px;
    color: #0f172a;
    text-decoration: none;
    font-weight: 800;
    font-size: 16px;
  }

  .landing-header__mobile-link:hover {
    background: rgba(0, 50, 126, 0.08);
    color: #00327e;
  }

  .landing-header__mobile-group { margin-top: 6px; }
  .landing-header__mobile-sub { padding: 6px 0 8px; }
  .landing-header__mobile-group--sub { margin-top: 2px; }
  .landing-header__mobile-sub--child { padding: 4px 0 6px; }

  .landing-header__mobile-toprow {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    padding-right: 10px;
    cursor: pointer;
  }

  .landing-header__mobile-toprow--sub {
    margin-left: 12px;
    padding-right: 6px;
  }

  .landing-header__mobile-link--top {
    flex: 1 1 auto;
    min-width: 0;
  }

  .landing-header__mobile-toggle {
    flex: 0 0 auto;
    margin-left: auto;
    margin-right: 12px;
    width: auto;
    height: auto;
    background: transparent;
    border-radius: 0;
    color: #0f172a;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: none;
    transition: color 0.15s ease;
    pointer-events: none;
  }

  .landing-header__mobile-toggle--sub {
    margin-right: 12px;
  }

  .landing-header__mobile-toggle i {
    font-size: 16px;
    line-height: 1;
    transition: transform 0.15s ease;
  }

  .landing-header__mobile-group.is-open > .landing-header__mobile-toprow .landing-header__mobile-toggle i {
    transform: rotate(90deg);
  }

  .landing-header__mobile-sublink {
    display: block;
    padding: 10px 12px;
    margin-left: 12px;
    border-radius: 12px;
    color: #334155;
    text-decoration: none;
    font-weight: 700;
    font-size: 14px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .landing-header__mobile-sublink--parent {
    margin-left: 0;
    flex: 1 1 auto;
  }

  .landing-header__mobile-sublink--child {
    margin-left: 26px;
    font-size: 13px;
    color: #475569;
  }

  .landing-header__mobile-sublink--grandchild {
    margin-left: 40px;
    font-size: 12.5px;
    color: #64748b;
  }

  .landing-header__mobile-sublink:hover {
    background: rgba(0, 50, 126, 0.08);
    color: #00327e;
  }

  .landing-header__mobile-bottomrow {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 10px;
    margin-top: 8px;
    align-items: center;
  }

  /* 小屏菜单里的“获取报价”改成普通导航样式（不带蓝底） */
  .landing-header__mobile-cta {
    margin-top: 0;
    background: transparent;
    color: #0f172a;
    text-align: left;
    font-weight: 800;
  }

  .landing-header__mobile-langbtn {
    width: auto;
    padding: 12px 12px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    justify-content: flex-end;
    border: 1px solid #e5e7eb;
    background: transparent;
    border-radius: 12px;
    color: #0f172a;
    appearance: none;
  }

  .landing-header__mobile-lang-value {
    font-weight: 900;
  }

  .landing-header__mobile-lang-icon {
    font-size: 12px;
    opacity: 0.7;
  }

  /* keep language visible + burger at right */
  .landing-header__brand { order: 1; }
  .landing-header__actions { display: flex !important; order: 2; margin-left: auto; gap: 10px; }
  .landing-header__burger { order: 3; margin-left: 10px; }
}

/* 769-1024：小屏导航模式下的 LOGO 尺寸（不影响更小手机断点） */
@media (min-width: 769px) and (max-width: 1024px) {
  :root {
    --landing-header-height: 67px;
  }

  .landing-header__mark { width: 200px; height: 50px; }
}

/* 4. 平板竖屏 / 小屏笔记本 */
@media (max-width: 768px) {
  :root {
    --landing-header-height: 69px;
  }

  .landing-header__mark { width: 210px; height: 52px; }
}

/* 3. 大屏手机 / 横屏手机 */
@media (max-width: 640px) {
  :root {
    --landing-header-height: 67px;
  }

  .landing-header__actions { gap: 16px; }
  .landing-header__cta { font-size: 16px; padding: 8px 18px; border-radius: 10px; }
  .landing-header__mobile { top: 67px; }
  .landing-header__mobile-inner { max-height: calc(100vh - 100px); }
}

/* 2. 普通手机（主流竖屏）*/
@media (max-width: 480px) {
  :root {
    --landing-header-height: 61px;
  }

  .landing-header__container { padding-left: 16px; padding-right: 16px; }
  .landing-header__mark { width: 180px; height: 44px; }
  .landing-header__mobile { top: 61px; }
  .landing-header__burger { width: 42px; height: 42px; border-radius: 12px; }

  /* 480 及以下：语言切换移入小屏菜单，顶部不显示 */
  .landing-header__lang {
    display: none !important;
  }
}

/* 1. 小屏手机（iPhone SE / 安卓小屏）*/
@media (max-width: 375px) {
  :root {
    --landing-header-height: 58px;
  }

  .landing-header__container { padding-left: 12px; padding-right: 12px; }
  .landing-header__mark { width: 160px; height: 40px; }
  .landing-header__mobile { top: 58px; }
  .landing-header__mobile-inner {  padding: 12px; }
}
