/* ==========================================================================
   material-titanium — 页面独立样式
   来源：Vue 构建产物 TwoPaneContainer-C_gVJxGM.css, MaterialTitaniumPage-Bhj7fQfG.css, IconTextCard-BAHmdPSU.css, QuoteCtaSection-D8MhXbRW.css, SectionHeading-mo3Zn4lW.css, GridContainer-CBHE4NtX.css
   ========================================================================== */

.bg{background:var(--bg)}.sec-h{max-width:820px;margin:0 auto 48px;text-align:center}.fcard{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px 24px}.gimg{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius)}
.zhover{position:relative;transition:transform .28s,box-shadow .28s}
.zhover:hover{transform:scale(1.045);box-shadow:var(--shadow-lg);z-index:3}
.social{display:flex;gap:10px;align-items:center}
.social a{display:inline-flex;align-items:center;justify-content:center;border-radius:8px;transition:transform .2s}
.social svg{width:26px;height:26px;display:block}
.social a:hover{transform:translateY(-2px) scale(1.06)}
.f-brand .social{margin:18px 0 20px}
.phero-split{background:radial-gradient(1100px 560px at 88% -12%,rgba(27,95,217,.38),transparent 62%),linear-gradient(120deg,#081627 0%,var(--navy) 55%,var(--navy2) 100%);padding:80px 0}
.phero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.phero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}
.phero-fig{margin:0}
.phero-fig img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:16px;box-shadow:var(--shadow-lg)}
.jitem{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px 24px;transition:transform .28s,box-shadow .28s}
.jitem:hover{transform:scale(1.045);box-shadow:var(--shadow-lg)}
.jitem .jhead{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.jitem .jicon{flex:none;width:54px;height:54px;border-radius:14px;background:linear-gradient(135deg,#eef4ff,#fdeede);display:flex;align-items:center;justify-content:center}
.jitem .jicon svg{width:28px;height:28px;fill:none;stroke:var(--blue);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.jitem h3{font-size:16.5px;font-weight:800;line-height:1.35;color:var(--navy)}
.jitem p{font-size:13.5px;color:var(--muted)}
.zoombox{overflow:hidden;border-radius:16px;box-shadow:var(--shadow-lg);line-height:0}
.zoombox img{width:100%;display:block;border-radius:16px;transition:transform .5s ease}
.zoombox:hover img{transform:scale(1.06)}
.loop{position:relative}
.loop-vp{overflow:hidden}
.loop-track{display:flex;transition:transform .5s ease}
.loop-item{flex:0 0 33.3333%;max-width:33.3333%;padding:0 8px;box-sizing:border-box}
.loop.cols4 .loop-item{flex:0 0 25%;max-width:25%}
.loop-item img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px}
.loop-nav{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:24px}
.loop-dots{display:flex;gap:8px}
.loop-dot{width:9px;height:9px;border-radius:999px;background:#c9d6ea;border:0;padding:0;cursor:pointer;transition:.25s}
.loop-dot.on{width:26px;background:var(--orange)}
.loop-arrow{width:38px;height:38px;border-radius:50%;border:1.5px solid var(--line);background:#fff;color:var(--navy);font-size:15px;line-height:1;cursor:pointer;transition:.2s;display:inline-flex;align-items:center;justify-content:center}
.loop-arrow:hover{border-color:var(--orange);color:var(--orange)}
.faq-split{display:grid;grid-template-columns:40% 60%;gap:0;align-items:start}
.faq-left{text-align:left}
.faq-split .faq{max-width:none;margin:0}
@media(max-width:1024px){
.phero-grid,.faq-split{grid-template-columns:1fr}
.phero-fig{max-width:640px}
.loop-item,.loop.cols4 .loop-item{flex:0 0 50%;max-width:50%}
}
@media(max-width:560px){.loop-item,.loop.cols4 .loop-item{flex:0 0 100%;max-width:100%}}

/* paged carousel（单排分组轮播） */
.car{position:relative}
.car-vp{overflow:hidden}
.car-track{display:flex;transition:transform .55s ease}
.car-page{flex:0 0 100%;min-width:0;display:grid;gap:18px;padding:6px 2px 10px}
.car-page.c4{grid-template-columns:repeat(4,1fr)}
.car-page.c3{grid-template-columns:repeat(3,1fr)}
.car-page.c2{grid-template-columns:repeat(2,1fr)}
.car-nav{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:20px}
.car-dots{display:flex;gap:8px}
.car-dot{width:9px;height:9px;border-radius:999px;background:#c9d6ea;border:0;padding:0;cursor:pointer;transition:.25s}
.car-dot.on{width:26px;background:var(--orange)}
.car-arrow{width:38px;height:38px;border-radius:50%;border:1.5px solid var(--line);background:#fff;color:var(--navy);font-size:15px;line-height:1;cursor:pointer;transition:.2s;display:inline-flex;align-items:center;justify-content:center}
.car-arrow:hover{border-color:var(--orange);color:var(--orange)}
/* 单图 + 图注 卡片 */
.pcap{margin:0}
.pcap img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:12px;display:block}
.pcap figcaption{margin-top:10px;font-size:13px;color:var(--muted);text-align:center;line-height:1.5}
.pcap:hover img{transform:scale(1.04)}
.pcap img{transition:transform .45s ease}
/* 左图右文 卡片（用于「左右结构」的能力/服务展示） */
.svc{display:grid;grid-template-columns:42% 58%;gap:18px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px;transition:transform .28s,box-shadow .28s}
.svc:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.svc img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px;display:block}
.svc h3{font-size:16px;font-weight:800;color:var(--navy);margin-bottom:8px}
.svc p{font-size:13.5px;color:var(--muted);line-height:1.6}
@media(max-width:560px){.car-page.c4,.car-page.c3,.car-page.c2{grid-template-columns:1fr}}

/* H1 与副标题间距（修订文档第 3 条） */
.phero h1{margin-bottom:0}
.phero p{margin-top:24px}

/* 兜底：hero 没有配图时也保持深色底，避免白底白字 */
.phero{background-color:var(--navy)}
/* 数字分页（列表页） */
.pager{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:44px}
.page-link{min-width:42px;height:42px;padding:0 14px;border:1.5px solid var(--line);border-radius:10px;background:#fff;color:var(--navy);font-weight:700;font-size:14px;display:inline-flex;align-items:center;justify-content:center;transition:.2s;text-decoration:none}
.page-link:hover{border-color:var(--orange);color:var(--orange)}
.page-link.on{background:var(--orange);border-color:var(--orange);color:#fff}
.page-link.off{color:#b9c4d4;cursor:not-allowed}
.titanium-finish-grid .soft-card{background:#f1f5fb}
.loop.cols2 .loop-item{flex:0 0 50%;max-width:50%}
.loop-item figcaption{margin-top:9px;font-size:13px;color:var(--muted);text-align:center;line-height:1.5}
.sec-h .section-sub{margin-left:auto;margin-right:auto}

.grid-container.grid-container.grid-container {
  display: grid;
  grid-template-columns: repeat(var(--grid-columns), minmax(0, 1fr));
  gap: var(--grid-gap);
  min-width: 0;
}
.grid-container--fixed-rows {
  grid-template-rows: repeat(var(--grid-rows), minmax(0, 1fr));
}
@media (max-width: 1024px) {
.grid-container.grid-container.grid-container {
    grid-template-columns: repeat(var(--grid-tablet-columns), minmax(0, 1fr));
}
}
@media (max-width: 560px) {
.grid-container.grid-container.grid-container {
    grid-template-columns: repeat(var(--grid-mobile-columns), minmax(0, 1fr));
}
}

.icon-text-card {
  display: block;
  padding: 26px 24px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fff;
  color: inherit;
  text-decoration: none;
  transition:
    transform 0.28s,
    box-shadow 0.28s;
}
.icon-text-card:hover {
  z-index: 3;
  transform: scale(1.045);
  box-shadow: var(--shadow-lg);
}
.icon-text-card__head {
  display: flex;
  gap: 14px;
  align-items: center;
  margin-bottom: 16px;
}
.icon-text-card__icon {
  display: flex;
  flex: none;
  align-items: center;
  justify-content: center;
  width: 54px;
  height: 54px;
  border-radius: 14px;
  background: linear-gradient(135deg, #eef4ff, #fdeede);
}
.icon-text-card__icon svg {
  width: 28px;
  height: 28px;
  fill: none;
  stroke: var(--blue);
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.icon-text-card h3 {
  color: var(--navy);
  font-size: 16.5px;
  font-weight: 800;
  line-height: 1.35;
}
.icon-text-card p {
  color: var(--muted);
  font-size: 13.5px;
}

.eyebrow--centered {
  display: flex;
  justify-content: center;
}

.section-heading {
  --section-heading-title-size: clamp(28px, 2.8vw, 36px);
  --section-heading-title-color: var(--navy);
  --section-heading-eyebrow-color: var(--blue);
  --section-heading-description-size: 15px;
  --section-heading-description-color: #7b879b;

  margin-right: auto;
  margin-left: auto;
}
.section-heading__main {
  min-width: 0;
}
.section-heading.description-side {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 56px;
  align-items: start;
}
.section-heading.description-side .section-heading__description {
  margin-top: 0;
}
.section-heading.description-below.description-align-start .section-heading__description-wrap {
  text-align: left;
}
.section-heading.description-below.description-align-center .section-heading__description-wrap {
  text-align: center;
}
.section-heading.description-below.description-align-end .section-heading__description-wrap {
  text-align: right;
}
.section-heading.description-side.description-align-start .section-heading__description-wrap {
  align-self: start;
}
.section-heading.description-side.description-align-center .section-heading__description-wrap {
  align-self: center;
}
.section-heading.description-side.description-align-end .section-heading__description-wrap {
  align-self: end;
}
.section-heading__title {
  color: var(--section-heading-title-color);
  font-size: var(--section-heading-title-size);
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: -0.01em;
}
.section-heading__description {
  margin-top: 16px;
  color: var(--section-heading-description-color);
  font-size: var(--section-heading-description-size);
  line-height: 1.7;
}
.section-heading.align-center {
  text-align: center;
}
.section-heading.align-left {
  margin-left: 0;
  text-align: left;
}
.section-heading .section-sub {
  margin-right: auto;
  margin-left: auto;
}
.section-heading.align-left .section-sub {
  margin-left: 0;
}
.section-heading .eyebrow {
  justify-content: center;
  color: var(--section-heading-eyebrow-color);
}
.section-heading.align-left .eyebrow {
  justify-content: flex-start;
}
@media (max-width: 1024px) {
.section-heading.description-side {
    grid-template-columns: 1fr;
}
.section-heading.mobile-align-center {
    text-align: center;
}
.section-heading.mobile-align-center .eyebrow {
    justify-content: center;
}
.section-heading.mobile-align-center
    .section-heading__description-wrap {
    text-align: center;
}
.section-heading.mobile-align-center.description-below.description-align-start
    .section-heading__description-wrap {
    text-align: center;
}
}

.faq-item {
  margin: 0 0 12px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
  transition:
    transform 0.28s ease,
    border-color 0.28s ease,
    box-shadow 0.28s ease;
}
.faq-item:hover {
  z-index: 2;
  border-color: #d4e0f1;
  transform: scale(1.045);
  box-shadow: var(--shadow-lg);
}
.faq-item summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 22px;
  color: var(--navy);
  font-size: 15.5px;
  font-weight: 700;
  cursor: pointer;
  list-style: none;
}
.faq-item summary::after {
  color: var(--orange);
  font-size: 22px;
  font-weight: 900;
  content: "+";
}
.faq-item[open] summary::after {
  content: "−";
}
.faq-item p {
  padding: 0 22px 18px;
  color: var(--muted);
  font-size: 14.5px;
}

.flex-container {
  display: flex;
  min-width: 0;
}
.flex-container--horizontal {
  flex-direction: row;
}
.flex-container--vertical {
  flex-direction: column;
}
@media (max-width: 560px) {
.flex-container--horizontal.flex-container--stack-on-mobile {
    flex-direction: column;
}
}


.split-pane.split-pane {
  display: grid;
  min-width: 0;
}
.split-pane--horizontal.split-pane--horizontal {
  grid-template-columns: var(--split-pane-a) var(--split-pane-b);
}
.split-pane--vertical.split-pane--vertical {
  grid-template-rows: var(--split-pane-a) var(--split-pane-b);
}
.split-pane__a,
.split-pane__b {
  min-width: 0;
  min-height: 0;
}
@media (max-width: 1024px) {
.split-pane--horizontal.split-pane--stack-on-mobile {
    grid-template-columns: 1fr;
}
}

.cta {
  position: relative;
  overflow: hidden;
  color: #fff;
  background: linear-gradient(135deg, var(--blue), var(--navy));
}
.cta::after {
  position: absolute;
  inset: 0;
  background-image: radial-gradient(rgba(255, 255, 255, 0.07) 1px, transparent 1px);
  background-size: 26px 26px;
  content: "";
}
.cta .container {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 56px;
  align-items: center;
}
.cta h2 {
  font-size: clamp(26px, 3vw, 38px);
  font-weight: 900;
  line-height: 1.2;
}
.lead {
  margin: 16px 0 26px;
  color: #cfe0f7;
  font-size: 16px;
}
.ilist {
  display: grid;
  gap: 12px;
  font-size: 14.5px;
  font-weight: 600;
}
.qform {
  padding: 30px;
  border-radius: 18px;
  color: var(--ink);
  background: #fff;
  box-shadow: var(--shadow-lg);
}
.qform h3 {
  margin-bottom: 16px;
  color: var(--navy);
  font-size: 20px;
  font-weight: 800;
}
.upload {
  margin-bottom: 14px;
  padding: 24px 16px;
  border: 2px dashed #c9d6ea;
  border-radius: 12px;
  text-align: center;
  background: #f7faff;
  cursor: pointer;
  transition: 0.2s;
}
.upload:hover {
  border-color: var(--blue);
  background: #eef4ff;
}
.upload .ic {
  font-size: 26px;
}
.upload b {
  display: block;
  margin-top: 6px;
  color: var(--navy);
  font-size: 14.5px;
}
.upload span {
  color: var(--muted);
  font-size: 12px;
}
.qrow {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-bottom: 12px;
}
.qrow--full {
  grid-template-columns: 1fr;
}
.qrow input,
.qrow textarea {
  width: 100%;
  padding: 12px 14px;
  border: 1.5px solid var(--line);
  border-radius: 10px;
  outline: none;
  color: var(--ink);
  font-family: inherit;
  font-size: 14px;
  transition: 0.2s;
}
.qrow input:focus,
.qrow textarea:focus {
  border-color: var(--blue);
  box-shadow: 0 0 0 3px rgba(27, 95, 217, 0.12);
}
.quote-cta__submit {
  width: 100%;
  justify-content: center;
}
.quote-cta__privacy {
  margin-top: 12px;
  color: var(--muted);
  font-size: 12px;
  text-align: center;
}
@media (max-width: 1024px) {
.cta .container {
    grid-template-columns: 1fr;
}
}
@media (max-width: 560px) {
.qrow {
    grid-template-columns: 1fr;
}
}