/* roulang page: index */
:root {
  --brand-1: #1357d6;
  --brand-2: #00a878;
  --brand-dark: #071b36;
  --brand-light: #eef4ff;
  --ink: #152033;
  --text: #465268;
  --muted: #7d8799;
  --line: #e6ebf3;
  --bg-soft: #f5f8fd;
  --white: #ffffff;
  --radius: 20px;
  --radius-sm: 14px;
  --shadow: 0 12px 32px rgba(18, 44, 88, .08);
  --shadow-lg: 0 18px 48px rgba(18, 44, 88, .13);
  --transition: all .25s ease;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Segoe UI", Roboto, sans-serif;
  color: var(--ink);
  background: var(--white);
  line-height: 1.75;
  letter-spacing: .015em;
  overflow-x: hidden;
}

a {
  text-decoration: none;
  color: inherit;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible {
  outline: 3px solid rgba(19, 87, 214, .25);
  outline-offset: 2px;
}

ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

.container-xxl {
  max-width: 1320px;
  padding-left: 24px;
  padding-right: 24px;
}

.avatar-round,
.img-cover-fit {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

/* ---------- Header ---------- */
.site-header {
  position: sticky;
  top: 0;
  z-index: 1080;
  background: rgba(255, 255, 255, .86);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(230, 235, 243, .9);
}

.site-header .inner-bar {
  min-height: 78px;
  padding: 12px 0;
}

.brand-logo {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-weight: 800;
  font-size: 1.25rem;
  line-height: 1.2;
  color: var(--ink);
  letter-spacing: .01em;
  white-space: nowrap;
}

.brand-logo .brand-icon {
  width: 42px;
  height: 42px;
  flex-shrink: 0;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, var(--brand-1), var(--brand-2));
  color: #fff;
  font-size: 1.2rem;
  box-shadow: 0 8px 18px rgba(19, 87, 214, .26);
}

.main-nav .nav-link {
  color: var(--text);
  font-weight: 600;
  font-size: .96rem;
  padding: .55rem 1.05rem !important;
  border-radius: 999px;
  transition: var(--transition);
}

.main-nav .nav-link:hover {
  color: var(--brand-1);
  background: rgba(19, 87, 214, .06);
}

.main-nav .nav-link.active {
  color: var(--brand-1);
  background: rgba(19, 87, 214, .1);
}

.command-search {
  display: flex;
  align-items: center;
  background: #f1f4fa;
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: .4rem .8rem .4rem 1rem;
  width: 240px;
  transition: var(--transition);
}

.command-search:focus-within {
  background: #fff;
  border-color: var(--brand-1);
  box-shadow: 0 0 0 4px rgba(19, 87, 214, .1);
}

.command-search i {
  font-size: .8rem;
  color: var(--muted);
  margin-right: 10px;
}

.command-search input {
  border: none;
  outline: none;
  background: transparent;
  font-size: .9rem;
  color: var(--ink);
  width: 100%;
}

.command-search kbd {
  background: #e5e9f2;
  color: var(--muted);
  border-radius: 6px;
  font-size: .72rem;
  padding: .06rem .35rem;
}

.btn-nav-primary {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  background: var(--brand-1);
  color: #fff;
  font-weight: 700;
  font-size: .92rem;
  border-radius: 12px;
  padding: .6rem 1.25rem;
  border: 1px solid transparent;
  transition: var(--transition);
  box-shadow: 0 6px 16px rgba(19, 87, 214, .2);
}

.btn-nav-primary:hover,
.btn-nav-primary:focus {
  background: #0b45b8;
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 10px 22px rgba(19, 87, 214, .28);
}

.navbar-toggler {
  border: none;
  padding: .5rem .65rem;
}

.navbar-toggler:focus {
  box-shadow: none;
}

/* ---------- Hero ---------- */
.hero-section {
  position: relative;
  background:
    linear-gradient(118deg, rgba(8, 29, 62, .92) 0%, rgba(14, 52, 102, .78) 58%, rgba(11, 120, 112, .66) 100%),
    url("/assets/images/backpic/back-1.png") center center / cover no-repeat;
  color: #fff;
  padding: 118px 0 98px;
  overflow: hidden;
}

.hero-section::before {
  content: "";
  position: absolute;
  width: 520px;
  height: 520px;
  right: -160px;
  top: -160px;
  border-radius: 50%;
  background: rgba(0, 168, 120, .16);
  filter: blur(0);
}

.hero-section::after {
  content: "";
  position: absolute;
  width: 420px;
  height: 420px;
  left: -110px;
  bottom: -180px;
  border-radius: 50%;
  background: rgba(19, 87, 214, .24);
}

.hero-content {
  position: relative;
  z-index: 2;
}

.hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(255, 255, 255, .12);
  border: 1px solid rgba(255, 255, 255, .2);
  color: #eaf2ff;
  font-weight: 600;
  font-size: .9rem;
  padding: .35rem 1rem;
  border-radius: 999px;
  font-style: normal;
}

.hero-title {
  font-size: clamp(1.9rem, 4vw, 3.3rem);
  font-weight: 800;
  line-height: 1.28;
  margin: 20px 0 18px;
  max-width: 780px;
  text-shadow: 0 4px 28px rgba(0, 0, 0, .18);
}

.hero-title .accent {
  background: linear-gradient(90deg, #66e1ff, #62e7b2);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.hero-sub {
  color: rgba(255, 255, 255, .88);
  font-size: 1.08rem;
  max-width: 720px;
  margin-bottom: 32px;
}

.hero-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 14px;
}

.btn-hero-primary {
  display: inline-flex;
  align-items: center;
  gap: .65rem;
  background: #fff;
  color: var(--brand-1);
  font-weight: 700;
  padding: .85rem 1.7rem;
  border-radius: 16px;
  border: 1px solid transparent;
  box-shadow: 0 10px 24px rgba(0, 0, 0, .12);
  transition: var(--transition);
}

.btn-hero-primary:hover {
  transform: translateY(-2px);
  color: var(--brand-1);
  box-shadow: 0 14px 30px rgba(0, 0, 0, .2);
}

.btn-hero-light {
  display: inline-flex;
  align-items: center;
  gap: .65rem;
  color: #fff;
  background: rgba(255, 255, 255, .1);
  border: 1px solid rgba(255, 255, 255, .3);
  font-weight: 600;
  padding: .85rem 1.6rem;
  border-radius: 16px;
  backdrop-filter: blur(6px);
  transition: var(--transition);
}

.btn-hero-light:hover {
  background: rgba(255, 255, 255, .2);
  color: #fff;
}

.hero-assurance {
  display: flex;
  flex-wrap: wrap;
  gap: 14px 26px;
  margin-top: 38px;
  color: rgba(255, 255, 255, .82);
  font-size: .92rem;
}

.hero-assurance span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.hero-assurance i {
  color: #66e7b4;
}

.hero-visual {
  position: relative;
  z-index: 2;
}

.hero-visual-main {
  border-radius: 28px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .24);
  box-shadow: 0 30px 70px rgba(6, 25, 55, .35);
}

.hero-visual-main img {
  width: 100%;
}

.hero-float {
  position: absolute;
  bottom: 28px;
  left: -26px;
  background: rgba(255, 255, 255, .95);
  color: var(--ink);
  border-radius: 18px;
  padding: 14px 18px;
  display: flex;
  gap: 12px;
  align-items: center;
  box-shadow: var(--shadow-lg);
  backdrop-filter: blur(8px);
  max-width: 270px;
}

.hero-float .float-icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: linear-gradient(135deg, var(--brand-1), var(--brand-2));
}

/* ---------- Section base ---------- */
.section-pad {
  padding: 92px 0;
}

.section-pad-sm {
  padding: 60px 0;
}

.bg-soft {
  background: var(--bg-soft);
}

.section-head {
  max-width: 720px;
  margin: 0 auto 52px;
}

.section-tag {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--brand-1);
  background: rgba(19, 87, 214, .08);
  padding: .3rem 1rem;
  border-radius: 30px;
  font-weight: 600;
  font-size: .9rem;
}

.section-title {
  font-size: clamp(1.7rem, 3vw, 2.5rem);
  font-weight: 800;
  margin-top: 16px;
  line-height: 1.3;
}

.section-desc {
  color: var(--text);
  font-size: 1.02rem;
  margin-top: 12px;
}

/* ---------- Feature cards ---------- */
.feature-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 34px 26px;
  height: 100%;
  transition: var(--transition);
  box-shadow: 0 4px 10px rgba(0, 0, 0, .02);
}

.feature-card:hover {
  transform: translateY(-6px);
  border-color: transparent;
  box-shadow: var(--shadow-lg);
}

.feature-icon {
  width: 60px;
  height: 60px;
  border-radius: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.45rem;
  background: linear-gradient(135deg, rgba(19, 87, 214, .1), rgba(0, 168, 120, .1));
  color: var(--brand-1);
  margin-bottom: 20px;
}

.feature-card h3 {
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: 10px;
}

.feature-card p {
  color: var(--text);
  margin-bottom: 0;
}

/* ---------- Category cards ---------- */
.category-card {
  position: relative;
  border-radius: 24px;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--line);
  height: 100%;
  display: block;
  transition: var(--transition);
  box-shadow: 0 4px 14px rgba(0, 0, 0, .03);
}

.category-card:hover {
  transform: translateY(-8px);
  box-shadow: var(--shadow-lg);
}

.category-img {
  height: 190px;
  overflow: hidden;
}

.category-img img {
  height: 100%;
  width: 100%;
  object-fit: cover;
  transition: transform .5s ease;
}

.category-card:hover .category-img img {
  transform: scale(1.06);
}

.category-body {
  padding: 24px 24px 26px;
}

.category-body h3 {
  font-size: 1.22rem;
  font-weight: 700;
  margin-bottom: 10px;
}

.category-body p {
  color: var(--text);
  font-size: .96rem;
  margin-bottom: 16px;
}

.category-link {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--brand-1);
  font-weight: 600;
  font-size: .95rem;
  transition: var(--transition);
}

.category-link i {
  transition: transform .25s ease;
}

.category-link:hover {
  color: var(--brand-2);
}

.category-link:hover i {
  transform: translateX(4px);
}

/* ---------- Split feature ---------- */
.split-panel {
  background: linear-gradient(140deg, #08264f, #0a3c68);
  border-radius: 30px;
  color: #fff;
  overflow: hidden;
  box-shadow: var(--shadow-lg);
}

.split-media {
  position: relative;
  min-height: 320px;
  height: 100%;
}

.split-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.split-content {
  padding: 58px 32px 58px 46px;
}

.split-list {
  margin-top: 26px;
}

.split-list li {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 11px 0;
  color: rgba(255, 255, 255, .88);
}

.split-list li i {
  margin-top: 6px;
  color: #5fe6b4;
  width: 20px;
}

.btn-white-outline {
  border: 1px solid rgba(255, 255, 255, .5);
  color: #fff;
  padding: .7rem 1.6rem;
  border-radius: 15px;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  transition: var(--transition);
}

.btn-white-outline:hover {
  background: #fff;
  color: var(--brand-1);
}

/* ---------- Steps ---------- */
.step-card {
  height: 100%;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 26px 22px;
  position: relative;
  box-shadow: 0 4px 12px rgba(0, 0, 0, .02);
  transition: var(--transition);
}

.step-card:hover {
  border-color: rgba(19, 87, 214, .3);
  box-shadow: var(--shadow);
}

.step-num {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  background: linear-gradient(135deg, var(--brand-1), var(--brand-2));
  color: #fff;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1rem;
  margin-bottom: 18px;
  box-shadow: 0 6px 14px rgba(19, 87, 214, .18);
}

.step-card h3 {
  font-size: 1.1rem;
  font-weight: 700;
}

.step-card p {
  color: var(--text);
  font-size: .94rem;
  margin-bottom: 0;
}

/* ---------- Stats ---------- */
.stats-band {
  position: relative;
  background: linear-gradient(120deg, #0b2648, #103a6c 60%, #0a5e65);
  padding: 56px 0 58px;
  color: #fff;
  background-image: url("/assets/images/backpic/back-2.png");
  background-size: cover;
  background-position: center;
}

.stats-band::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(100deg, rgba(7, 34, 72, .94), rgba(7, 62, 92, .82));
}

.stat-item {
  position: relative;
  text-align: center;
  padding: 20px 10px;
}

.stat-number {
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 800;
  line-height: 1.2;
}

.stat-number em {
  font-style: normal;
  color: #85f0c8;
}

.stat-label {
  margin-top: 6px;
  opacity: .85;
  font-size: .98rem;
  letter-spacing: .04em;
}

/* ---------- News / CMS ---------- */
.news-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 24px;
  height: 100%;
  display: flex;
  flex-direction: column;
  transition: var(--transition);
  box-shadow: 0 4px 10px rgba(0, 0, 0, .02);
}

.news-card:hover {
  transform: translateY(-5px);
  box-shadow: var(--shadow);
}

.news-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: .8rem;
  color: var(--muted);
  margin-bottom: 13px;
}

.news-meta .badge {
  background: rgba(19, 87, 214, .1);
  color: var(--brand-1);
  padding: .45em .8em;
  border-radius: 30px;
  font-weight: 600;
  letter-spacing: .02em;
}

.news-title {
  font-size: 1.14rem;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 10px;
}

.news-title a {
  color: var(--ink);
  transition: var(--transition);
}

.news-title a:hover {
  color: var(--brand-1);
}

.news-summary {
  color: var(--text);
  font-size: .95rem;
  flex: 1;
  margin-bottom: 15px;
}

.news-link {
  font-weight: 600;
  color: var(--brand-1);
  font-size: .9rem;
}

.news-link i {
  font-size: .75rem;
}

.empty-tip {
  background: #fff;
  border: 1px dashed var(--line);
  border-radius: var(--radius);
  padding: 40px 20px;
  color: var(--muted);
  text-align: center;
}

/* ---------- Safety tips ---------- */
.safety-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 28px 26px;
  height: 100%;
  transition: var(--transition);
}

.safety-card:hover {
  box-shadow: var(--shadow);
  transform: translateY(-5px);
}

.safety-card .safety-icon {
  width: 48px;
  height: 48px;
  background: rgba(0, 168, 120, .1);
  color: var(--brand-2);
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  margin-bottom: 16px;
}

.safety-card h3 {
  font-size: 1.1rem;
  font-weight: 700;
  margin-bottom: 8px;
}

.safety-card p {
  color: var(--text);
  font-size: .94rem;
  margin-bottom: 0;
}

/* ---------- FAQ ---------- */
.faq-section {
  background: linear-gradient(180deg, #f0f6ff 0%, #ffffff 100%);
}

.faq-accordion {
  max-width: 980px;
  margin: 0 auto;
}

.faq-accordion .accordion-item {
  border: 1px solid var(--line) !important;
  border-radius: var(--radius) !important;
  background: #fff;
  margin-bottom: 18px;
  overflow: hidden;
  box-shadow: 0 2px 6px rgba(0, 0, 0, .02);
}

.faq-accordion .accordion-button {
  font-size: 1.02rem;
  font-weight: 700;
  color: var(--ink);
  padding: 20px 24px;
  background: #fff;
  border: none;
}

.faq-accordion .accordion-button:not(.collapsed) {
  background: #fff;
  color: var(--brand-1);
  box-shadow: none;
}

.faq-accordion .accordion-button:focus {
  box-shadow: none;
}

.faq-accordion .accordion-body {
  padding: 0 24px 22px;
  color: var(--text);
  line-height: 1.9;
}

/* ---------- CTA ---------- */
.cta-panel {
  background:
    linear-gradient(118deg, rgba(8, 34, 72, .94), rgba(11, 92, 104, .86)),
    url("/assets/images/backpic/back-3.webp") center center / cover no-repeat;
  border-radius: 30px;
  color: #fff;
  padding: 64px 46px;
  position: relative;
  overflow: hidden;
  text-align: center;
}

.cta-title {
  font-size: clamp(1.7rem, 3vw, 2.5rem);
  font-weight: 800;
}

.cta-buttons {
  margin-top: 30px;
}

/* ---------- Footer ---------- */
.site-footer {
  background: #07172e;
  color: rgba(255, 255, 255, .7);
  padding: 54px 0 30px;
  font-size: .94rem;
}

.footer-brand {
  font-size: 1.3rem;
  color: #fff;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.footer-desc {
  margin-top: 15px;
  max-width: 360px;
}

.footer-heading {
  color: #fff;
  font-weight: 700;
  margin-bottom: 20px;
  font-size: 1rem;
}

.footer-links li {
  margin-bottom: 10px;
}

.footer-links a {
  transition: var(--transition);
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.footer-links a:hover {
  color: #fff;
  padding-left: 5px;
}

.footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, .1);
  margin-top: 38px;
  padding-top: 24px;
  color: rgba(255, 255, 255, .45);
  font-size: .86rem;
}

/* ---------- Responsive ---------- */
@media (max-width: 1199.98px) {
  .command-search {
    width: 180px;
  }
}

@media (max-width: 991.98px) {
  .site-header .navbar-collapse {
    background: #fff;
    border-radius: 18px;
    box-shadow: var(--shadow);
    padding: 14px 16px;
    border: 1px solid var(--line);
    margin-top: 12px;
  }

  .site-header .navbar-nav {
    margin-bottom: 12px;
    gap: .1rem;
  }

  .command-search {
    width: 100%;
  }

  .hero-section {
    padding: 82px 0 68px;
  }

  .hero-content,
  .hero-visual {
    max-width: 100%;
  }

  .hero-visual {
    margin-top: 42px;
  }

  .split-content {
    padding: 42px 30px;
  }
}

@media (max-width: 767.98px) {
  .section-pad {
    padding: 66px 0;
  }

  .section-head {
    margin-bottom: 38px;
  }

  .hero-assurance {
    flex-direction: column;
    gap: 8px;
  }

  .hero-float {
    left: 8px;
    max-width: calc(100% - 40px);
  }

  .stats-band {
    padding: 32px 20px;
  }

  .split-media {
    min-height: 260px;
  }

  .cta-panel {
    padding: 42px 20px;
  }
}

@media (max-width: 575.98px) {
  .container-xxl {
    padding-left: 20px;
    padding-right: 20px;
  }

  .hero-title {
    font-size: 1.75rem;
  }

  .brand-logo {
    font-size: 1.07rem;
  }

  .brand-logo .brand-icon {
    width: 38px;
    height: 38px;
  }

  .hero-actions .btn {
    width: 100%;
    justify-content: center;
  }

  .category-body h3 {
    font-size: 1.12rem;
  }

  .split-content {
    padding: 30px 22px;
  }
}

/* roulang page: category1 */
:root{
    --brand:#2f5bf3;
    --brand-dark:#1f43c9;
    --brand-deep:#0e2cad;
    --brand-soft:#eef3ff;
    --accent:#fb7a2a;
    --accent-dark:#f25a10;
    --ink:#0d1a33;
    --muted:#62708c;
    --soft:#f5f8fd;
    --line:#e6ecf5;
    --white:#ffffff;
    --radius-lg:24px;
    --radius-md:16px;
    --radius-sm:10px;
    --shadow-sm:0 6px 18px rgba(13,26,60,.07);
    --shadow-md:0 16px 42px rgba(13,26,60,.11);
    --shadow-lg:0 30px 90px rgba(10,30,80,.18);
    --header-h:76px;
  }
  *{box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{
    margin:0;
    font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Segoe UI",system-ui,-apple-system,sans-serif;
    color:var(--ink);
    background:var(--white);
    line-height:1.7;
    -webkit-font-smoothing:antialiased;
  }
  [id]{scroll-margin-top:calc(var(--header-h) + 20px)}
  a{color:inherit;text-decoration:none}
  img{max-width:100%}
  button,input{font:inherit}
  .container-xxl{max-width:1320px;padding-left:24px;padding-right:24px;margin-left:auto;margin-right:auto}

  /* ========= Header Nav ========= */
  .site-header{
    position:sticky;
    top:0;
    z-index:1040;
    background:rgba(255,255,255,.86);
    backdrop-filter:blur(16px);
    border-bottom:1px solid rgba(230,236,245,.9);
  }
  .inner-bar{
    min-height:var(--header-h);
    padding:10px 0;
  }
  .brand-logo{
    display:inline-flex;
    align-items:center;
    gap:10px;
    font-weight:800;
    font-size:18px;
    color:var(--ink);
    letter-spacing:.2px;
    transition:color .2s ease;
  }
  .brand-logo:hover{color:var(--brand)}
  .brand-icon{
    width:40px;height:40px;
    display:inline-flex;align-items:center;justify-content:center;
    border-radius:13px;
    background:linear-gradient(135deg,var(--brand),var(--brand-deep));
    color:#fff;
    font-size:17px;
    box-shadow:0 8px 20px rgba(47,91,243,.3);
  }
  .main-nav{
    column-gap:2px;
  }
  .main-nav .nav-link{
    position:relative;
    font-weight:600;
    font-size:15px;
    color:#53617b;
    padding:10px 17px !important;
    border-radius:999px;
    transition:all .2s ease;
  }
  .main-nav .nav-link::after{
    content:"";
    position:absolute;
    left:18px;right:18px;bottom:5px;
    height:2px;
    border-radius:99px;
    background:var(--brand);
    opacity:0;
    transform:scaleX(.4);
    transform-origin:center;
    transition:transform .22s ease,opacity .22s ease;
  }
  .main-nav .nav-link:hover{color:var(--brand);background:var(--brand-soft)}
  .main-nav .nav-link.active{color:var(--brand);background:var(--brand-soft)}
  .main-nav .nav-link.active::after{opacity:1;transform:scaleX(1)}
  .command-search{
    display:inline-flex;
    align-items:center;
    gap:10px;
    min-width:214px;
    padding:9px 14px;
    border:1px solid var(--line);
    border-radius:999px;
    background:var(--soft);
    color:var(--muted);
    transition:all .2s ease;
  }
  .command-search:focus-within{
    border-color:var(--brand);
    background:#fff;
    box-shadow:0 0 0 4px rgba(47,91,243,.12);
  }
  .command-search input{
    flex:1;
    min-width:0;
    background:transparent;
    border:0;
    outline:0;
    color:var(--ink);
    font-size:14px;
  }
  .command-search input::placeholder{color:#98a4b8}
  .command-search kbd{
    font-family:inherit;
    font-size:11px;
    color:#8a96ad;
    background:#eef1f6;
    border:1px solid var(--line);
    border-radius:6px;
    padding:1px 7px;
  }
  .btn-nav-primary{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:11px 20px;
    border-radius:999px;
    background:linear-gradient(135deg,var(--brand),var(--brand-deep));
    color:#fff;
    font-weight:700;
    font-size:14px;
    white-space:nowrap;
    box-shadow:0 10px 24px rgba(47,91,243,.3);
    transition:all .2s ease;
  }
  .btn-nav-primary:hover{
    transform:translateY(-2px);
    box-shadow:0 14px 30px rgba(47,91,243,.4);
    color:#fff;
  }
  .navbar-toggler{
    border:1px solid var(--line);
    border-radius:12px;
    padding:7px 10px;
    background:var(--soft);
  }
  .navbar-toggler:focus{outline:0;box-shadow:0 0 0 4px rgba(47,91,243,.15)}

  /* ========= Hero ========= */
  .hero-block{
    position:relative;
    padding:110px 0 150px;
    color:#fff;
    background:
      radial-gradient(circle at 78% 18%,rgba(255,255,255,.12) 0,transparent 34%),
      linear-gradient(118deg,#081430 0%,#0e2a78 48%,#1d3fc9 100%);
    background-image:
      radial-gradient(circle at 78% 18%,rgba(255,255,255,.12) 0,transparent 34%),
      linear-gradient(118deg,#081430 0%,#0e2a78 48%,#1d3fc9 100%),
      url('/assets/images/backpic/back-1.png');
    background-size:cover;
    background-position:center;
    overflow:hidden;
  }
  .hero-block::before{
    content:"";
    position:absolute;
    inset:0;
    background:radial-gradient(circle at 12% 82%,rgba(47,91,243,.25),transparent 42%);
    pointer-events:none;
  }
  .hero-badge{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:8px 16px;
    background:rgba(255,255,255,.13);
    border:1px solid rgba(255,255,255,.2);
    border-radius:999px;
    color:#eef2ff;
    font-size:13px;
    font-weight:600;
    backdrop-filter:blur(8px);
    margin-bottom:20px;
  }
  .hero-title{
    font-size:clamp(30px,4vw,52px);
    font-weight:800;
    line-height:1.22;
    letter-spacing:.5px;
    margin-bottom:18px;
  }
  .hero-title .gradient-text{
    background:linear-gradient(90deg,#8fb0ff,#fbb77b);
    -webkit-background-clip:text;
    background-clip:text;
    -webkit-text-fill-color:transparent;
    color:transparent;
  }
  .hero-lead{
    max-width:560px;
    color:#d6e0fa;
    font-size:16px;
    line-height:1.9;
    margin-bottom:30px;
  }
  .hero-actions{display:flex;flex-wrap:wrap;gap:14px}
  .btn-main,.btn-ghost,.btn-light-solid,.btn-outline-white{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:13px 25px;
    border-radius:999px;
    font-weight:700;
    font-size:15px;
    transition:all .22s ease;
  }
  .btn-main{
    background:linear-gradient(135deg,#fb8b3d,var(--accent));
    color:#fff;
    box-shadow:0 14px 34px rgba(251,122,42,.36);
  }
  .btn-main:hover{transform:translateY(-2px);box-shadow:0 18px 38px rgba(251,122,42,.45);color:#fff}
  .btn-ghost{
    background:rgba(255,255,255,.1);
    color:#fff;
    border:1px solid rgba(255,255,255,.28);
    backdrop-filter:blur(6px);
  }
  .btn-ghost:hover{background:rgba(255,255,255,.2);color:#fff;transform:translateY(-2px)}
  .hero-meta{
    display:flex;
    flex-wrap:wrap;
    gap:24px;
    margin-top:38px;
  }
  .hero-meta-item{display:flex;align-items:center;gap:10px;color:#d9e3fb;font-size:14px}
  .hero-meta-item i{color:#8fb0ff;font-size:18px}
  .hero-visual{position:relative;max-width:610px;margin-left:auto}
  .browser-frame{
    background:#fff;
    border-radius:22px;
    padding:0;
    box-shadow:0 40px 90px rgba(3,14,45,.4);
    overflow:hidden;
    border:1px solid rgba(255,255,255,.18);
    transform:rotate(1deg);
  }
  .browser-top{
    display:flex;
    align-items:center;
    gap:7px;
    padding:13px 16px;
    background:#f2f6fe;
    border-bottom:1px solid #e2e9f5;
    border-radius:22px 22px 0 0;
  }
  .browser-top .dot{width:9px;height:9px;border-radius:50%}
  .browser-top .dot.red{background:#ff6b68}
  .browser-top .dot.yellow{background:#ffbd44}
  .browser-top .dot.green{background:#52c41a}
  .browser-url{
    flex:1;
    margin-left:8px;
    padding:7px 14px;
    background:#fff;
    border:1px solid #e2e9f5;
    border-radius:999px;
    font-size:13px;
    color:#8b99af;
    text-align:center;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .browser-frame img{
    width:100%;
    height:280px;
    object-fit:cover;
    display:block;
  }
  .float-card{
    position:absolute;
    display:flex;
    align-items:center;
    gap:10px;
    padding:11px 16px;
    background:rgba(255,255,255,.94);
    backdrop-filter:blur(10px);
    border-radius:16px;
    box-shadow:0 20px 46px rgba(5,15,55,.24);
    font-size:13px;
    font-weight:700;
    color:var(--ink);
  }
  .float-card small{display:block;font-weight:400;font-size:12px;color:#8a97ad}
  .float-card i{
    width:34px;height:34px;flex:0 0 34px;
    display:inline-flex;align-items:center;justify-content:center;
    border-radius:11px;
    font-size:15px;
  }
  .float-top{top:112px;left:-28px;animation:floatY 4s ease-in-out infinite}
  .float-bottom{bottom:-22px;right:-14px;animation:floatY 4s ease-in-out 1.6s infinite}
  .float-card .f1-bg{background:#eaf0ff;color:var(--brand)}
  .float-card .f2-bg{background:#fff0e5;color:var(--accent)}
  @keyframes floatY{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}

  /* ========= Trust Strip ========= */
  .trust-strip{position:relative;z-index:6;margin-top:-78px}
  .trust-inner{
    background:rgba(255,255,255,.92);
    border:1px solid var(--line);
    border-radius:24px;
    box-shadow:var(--shadow-md);
    padding:28px 30px;
    backdrop-filter:blur(12px);
  }
  .trust-item{display:flex;gap:14px;align-items:center;height:100%}
  .trust-icon{
    width:46px;height:46px;flex:0 0 46px;
    display:inline-flex;align-items:center;justify-content:center;
    border-radius:14px;
    background:var(--brand-soft);
    color:var(--brand);
    font-size:19px;
  }
  .trust-item strong{font-size:15px;color:var(--ink)}
  .trust-item span{display:block;font-size:13px;color:var(--muted);line-height:1.5}

  /* ========= Sections ========= */
  .section-block{padding:94px 0}
  .section-soft{background:linear-gradient(180deg,#f8fbff,#ffffff)}
  .section-head{max-width:760px;margin:0 auto 52px;text-align:center}
  .section-kicker{
    display:inline-flex;
    align-items:center;
    gap:6px;
    color:var(--brand);
    background:var(--brand-soft);
    padding:7px 17px;
    border-radius:999px;
    font-weight:700;
    font-size:13px;
    letter-spacing:.3px;
    margin-bottom:16px;
  }
  .section-title{
    font-size:clamp(26px,2.6vw,38px);
    font-weight:800;
    line-height:1.28;
    margin-bottom:12px;
  }
  .section-sub{color:var(--muted);font-size:16px;line-height:1.8}

  /* ========= Cards ========= */
  .icon-card{
    height:100%;
    padding:30px 26px;
    background:#fff;
    border:1px solid var(--line);
    border-radius:var(--radius-lg);
    transition:all .25s ease;
    position:relative;
    overflow:hidden;
  }
  .icon-card:hover{
    transform:translateY(-6px);
    box-shadow:var(--shadow-md);
    border-color:rgba(47,91,243,.25);
  }
  .icon-card::after{
    content:"";
    position:absolute;
    right:-46px;top:-46px;
    width:110px;height:110px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(47,91,243,.08),transparent 70%);
    pointer-events:none;
  }
  .icon-card-head{
    width:56px;height:56px;
    display:flex;align-items:center;justify-content:center;
    background:linear-gradient(135deg,var(--brand-soft),#dbe7ff);
    color:var(--brand);
    border-radius:18px;
    font-size:22px;
    margin-bottom:20px;
  }
  .icon-card:nth-child(2n) .icon-card-head{color:var(--accent);background:#fff1e6}
  .icon-card h3{font-size:17px;font-weight:700;margin-bottom:10px}
  .icon-card p{color:var(--muted);font-size:14px;margin:0;line-height:1.85}

  /* ========= Steps ========= */
  .process-wrap{
    background:#fff;
    border:1px solid var(--line);
    border-radius:30px;
    padding:44px 40px;
    box-shadow:var(--shadow-sm);
  }
  .step-card{
    position:relative;
    display:flex;
    gap:16px;
    padding:22px 18px 22px 22px;
    border-radius:20px;
    background:#f8faff;
    border:1px solid transparent;
    height:100%;
    transition:all .22s ease;
  }
  .step-card:hover{background:#fff;border-color:#dfe8ff;box-shadow:var(--shadow-sm)}
  .step-number{
    flex:0 0 auto;
    width:44px;height:44px;
    display:inline-flex;align-items:center;justify-content:center;
    border-radius:14px;
    background:var(--ink);
    color:#fff;
    font-weight:800;
    font-size:17px;
    box-shadow:0 10px 20px rgba(13,26,51,.2);
  }
  .step-card:nth-child(2) .step-number{background:var(--brand)}
  .step-card:nth-child(3) .step-number{background:linear-gradient(135deg,var(--brand),var(--brand-deep))}
  .step-card h3{font-size:16px;font-weight:700;margin-bottom:8px}
  .step-card p{font-size:14px;color:var(--muted);margin:0}
  .float-grade{
    position:absolute;
    right:-10px;top:-10px;
    background:#fff;
    border:1px solid var(--line);
    border-radius:20px;
    padding:8px 14px;
    font-size:12px;
    color:var(--brand);
    font-weight:700;
    box-shadow:var(--shadow-sm);
  }
  .step-media{
    border-radius:24px;
    overflow:hidden;
    height:100%;
    box-shadow:var(--shadow-sm);
  }
  .step-media img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
  }

  /* ========= Scene Cards ========= */
  .scene-card{
    height:100%;
    background:#fff;
    border:1px solid var(--line);
    border-radius:22px;
    padding:26px 24px;
    transition:all .25s ease;
  }
  .scene-card:hover{box-shadow:var(--shadow-md);transform:translateY(-5px);border-color:#e1eaff}
  .scene-badge{
    display:inline-flex;
    align-items:center;
    gap:6px;
    font-size:12px;
    font-weight:700;
    color:var(--brand-dark);
    background:var(--brand-soft);
    border-radius:999px;
    padding:6px 13px;
    margin-bottom:17px;
  }
  .scene-card h3{font-size:16px;font-weight:700;margin-bottom:9px;line-height:1.5}
  .scene-card p{font-size:14px;color:var(--muted);margin:0;line-height:1.85}
  .scene-icon{
    display:flex;align-items:center;justify-content:center;
    width:50px;height:50px;
    border-radius:15px;
    background:#fff0e6;
    color:var(--accent);
    font-size:20px;
    margin-bottom:16px;
  }
  .scene-card:nth-child(3n+2) .scene-icon{background:var(--brand-soft);color:var(--brand)}
  .scene-card:nth-child(3n+3) .scene-icon{background:#eaf9f3;color:#0ab58a}

  /* ========= Featured split ========= */
  .split-panel{
    background:#fff;
    border:1px solid var(--line);
    border-radius:30px;
    overflow:hidden;
    box-shadow:var(--shadow-sm);
  }
  .split-media{
    height:100%;
    position:relative;
    min-height:320px;
    background:linear-gradient(135deg,var(--brand-soft),#edf1ff);
  }
  .split-media img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
  }
  .split-content{padding:48px 44px}
  .split-content h2{font-size:clamp(24px,2vw,32px);font-weight:800;margin-bottom:14px}
  .split-content .lead-text{color:var(--muted);font-size:15px;margin-bottom:26px}
  .check-list{list-style:none;margin:0;padding:0}
  .check-list li{
    display:flex;
    align-items:flex-start;
    gap:11px;
    padding:8px 0;
    color:#263754;
    font-size:15px;
  }
  .check-list li::before{
    content:"\f058";
    font-family:"Font Awesome 6 Free";
    font-weight:900;
    color:var(--brand);
    font-size:17px;
    position:relative;
    top:4px;
  }
  .mini-note{
    display:inline-flex;
    align-items:center;
    gap:10px;
    background:#f8faff;
    border:1px solid #e4ebfb;
    padding:14px 17px;
    border-radius:16px;
    margin-top:18px;
    color:var(--muted);
    font-size:13px;
  }
  .mini-note i{color:var(--accent);font-size:17px}
  .devider{height:1px;background:var(--line);margin:12px 0}

  /* ========= FAQ ========= */
  .faq-panel{
    background:#fff;
    border:1px solid var(--line);
    border-radius:28px;
    overflow:hidden;
    box-shadow:var(--shadow-sm);
  }
  .accordion.faq-accordion{--bs-accordion-border-width:0}
  .faq-accordion .accordion-item{
    border:0;
    border-bottom:1px solid var(--line);
    background:transparent;
  }
  .faq-accordion .accordion-item:last-child{border-bottom:0}
  .faq-accordion .accordion-button{
    font-weight:700;
    font-size:16px;
    color:var(--ink);
    padding:23px 28px;
    background:#fff;
    box-shadow:none;
    gap:12px;
  }
  .faq-accordion .accordion-button i{color:var(--brand)}
  .faq-accordion .accordion-button:not(.collapsed){
    color:var(--brand-dark);
    background:#fbfcff;
  }
  .faq-accordion .accordion-button:focus{
    box-shadow:0 0 0 4px rgba(47,91,243,.12);
    border-radius:14px;
    z-index:1;
  }
  .faq-accordion .accordion-button::after{
    filter:none;
    color:var(--brand);
    opacity:.55;
  }
  .faq-accordion .accordion-body{
    padding:0 28px 25px 64px;
    color:var(--muted);
    font-size:14px;
    line-height:1.95;
    background:#fff;
  }
  .faq-extra-card{
    background:var(--soft);
    border:1px solid var(--line);
    border-radius:20px;
    padding:24px 22px;
    text-align:center;
    height:100%;
  }
  .faq-extra-card i{font-size:28px;color:var(--brand);margin-bottom:12px}
  .faq-extra-card h3{font-size:17px;font-weight:700;margin-bottom:7px}
  .faq-extra-card p{font-size:13px;color:var(--muted);margin:0}

  /* ========= CTA ========= */
  .cta-section{padding-bottom:94px}
  .cta-box{
    background:
      radial-gradient(circle at 84% 12%,rgba(255,255,255,.22) 0,transparent 36%),
      url('/assets/images/backpic/back-3.webp') center/cover no-repeat,
      linear-gradient(120deg,#0b1f52,#16368f);
    background-size:cover;
    border-radius:32px;
    color:#fff;
    padding:66px 56px;
    position:relative;
    overflow:hidden;
    box-shadow:0 34px 90px rgba(12,30,80,.28);
  }
  .cta-box h2{font-size:clamp(26px,3vw,40px);font-weight:800;margin-bottom:12px}
  .cta-box p{max-width:620px;color:#cbd8ff;margin-bottom:30px}
  .cta-link-wrap{display:flex;flex-wrap:wrap;gap:14px}
  .cta-link-wrap .btn-light-solid{
    background:#fff;
    color:var(--brand-dark);
    box-shadow:0 14px 34px rgba(4,15,54,.25);
  }
  .cta-link-wrap .btn-light-solid:hover{transform:translateY(-2px);color:var(--brand);box-shadow:0 18px 40px rgba(4,15,54,.3)}
  .cta-link-wrap .btn-outline-white{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.38)}
  .cta-link-wrap .btn-outline-white:hover{background:#fff;color:var(--brand-deep);transform:translateY(-2px)}

  /* ========= Footer ========= */
  .site-footer{
    background:var(--ink);
    color:#b8c2d9;
    padding:64px 0 28px;
  }
  .footer-brand{
    display:flex;
    align-items:center;
    gap:10px;
    font-size:22px;
    font-weight:800;
    color:#fff;
    margin-bottom:14px;
  }
  .footer-desc{color:#8f9cba;font-size:14px;line-height:1.9;max-width:350px}
  .footer-heading{color:#fff;font-size:15px;font-weight:700;margin-bottom:15px;letter-spacing:.3px}
  .footer-links{list-style:none;margin:0;padding:0}
  .footer-links li{margin-bottom:10px}
  .footer-links a{
    color:#9ba9c4;
    font-size:14px;
    display:inline-flex;
    align-items:center;
    gap:7px;
    transition:color .2s,padding-left .2s;
  }
  .footer-links a:hover{color:#fff;padding-left:4px}
  .footer-links i{font-size:12px;color:var(--brand);transition:color .2s}
  .footer-bottom{
    border-top:1px solid rgba(255,255,255,.1);
    margin-top:38px;
    padding-top:22px;
    font-size:13px;
    color:#7f8cac;
  }

  /* ========= Responsive ========= */
  @media (max-width:1199.98px){
    .main-nav .nav-link{padding:9px 13px !important;font-size:14px}
    .command-search{min-width:190px}
    .float-top{left:-12px}
    .float-bottom{right:0}
  }
  @media (max-width:991.98px){
    .hero-block{padding:72px 0 126px}
    .hero-visual{margin:36px auto 0;max-width:560px}
    .cta-box{padding:46px 32px;border-radius:24px}
    .split-content{padding:36px 30px}
    .trust-strip{margin-top:-60px}
    .process-wrap{padding:32px}
  }
  @media (max-width:767.98px){
    .section-block{padding:64px 0}
    .section-head{margin-bottom:38px}
    .hero-title{font-size:32px}
    .trust-inner{padding:22px 18px}
    .section-title{font-size:27px}
    .cta-box{padding:40px 24px}
    .faq-accordion .accordion-body{padding:0 18px 20px 48px}
  }
  @media (max-width:575.98px){
    .container-xxl{padding-left:18px;padding-right:18px}
    .hero-title{font-size:28px;line-height:1.3}
    .hero-block{padding-top:54px}
    .hero-actions .btn-main,.hero-actions .btn-ghost{width:100%}
    .trust-inner .row{gap:14px}
    .step-card{padding:18px}
    .split-panel{border-radius:18px}
    .float-card{display:none}
    .cta-box{padding:36px 22px}
  }
  @media (prefers-reduced-motion:reduce){
    *{animation:none !important;scroll-behavior:auto}
  }

/* roulang page: article */
:root {
  --primary: #1d56d8;
  --primary-deep: #123a94;
  --primary-soft: #e8f0fe;
  --accent: #ff7a2f;
  --accent-deep: #f05d1e;
  --teal: #00b8d4;
  --navy: #0b1834;
  --navy-2: #0f2448;
  --bg-body: #ffffff;
  --bg-soft: #f4f7fd;
  --bg-light: #f8fafc;
  --ink: #14223a;
  --text: #44566e;
  --muted: #7b8ba1;
  --border: #e5ebf4;
  --border-2: #d7e0ec;
  --radius-md: 14px;
  --radius-lg: 20px;
  --radius-xl: 28px;
  --shadow-sm: 0 6px 18px rgba(20, 45, 90, .06);
  --shadow: 0 16px 40px rgba(20, 45, 90, .10);
  --shadow-lg: 0 24px 64px rgba(11, 24, 52, .16);
  --font-main: 'Inter', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', system-ui, -apple-system, sans-serif;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  font-family: var(--font-main);
  font-size: 16px;
  line-height: 1.75;
  color: var(--text);
  background: var(--bg-body);
  -webkit-font-smoothing: antialiased;
}

a {
  color: inherit;
  text-decoration: none;
}

a:hover {
  color: inherit;
  text-decoration: none;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

button,
input {
  font-family: inherit;
}

h1, h2, h3, h4, h5, h6 {
  color: var(--ink);
  font-weight: 700;
  line-height: 1.35;
}

.container-xxl {
  max-width: 1280px;
  padding-left: 24px;
  padding-right: 24px;
}

/* ---------- 通用按钮 ---------- */
.btn-go {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 26px;
  border-radius: 999px;
  font-weight: 600;
  font-size: 15px;
  line-height: 1.4;
  background: var(--accent);
  color: #fff;
  border: 1px solid transparent;
  box-shadow: 0 10px 24px rgba(255, 112, 22, .28);
  transition: all .25s ease;
}

.btn-go:hover {
  background: #ff8c45;
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 16px 30px rgba(255, 112, 22, .34);
}

.btn-go:active {
  transform: translateY(0);
  box-shadow: 0 8px 16px rgba(255, 112, 22, .26);
}

.btn-ghost-light {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 26px;
  border-radius: 999px;
  font-weight: 600;
  font-size: 15px;
  color: #fff;
  background: rgba(255, 255, 255, .10);
  border: 1px solid rgba(255, 255, 255, .35);
  backdrop-filter: blur(6px);
  transition: all .25s ease;
}

.btn-ghost-light:hover {
  background: rgba(255, 255, 255, .18);
  border-color: rgba(255, 255, 255, .55);
  color: #fff;
  transform: translateY(-2px);
}

.btn-outline-blue {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  font-weight: 600;
  font-size: 14px;
  padding: 9px 20px;
  border-radius: 999px;
  background: transparent;
  color: var(--primary);
  border: 1px solid #c7d8fa;
  transition: all .25s ease;
}

.btn-outline-blue:hover {
  background: var(--primary-soft);
  color: var(--primary-deep);
  border-color: var(--primary);
}

/* ---------- 顶部导航 ---------- */
.site-header {
  position: sticky;
  top: 0;
  z-index: 1050;
  background: rgba(8, 18, 40, .88);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(255, 255, 255, .08);
}

.site-header .inner-bar {
  min-height: 76px;
}

.navbar-brand.brand-logo {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-weight: 800;
  font-size: 18px;
  color: #fff;
  letter-spacing: .2px;
}

.brand-icon {
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 11px;
  background: linear-gradient(135deg, #ff7a2f, #ffa04d);
  color: #fff;
  font-size: 16px;
  box-shadow: 0 8px 18px rgba(255, 112, 22, .28);
}

.main-nav {
  gap: 4px;
}

.main-nav .nav-link {
  color: rgba(255, 255, 255, .70);
  font-weight: 500;
  font-size: 15px;
  padding: .55rem 1rem;
  border-radius: 999px;
  transition: all .2s ease;
}

.main-nav .nav-link:hover {
  color: #fff;
  background: rgba(255, 255, 255, .10);
}

.main-nav .nav-link.active {
  color: #fff;
  background: rgba(255, 255, 255, .16);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .12);
}

.command-search {
  width: 220px;
  display: flex;
  align-items: center;
  gap: 8px;
  height: 42px;
  padding: 0 14px;
  background: rgba(255, 255, 255, .10);
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 999px;
  color: rgba(255, 255, 255, .55);
}

.command-search i {
  font-size: 13px;
}

.command-search input {
  flex: 1;
  min-width: 0;
  background: transparent;
  border: 0;
  outline: none;
  color: #fff;
  font-size: 14px;
}

.command-search input::placeholder {
  color: rgba(255, 255, 255, .5);
}

.command-search kbd {
  background: rgba(255, 255, 255, .12);
  color: rgba(255, 255, 255, .6);
  font-size: 11px;
  border-radius: 6px;
  border: 0;
  padding: 2px 7px;
}

.btn-nav-primary {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: linear-gradient(135deg, #ff7a2f, #ffa047);
  color: #fff;
  font-weight: 700;
  font-size: 14px;
  padding: 10px 20px;
  border-radius: 999px;
  white-space: nowrap;
  box-shadow: 0 10px 22px rgba(255, 112, 22, .28);
  transition: all .25s ease;
}

.btn-nav-primary:hover {
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 14px 30px rgba(255, 112, 22, .35);
}

.navbar-toggler {
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, .4);
  padding: 4px 10px;
  background: rgba(255, 255, 255, .08);
}

.navbar-toggler:focus {
  box-shadow: 0 0 0 3px rgba(255, 122, 47, .35);
}

.navbar-toggler-icon {
  background-image: none;
}

.navbar-toggler-icon::before {
  content: "\f0c9";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  color: #fff;
  font-size: 18px;
}

@media (max-width: 1199.98px) {
  .site-header .inner-bar {
    min-height: 70px;
  }

  .site-header .navbar-collapse {
    background: #0b1834;
    border-radius: 18px;
    padding: 18px 14px;
    margin: 12px 0 16px;
    border: 1px solid rgba(255, 255, 255, .1);
    box-shadow: 0 24px 50px rgba(0, 0, 0, .28);
  }

  .main-nav {
    margin-top: 4px;
    margin-bottom: 10px;
  }

  .main-nav .nav-link {
    padding: .7rem 1rem;
    border-radius: 12px;
  }

  .command-search {
    width: 100%;
  }
}

@media (max-width: 575.98px) {
  .navbar-brand.brand-logo {
    font-size: 16px;
  }

  .btn-nav-primary {
    padding: 9px 14px;
    font-size: 13px;
  }

  .command-search kbd {
    display: none;
  }
}

/* ---------- 文章 Hero ---------- */
.article-hero {
  position: relative;
  background-color: #0a1734;
  background-image:
    linear-gradient(120deg, rgba(6, 14, 38, .96) 0%, rgba(13, 36, 82, .9) 48%, rgba(0, 87, 111, .78) 100%),
    radial-gradient(circle at 18% 20%, rgba(0, 184, 212, .18), transparent 42%),
    url('/assets/images/backpic/back-1.png');
  background-size: cover;
  background-position: center;
  padding: clamp(58px, 8vw, 110px) 0 clamp(42px, 6vw, 80px);
  text-align: center;
  overflow: hidden;
}

.article-hero .hero-content {
  max-width: 960px;
  margin: 0 auto;
}

.page-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  justify-content: center;
  color: rgba(255, 255, 255, .66);
  font-size: 14px;
  margin-bottom: 24px;
}

.page-breadcrumb a {
  color: rgba(255, 255, 255, .82);
  transition: color .2s ease;
}

.page-breadcrumb a:hover {
  color: #fff;
}

.page-breadcrumb .bc-sep {
  opacity: .5;
  margin: 0 2px;
}

.page-breadcrumb .current {
  color: #ffb37d;
  max-width: 420px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.article-hero h1 {
  color: #fff;
  font-size: clamp(26px, 4.2vw, 46px);
  font-weight: 800;
  letter-spacing: -0.4px;
  line-height: 1.3;
  text-shadow: 0 4px 18px rgba(0, 0, 0, .25);
  margin: 0 0 26px;
  word-break: break-word;
}

.article-hero-meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
}

.article-hero-meta .meta-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(255, 255, 255, .12);
  border: 1px solid rgba(255, 255, 255, .16);
  color: rgba(255, 255, 255, .92);
  font-size: 14px;
  padding: 7px 16px;
  border-radius: 999px;
  backdrop-filter: blur(5px);
}

.article-hero-meta .meta-item i {
  color: #ffc79c;
  font-size: 13px;
}

/* ---------- 正文区 ---------- */
.article-body-section {
  background: #fff;
  padding: 48px 0 64px;
}

.article-card {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow);
  padding: clamp(24px, 4.5vw, 54px);
}

.article-body {
  font-size: 16px;
  line-height: 1.9;
  color: var(--text);
}

.article-body p {
  margin-bottom: 1.4rem;
}

.article-body h2,
.article-body h3,
.article-body h4 {
  color: var(--ink);
  font-weight: 700;
  margin: 2.2rem 0 1rem;
}

.article-body h2 {
  font-size: 1.55rem;
  padding-bottom: .45rem;
  border-bottom: 1px solid #e9eef6;
}

.article-body h3 {
  font-size: 1.25rem;
}

.article-body a {
  color: var(--primary);
  border-bottom: 1px solid rgba(29, 86, 216, .28);
  transition: border-color .2s;
}

.article-body a:hover {
  border-bottom-color: var(--primary);
}

.article-body blockquote {
  background: var(--bg-soft);
  border-left: 4px solid var(--primary);
  margin: 1.8rem 0;
  padding: 1.1rem 1.4rem;
  border-radius: 0 14px 14px 0;
  color: var(--ink);
}

.article-body img {
  display: block;
  height: auto;
  border-radius: 16px;
  margin: 2rem auto;
  box-shadow: 0 10px 30px rgba(20, 45, 90, .10);
}

.article-body ul,
.article-body ol {
  padding-left: 1.3rem;
  margin: 1.2rem 0 1.6rem;
}

.article-body li {
  margin-bottom: .5rem;
}

.article-body table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.6rem 0;
}

.article-body table th,
.article-body table td {
  border: 1px solid var(--border-2);
  padding: .6rem .8rem;
}

.article-body table th {
  background: var(--bg-light);
}

.article-body-hr {
  margin: 34px 0 28px;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--border), transparent);
}

.article-footer-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin-top: 32px;
  padding-top: 24px;
  border-top: 1px solid var(--border);
}

.article-footer-actions span {
  color: var(--muted);
  font-size: 15px;
}

/* ---------- 服务分类卡片 ---------- */
.service-section {
  background: var(--bg-soft);
  padding: clamp(46px, 7vw, 84px) 0;
}

.section-head {
  text-align: center;
  max-width: 760px;
  margin: 0 auto 44px;
}

.section-tag {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: rgba(29, 86, 216, .08);
  color: var(--primary);
  font-size: 13px;
  font-weight: 600;
  padding: 6px 16px;
  border-radius: 999px;
  border: 1px solid rgba(29, 86, 216, .12);
  margin-bottom: 16px;
}

.section-title {
  font-size: clamp(24px, 3vw, 34px);
  font-weight: 800;
  letter-spacing: -0.3px;
  color: var(--navy);
  margin-bottom: 16px;
}

.section-lead {
  color: var(--muted);
  font-size: 16px;
  line-height: 1.8;
}

.svc-card {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 20px;
  height: 100%;
  overflow: hidden;
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
  display: flex;
  flex-direction: column;
}

.svc-card:hover {
  transform: translateY(-6px);
  box-shadow: var(--shadow-lg);
  border-color: rgba(29, 86, 216, .25);
}

.svc-card .card-media {
  height: 176px;
  position: relative;
  overflow: hidden;
}

.svc-card .card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .5s ease;
}

.svc-card:hover .card-media img {
  transform: scale(1.05);
}

.svc-card .card-media::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 55%, rgba(9, 20, 43, .45));
}

.svc-card .card-icon {
  position: absolute;
  left: 18px;
  bottom: 16px;
  z-index: 2;
  width: 44px;
  height: 44px;
  border-radius: 13px;
  background: rgba(255, 255, 255, .96);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--primary);
  font-size: 18px;
  box-shadow: 0 8px 20px rgba(0, 0, 0, .18);
}

.svc-card .card-content {
  padding: 22px 22px 26px;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.svc-card .card-content h3 {
  font-size: 18px;
  font-weight: 700;
  color: var(--navy);
  margin-bottom: 10px;
}

.svc-card .card-content p {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.7;
  flex: 1;
  margin-bottom: 18px;
}

.svc-card .card-link {
  font-size: 14px;
  font-weight: 600;
  color: var(--primary);
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: gap .2s ease;
}

.svc-card .card-link:hover {
  gap: 10px;
  color: var(--primary-deep);
}

/* ---------- 保障区块 ---------- */
.trust-section {
  padding: clamp(46px, 7vw, 82px) 0;
  background-color: #0a1734;
  background-image:
    linear-gradient(110deg, rgba(5, 14, 35, .96), rgba(11, 29, 62, .9)),
    url('/assets/images/backpic/back-3.webp');
  background-size: cover;
  background-position: center;
  color: rgba(255, 255, 255, .76);
}

.trust-section .section-title {
  color: #fff;
}

.trust-card {
  background: rgba(255, 255, 255, .085);
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 22px;
  padding: 28px 26px;
  height: 100%;
  backdrop-filter: blur(8px);
  transition: background .25s ease, transform .25s ease;
}

.trust-card:hover {
  background: rgba(255, 255, 255, .13);
  transform: translateY(-4px);
}

.trust-card .trust-icon {
  width: 48px;
  height: 48px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 19px;
  margin-bottom: 18px;
  background: rgba(0, 184, 212, .16);
  color: #4ad7e8;
  border: 1px solid rgba(0, 200, 220, .25);
}

.trust-card h3 {
  color: #fff;
  font-size: 17px;
  margin-bottom: 10px;
}

.trust-card p {
  font-size: 14px;
  line-height: 1.75;
  color: rgba(255, 255, 255, .68);
  margin: 0;
}

/* ---------- FAQ ---------- */
.faq-section {
  background: #fff;
  padding: clamp(46px, 7vw, 84px) 0;
}

.faq-panel {
  max-width: 860px;
  margin: 0 auto;
}

.accordion-item {
  border: 1px solid var(--border);
  border-radius: 16px !important;
  margin-bottom: 14px;
  background: #fff;
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  transition: box-shadow .2s ease;
}

.accordion-item:has(.accordion-button:not(.collapsed)) {
  box-shadow: 0 8px 26px rgba(20, 45, 90, .08);
}

.accordion-button {
  padding: 18px 22px;
  font-size: 16px;
  font-weight: 600;
  color: var(--ink);
  background: #fff;
  border: 0;
  box-shadow: none !important;
}

.accordion-button:not(.collapsed) {
  background: #f7faff;
  color: var(--primary);
}

.accordion-button::after {
  color: var(--accent);
  transform: scale(.9);
}

.accordion-button:focus {
  box-shadow: none;
  outline: none;
}

.accordion-button:focus-visible {
  box-shadow: 0 0 0 3px rgba(29, 86, 216, .2);
}

.accordion-body {
  padding: 4px 22px 20px;
  color: var(--text);
  font-size: 15px;
  line-height: 1.85;
}

/* ---------- CTA ---------- */
.cta-section {
  background: var(--bg-soft);
  padding: clamp(40px, 6vw, 70px) 0;
}

.cta-panel {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(110deg, rgba(9, 18, 45, .96), rgba(15, 54, 104, .94)),
    url('/assets/images/backpic/back-2.png');
  background-size: cover;
  background-position: center;
  border-radius: 30px;
  padding: clamp(32px, 5vw, 58px);
  color: rgba(255, 255, 255, .75);
}

.cta-panel::after {
  content: '';
  position: absolute;
  right: -70px;
  top: -70px;
  width: 260px;
  height: 260px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(0, 184, 212, .22), transparent 70%);
}

.cta-panel .cta-title {
  color: #fff;
  font-size: clamp(21px, 3vw, 30px);
  font-weight: 800;
  letter-spacing: -.2px;
  margin-bottom: 12px;
}

.cta-panel .cta-text {
  max-width: 620px;
  font-size: 15px;
  line-height: 1.85;
  margin-bottom: 26px;
}

.cta-panel .cta-buttons {
  position: relative;
  z-index: 2;
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

/* ---------- 页脚 ---------- */
.site-footer {
  background: #081126;
  padding-top: 64px;
  color: rgba(255, 255, 255, .68);
  border-top: 1px solid rgba(255, 255, 255, .06);
}

.site-footer .footer-brand {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #fff;
  font-size: 20px;
  font-weight: 800;
  margin-bottom: 16px;
}

.footer-desc {
  font-size: 14px;
  line-height: 1.85;
  max-width: 340px;
  color: rgba(255, 255, 255, .56);
  margin-bottom: 0;
}

.footer-heading {
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  margin-bottom: 16px;
}

.footer-links {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-links li {
  margin-bottom: 10px;
}

.footer-links a {
  color: rgba(255, 255, 255, .6);
  font-size: 14px;
  transition: all .2s ease;
}

.footer-links a:hover {
  color: #ffb37d;
  padding-left: 3px;
}

.footer-links a i {
  font-size: 10px;
  margin-right: 6px;
  color: rgba(255, 255, 255, .3);
}

.footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, .08);
  margin-top: 40px;
  padding: 22px 0;
  font-size: 13px;
  color: rgba(255, 255, 255, .45);
}

/* ---------- 内容未找到 ---------- */
.empty-result {
  text-align: center;
  padding: 5rem 1.5rem 8rem;
  background: #f8faff;
}

.empty-result .empty-icon {
  width: 78px;
  height: 78px;
  border-radius: 24px;
  margin: 0 auto 22px;
  background: #edf3fe;
  color: var(--primary);
  font-size: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.empty-result h1 {
  font-size: 26px;
  color: var(--navy);
  margin-bottom: 10px;
}

.empty-result p {
  color: var(--muted);
  margin-bottom: 24px;
}

/* ---------- 焦点与辅助 ---------- */
a:focus-visible,
button:focus-visible,
input:focus-visible,
.accordion-button:focus-visible {
  outline: 3px solid rgba(255, 122, 47, .45);
  outline-offset: 2px;
}

@media (max-width: 767.98px) {
  .container-xxl {
    padding-left: 18px;
    padding-right: 18px;
  }

  .article-hero-meta .meta-item {
    font-size: 13px;
    padding: 6px 12px;
  }

  .svc-card .card-media {
    height: 150px;
  }

  .article-footer-actions {
    flex-direction: column;
    align-items: flex-start;
  }

  .cta-buttons {
    flex-direction: column;
  }

  .cta-buttons .btn-go,
  .cta-buttons .btn-ghost-light {
    width: 100%;
  }
}

@media (max-width: 520px) {
  .article-card {
    padding: 20px 16px;
  }

  .article-body {
    font-size: 15px;
  }

  .section-head {
    margin-bottom: 30px;
  }

  .page-breadcrumb {
    font-size: 13px;
  }

  .footer-bottom {
    flex-direction: column;
    text-align: center;
  }
}

/* roulang page: category2 */
:root{
  --brand:#2f6bff;
  --brand-deep:#1e4fd8;
  --accent:#06b6a4;
  --accent-soft:#ecfeff;
  --ink:#10213e;
  --muted:#5d6b82;
  --bg:#f5f8ff;
  --white:#ffffff;
  --line:#e3eaf6;
  --line-strong:#d3ddf0;
  --shadow-sm:0 4px 14px rgba(16,33,62,.06);
  --shadow-md:0 16px 40px rgba(16,33,62,.08);
  --shadow-lg:0 24px 70px rgba(16,33,62,.12);
  --radius-lg:22px;
  --radius-md:14px;
  --radius-sm:10px;
  --trans:all .25s ease;
}
html{
  scroll-behavior:smooth;
}
body{
  font-family:"PingFang SC","Microsoft YaHei","Helvetica Neue",Arial,sans-serif;
  color:var(--ink);
  background:var(--bg);
  line-height:1.75;
  margin:0;
}
a{
  color:inherit;
  text-decoration:none;
}
img{
  max-width:100%;
  height:auto;
}
button:focus:not(:focus-visible),
a:focus:not(:focus-visible),
input:focus:not(:focus-visible){
  outline:none;
}
a:focus-visible,
button:focus-visible,
input:focus-visible{
  outline:3px solid rgba(47,107,255,.28);
  outline-offset:2px;
  border-radius:6px;
}
.container-xxl{
  max-width:1340px;
  padding-left:24px;
  padding-right:24px;
}
/* ===== Header ===== */
.site-header{
  position:sticky;
  top:0;
  z-index:1060;
  background:rgba(255,255,255,.86);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(227,234,246,.72);
}
.site-header .inner-bar{
  min-height:78px;
}
.brand-logo{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-weight:800;
  font-size:1.12rem;
  color:var(--ink);
  letter-spacing:.01em;
  transition:var(--trans);
}
.brand-logo:hover{
  color:var(--brand);
}
.brand-icon{
  width:40px;
  height:40px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  background:linear-gradient(135deg,#2f6bff,#0ea5a3);
  color:#fff;
  font-size:1.05rem;
  box-shadow:0 8px 18px rgba(47,107,255,.25);
}
.main-nav .nav-link{
  font-weight:600;
  color:#3d4c66;
  padding:.6rem .85rem;
  border-radius:999px;
  font-size:.96rem;
  transition:var(--trans);
  line-height:1.4;
}
.main-nav .nav-link:hover{
  color:var(--brand);
  background:rgba(47,107,255,.07);
}
.main-nav .nav-link.active{
  color:var(--brand);
  background:rgba(47,107,255,.1);
  box-shadow:inset 0 0 0 1px rgba(47,107,255,.08);
}
.command-search{
  display:flex;
  align-items:center;
  gap:8px;
  background:#f1f5fc;
  border:1px solid #e4ebf7;
  border-radius:999px;
  padding:.48rem .75rem .48rem .95rem;
  min-width:238px;
  color:#8b99af;
  transition:var(--trans);
}
.command-search:focus-within{
  border-color:var(--brand);
  background:#fff;
  box-shadow:0 0 0 4px rgba(47,107,255,.1);
}
.command-search input{
  border:0;
  background:transparent;
  outline:0;
  font-size:.88rem;
  color:var(--ink);
  width:100%;
}
.command-search input::placeholder{
  color:#a4afc0;
}
.command-search kbd{
  font-size:.7rem;
  background:#e7edf8;
  border:1px solid #d4dff1;
  border-bottom-width:2px;
  border-radius:6px;
  color:#6c7a93;
  padding:0 .38rem;
  font-family:inherit;
}
.btn-nav-primary{
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:linear-gradient(135deg,#2f6bff,#2563eb);
  border-radius:999px;
  color:#fff;
  font-weight:600;
  font-size:.9rem;
  padding:.65rem 1.2rem;
  border:0;
  box-shadow:0 10px 24px rgba(47,107,255,.26);
  white-space:nowrap;
  transition:var(--trans);
}
.btn-nav-primary:hover{
  color:#fff;
  transform:translateY(-2px);
  box-shadow:0 14px 30px rgba(47,107,255,.34);
}
.navbar-toggler{
  border:1px solid var(--line);
  border-radius:10px;
  width:44px;
  height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.navbar-toggler:focus{
  box-shadow:0 0 0 3px rgba(47,107,255,.18);
}
.navbar-toggler-icon{
  width:22px;
  height:22px;
}
/* ===== Buttons ===== */
.btn-hero-primary,
.btn-hero-ghost,
.btn-cta-primary,
.btn-cta-light{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  font-weight:700;
  font-size:1rem;
  border-radius:999px;
  padding:.85rem 1.55rem;
  transition:var(--trans);
  border:0;
}
.btn-hero-primary{
  color:#fff;
  background:linear-gradient(135deg,#2f6bff,#0d8cf0);
  box-shadow:0 12px 30px rgba(47,107,255,.32);
}
.btn-hero-primary:hover{
  color:#fff;
  transform:translateY(-3px);
  box-shadow:0 18px 36px rgba(47,107,255,.4);
}
.btn-hero-ghost{
  color:var(--ink);
  background:rgba(255,255,255,.85);
  border:1px solid rgba(211,221,240,.92);
  box-shadow:0 6px 18px rgba(16,33,62,.05);
}
.btn-hero-ghost:hover{
  color:var(--brand);
  background:#fff;
  border-color:var(--brand);
  transform:translateY(-3px);
}
.btn-cta-primary{
  color:#fff;
  background:var(--ink);
  box-shadow:0 10px 24px rgba(16,33,62,.22);
}
.btn-cta-primary:hover{
  color:#fff;
  background:#182c50;
  transform:translateY(-3px);
}
.btn-cta-light{
  color:var(--brand);
  background:#fff;
  box-shadow:0 10px 24px rgba(0,0,0,.14);
}
.btn-cta-light:hover{
  color:var(--brand-deep);
  transform:translateY(-3px);
  box-shadow:0 16px 34px rgba(0,0,0,.22);
}
/* ===== Hero ===== */
.hero-section{
  position:relative;
  padding:5.5rem 0 6.5rem;
  overflow:hidden;
  background:
    linear-gradient(115deg, rgba(236,243,255,.88) 0%, rgba(238,249,255,.72) 55%, rgba(244,248,255,.25) 100%),
    url('/assets/images/backpic/back-2.png') no-repeat center center/cover;
}
.hero-section::after{
  content:"";
  position:absolute;
  width:620px;
  height:620px;
  right:-220px;
  top:-120px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(47,107,255,.13),transparent 62%);
  pointer-events:none;
}
.hero-section .container-xxl{
  position:relative;
  z-index:2;
}
.hero-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:#fff;
  border:1px solid #dce8fa;
  box-shadow:var(--shadow-sm);
  color:#31588e;
  font-weight:600;
  font-size:.88rem;
  border-radius:999px;
  padding:.42rem .9rem;
  margin-bottom:1.4rem;
}
.hero-pill i{
  color:var(--brand);
}
.hero-title{
  font-size:clamp(2rem,4vw,3.35rem);
  line-height:1.32;
  font-weight:800;
  color:var(--ink);
  letter-spacing:-.01em;
  margin-bottom:1.2rem;
}
.hero-title .text-gradient{
  display:block;
  background:linear-gradient(120deg,var(--brand),#0ba5b0);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.hero-text{
  font-size:1.07rem;
  color:var(--muted);
  max-width:650px;
  margin-bottom:1.6rem;
}
.hero-trust{
  list-style:none;
  margin:1.6rem 0 0;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  gap:.6rem 1.6rem;
}
.hero-trust li{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  color:#3f5878;
  font-weight:600;
  font-size:.9rem;
}
.hero-trust i{
  color:var(--accent);
}
.hero-visual{
  position:relative;
  z-index:5;
  padding:1.2rem 0;
}
.hero-img-wrap{
  border-radius:28px;
  padding:.7rem;
  background:rgba(255,255,255,.66);
  border:1px solid rgba(226,235,247,.95);
  box-shadow:0 24px 60px rgba(16,33,62,.16);
  transform:rotate(1.5deg);
}
.hero-img-wrap img{
  border-radius:22px;
  width:100%;
  object-fit:cover;
  min-height:280px;
}
.float-card{
  position:absolute;
  display:flex;
  align-items:center;
  gap:.7rem;
  background:rgba(255,255,255,.94);
  border:1px solid #e3eaf6;
  border-radius:16px;
  box-shadow:0 14px 36px rgba(16,33,62,.13);
  padding:.72rem 1rem;
  font-weight:700;
  font-size:.9rem;
  backdrop-filter:blur(8px);
}
.float-card i{
  width:34px;
  height:34px;
  border-radius:11px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#eaf2ff;
  color:var(--brand);
}
.float-card small{
  display:block;
  font-size:.75rem;
  color:var(--muted);
  font-weight:500;
}
.float-card.fc-one{
  left:-10px;
  top:36%;
}
.float-card.fc-two{
  right:-8px;
  bottom:22%;
}
/* ===== Section base ===== */
.section-block{
  padding:5.2rem 0;
}
.section-block.soft-bg{
  background:#fbfdff;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  padding:.32rem .88rem;
  border-radius:999px;
  background:rgba(47,107,255,.08);
  color:var(--brand);
  font-weight:600;
  font-size:.82rem;
  margin-bottom:1rem;
  border:1px solid rgba(47,107,255,.12);
  text-transform:uppercase;
  letter-spacing:.08em;
}
.section-title{
  font-size:clamp(1.55rem,3vw,2.25rem);
  font-weight:800;
  line-height:1.35;
  color:var(--ink);
  letter-spacing:-.01em;
  margin-bottom:1rem;
}
.section-lead{
  color:var(--muted);
  font-size:1rem;
  max-width:720px;
  line-height:1.85;
}
/* ===== Metrics ===== */
.metric-strip{
  background:#0f1f3a;
  color:#fff;
  padding:3.2rem 0;
  position:relative;
  overflow:hidden;
}
.metric-strip::before{
  content:"";
  position:absolute;
  width:420px;
  height:420px;
  left:-100px;
  top:-210px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(47,107,255,.4),transparent 65%);
}
.metric-strip::after{
  content:"";
  position:absolute;
  width:300px;
  height:300px;
  right:-110px;
  bottom:-140px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(6,182,164,.28),transparent 65%);
}
.metric-strip .container-xxl{
  position:relative;
  z-index:2;
}
.metric-item{
  position:relative;
  padding-left:1.25rem;
}
.metric-item + .metric-item{
  border-left:1px solid rgba(255,255,255,.13);
}
.metric-icon{
  width:48px;
  height:48px;
  border-radius:15px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.1);
  color:#a9c6ff;
  font-size:1.25rem;
  margin-bottom:.9rem;
}
.metric-num{
  font-size:1.65rem;
  font-weight:800;
  color:#fff;
  letter-spacing:-.02em;
  line-height:1.2;
}
.metric-label{
  color:#b7c4d9;
  font-size:.88rem;
  margin-top:.4rem;
  font-weight:500;
}
/* ===== Feature cards ===== */
.feature-card{
  height:100%;
  background:var(--white);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  padding:2.1rem 1.8rem;
  box-shadow:var(--shadow-sm);
  transition:var(--trans);
  position:relative;
  overflow:hidden;
}
.feature-card::after{
  content:"";
  position:absolute;
  right:-48px;
  top:-48px;
  width:130px;
  height:130px;
  border-radius:50%;
  background:linear-gradient(135deg,rgba(47,107,255,.1),rgba(6,182,164,.08));
  transition:var(--trans);
}
.feature-card:hover{
  transform:translateY(-7px);
  box-shadow:var(--shadow-lg);
  border-color:#cbdaf3;
}
.feature-card:hover::after{
  transform:scale(1.4);
}
.feature-icon{
  width:62px;
  height:62px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:20px;
  background:linear-gradient(135deg,#eaf2ff,#ecfeff);
  color:var(--brand);
  font-size:1.6rem;
  margin-bottom:1.2rem;
  position:relative;
  z-index:1;
}
.feature-card h3{
  font-weight:800;
  font-size:1.18rem;
  margin-bottom:.65rem;
  color:var(--ink);
}
.feature-card p{
  color:var(--muted);
  font-size:.93rem;
  line-height:1.8;
}
.feature-list{
  list-style:none;
  margin:1.1rem 0 0;
  padding:0;
}
.feature-list li{
  display:flex;
  gap:.5rem;
  color:#41516a;
  font-size:.9rem;
  font-weight:500;
  padding:.22rem 0;
}
.feature-list li i{
  color:var(--accent);
  margin-top:.28rem;
}
/* ===== Steps ===== */
.step-card{
  position:relative;
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  padding:1.9rem 1.5rem 1.6rem;
  height:100%;
  box-shadow:var(--shadow-sm);
  transition:var(--trans);
}
.step-card:hover{
  box-shadow:var(--shadow-md);
  transform:translateY(-4px);
}
.step-count{
  width:56px;
  height:56px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:18px;
  font-weight:800;
  font-size:1.25rem;
  color:#fff;
  background:linear-gradient(135deg,#2f6bff,#06a9b5);
  margin-bottom:1.1rem;
  box-shadow:0 10px 24px rgba(47,107,255,.25);
}
.step-card h3{
  font-size:1.12rem;
  font-weight:800;
  color:var(--ink);
}
.step-card p{
  font-size:.91rem;
  color:var(--muted);
  line-height:1.8;
  margin:0;
}
.step-arrow{
  position:absolute;
  right:-20px;
  top:50%;
  transform:translateY(-50%);
  z-index:3;
  width:40px;
  height:40px;
  background:#eaf2ff;
  color:var(--brand);
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  border:3px solid var(--bg);
  font-size:.85rem;
}
@media (max-width: 991px){
  .step-arrow{
    display:none;
  }
}
/* ===== Scenario section ===== */
.scenario-wrap{
  border-radius:28px;
  overflow:hidden;
  background:linear-gradient(120deg,#ffffff,#f3f7ff);
  border:1px solid var(--line);
  box-shadow:var(--shadow-md);
}
.scenario-img{
  height:100%;
  min-height:320px;
}
.scenario-img img{
  object-fit:cover;
  width:100%;
  height:100%;
  min-height:320px;
}
.scenario-body{
  padding:2.5rem;
}
.scenario-points{
  list-style:none;
  margin:1.4rem 0 0;
  padding:0;
}
.scenario-points li{
  display:flex;
  align-items:flex-start;
  gap:.8rem;
  padding:.62rem 0;
  color:#3b4960;
  font-size:.96rem;
  border-bottom:1px dashed #e3eaf5;
}
.scenario-points li:last-child{
  border-bottom:0;
}
.scenario-points i{
  color:var(--accent);
  margin-top:.2rem;
}
/* ===== Trust badges ===== */
.trust-badge-row{
  display:flex;
  flex-wrap:wrap;
  gap:.8rem;
}
.trust-badge{
  display:inline-flex;
  align-items:center;
  gap:.6rem;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:var(--shadow-sm);
  border-radius:999px;
  padding:.52rem 1rem .52rem .55rem;
  color:#2f4462;
  font-weight:600;
  font-size:.87rem;
}
.trust-badge i{
  width:28px;
  height:28px;
  border-radius:50%;
  background:#e7f7f3;
  color:#069c8d;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:.78rem;
}
/* ===== FAQ ===== */
.faq-wrap{
  background:#fff;
  border:1px solid var(--line);
  border-radius:24px;
  box-shadow:var(--shadow-md);
  padding:1rem 1.4rem;
}
.faq-accordion .accordion-item{
  border:0;
  border-bottom:1px solid var(--line);
  background:transparent;
}
.faq-accordion .accordion-item:last-child{
  border-bottom:0;
}
.faq-accordion .accordion-button{
  font-weight:700;
  color:var(--ink);
  font-size:1rem;
  background:transparent;
  padding:1.15rem .25rem;
  line-height:1.5;
}
.faq-accordion .accordion-button:not(.collapsed){
  color:var(--brand);
  box-shadow:none;
  background:transparent;
}
.faq-accordion .accordion-button:focus{
  box-shadow:none;
  border-color:transparent;
}
.faq-accordion .accordion-button::after{
  opacity:.55;
  background-size:1.05rem;
}
.faq-accordion .accordion-body{
  color:var(--muted);
  font-size:.94rem;
  line-height:1.9;
  padding:.2rem 1rem 1.3rem .25rem;
}
/* ===== CTA ===== */
.cta-section{
  position:relative;
  padding:5.4rem 0;
  background:
    linear-gradient(120deg,rgba(8,19,40,.92),rgba(15,50,70,.85)),
    url('/assets/images/backpic/back-3.webp') center/cover no-repeat;
  color:#fff;
  overflow:hidden;
}
.cta-section::before{
  content:"";
  position:absolute;
  right:-130px;
  bottom:-180px;
  width:460px;
  height:460px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(6,182,164,.32),transparent 65%);
}
.cta-wrap{
  position:relative;
  z-index:2;
  max-width:850px;
  margin:0 auto;
}
.cta-icon{
  width:70px;
  height:70px;
  background:rgba(255,255,255,.14);
  color:#9dffe8;
  border-radius:22px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:1.8rem;
  margin-bottom:1.4rem;
  border:1px solid rgba(255,255,255,.15);
}
.cta-section h2{
  font-size:clamp(1.7rem,4vw,2.6rem);
  font-weight:800;
  line-height:1.35;
}
.cta-section p{
  color:#c8d5e8;
  font-size:1.02rem;
}
/* ===== Footer ===== */
.site-footer{
  background:#0e1a2b;
  color:#b8c5d8;
  padding:4.5rem 0 0;
  line-height:1.8;
}
.footer-brand{
  display:flex;
  align-items:center;
  gap:.7rem;
  font-size:1.22rem;
  font-weight:800;
  color:#fff;
  margin-bottom:1rem;
}
.footer-brand .brand-icon{
  width:42px;
  height:42px;
}
.footer-desc{
  color:#9aabc2;
  font-size:.92rem;
  max-width:420px;
}
.footer-heading{
  font-size:1rem;
  color:#fff;
  font-weight:700;
  margin-bottom:1rem;
}
.footer-links{
  list-style:none;
  padding:0;
  margin:0;
}
.footer-links li{
  margin-bottom:.65rem;
}
.footer-links a{
  color:#a7b5ca;
  font-size:.91rem;
  transition:var(--trans);
}
.footer-links a i{
  font-size:.72rem;
  color:#5a6a80;
}
.footer-links a:hover{
  color:#fff;
  padding-left:4px;
}
.footer-links a:hover i{
  color:#83d9c9;
}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.1);
  margin-top:3rem;
  padding:1.3rem 0 1.6rem;
  color:#8191a8;
  font-size:.83rem;
}
/* ===== Responsive ===== */
@media (min-width: 1400px){
  .container-xxl{
    padding-left:30px;
    padding-right:30px;
  }
}
@media (max-width: 1199px){
  .command-search{
    min-width:180px;
  }
  .main-nav .nav-link{
    padding:.55rem .62rem;
  }
}
@media (max-width: 991px){
  .site-header .inner-bar{
    min-height:70px;
  }
  .navbar-collapse{
    background:#fff;
    border:1px solid var(--line);
    border-radius:16px;
    box-shadow:var(--shadow-md);
    margin-top:.8rem;
    padding:1rem 1.1rem;
  }
  .main-nav .nav-link{
    border-radius:10px;
  }
  .hero-section{
    padding:3.6rem 0 4.6rem;
  }
  .section-block{
    padding:4rem 0;
  }
  .metric-item + .metric-item{
    border-left:0;
    border-top:1px solid rgba(255,255,255,.12);
    margin-top:1rem;
    padding-top:1.2rem;
    padding-left:0;
  }
  .float-card.fc-one{
    left:5px;
  }
  .float-card.fc-two{
    right:5px;
  }
}
@media (max-width: 767px){
  .container-xxl{
    padding-left:16px;
    padding-right:16px;
  }
  .brand-logo{
    font-size:.98rem;
  }
  .brand-logo .brand-icon{
    width:36px;
    height:36px;
    font-size:.95rem;
  }
  .hero-visual{
    margin-top:1rem;
  }
  .scenario-body{
    padding:1.5rem;
  }
  .cta-section{
    padding:3.6rem 0;
  }
  .site-footer{
    padding-top:3.4rem;
  }
}
@media (max-width: 576px){
  .hero-title{
    font-size:1.75rem;
  }
  .hero-trust{
    gap:.45rem .8rem;
  }
  .float-card{
    display:none;
  }
  .section-title{
    font-size:1.5rem;
  }
  .step-card{
    padding:1.4rem 1.1rem;
  }
  .hero-pill{
    max-width:100%;
  }
}

/* roulang page: category3 */
:root {
  --brand: #1a56db;
  --brand-deep: #123a96;
  --brand-soft: #e8f1ff;
  --accent: #0aa5c4;
  --fresh: #16b38a;
  --dark: #071b36;
  --dark-soft: #0d2b52;
  --navy: #173a6c;
  --surface: #ffffff;
  --bg-main: #f2f7ff;
  --bg-mist: #eef5fd;
  --border: #dfe9f6;
  --text: #0b2039;
  --text-muted: #5d728d;
  --shadow-sm: 0 6px 18px rgba(15, 42, 82, .06);
  --shadow-md: 0 16px 38px rgba(15, 42, 82, .10);
  --shadow-lg: 0 28px 70px rgba(9, 30, 66, .14);
  --radius-sm: 12px;
  --radius-md: 18px;
  --radius-lg: 26px;
  --radius-xl: 34px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: "PingFang SC", "Microsoft YaHei", "HarmonyOS Sans SC", "Segoe UI", system-ui, -apple-system, sans-serif;
  background: var(--bg-main);
  color: var(--text);
  line-height: 1.75;
  letter-spacing: .01em;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; transition: color .2s ease; }
a:hover { color: var(--brand); }
p { margin: 0; }
.container-xxl { max-width: 1280px; }
.section { padding: 96px 0; position: relative; }
.bg-soft { background: var(--bg-mist); }
.bg-white { background: var(--surface); }
.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .12em;
  padding: 8px 16px;
  border-radius: 999px;
  background: rgba(26, 86, 219, .08);
  color: var(--brand);
  border: 1px solid rgba(26, 86, 219, .16);
}
.eyebrow i { font-size: 12px; }
.text-grad {
  background: linear-gradient(92deg, var(--brand), var(--accent), var(--fresh));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.section-head h2 {
  font-size: clamp(26px, 3vw, 42px);
  font-weight: 800;
  line-height: 1.35;
  margin: 14px 0 10px;
}
.section-head p {
  max-width: 720px;
  color: var(--text-muted);
  font-size: 16px;
  margin: 0 auto;
}
.title-flex { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; flex-wrap: wrap; }
.btn-lg-cta {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  padding: 14px 26px; border-radius: 14px;
  background: linear-gradient(135deg, var(--brand), #2f6bf5);
  color: #fff; border: 1px solid rgba(255,255,255,.18);
  font-size: 15px; font-weight: 700; box-shadow: 0 14px 30px rgba(26,86,219,.28);
  transition: transform .25s ease, box-shadow .25s ease, background .25s ease;
}
.btn-lg-cta:hover { transform: translateY(-3px); color:#fff; box-shadow: 0 20px 44px rgba(26,86,219,.36); }
.btn-line-cta {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  padding: 14px 26px; border-radius: 14px;
  background: rgba(255,255,255,.06); color: #fff;
  border: 1px solid rgba(255,255,255,.32);
  font-size: 15px; font-weight: 700; backdrop-filter: blur(6px);
  transition: all .25s ease;
}
.btn-line-cta:hover { background: rgba(255,255,255,.18); color:#fff; transform: translateY(-3px); }
.btn-light-cta {
  display: inline-flex; align-items: center; gap: 10px;
  background: #fff; color: var(--brand);
  padding: 13px 24px; border-radius: 999px; font-weight: 700;
  box-shadow: 0 8px 26px rgba(10,20,50,.14);
  transition: transform .25s ease, box-shadow .25s ease;
}
.btn-light-cta:hover { transform: translateY(-3px); color: var(--brand-deep); box-shadow: 0 14px 32px rgba(10,20,50,.18); }
.btn-outline-cta {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 13px 24px; border-radius: 999px;
  border: 1.5px solid var(--border); color: var(--navy); font-weight: 700;
  background: rgba(255,255,255,.65); transition: all .25s ease;
}
.btn-outline-cta:hover { border-color: var(--brand); color: var(--brand); background:#fff; transform: translateY(-3px); }

/* Header */
.site-header {
  background: rgba(255,255,255,.88);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(19, 56, 107, .08);
  position: sticky; top: 0; z-index: 1060;
}
.inner-bar { min-height: 78px; }
.brand-logo { display: inline-flex; align-items: center; gap: 11px; font-weight: 800; font-size: 21px; color: var(--dark); letter-spacing: .01em; }
.brand-logo:hover { color: var(--dark); }
.brand-icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 40px; height: 40px; border-radius: 13px;
  background: linear-gradient(135deg, #1d4ed8, #0aa5c4);
  color: #fff; font-size: 17px; box-shadow: 0 8px 22px rgba(26,86,219,.32);
}
.main-nav { gap: 5px; }
.main-nav .nav-link {
  padding: 12px 16px !important;
  font-size: 15px;
  font-weight: 600;
  color: #334e70;
  border-radius: 12px;
  transition: all .2s ease;
  margin: 4px 0;
}
.main-nav .nav-link:hover { color: var(--brand); background: rgba(26,86,219,.07); }
.main-nav .nav-link.active { color: var(--brand); background: rgba(26,86,219,.08); font-weight: 700; }
.command-search {
  display: flex; align-items: center; gap: 10px;
  height: 40px;
  padding: 0 8px 0 14px;
  min-width: 222px;
  background: #f5f8fd;
  border: 1px solid var(--border);
  border-radius: 12px;
  transition: all .25s ease;
}
.command-search:hover { border-color: #9ab9e8; background: #fff; box-shadow: 0 0 0 4px rgba(26,86,219,.07); }
.command-search i { color: #8096b4; font-size: 13px; }
.command-search input { border: 0; background: transparent; outline: none; font-size: 13px; width: 100%; min-width: 0; color: var(--text); }
.command-search kbd {
  background: #e6edf7; border: 1px solid #d0dcea; border-radius: 7px;
  color: #56718e; font-size: 11px; font-family: inherit; padding: 2px 8px; margin-left: auto;
}
.btn-nav-primary {
  display: inline-flex; align-items: center; gap: 8px;
  height: 40px; padding: 0 18px;
  background: linear-gradient(135deg, var(--brand), #2f6bf5);
  color: #fff; font-size: 14px; font-weight: 700; border-radius: 12px;
  box-shadow: 0 8px 22px rgba(26,86,219,.28);
  transition: all .25s ease;
}
.btn-nav-primary:hover { color:#fff; transform: translateY(-2px); box-shadow: 0 12px 28px rgba(26,86,219,.36); }
.navbar-toggler { border: 0; border-radius: 10px; padding: 8px 10px; background: rgba(26,86,219,.08); }
.navbar-toggler:focus { box-shadow: 0 0 0 4px rgba(26,86,219,.14); }
.navbar-toggler-icon { background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='%231a56db' stroke-width='2.4' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); }

/* Hero */
.hero-section {
  padding: 80px 0 100px;
  background:
    radial-gradient(1200px 520px at 18% 10%, rgba(12, 100, 220, .26), transparent 60%),
    radial-gradient(900px 500px at 90% 85%, rgba(0, 194, 166, .16), transparent 55%),
    linear-gradient(140deg, #030f24 0%, #0a2044 45%, #12335f 100%),
    url("/assets/images/backpic/back-1.png") center / cover;
  position: relative;
  color: #fff;
  overflow: hidden;
}
.hero-section::before {
  content: ""; position: absolute; inset: 0;
  background: url("/assets/images/backpic/back-1.png") center/cover no-repeat;
  opacity: .18; mix-blend-mode: screen;
}
.hero-section::after {
  content: ""; position: absolute; inset: auto -10% -140px -10%; height: 300px;
  background: radial-gradient(closest-side, rgba(79,168,255,.35), transparent);
  filter: blur(30px);
}
.hero-main { position: relative; z-index: 2; }
.hero-grid { display: grid; grid-template-columns: 1.12fr .88fr; gap: 52px; align-items: center; }
.hero-badge {
  display: inline-flex; align-items: center; gap: 9px;
  background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.2);
  padding: 8px 16px; border-radius: 999px;
  color: #d7e7ff; font-size: 13px; font-weight: 600; backdrop-filter: blur(8px);
  margin-bottom: 20px;
}
.hero-badge i { color: #5ad7bd; }
.hero-section h1 {
  font-size: clamp(30px, 4.2vw, 52px);
  font-weight: 900;
  line-height: 1.22;
  margin: 0 0 20px;
  letter-spacing: -.01em;
}
.hero-lead { font-size: 17px; line-height: 1.9; color: rgba(236, 246, 255, .86); max-width: 580px; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 34px; }
.hero-metrics { display: flex; flex-wrap: wrap; gap: 30px; margin-top: 44px; }
.hero-metrics .metric { border-left: 2px solid rgba(255,255,255,.22); padding-left: 14px; }
.hero-metrics .metric strong { display:block; font-size: 22px; font-weight: 800; line-height: 1.3; }
.hero-metrics .metric span { font-size: 12px; color: #9db9df; }
.hero-showcase { position: relative; }
.hero-card {
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 28px;
  padding: 12px;
  backdrop-filter: blur(16px);
  box-shadow: 0 34px 70px rgba(0,0,0,.32);
  transform: rotate(1deg);
}
.hero-card img { border-radius: 20px; width: 100%; object-fit: cover; aspect-ratio: 4 / 3; }
.hero-card-body { padding: 16px 10px 8px; }
.hero-card-body .hero-card-tags { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 10px; }
.hero-card-body .hero-card-tags span {
  background: rgba(255,255,255,.14); padding: 4px 12px; border-radius: 999px;
  font-size: 12px; border: 1px solid rgba(255,255,255,.18);
}
.hero-card-body h3 { font-size: 16px; font-weight: 700; }
.hero-float-chip {
  position: absolute; left: -26px; bottom: 46px;
  background: #fff; color: var(--dark);
  display: flex; align-items: center; gap: 12px;
  padding: 12px 18px; border-radius: 18px;
  box-shadow: var(--shadow-lg);
  animation: floatY 3s ease-in-out infinite;
}
.hero-float-chip .icon { width: 38px; height: 38px; border-radius: 12px; background: #e5f2fe; color: var(--brand); display: inline-flex; align-items:center; justify-content:center; font-size: 16px; }
.hero-float-chip .text small { display: block; color: var(--text-muted); font-size: 11px; }
.hero-float-chip .text strong { font-size: 14px; font-weight: 700; }
@keyframes floatY { 0%,100% {transform:translateY(0)} 50% {transform:translateY(-8px)} }
.hero-wave { position:absolute; bottom:-2px; left:0; width:100%; z-index:1; line-height:0; }
.hero-wave svg { width:100%; height:60px; display:block; }

/* Entry / channels */
.channel-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 20px; margin-top: 18px; }
.channel-card {
  background: #fff; border: 1px solid var(--border); border-radius: 20px;
  padding: 28px 24px; text-align: left;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  position: relative; overflow: hidden;
}
.channel-card::after { content:""; position: absolute; right: -40px; top: -40px; width: 120px; height: 120px; border-radius: 50%; background: rgba(26,86,219,.05); }
.channel-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-md); border-color: #bdd4f2; }
.channel-icon { width: 52px; height: 52px; border-radius: 16px; background: linear-gradient(135deg, var(--brand), #2f84e8); color: #fff; font-size: 20px; display: inline-flex; align-items: center; justify-content: center; box-shadow: 0 10px 22px rgba(26,86,219,.24); margin-bottom: 20px; }
.channel-icon.green { background: linear-gradient(135deg, #0e9f76, #1bc39a); box-shadow: 0 10px 22px rgba(16,159,118,.24); }
.channel-icon.orange { background: linear-gradient(135deg, #dd7a13, #f4a623); box-shadow: 0 10px 22px rgba(235,149,34,.26); }
.channel-icon.purple { background: linear-gradient(135deg, #6944d2, #9d62e6); box-shadow: 0 10px 22px rgba(105,68,210,.24); }
.channel-card h3 { font-size: 18px; font-weight: 800; margin-bottom: 8px; }
.channel-card p { color: var(--text-muted); font-size: 14px; line-height: 1.8; }

/* feature */
.feature-card {
  background: #fff; border-radius: var(--radius-lg); border: 1px solid var(--border);
  overflow: hidden; height: 100%;
  display: flex; flex-direction: column;
  box-shadow: var(--shadow-sm);
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.feature-card:hover { transform: translateY(-8px); box-shadow: var(--shadow-lg); border-color: #c0d5f2; }
.feature-thumb { position: relative; overflow: hidden; aspect-ratio: 16 / 9; }
.feature-thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.feature-card:hover .feature-thumb img { transform: scale(1.05); }
.feature-thumb::after { content:""; position: absolute; inset:0; background: linear-gradient(180deg, transparent 60%, rgba(4,20,42,.24)); }
.feature-thumb .thumb-tag { position:absolute; z-index:2; left: 14px; top: 14px; background: rgba(255,255,255,.94); padding: 6px 12px; border-radius: 999px; color: var(--brand); font-size: 12px; font-weight: 700; box-shadow: 0 6px 16px rgba(0,0,0,.12); }
.feature-body { padding: 22px 24px 26px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.feature-title { display: flex; align-items: center; gap: 12px; }
.feature-title .mini-icon { width: 36px; height: 36px; border-radius: 10px; background: var(--brand-soft); display: inline-flex; align-items: center; justify-content: center; color: var(--brand); font-size: 14px; }
.feature-title h3 { font-size: 20px; font-weight: 800; margin: 0; line-height: 1.4; }
.feature-body p { color: var(--text-muted); font-size: 14.5px; }

/* scenario split */
.scenario-grid { display:grid; grid-template-columns: .92fr 1.08fr; gap: 46px; align-items: center; }
.scenario-visual { position: relative; }
.scenario-visual .card-main { background: #fff; padding: 12px; border-radius: var(--radius-lg); box-shadow: var(--shadow-md); border: 1px solid var(--border); }
.scenario-visual .card-main img { width:100%; aspect-ratio: 1/1; object-fit: cover; border-radius: 18px; }
.scenario-floating {
  position: absolute; right: -16px; bottom: 20px;
  background: var(--dark); color: #fff; border-radius: 18px;
  padding: 14px 20px; width: 200px; box-shadow: var(--shadow-lg);
  border: 1px solid rgba(255,255,255,.1);
}
.scenario-floating strong { display:block; font-size: 16px; margin-bottom: 2px; }
.scenario-floating span { font-size: 12px; color: rgba(255,255,255,.68); }
.scenario-list { list-style: none; margin: 22px 0 0; padding: 0; display: grid; gap: 14px; }
.scenario-list li { display: flex; gap: 14px; background: #fff; border:1px solid var(--border); border-radius: 16px; padding: 14px 16px; align-items: flex-start; transition: all .2s ease; }
.scenario-list li:hover { box-shadow: var(--shadow-sm); border-color: #b6cef0; transform: translateX(4px); }
.scenario-list i { color: var(--fresh); margin-top: 5px; font-size: 16px; }
.scenario-list h4 { font-size: 15.5px; font-weight: 700; margin:0 0 2px; }
.scenario-list p { color: var(--text-muted); font-size: 14px; }

/* process */
.process-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; margin-top: 18px; }
.process-item { background: #fff; border:1px solid var(--border); border-radius: 22px; padding: 28px 22px; text-align: center; position: relative; transition: all .25s ease; }
.process-item:hover { transform: translateY(-6px); box-shadow: var(--shadow-md); }
.process-index { width: 30px; height: 30px; border-radius: 50%; background: linear-gradient(135deg, var(--brand), var(--accent)); color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 800; margin-bottom: 22px; }
.process-step-icon { width: 68px; height: 68px; margin: 0 auto 20px; border-radius: 50%; background: var(--bg-mist); border: 1px dashed #abc8f0; display: inline-flex; align-items:center; justify-content:center; color: var(--brand); font-size: 25px; }
.process-item h3 { font-size: 17px; font-weight: 800; margin-bottom: 8px; }
.process-item p { color: var(--text-muted); font-size: 14px; }
.process-line { border-top: 1px dashed #c8dcf6; margin: 10px 0 46px; position: relative; }
.process-line::before { content:""; position:absolute; left: -2px; top:-5px; width: 9px; height: 9px; border-radius:50%; background: var(--brand); }

/* multi-terminal */
.device-grid { display:grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
.device-panel { background: #fff; border: 1px solid var(--border); border-radius: 24px; padding: 30px; display: flex; gap: 20px; align-items: flex-start; transition: all .25s ease; box-shadow: var(--shadow-sm); }
.device-panel:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }
.device-panel .panel-icon { min-width: 58px; height: 58px; border-radius: 18px; display: inline-flex; align-items:center; justify-content:center; font-size: 23px; }
.device-panel.pc .panel-icon { background:#eaf3ff; color: var(--brand); }
.device-panel.mobile .panel-icon { background: #e7fbf5; color: var(--fresh); }
.device-panel h3 { font-size: 18px; font-weight: 800; margin: 0 0 6px; }
.device-panel p { color: var(--text-muted); font-size: 14px; }

/* CTA */
.cta-section {
  padding: 0;
  border-radius: 32px;
}
.cta-box {
  background:
    linear-gradient(120deg, rgba(4, 18, 42, .93), rgba(10, 45, 94, .84)),
    url("/assets/images/backpic/back-3.webp") center/cover;
  border-radius: 32px;
  padding: 66px 42px;
  text-align: center;
  color: #fff;
  overflow: hidden;
  position: relative;
  box-shadow: var(--shadow-lg);
}
.cta-box::after { content:"◆"; position:absolute; right:4%; top: 18%; color: rgba(91, 163, 252, .15); font-size: 120px; line-height:1; }
.cta-box h2 { font-size: clamp(24px, 3vw, 34px); font-weight: 800; }
.cta-box p { color: rgba(236,246,255,.8); max-width: 660px; margin: 12px auto 30px; }

/* FAQ custom */
.faq-wrap { max-width: 860px; margin: 20px auto 0; }
.faq-item { border: 1px solid var(--border) !important; border-radius: 18px !important; background: #fff; overflow: hidden; margin-bottom: 14px; box-shadow: var(--shadow-sm); transition: border-color .25s ease; }
.faq-item:has(.accordion-button:not(.collapsed)) { border-color: #9bbff2 !important; }
.faq-item .accordion-button { background: #fff; color: var(--text); font-weight: 700; font-size: 16px; padding: 18px 22px; border: none; box-shadow: none; }
.faq-item .accordion-button:not(.collapsed)::after { transform: rotate(180deg); filter: none; }
.faq-item .accordion-button::after { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%231a56db'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); width: 18px; height: 18px; }
.faq-item .accordion-body { color: var(--text-muted); font-size: 15px; padding: 0 22px 22px; line-height: 1.95; }

/* footer */
.site-footer {
  background: #071225;
  color: #b9c7db;
  padding-top: 74px;
  margin-top: 78px;
}
.footer-brand { display: flex; align-items: center; gap: 14px; font-size: 24px; font-weight: 800; color: #fff; margin-bottom: 14px; }
.footer-desc { color: #9db1cb; max-width: 360px; font-size: 14px; line-height: 1.9; }
.footer-heading { color: #fff; font-size: 16px; font-weight: 700; margin-bottom: 18px; }
.footer-links { list-style: none; margin: 0; padding: 0; display: grid; gap: 11px; }
.footer-links a { color: #b9c7db; font-size: 14px; transition: color .2s ease, padding-left .2s ease; display: inline-flex; align-items:center; gap: 6px; }
.footer-links a i { font-size: 10px; color: #6583a8; transition: color .2s ease; }
.footer-links a:hover { color: #fff; padding-left: 4px; }
.footer-links a:hover i { color: #63c5ff; }
.footer-bottom { border-top: 1px solid rgba(255,255,255,.09); margin-top: 50px; padding: 22px 2px; font-size: 13px; color: #7e93ad; }

@media (max-width: 1199px) {
  .command-search { min-width: 180px; }
  .channel-grid { gap: 14px; }
  .hero-grid { grid-template-columns: 1.02fr .98fr; gap: 30px; }
}
@media (max-width: 991px) {
  .section { padding: 68px 0; }
  .hero-section { padding: 54px 0 72px; }
  .hero-grid { grid-template-columns: 1fr; }
  .hero-card { max-width: 600px; margin: 20px auto 0; }
  .channel-grid { grid-template-columns: repeat(2,1fr); }
  .process-grid { grid-template-columns: repeat(2,1fr); }
  .scenario-grid { grid-template-columns: 1fr; }
  .device-grid { grid-template-columns: 1fr; }
  .main-nav { padding: 12px 0 6px; }
  .main-nav .nav-link { background: rgba(26,86,219,.03); padding: 12px 16px !important; }
  .command-search { max-width: 100%; margin-top: 8px; }
  .command-search input { min-width: 0; }
  .btn-nav-primary { justify-content: center; margin: 8px 0 12px; width: 100%; }
  .navbar-collapse { background: rgba(255,255,255,.98); border:1px solid var(--border); border-radius:18px; padding: 12px 16px 4px; box-shadow: var(--shadow-md); }
}
@media (max-width: 575px) {
  .hero-section h1 { font-size: 30px; }
  .hero-lede { font-size: 15px; }
  .channel-grid { grid-template-columns: 1fr; }
  .process-grid { grid-template-columns: 1fr; }
  .hero-float-chip { left: 12px; bottom: 12px; }
  .cta-box { padding: 44px 22px; }
  .row .feature-card { margin: 0 0 16px; }
  .section { padding: 52px 0; }
}

/* roulang page: category4 */
/* ===================== 设计变量 ===================== */
:root{
  --c-primary:#1b47e0;
  --c-primary-dark:#12309f;
  --c-primary-050:#eef3ff;
  --c-primary-100:#dbe5ff;
  --c-accent:#ff7a2f;
  --c-accent-dark:#e85f13;
  --c-accent-050:#fff2e8;
  --c-ink:#0d1730;
  --c-body:#4b5670;
  --c-muted:#828ca2;
  --c-line:#e4e9f4;
  --c-bg:#f6f8fd;
  --c-surface:#ffffff;

  --r-sm:10px;
  --r-md:16px;
  --r-lg:22px;
  --r-pill:999px;

  --sh-xs:0 2px 8px rgba(17,35,90,.05);
  --sh-sm:0 6px 18px rgba(17,35,90,.07);
  --sh-md:0 16px 38px rgba(17,35,90,.11);
  --sh-lg:0 28px 64px rgba(17,35,90,.16);

  --ease:cubic-bezier(.22,.61,.36,1);
  --ff:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Helvetica Neue",Arial,sans-serif;

  --bs-body-font-family:var(--ff);
  --bs-body-color:var(--c-body);
  --bs-body-bg:var(--c-bg);
  --bs-border-color:var(--c-line);
}

/* ===================== 基础 reset ===================== */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;
  font-family:var(--ff);
  font-size:16px;
  line-height:1.78;
  color:var(--c-body);
  background:var(--c-bg);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}
h1,h2,h3,h4,h5{margin:0;color:var(--c-ink);font-weight:800;line-height:1.3;letter-spacing:.01em}
p{margin:0}
a{color:var(--c-primary);text-decoration:none;transition:color .2s var(--ease)}
a:hover{color:var(--c-primary-dark)}
img{max-width:100%;height:auto;display:block}
ul,ol{margin:0;padding:0;list-style:none}
button{font-family:inherit}
a:focus-visible,button:focus-visible,input:focus-visible{
  outline:3px solid rgba(27,71,224,.35);
  outline-offset:2px;
  border-radius:6px;
}
.container-xxl{max-width:1260px;padding-left:24px;padding-right:24px;margin-left:auto;margin-right:auto}

/* ===================== 头部导航 ===================== */
.site-header{
  position:sticky;
  top:0;
  z-index:1030;
  background:rgba(255,255,255,.9);
  backdrop-filter:saturate(180%) blur(14px);
  -webkit-backdrop-filter:saturate(180%) blur(14px);
  border-bottom:1px solid var(--c-line);
}
.inner-bar{padding:12px 0 !important;min-height:72px}
.brand-logo{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-size:19px;
  font-weight:800;
  color:var(--c-ink);
  letter-spacing:.01em;
  white-space:nowrap;
}
.brand-logo:hover{color:var(--c-primary)}
.brand-icon{
  width:34px;
  height:34px;
  border-radius:11px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,#2a5bff,#12309f);
  color:#fff;
  font-size:15px;
  box-shadow:0 6px 16px rgba(27,71,224,.34);
  flex:0 0 auto;
}
.main-nav .nav-link{
  color:var(--c-body);
  font-size:15px;
  font-weight:600;
  padding:8px 14px;
  border-radius:var(--r-pill);
  transition:color .2s var(--ease),background .2s var(--ease);
  white-space:nowrap;
}
.main-nav .nav-link:hover{color:var(--c-primary);background:var(--c-primary-050)}
.main-nav .nav-link.active{color:var(--c-primary);background:var(--c-primary-050)}
.main-nav .nav-link[aria-current="page"]{color:var(--c-primary);background:var(--c-primary-050)}

.command-search{
  display:flex;
  align-items:center;
  gap:8px;
  background:#f2f5fc;
  border:1px solid var(--c-line);
  border-radius:var(--r-pill);
  padding:7px 12px;
  min-width:216px;
  transition:border-color .2s var(--ease),box-shadow .2s var(--ease),background .2s var(--ease);
}
.command-search:hover{border-color:#c9d6f5;background:#eef2fb}
.command-search:focus-within{border-color:var(--c-primary);box-shadow:0 0 0 4px rgba(27,71,224,.12);background:#fff}
.command-search i{color:var(--c-muted);font-size:13px}
.command-search input{
  border:0;
  background:transparent;
  outline:none;
  font-size:14px;
  color:var(--c-ink);
  width:100%;
  min-width:0;
  line-height:1.5;
}
.command-search input::placeholder{color:#9aa3b8}
.command-search kbd{
  background:#fff;
  border:1px solid var(--c-line);
  color:var(--c-muted);
  border-radius:6px;
  font-size:11px;
  padding:1px 6px;
  font-family:var(--ff);
  box-shadow:var(--sh-xs);
}
.btn-nav-primary{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 20px;
  border-radius:var(--r-pill);
  background:linear-gradient(135deg,#2a5bff,#12309f);
  color:#fff;
  font-size:14.5px;
  font-weight:700;
  white-space:nowrap;
  box-shadow:0 10px 24px rgba(27,71,224,.28);
  transition:transform .22s var(--ease),box-shadow .22s var(--ease),filter .22s var(--ease);
}
.btn-nav-primary:hover{color:#fff;transform:translateY(-2px);box-shadow:0 16px 32px rgba(27,71,224,.34);filter:brightness(1.04)}
.navbar-toggler{
  border:1px solid var(--c-line);
  border-radius:12px;
  padding:6px 10px;
  background:#fff;
}
.navbar-toggler:focus{box-shadow:0 0 0 4px rgba(27,71,224,.14)}
.navbar-toggler-icon{
  background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%230d1730' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

/* ===================== 通用板块 ===================== */
.section{padding:76px 0}
.section--alt{background:#fff}
.section--tint{background:linear-gradient(180deg,#f6f8fd 0%,#eef3ff 100%)}
.section-head{max-width:760px;margin:0 auto 46px;text-align:center}
.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:13px;
  font-weight:700;
  letter-spacing:.08em;
  color:var(--c-primary);
  background:var(--c-primary-050);
  border:1px solid var(--c-primary-100);
  border-radius:var(--r-pill);
  padding:6px 14px;
  margin-bottom:16px;
}
.section-title{font-size:clamp(24px,2.7vw,34px);margin-bottom:14px}
.section-sub{font-size:15.8px;color:var(--c-body);margin:0}
.text-grad{
  background:linear-gradient(120deg,#2a5bff,#0d1730 70%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

/* ===================== 首屏 ===================== */
.page-hero{
  position:relative;
  overflow:hidden;
  padding:86px 0 76px;
  color:#fff;
  background-image:
    linear-gradient(115deg,rgba(8,17,42,.94) 0%,rgba(9,20,52,.86) 44%,rgba(27,71,224,.66) 100%),
    url("/assets/images/backpic/back-2.png");
  background-size:cover;
  background-position:center;
}
.page-hero::after{
  content:"";
  position:absolute;
  width:520px;
  height:520px;
  right:-160px;
  top:-190px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,122,47,.34),rgba(255,122,47,0) 68%);
  pointer-events:none;
}
.crumb{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:13.5px;
  color:rgba(255,255,255,.66);
  margin-bottom:20px;
}
.crumb a{color:rgba(255,255,255,.8)}
.crumb a:hover{color:#fff}
.crumb .current{color:#fff;font-weight:600}
.hero-title{
  font-size:clamp(29px,4vw,48px);
  color:#fff;
  line-height:1.22;
  margin-bottom:20px;
}
.hero-title span{color:#ffc79c}
.hero-lead{
  font-size:16.5px;
  line-height:1.9;
  color:rgba(255,255,255,.82);
  max-width:640px;
  margin-bottom:30px;
}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:28px}
.btn-brand{
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:13px 27px;
  border:0;
  border-radius:var(--r-pill);
  background:linear-gradient(135deg,#2a5bff,#12309f);
  color:#fff;
  font-size:15.5px;
  font-weight:700;
  box-shadow:0 14px 30px rgba(27,71,224,.36);
  transition:transform .22s var(--ease),box-shadow .22s var(--ease),filter .22s var(--ease);
}
.btn-brand:hover{color:#fff;transform:translateY(-2px);box-shadow:0 20px 40px rgba(27,71,224,.42);filter:brightness(1.05)}
.btn-accent{
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:13px 27px;
  border-radius:var(--r-pill);
  background:linear-gradient(135deg,#ff9450,#ff6a1a);
  color:#fff;
  font-size:15.5px;
  font-weight:700;
  box-shadow:0 14px 30px rgba(255,106,26,.32);
  transition:transform .22s var(--ease),box-shadow .22s var(--ease),filter .22s var(--ease);
}
.btn-accent:hover{color:#fff;transform:translateY(-2px);box-shadow:0 20px 40px rgba(255,106,26,.4);filter:brightness(1.04)}
.btn-ghost{
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:12px 26px;
  border-radius:var(--r-pill);
  border:1px solid rgba(255,255,255,.36);
  background:rgba(255,255,255,.08);
  color:#fff;
  font-size:15.5px;
  font-weight:600;
  transition:background .22s var(--ease),border-color .22s var(--ease),transform .22s var(--ease);
}
.btn-ghost:hover{color:#fff;background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.62);transform:translateY(-2px)}
.hero-chips{display:flex;flex-wrap:wrap;gap:10px}
.hero-chips li{
  font-size:13.5px;
  color:rgba(255,255,255,.86);
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.2);
  border-radius:var(--r-pill);
  padding:6px 14px;
}
.hero-panel{
  background:rgba(255,255,255,.09);
  border:1px solid rgba(255,255,255,.2);
  border-radius:var(--r-lg);
  padding:26px 24px;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  box-shadow:0 28px 60px rgba(4,10,28,.34);
}
.hero-panel h2{
  font-size:16px;
  color:#fff;
  margin-bottom:18px;
  display:flex;
  align-items:center;
  gap:9px;
}
.hero-panel h2 i{color:#ffc79c}
.hero-panel ul li{
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding:13px 0;
  border-bottom:1px dashed rgba(255,255,255,.18);
}
.hero-panel ul li:last-child{border-bottom:0;padding-bottom:0}
.hero-panel ul li:first-child{padding-top:0}
.q-ico{
  width:28px;
  height:28px;
  border-radius:9px;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.14);
  color:#fff;
  font-size:12.5px;
  flex:0 0 auto;
  margin-top:3px;
}
.hero-panel .q-title{font-size:14.6px;color:#fff;font-weight:700;display:block;line-height:1.55}
.hero-panel .q-desc{font-size:13.2px;color:rgba(255,255,255,.7);display:block;margin-top:3px;line-height:1.6}

/* ===================== 卡片 ===================== */
.card-soft{
  height:100%;
  background:#fff;
  border:1px solid var(--c-line);
  border-radius:var(--r-lg);
  padding:28px 24px;
  box-shadow:var(--sh-sm);
  transition:transform .26s var(--ease),box-shadow .26s var(--ease),border-color .26s var(--ease);
}
.card-soft:hover{transform:translateY(-5px);box-shadow:var(--sh-md);border-color:#cfdbf8}
.icon-badge{
  width:48px;
  height:48px;
  border-radius:14px;
  display:grid;
  place-items:center;
  font-size:18px;
  background:var(--c-primary-050);
  color:var(--c-primary);
  margin-bottom:18px;
}
.icon-badge--accent{background:var(--c-accent-050);color:var(--c-accent-dark)}
.card-title{font-size:18px;margin-bottom:10px}
.card-text{font-size:14.8px;line-height:1.85;color:var(--c-body);margin-bottom:16px}
.card-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:14.5px;
  font-weight:700;
  color:var(--c-primary);
}
.card-link i{transition:transform .2s var(--ease)}
.card-link:hover i{transform:translateX(4px)}
.tag-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.tag{
  font-size:12.6px;
  font-weight:600;
  color:var(--c-primary);
  background:var(--c-primary-050);
  border:1px solid var(--c-primary-100);
  border-radius:var(--r-pill);
  padding:4px 12px;
}
.tag--warm{color:var(--c-accent-dark);background:var(--c-accent-050);border-color:#ffdcc4}
.tag--now{color:#fff;background:var(--c-primary);border-color:var(--c-primary)}

/* 图片卡片 */
.card-media{
  height:100%;
  background:#fff;
  border:1px solid var(--c-line);
  border-radius:var(--r-lg);
  overflow:hidden;
  box-shadow:var(--sh-sm);
  transition:transform .26s var(--ease),box-shadow .26s var(--ease);
  display:flex;
  flex-direction:column;
}
.card-media:hover{transform:translateY(-5px);box-shadow:var(--sh-md)}
.card-media__img{
  position:relative;
  aspect-ratio:16/10;
  overflow:hidden;
  background:#eef3ff;
}
.card-media__img img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.card-media:hover .card-media__img img{transform:scale(1.05)}
.card-media__body{padding:24px 24px 26px;flex:1 1 auto;display:flex;flex-direction:column}
.card-media__body .card-title{margin-bottom:10px}
.card-media__body .card-link{margin-top:auto}

/* 流程 */
.step-card{
  position:relative;
  height:100%;
  background:#fff;
  border:1px solid var(--c-line);
  border-radius:var(--r-lg);
  padding:28px 24px;
  box-shadow:var(--sh-sm);
  transition:transform .26s var(--ease),box-shadow .26s var(--ease),border-color .26s var(--ease);
}
.step-card:hover{transform:translateY(-5px);box-shadow:var(--sh-md);border-color:#cfdbf8}
.step-num{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  border-radius:13px;
  font-size:15px;
  font-weight:800;
  color:#fff;
  background:linear-gradient(135deg,#2a5bff,#12309f);
  box-shadow:0 10px 22px rgba(27,71,224,.28);
  margin-bottom:18px;
}
.step-card h3{font-size:17px;margin-bottom:10px}
.step-card p{font-size:14.6px;line-height:1.85;margin:0}

/* 统计 */
.stat-card{
  height:100%;
  background:#fff;
  border:1px solid var(--c-line);
  border-radius:var(--r-md);
  padding:24px 20px;
  text-align:center;
  box-shadow:var(--sh-xs);
  transition:transform .24s var(--ease),box-shadow .24s var(--ease);
}
.stat-card:hover{transform:translateY(-4px);box-shadow:var(--sh-sm)}
.stat-num{
  font-size:30px;
  font-weight:800;
  line-height:1.15;
  color:var(--c-ink);
  letter-spacing:-.01em;
}
.stat-num em{font-style:normal;font-size:16px;color:var(--c-primary);margin-left:4px}
.stat-label{font-size:14px;color:var(--c-muted);margin-top:6px}

/* 深色板块 */
.section-dark{
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg,#0a1228 0%,#132a63 55%,#1b3f9e 100%);
  color:rgba(255,255,255,.82);
}
.section-dark::after{
  content:"";
  position:absolute;
  width:460px;
  height:460px;
  left:-170px;
  bottom:-200px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(42,91,255,.4),rgba(42,91,255,0) 70%);
  pointer-events:none;
}
.section-dark h2,.section-dark h3{color:#fff}
.section-dark p{color:rgba(255,255,255,.78)}
.dark-list{margin-top:22px}
.dark-list li{
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding:11px 0;
}
.dark-list i{
  color:#8fb0ff;
  font-size:15px;
  margin-top:5px;
  flex:0 0 auto;
}
.dark-list span{font-size:15px;line-height:1.8;color:rgba(255,255,255,.84)}
.dark-media{
  border-radius:var(--r-lg);
  overflow:hidden;
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 30px 70px rgba(3,9,26,.45);
}
.dark-media img{width:100%;display:block}

/* 评价 */
.quote-card{
  height:100%;
  background:#fff;
  border:1px solid var(--c-line);
  border-left:4px solid var(--c-primary);
  border-radius:var(--r-md);
  padding:26px 24px;
  box-shadow:var(--sh-sm);
  transition:transform .24s var(--ease),box-shadow .24s var(--ease);
}
.quote-card:hover{transform:translateY(-4px);box-shadow:var(--sh-md)}
.quote-card p{font-size:15px;line-height:1.9;color:var(--c-body);margin-bottom:16px}
.quote-meta{display:flex;align-items:center;gap:12px}
.avatar{
  width:40px;height:40px;border-radius:50%;
  display:grid;place-items:center;
  background:linear-gradient(135deg,#2a5bff,#12309f);
  color:#fff;font-size:15px;font-weight:700;flex:0 0 auto;
}
.quote-name{font-size:14.5px;font-weight:700;color:var(--c-ink);line-height:1.4}
.quote-role{font-size:13px;color:var(--c-muted)}

/* 常见问题手风琴 */
.faq-wrap{max-width:900px;margin:0 auto}
.accordion-item{
  background:#fff;
  border:1px solid var(--c-line);
  border-radius:var(--r-md) !important;
  margin-bottom:14px;
  overflow:hidden;
  box-shadow:var(--sh-xs);
}
.accordion-button{
  font-size:16px;
  font-weight:700;
  color:var(--c-ink);
  background:#fff;
  padding:20px 22px;
  line-height:1.6;
}
.accordion-button:not(.collapsed){
  color:var(--c-primary);
  background:var(--c-primary-050);
  box-shadow:none;
}
.accordion-button:focus{box-shadow:0 0 0 4px rgba(27,71,224,.14);border-color:transparent;z-index:3}
.accordion-button::after{
  background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%231b47e0'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}
.accordion-body{
  padding:4px 22px 24px;
  font-size:15px;
  line-height:1.9;
  color:var(--c-body);
}
.accordion-body strong{color:var(--c-ink)}

/* CTA */
.cta-box{
  position:relative;
  overflow:hidden;
  border-radius:26px;
  padding:56px 48px;
  color:#fff;
  background-image:
    linear-gradient(112deg,rgba(8,17,42,.95) 0%,rgba(13,32,88,.86) 48%,rgba(27,71,224,.7) 100%),
    url("/assets/images/backpic/back-3.webp");
  background-size:cover;
  background-position:center;
  box-shadow:var(--sh-lg);
}
.cta-box h2{font-size:clamp(23px,2.6vw,32px);color:#fff;margin-bottom:14px}
.cta-box p{font-size:16px;color:rgba(255,255,255,.82);max-width:640px;margin-bottom:28px}
.cta-actions{display:flex;flex-wrap:wrap;gap:14px}

/* ===================== 页脚 ===================== */
.site-footer{
  background:#0a1228;
  color:#9aa6c4;
  padding:66px 0 28px;
}
.footer-brand{
  display:flex;
  align-items:center;
  gap:10px;
  color:#fff;
  font-size:19px;
  font-weight:800;
  margin-bottom:18px;
}
.footer-desc{
  font-size:14.5px;
  line-height:1.95;
  color:#8f9bbd;
  max-width:440px;
  margin:0;
}
.footer-heading{
  color:#fff;
  font-size:15px;
  font-weight:700;
  margin-bottom:18px;
  letter-spacing:.02em;
}
.footer-links{list-style:none;padding:0;margin:0}
.footer-links li+li{margin-top:11px}
.footer-links a{
  color:#9aa6c4;
  font-size:14.5px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  transition:color .2s var(--ease),transform .2s var(--ease);
}
.footer-links a i{font-size:11px;color:#5c6c95;transition:color .2s var(--ease)}
.footer-links a:hover{color:#fff;transform:translateX(3px)}
.footer-links a:hover i{color:#8fb0ff}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.09);
  margin-top:46px;
  padding-top:22px;
  font-size:13.5px;
  color:#7c88a8;
}

/* ===================== 响应式 ===================== */
@media (max-width:1199.98px){
  .main-nav{margin:14px 0 6px;gap:2px}
  .main-nav .nav-link{padding:10px 14px;border-radius:12px}
  .command-search{min-width:0;width:100%;order:3}
  .btn-nav-primary{order:2}
  .navbar-collapse{padding-bottom:14px}
}
@media (max-width:991.98px){
  .section{padding:58px 0}
  .section-head{margin-bottom:36px}
  .page-hero{padding:62px 0 56px}
  .cta-box{padding:44px 30px;border-radius:22px}
  .hero-panel{margin-top:8px}
}
@media (max-width:767.98px){
  .container-xxl{padding-left:18px;padding-right:18px}
  body{font-size:15.5px}
  .section{padding:50px 0}
  .page-hero{padding:50px 0 46px}
  .hero-lead{font-size:15.5px}
  .hero-actions{gap:10px}
  .btn-brand,.btn-accent,.btn-ghost{padding:12px 20px;font-size:14.8px}
  .card-soft{padding:24px 20px}
  .card-media__body{padding:20px}
  .step-card{padding:24px 20px}
  .stat-num{font-size:26px}
  .accordion-button{font-size:15.2px;padding:17px 18px}
  .accordion-body{padding:2px 18px 20px;font-size:14.6px}
  .site-footer{padding:52px 0 24px}
  .footer-desc{max-width:100%}
}
@media (max-width:520px){
  .hero-title{font-size:27px}
  .hero-actions{flex-direction:column;align-items:stretch}
  .btn-brand,.btn-accent,.btn-ghost{justify-content:center;width:100%}
  .cta-actions{flex-direction:column;align-items:stretch}
  .cta-box{padding:36px 22px}
  .command-search{flex-wrap:wrap}
  .stat-card{padding:20px 16px}
}
