/* case-list — 由 tools/extract-css.mjs 从内联样式抽取；源块: (no-id), mobile-nav-consistency-fix, (no-id), case-list-scroll-fix, cms-final-no-blank-style, fixed-page-hero-box-final, breadcrumb-title-white-final, detail-breadcrumb-card-2line-final, case-card-hover-reveal-final, breadcrumb-pale-white-20260712, responsive-footer-unified-layout */
:root {
      --navy: #0d1426;
      --navy-2: #121b2d;
      --blue: #0063ff;
      --bg: #f8fafc;
      --card: #ffffff;
      --ink: #0d1426;
      --text: #334155;
      --muted: #667085;
      --line: #e7ecf3;
      --pale-blue: #eef5ff;
      --shadow: 0 16px 38px rgba(13, 20, 38, 0.08);
      --container: min(1248px, calc(100vw - 48px));
    }

    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; overflow-x: hidden; }
    body { margin: 0; font-family: "Noto Sans SC", "Microsoft YaHei", sans-serif; color: var(--text); background: var(--bg); letter-spacing: 0; overflow-x: hidden; }
    a { color: inherit; text-decoration: none; }
    button { font: inherit; }
    .container { width: var(--container); margin: 0 auto; }

    /* Header */
    .site-header { position: fixed; z-index: 50; top: 0; left: 0; width: 100%; height: 88px; background: rgba(8,16,31,0.7); border-bottom: 1px solid rgba(255,255,255,0.08); backdrop-filter: blur(18px); transition: box-shadow 0.25s ease, background 0.25s ease, height 0.25s ease; }
    .site-header.is-scrolled { height: 76px; background: rgba(8,16,31,0.92); box-shadow: 0 12px 34px rgba(4,10,22,0.28); }
    .nav-inner { width: var(--container); height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 28px; margin: 0 auto; }
    .brand { display: inline-flex; align-items: center; justify-content: center; min-width: 154px; color: #fff; }
    .brand-logo { display: block; width: 154px; height: 60px; object-fit: contain; }
    .nav-links { display: flex; align-items: center; gap: 46px; color: rgba(226,232,240,0.82); font-size: 14px; font-weight: 400; letter-spacing: 0.045em; }
    .nav-links a { position: relative; padding: 31px 0; transition: color 0.2s ease; }
    .site-header.is-scrolled .nav-links a { padding: 25px 0; }
    .nav-links a::after { content: ""; position: absolute; left: 50%; bottom: 20px; width: 0; height: 2px; border-radius:999px; background: var(--blue); transform: translateX(-50%); transition: width 0.2s ease; }
    .nav-links a.is-active, .nav-links a:hover { color: #fff; }
    .nav-links a.is-active::after { width: 28px; }
    .nav-cta { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 28px; border-radius: 999px; background: var(--blue); color: #fff; border: 0; box-shadow: 0 14px 30px rgba(0,99,255,0.25); font-weight: 700; font-size: 15px; cursor: pointer; transition: transform 0.2s ease, box-shadow 0.2s ease; }
    .nav-cta:hover { transform: translateY(-2px); box-shadow: 0 20px 42px rgba(0,99,255,0.34); }
    .menu-toggle { display: none; width: 44px; height: 44px; flex: 0 0 44px; margin-left: auto; border: 1px solid rgba(255,255,255,0.16); border-radius: 8px; background: rgba(255,255,255,0.06); color: #fff; cursor: pointer; }
    .menu-toggle span { display: block; width: 20px; height: 2px; margin: 5px auto; border-radius:999px; background: currentColor; transition: transform 0.2s ease, opacity 0.2s ease; }
    .menu-open .menu-toggle span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
    .menu-open .menu-toggle span:nth-child(2) { opacity: 0; }
    .menu-open .menu-toggle span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

    /* Page Hero */
    .page-hero { position: relative; padding: 160px 0 80px; overflow: hidden; color: #fff; background: linear-gradient(125deg, #020713 0%, #081020 52%, #061944 100%); }
    .page-hero::before { content: ""; position: absolute; inset: 0; background: radial-gradient(ellipse at 50% 60%, rgba(0,99,255,0.22), transparent 50%); }
    .page-hero .container { position: relative; z-index: 2; }
    .breadcrumb { display: flex; align-items: center; gap: 8px; margin-bottom: 24px; font-size: 13px; color: #fff; }
    .breadcrumb a { color: #fff; transition: color 0.2s; }
    .breadcrumb a:hover { color: #fff; }
    .breadcrumb .sep { opacity: 0.9; }
    .page-hero h1 { font-size: 42px; font-weight:700; margin: 0 0 16px; letter-spacing: -0.02em; }
    .page-hero p { font-size: 17px; color: rgba(255,255,255,0.7); max-width: 620px; line-height: 1.75; margin: 0; }

    /* Stats Row */
    /* Section */
    .section-block { padding: 80px 0; }
    .section-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 32px; margin-bottom: 40px; flex-wrap: wrap; }
    .section-label { display: inline-block; margin-bottom: 8px; font-size: 12px; font-weight:700; letter-spacing: 0.12em; color: var(--blue); text-transform: uppercase; }
    .section-head h2 { margin: 0; font-size: 32px; font-weight:700; color: var(--ink); line-height: 1.2; }
    .section-head p { margin: 0; color: var(--muted); max-width: 460px; font-size: 15px; line-height: 1.7; }

    /* Filter Bar */
    .filter-bar { display: flex; gap: 10px; margin-bottom: 36px; flex-wrap: wrap; }
    .filter-btn { display: inline-flex; align-items: center; height: 38px; padding: 0 20px; border-radius: 999px; border: 1px solid var(--line); background: var(--card); color: var(--muted); font-size: 14px; font-weight: 500; cursor: pointer; transition: all 0.2s ease; }
    .filter-btn:hover { border-color: var(--blue); color: var(--blue); }
    .filter-btn.is-active { background: var(--blue); border-color: var(--blue); color: #fff; }

    /* Cases Grid */
    .cases-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; }
    .case-card { display: block; position: relative; min-height: 300px; border: 1px solid var(--line); border-radius: 8px; overflow: hidden; background: var(--navy); box-shadow: 0 12px 28px rgba(13,20,38,0.07); isolation: isolate; transition: opacity 0.22s ease, transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease; cursor: pointer; }
    .case-card:hover { transform: translateY(-6px); border-color: rgba(0,99,255,0.24); box-shadow: 0 22px 44px rgba(13,20,38,0.12); }
    .case-card.is-hidden { display: none; }
    .case-media { position: absolute; inset: 0; z-index: -2; background-size: cover; background-position: center; transition: transform 0.35s ease, filter 0.35s ease; }
    .case-media::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(7,17,34,0.15) 0%, rgba(7,17,34,0.45) 50%, rgba(7,17,34,0.92) 100%); }
    .case-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(135deg, rgba(0,99,255,0.08), transparent 60%); }
    .case-card:hover .case-media { transform: scale(1.06); filter: brightness(1.08) saturate(1.1); }
    .case-card::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(7,17,34,0.08) 0%, rgba(7,17,34,0.34) 52%, rgba(7,17,34,0.88) 100%); opacity: 1; transition: opacity 0.28s ease; }
    .case-card:hover::after { opacity: 0.7; }
    .case-body { position: absolute; left: 0; right: 0; bottom: 0; padding: 28px 28px 26px; height: 186px; transform: translateY(54px); opacity: 1; transition: transform 0.28s ease, opacity 0.28s ease; }
    .case-card:hover .case-body, .case-card:focus-within .case-body { transform: translateY(0); opacity: 1; }
    .case-tag { color: var(--blue); font-size: 12px; font-weight: 600; }
    .case-body .case-tag { display: inline-flex; align-items: center; min-height: 28px; padding: 0 12px; border-radius: 999px; background: rgba(0,99,255,0.92); font-size: 12px; font-weight: 600; color: #fff; }
    .case-body h3 { margin: 12px 0 8px; color: #fff; font-size: 20px; font-weight: 700; line-height: 1.4; }
    .case-body p { margin: 0; color: rgba(255,255,255,0.78); font-size: 14px; line-height: 1.65; max-width: 320px; opacity: 0; transform: translateY(8px); transition: opacity 0.24s ease, transform 0.24s ease; }
    .case-card:hover .case-body p { opacity: 1; transform: translateY(0); }
    .case-industry { position: absolute; top: 20px; left: 20px; display: inline-flex; align-items: center; gap: 6px; padding: 4px 12px; border-radius: 999px; background: rgba(255,255,255,0.12); backdrop-filter: blur(8px); font-size: 12px; color: rgba(255,255,255,0.8); font-weight: 500; z-index: 1; }

    /* Card background images */

    /* CTA */
    .cta-block { padding: 80px 0; background: var(--navy); }
    .cta-inner { text-align: center; }
    .cta-inner h2 { margin: 0 0 14px; font-size: 32px; font-weight:700; color: #fff; }
    .cta-inner p { margin: 0 0 32px; color: rgba(255,255,255,0.55); font-size: 16px; line-height: 1.7; max-width: 860px; margin-left: auto; margin-right: auto; white-space: nowrap; }
    @media (max-width: 768px) { .cta-inner p { white-space: normal; max-width: 100%; } }
    .cta-btn { display: inline-flex; align-items: center; gap: 8px; height: 52px; padding: 0 36px; border-radius: 999px; background: var(--blue); color: #fff; font-size: 16px; font-weight: 700; transition: background 0.2s ease, box-shadow 0.2s ease; }
    .cta-btn:hover { background: #0050e0; box-shadow: 0 12px 28px rgba(0,99,255,0.35); }
    .cta-btn svg { width: 18px; height: 18px; stroke: currentColor; stroke-width: 2; fill: none; }

    /* Footer */
    .site-footer { background: var(--navy); color: rgba(255,255,255,0.6); padding: 64px 0 0; }
    .footer-grid { display: grid; grid-template-columns: 260px 200px auto; gap: 48px; margin-bottom: 48px; justify-content: space-between; align-items: flex-start; }
    .footer-grid > .footer-col:last-child { width: 450px; justify-self: end; text-align: left; transform: translateX(96px); }
    .footer-col:last-child a, .footer-col:last-child span { justify-content: flex-start; }
    .footer-desc { font-size: 14px; line-height: 1.7; margin: 14px 0 0; }
    .footer-col h3 { color: #fff; font-size: 14px; font-weight: 700; margin: 0 0 18px; }
    .footer-col a, .footer-col span { display: flex; align-items: flex-start; gap: 10px; font-size: 13px; color: rgba(255,255,255,0.55); line-height: 1.8; transition: color 0.2s; }
    .footer-col a:hover { color: #fff; }
    .footer-col .contact-icon { flex-shrink: 0; width: 16px; height: 16px; margin-top: 2px; color: rgba(255,255,255,0.35); }
    .footer-col .contact-text { display: inline-flex; align-items: center; }
    .qr-wrap { display: flex; flex-direction: row; align-items: flex-start; gap: 24px; }
    .qr-item { display: flex; flex-direction: column; align-items: center; }
    .qr-item + .qr-item { margin-left: 50px; }
    .qr { display: grid; grid-template-columns: repeat(5, 1fr); gap: 3px; width: 90px; margin-bottom: 8px; }
    .qr i { aspect-ratio: 1; border-radius: 2px; background: rgba(255,255,255,0.12); }
    .qr i:nth-child(2n+1) { background: rgba(255,255,255,0.3); }
    .qr-label { font-size: 11px; text-align: center; }
    .footer-bottom { border-top: 1px solid rgba(255,255,255,0.08); padding: 24px 0; display: flex; justify-content: space-between; font-size: 12px; color: rgba(255,255,255,0.35); }
    .reveal { opacity: 0; transform: translateY(24px); transition: opacity 0.55s ease, transform 0.55s ease; transition-delay: var(--delay, 0ms); }
    .reveal.is-visible { opacity: 1; transform: translateY(0); }

    /* Responsive */

    @media (max-width: 1180px) {
      .footer-grid{grid-template-columns:200px 140px auto;gap:28px}
      .footer-grid>.footer-col:last-child{width:auto;transform:none}
    }

    @media (max-width: 1024px) {
      .nav-links { gap: 30px; font-size: 13px; }
      .cases-grid { grid-template-columns: repeat(2, 1fr); }
    }
    @media (max-width: 768px) {
      .nav-links { position: fixed; top: 72px; left: 0; right: 0; flex-direction: column; background: var(--navy); padding: 16px 24px; gap: 0; transform: translateY(-120%); transition: transform 0.3s ease; z-index: 49; border-bottom: 1px solid rgba(255,255,255,0.06); }
      body.menu-open .nav-links { transform: translateY(0); }
      .nav-links a, .site-header.is-scrolled .nav-links a { padding: 13px 0; }
      .nav-links a::after { left: 0; bottom: 7px; transform: none; }
      .nav-cta { display: none; }
      .menu-toggle {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        padding: 0;
      }
      .page-hero h1 { font-size: 28px; }
      .cases-grid { grid-template-columns: 1fr; }
      .footer-grid { grid-template-columns: 1fr; gap: 32px; }
      .footer-bottom { flex-direction: column; gap: 8px; }
    }
  
    .whole-card-link { color: inherit; text-decoration: none; cursor: pointer; }
    .whole-card-link:focus-visible { outline: 3px solid rgba(0,99,255,0.38); outline-offset: 4px; }
@media (max-width: 768px) {
      body.menu-open { overflow: hidden !important; }
      .site-header, .site-header.is-scrolled {
        height: 76px !important;
        background: rgba(8, 16, 31, 0.98) !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
        backdrop-filter: blur(18px) !important;
        -webkit-backdrop-filter: blur(18px) !important;
        z-index: 1000 !important;
      }
      .nav-inner {
        width: min(100% - 32px, 640px) !important;
        height: 100% !important;
        margin: 0 auto !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 12px !important;
      }
      .brand { min-width: 0 !important; flex: 0 1 auto !important; }
      .brand-logo { width: 142px !important; height: 52px !important; object-fit: contain !important; }
      .nav-cta { display: none !important; }
      .menu-toggle {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        width: 46px !important;
        height: 46px !important;
        flex: 0 0 46px !important;
        margin-left: auto !important;
        padding: 0 !important;
        border-radius: 10px !important;
        color: #fff !important;
        background: rgba(255, 255, 255, 0.06) !important;
        border: 1px solid rgba(255, 255, 255, 0.16) !important;
        z-index: 1002 !important;
      }
      .menu-toggle span { width: 20px !important; height: 2px !important; margin: 3px 0 !important; border-radius:999px !important; background: currentColor !important; }
      .menu-open .menu-toggle span:nth-child(1) { transform: translateY(8px) rotate(45deg) !important; }
      .menu-open .menu-toggle span:nth-child(2) { opacity: 0 !important; }
      .menu-open .menu-toggle span:nth-child(3) { transform: translateY(-8px) rotate(-45deg) !important; }
      .nav-links {
        position: fixed !important;
        top: 76px !important;
        left: 0 !important;
        right: 0 !important;
        bottom: auto !important;
        width: 100% !important;
        max-height: calc(100vh - 76px) !important;
        overflow-y: auto !important;
        display: grid !important;
        grid-template-columns: 1fr !important;
        align-items: stretch !important;
        justify-items: stretch !important;
        gap: 0 !important;
        padding: 18px 28px 28px !important;
        background: rgba(8, 16, 31, 0.98) !important;
        box-shadow: 0 24px 55px rgba(0, 0, 0, 0.32) !important;
        text-align: left !important;
        transform: translateY(-110%) !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        transition: transform 0.24s ease, opacity 0.2s ease, visibility 0.2s ease !important;
        z-index: 999 !important;
      }
      body.menu-open .nav-links, .menu-open .nav-links {
        transform: translateY(0) !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        display: grid !important;
      }
      .nav-links a, .site-header.is-scrolled .nav-links a {
        display: block !important;
        width: 100% !important;
        padding: 15px 0 !important;
        margin: 0 !important;
        font-size: 18px !important;
        line-height: 1.35 !important;
        color: rgba(255, 255, 255, 0.78) !important;
        text-align: left !important;
        letter-spacing: 0.04em !important;
      }
      .nav-links a.is-active, .nav-links a:hover { color: #fff !important; font-weight: 700 !important; }
      .nav-links a::after { left: 0 !important; right: auto !important; bottom: 7px !important; transform: none !important; }
      .nav-links a.is-active::after { width: 32px !important; }
    }
    @media (max-width: 420px) {
      .site-header, .site-header.is-scrolled { height: 72px !important; }
      .nav-inner { width: calc(100% - 28px) !important; }
      .brand-logo { width: 136px !important; height: 48px !important; }
      .menu-toggle { width: 44px !important; height: 44px !important; flex-basis: 44px !important; }
      .nav-links { top: 72px !important; max-height: calc(100vh - 72px) !important; padding: 16px 24px 26px !important; }
    }
html.cms-dynamic-loading .nav-links,
  html.cms-dynamic-loading .nav-cta,
  html.cms-dynamic-loading .hero-copy,
  html.cms-dynamic-loading .page-hero .container,
  html.cms-dynamic-loading .section-block > .container,
  html.cms-dynamic-loading .site-footer .container {
    visibility: visible !important;
  }
.case-card .case-media::before{display:block!important;opacity:1!important;background:linear-gradient(180deg,rgba(6,14,30,0) 0%,rgba(6,14,30,.08) 32%,rgba(6,14,30,.46) 58%,rgba(6,14,30,.78) 76%,rgba(6,14,30,.92) 100%)!important;}
  .case-card .case-media::after{display:block!important;opacity:1!important;background:linear-gradient(135deg,rgba(0,99,255,.08),rgba(0,99,255,0) 56%)!important;}
  .case-card::after{display:none!important;}
  .case-card .case-media,.case-card:hover .case-media{filter:none!important;}
  .case-card .case-body{left:0!important;right:0!important;bottom:0!important;height:150px!important;min-height:150px!important;padding:22px 24px 20px!important;border-radius:0!important;background:none!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;transform:translateY(0)!important;opacity:1!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:0!important;}
  .case-card .case-body .case-tag{display:inline-flex!important;align-items:center!important;justify-content:center!important;height:28px!important;min-height:28px!important;padding:0 12px!important;border-radius:999px!important;background:#0063ff!important;color:#fff!important;font-size: 12px!important;line-height:28px!important;font-weight: 600!important;box-shadow:none!important;margin:0 0 8px!important;flex:0 0 auto!important;}
  .case-card .case-body h3{margin:0 0 4px!important;min-height:0!important;width:100%!important;color:#fff!important;font-size:18px!important;line-height:1.35!important;font-weight:700!important;text-shadow:none!important;-webkit-text-stroke:0!important;filter:none!important;letter-spacing:0!important;display:block!important;white-space:nowrap!important;text-overflow:ellipsis!important;overflow:hidden!important;flex:0 0 auto!important;}
  .case-card .case-summary-scroll{width:100%!important;height:auto!important;max-height:none!important;overflow:hidden!important;padding-right:0!important;scrollbar-width:none!important;}
  .case-card .case-summary-scroll::-webkit-scrollbar{display:none!important;width:0!important;height:0!important;}
  .case-card .case-summary-scroll p{margin:0!important;max-width:none!important;color:#fff!important;opacity:.92!important;font-size:14px!important;line-height:1.62!important;transform:none!important;text-shadow:none!important;-webkit-text-stroke:0!important;filter:none!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;padding-right:0!important;}
  @media (max-width:768px){.case-card .case-body{height:142px!important;min-height:142px!important;padding:20px 20px 18px!important;}.case-card .case-body h3{font-size:17px!important;line-height:1.35!important;white-space:nowrap!important;}.case-card .case-summary-scroll{height:auto!important;max-height:none!important;overflow:hidden!important;}.case-card .case-summary-scroll p{font-size:13px!important;line-height:1.58!important;-webkit-line-clamp:2!important;}}
html.cms-dynamic-loading .nav-links,
html.cms-dynamic-loading .nav-cta,
html.cms-dynamic-loading .hero-copy,
html.cms-dynamic-loading .page-hero .container,
html.cms-dynamic-loading .section-block > .container,
html.cms-dynamic-loading .site-footer .container { visibility: visible !important; opacity: 1 !important; }
.reveal { opacity: 1 !important; transform: none !important; }
.page-hero .container, .hero-copy, main .container { visibility: visible !important; opacity: 1 !important; }
/* 顶部 Banner 固定高度：关于、产品、服务、案例、新闻、联系统一，不再被标题/说明文字撑高 */
.page-hero,
.service-page-hero {
  height: 360px !important;
  min-height: 360px !important;
  max-height: 360px !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  overflow: hidden !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}
.page-hero > .container,
.service-page-hero > .container {
  position: relative !important;
  z-index: 2 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.page-hero.has-hero-image,
.service-page-hero.has-hero-image {
  background-image: linear-gradient(125deg, rgba(2,7,19,0.86) 0%, rgba(8,16,32,0.72) 52%, rgba(6,25,68,0.80) 100%), var(--page-hero-image, var(--about-hero-image, var(--product-hero-image, var(--service-hero-image)))) !important;
}
@media (max-width: 820px) {
  .page-hero,
  .service-page-hero {
    height: 300px !important;
    min-height: 300px !important;
    max-height: 300px !important;
    padding: 0 !important;
  }
}
/* breadcrumb-title-white-final */
.page-hero .breadcrumb,
.page-hero .breadcrumb a,
.service-page-hero .breadcrumb,
.service-page-hero .breadcrumb a,
.detail-hero .breadcrumb,
.detail-hero .breadcrumb a {
  color: #fff !important;
  opacity: 1 !important;
  font-weight: 700 !important;
}
.page-hero .breadcrumb .sep,
.service-page-hero .breadcrumb .sep,
.detail-hero .breadcrumb .sep {
  color: #fff !important;
  opacity: .92 !important;
}
/* /breadcrumb-title-white-final */
.product-dynamic-hero .detail-breadcrumb,.service-detail-top-hero .detail-breadcrumb,.service-dynamic-hero .detail-breadcrumb{display:flex!important;align-items:center!important;gap:8px!important;margin-bottom:24px!important}.product-dynamic-hero .detail-breadcrumb a,.service-detail-top-hero .detail-breadcrumb a,.service-dynamic-hero .detail-breadcrumb a{color:#fff!important;opacity:1!important;font-weight:700!important;text-decoration:none!important}.product-dynamic-hero .detail-breadcrumb .sep,.service-detail-top-hero .detail-breadcrumb .sep,.service-dynamic-hero .detail-breadcrumb .sep{color:#fff!important;opacity:.92!important}.case-card .case-summary-scroll p,.related-case-grid .related-case-card .case-summary-scroll p{display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;}
/* 案例卡片悬停展开：默认只显示标签+标题，悬停后整组上移并显示两行描述 */
#cases .case-card .case-body,
.case-list-section .case-card .case-body{
  height:168px!important;
  min-height:168px!important;
  padding:20px 24px 22px!important;
  transform:translateY(50px)!important;
  transition:transform .30s cubic-bezier(.22,.61,.36,1)!important;
  will-change:transform;
}
#cases .case-card .case-summary-scroll,
.case-list-section .case-card .case-summary-scroll{
  width:100%!important;
  height:48px!important;
  min-height:48px!important;
  max-height:48px!important;
  overflow:hidden!important;
}
#cases .case-card .case-summary-scroll p,
.case-list-section .case-card .case-summary-scroll p{
  margin:0!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
  line-height:1.65!important;
  opacity:0!important;
  transform:translateY(10px)!important;
  transition:opacity .22s ease .04s,transform .22s ease .04s!important;
}
#cases .case-card:hover .case-body,
#cases .case-card:focus-visible .case-body,
.case-list-section .case-card:hover .case-body,
.case-list-section .case-card:focus-visible .case-body{
  transform:translateY(0)!important;
}
#cases .case-card:hover .case-summary-scroll p,
#cases .case-card:focus-visible .case-summary-scroll p,
.case-list-section .case-card:hover .case-summary-scroll p,
.case-list-section .case-card:focus-visible .case-summary-scroll p{
  opacity:.92!important;
  transform:translateY(0)!important;
}
#cases .case-card:hover,
.case-list-section .case-card:hover{
  transform:translateY(-5px)!important;
  box-shadow:0 22px 44px rgba(13,20,38,.14)!important;
}
@media (hover:none),(pointer:coarse){
  #cases .case-card .case-body,
  .case-list-section .case-card .case-body{transform:translateY(0)!important;}
  #cases .case-card .case-summary-scroll p,
  .case-list-section .case-card .case-summary-scroll p{opacity:.92!important;transform:none!important;}
}
@media (max-width:768px){
  #cases .case-card .case-body,
  .case-list-section .case-card .case-body{height:160px!important;min-height:160px!important;padding:18px 20px 20px!important;}
  #cases .case-card .case-summary-scroll,
  .case-list-section .case-card .case-summary-scroll{height:44px!important;min-height:44px!important;max-height:44px!important;}
}
.page-hero .breadcrumb,.service-page-hero .breadcrumb,.detail-hero .breadcrumb{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.page-hero .breadcrumb a,.service-page-hero .breadcrumb a,.detail-hero .breadcrumb a{color:rgba(255,255,255,.74)!important;opacity:1!important;text-decoration:none!important;transition:color .18s ease}
.page-hero .breadcrumb a:hover,.service-page-hero .breadcrumb a:hover,.detail-hero .breadcrumb a:hover{color:#fff!important}
.page-hero .breadcrumb .sep,.service-page-hero .breadcrumb .sep,.detail-hero .breadcrumb .sep{color:rgba(255,255,255,.52)!important;opacity:1!important}
.detail-breadcrumb .breadcrumb-current{color:rgba(255,255,255,.68)!important;opacity:1!important}
@media (max-width: 1024px) {
      .site-footer .footer-grid {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 32px !important;
        align-items: start !important;
        justify-content: stretch !important;
      }

      .site-footer .footer-grid > div:first-child {
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        justify-self: stretch !important;
        transform: none !important;
        text-align: left !important;
      }

      .site-footer .footer-grid > div:first-child .brand {
        justify-content: flex-start !important;
      }

      .site-footer .footer-grid > div:first-child .footer-desc {
        margin-top: 14px !important;
        text-align: left !important;
      }

      .site-footer .qr-wrap {
        display: flex !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 auto !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: flex-start !important;
        justify-content: center !important;
        gap: clamp(32px, 10vw, 56px) !important;
        transform: none !important;
      }

      .site-footer .qr-wrap .qr-item,
      .site-footer .qr-wrap .qr-item + .qr-item {
        margin: 0 !important;
        align-items: center !important;
      }

      .site-footer .footer-grid > .footer-col:last-child {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        justify-self: stretch !important;
        transform: none !important;
        text-align: left !important;
      }

      .site-footer .footer-grid > .footer-col:last-child h3 {
        text-align: left !important;
      }

      .site-footer .footer-grid > .footer-col:last-child > a,
      .site-footer .footer-grid > .footer-col:last-child > span {
        justify-content: flex-start !important;
        text-align: left !important;
      }
    }
