/* Restored home page stylesheet extracted from the pre-consolidation index.html styles. */
body.home-page{
      --brand: #186c86;
      --deep: #264153;
      --ink: #1c2b35;
      --muted: #6f7f88;
      --light: #f5f9fa;
      --line: #dce8ec;
      --white: #fff;
      --max-page: 1920px;
      --container: 1350px;
      --radius: 6px;
    }body.home-page *{
      box-sizing: border-box;
    }body.home-page{
      scroll-behavior: smooth;
    }body.home-page{
      margin: 0;
      color: var(--ink);
      background: #fff;
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Microsoft YaHei", Arial, sans-serif;
      line-height: 1.72;
    }body.home-page img{
      display: block;
      max-width: 100%;
    }body.home-page a{
      color: inherit;
      text-decoration: none;
    }body.home-page .page{
      width: min(100%, var(--max-page));
      margin: 0 auto;
      overflow: hidden;
      background: #fff;
    }body.home-page .container{
      width: min(var(--container), calc(100% - 60px));
      margin: 0 auto;
    }body.home-page .site-header{
      position: sticky;
      top: 0;
      z-index: 50;
      background: rgba(255, 255, 255, .96);
      border-bottom: 1px solid var(--line);
      backdrop-filter: blur(14px);
    }body.home-page .nav-bar{
      height: 88px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 38px;
    }body.home-page .logo{
      display: flex;
      align-items: center;
      width: 260px;
      flex: 0 0 auto;
    }body.home-page .logo img{
      width: 245px;
      height: auto;
    }body.home-page .nav{
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 34px;
      color: var(--deep);
      font-size: 16px;
      font-weight: 400;
      white-space: nowrap;
    }body.home-page .nav a,body.home-page .nav-trigger{
      position: relative;
      padding: 30px 0;
    }body.home-page .nav a::after,body.home-page .nav-trigger::after{
      content: "";
      position: absolute;
      left: 0;
      right: 0;
      bottom: 20px;
      height: 2px;
      background: var(--brand);
      transform: scaleX(0);
      transform-origin: center;
      transition: transform .2s ease;
    }body.home-page .nav a:hover,body.home-page .nav a.is-active,body.home-page .nav-item:hover .nav-trigger{
      color: var(--brand);
    }body.home-page .nav a.is-active{
      font-weight: 800;
    }body.home-page .nav a:hover::after,body.home-page .nav a.is-active::after,body.home-page .nav-item:hover .nav-trigger::after{
      transform: scaleX(1);
    }body.home-page .nav-item{
      position: relative;
    }body.home-page .nav-trigger{
      display: inline-flex;
      align-items: center;
      gap: 7px;
      color: var(--deep);
      cursor: default;
    }body.home-page .nav-trigger::before{
      content: "";
      order: 2;
      width: 6px;
      height: 6px;
      border-right: 1.5px solid currentColor;
      border-bottom: 1.5px solid currentColor;
      transform: rotate(45deg) translateY(-2px);
      opacity: .7;
    }body.home-page .dropdown{
      position: absolute;
      top: calc(100% - 8px);
      left: 50%;
      z-index: 10;
      min-width: 188px;
      padding: 10px;
      background: #fff;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      box-shadow: 0 24px 48px rgba(38,65,83,.16);
      transform: translateX(-50%) translateY(12px);
      opacity: 0;
      visibility: hidden;
      pointer-events: none;
      transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
    }body.home-page .nav-item:hover .dropdown,body.home-page .nav-item:focus-within .dropdown{
      opacity: 1;
      visibility: visible;
      pointer-events: auto;
      transform: translateX(-50%) translateY(0);
    }body.home-page .dropdown a{
      display: block;
      padding: 9px 12px;
      border-radius: var(--radius);
      color: var(--deep);
      font-size: 14px;
      font-weight: 400;
    }body.home-page .dropdown a::after{
      display: none;
    }body.home-page .dropdown a:hover{
      color: var(--brand);
      background: #eef7f8;
    }body.home-page .menu-button{
      display: none;
      width: 44px;
      height: 44px;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      color: var(--deep);
      background: #fff;
      font-size: 22px;
    }body.home-page .hero{
      position: relative;
      min-height: 710px;
      background: #eaf5f8;
      overflow: hidden;
    }body.home-page .hero-bg{
      position: absolute;
      inset: 0;
    }body.home-page .hero-bg img{
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
    }body.home-page .hero-bg::after{
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(90deg, rgba(255,255,255,.94) 0%, rgba(255,255,255,.78) 27%, rgba(255,255,255,.2) 54%, rgba(255,255,255,0) 78%);
    }body.home-page .hero-content{
      position: relative;
      min-height: 710px;
      display: flex;
      align-items: center;
      padding: 80px 0;
    }body.home-page .hero-copy{
      width: 650px;
      padding-top: 20px;
    }body.home-page .hero-copy > .eyebrow{
      font-size: 15px;
      font-weight: 400;
      letter-spacing: .04em;
    }body.home-page .eyebrow{
      margin: 0 0 18px;
      color: var(--brand);
      font-size: 15px;
      font-weight: 900;
      letter-spacing: .08em;
    }body.home-page h1,body.home-page h2,body.home-page h3,body.home-page p{
      margin-top: 0;
    }body.home-page h1{
      margin-bottom: 24px;
      color: var(--deep);
      font-size: 62px;
      line-height: 1.08;
      letter-spacing: -.03em;
    }body.home-page .hero-lede{
      width: 610px;
      margin-bottom: 34px;
      color: #40525f;
      font-size: 20px;
      line-height: 1.9;
    }body.home-page .hero-actions,body.home-page .section-actions{
      display: flex;
      flex-wrap: wrap;
      gap: 14px;
    }body.home-page .button{
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-width: 150px;
      height: 48px;
      padding: 0 24px;
      border-radius: var(--radius);
      border: 1px solid var(--brand);
      font-weight: 850;
      transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
    }body.home-page .button:hover{
      transform: translateY(-2px);
      box-shadow: 0 14px 26px rgba(24, 108, 134, .16);
    }body.home-page .button.primary{
      color: #fff;
      background: var(--brand);
    }body.home-page .button.secondary{
      color: var(--brand);
      background: #fff;
    }body.home-page .section{
      padding: 74px 0;
    }body.home-page #news{
      padding-top: 0;
    }body.home-page .section.alt{
      background: var(--light);
    }body.home-page .section.dark{
      color: #fff;
      background: var(--deep);
    }body.home-page .section-head{
      position: relative;
      display: block;
      max-width: 880px;
      margin: 0 auto 46px;
      padding-bottom: 0;
      text-align: center;
    }body.home-page .section-head::before{
      display: none;
    }body.home-page .section-head::after{
      display: none;
    }body.home-page h2{
      margin-bottom: 0;
      color: #4f626d;
      font-size: 18px;
      font-weight: 400;
      line-height: 1.42;
      letter-spacing: 0;
    }body.home-page .dark h2{
      color: rgba(255,255,255,.82);
    }body.home-page .section-head .eyebrow{
      display: block;
      margin-bottom: 25px;
      padding-left: 0;
      color: var(--deep);
      font-size: 45px;
      font-weight: 900;
      line-height: 1.12;
      letter-spacing: -.02em;
    }body.home-page .section-head .eyebrow::before{
      display: none;
    }body.home-page .dark .section-head .eyebrow{
      color: #fff;
    }body.home-page .section-head p,body.home-page .muted{
      color: var(--muted);
      font-size: 16px;
    }body.home-page .dark .section-head p,body.home-page .dark .muted{
      color: rgba(255,255,255,.72);
    }body.home-page .position-layout{
      display: grid;
      grid-template-columns: 1.08fr .92fr;
      gap: 26px;
      align-items: stretch;
    }body.home-page .position-main{
      position: relative;
      padding: 58px;
      background:
        radial-gradient(circle at 92% 12%, rgba(24,108,134,.16), transparent 28%),
        linear-gradient(135deg, #fff, #f2fafb);
      border: 1px solid var(--line);
      border-radius: 22px;
      box-shadow: 0 24px 50px rgba(38, 65, 83, .08);
      text-align: left;
      overflow: hidden;
    }body.home-page .position-main::before{
      display: none;
    }body.home-page .position-main .block-title{
      display: block;
      margin-bottom: 18px;
      color: var(--brand);
      font-size: 18px;
      font-weight: 900;
    }body.home-page .position-main h3{
      margin-bottom: 18px;
      color: var(--deep);
      font-size: 34px;
      line-height: 1.28;
    }body.home-page .position-main p{
      margin-bottom: 0;
      color: #4f626d;
      font-size: 18px;
    }body.home-page .stats{
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 14px;
    }body.home-page .stat{
      padding: 28px;
      min-height: 146px;
      background: linear-gradient(135deg, var(--deep), var(--brand));
      border-radius: 18px;
    }body.home-page .stat strong{
      display: block;
      margin-bottom: 10px;
      color: #fff;
      font-size: 34px;
      line-height: 1;
    }body.home-page .stat span{
      color: rgba(255,255,255,.74);
      font-size: 14px;
    }body.home-page .service-grid{
      display: grid;
      grid-template-columns: 1.9fr repeat(3, 1fr);
      gap: 22px;
      align-items: stretch;
    }body.home-page .service-feature{
      position: relative;
      grid-row: span 2;
      min-height: 470px;
      padding: 36px;
      color: #fff;
      background: linear-gradient(135deg, #173e49 0%, var(--brand) 100%);
      border-radius: 18px;
      overflow: hidden;
      box-shadow: 0 28px 58px rgba(38,65,83,.16);
    }body.home-page .service-feature::before{
      display: none;
    }body.home-page .service-feature span{
      display: block;
      margin-bottom: 24px;
      color: rgba(255,255,255,.76);
      font-size: 14px;
      font-weight: 900;
    }body.home-page .service-feature h3{
      margin-bottom: 24px;
      color: #fff;
      font-size: 34px;
    }body.home-page .service-feature p{
      color: rgba(255,255,255,.8);
      font-size: 17px;
    }body.home-page .service-feature a{
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 46px;
      margin-top: 34px;
      padding: 0 18px;
      color: #f4d26b;
      border: 1px solid rgba(255,255,255,.38);
      border-radius: 999px;
      background: rgba(255,255,255,.08);
      font-size: 15px;
      font-weight: 400;
    }body.home-page .service-card,body.home-page .product-card,body.home-page .case-card,body.home-page .news-card,body.home-page .faq-card{
      padding: 30px;
      background: #fff;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
    }body.home-page .service-card{
      min-height: 224px;
      display: flex;
      flex-direction: column;
      justify-content: flex-start;
      background:
        radial-gradient(circle at 10% 5%, rgba(24,108,134,.12), transparent 34%),
        #fff;
      border-radius: 18px;
    }body.home-page .service-card span{
      color: rgba(24,108,134,.45);
      font-size: 30px;
      line-height: 1;
    }body.home-page .service-card:hover,body.home-page .product-card:hover,body.home-page .case-card:hover,body.home-page .news-card:hover,body.home-page .faq-card:hover{
      transform: translateY(-4px);
      border-color: rgba(24,108,134,.42);
      box-shadow: 0 18px 42px rgba(38, 65, 83, .1);
    }body.home-page .service-card span,body.home-page .product-card span,body.home-page .news-card span:not(.news-tag){
      display: inline-flex;
      margin-bottom: 18px;
      color: var(--brand);
      font-size: 14px;
      font-weight: 900;
    }body.home-page h3{
      color: var(--deep);
      font-size: 23px;
      line-height: 1.3;
    }body.home-page .service-card h3,body.home-page .product-card h3,body.home-page .case-card h3,body.home-page .news-card h3,body.home-page .faq-card h3{
      margin-bottom: 12px;
    }body.home-page .service-card p,body.home-page .product-card p,body.home-page .case-card p,body.home-page .news-card p,body.home-page .faq-card p{
      margin-bottom: 0;
      color: var(--muted);
      font-size: 15px;
    }body.home-page .service-link{
      display: inline-flex;
      align-items: center;
      margin-top: auto;
      color: var(--brand);
      font-size: 14px;
      font-weight: 400;
    }body.home-page .service-card > span{
      margin-bottom: 24px;
      color: rgba(24,108,134,.45);
      font-size: 30px;
      font-weight: 900;
      line-height: 1;
    }body.home-page .home-team-grid{
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 28px;
    }body.home-page .home-team-card{
      display: flex;
      flex-direction: row;
      align-items: stretch;
      overflow: hidden;
      padding: 0;
      border: 1px solid var(--line);
      border-radius: 18px;
      background: #fff;
      box-shadow: 0 18px 42px rgba(38, 65, 83, .06);
      transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
    }body.home-page .home-team-card:hover{
      transform: translateY(-4px);
      border-color: rgba(24,108,134,.42);
      box-shadow: 0 22px 48px rgba(38, 65, 83, .1);
    }body.home-page .home-team-photo{
      flex: 0 0 220px;
      width: 220px;
      overflow: hidden;
      background: #eef7f8;
    }body.home-page .home-team-photo img{
      width: 100%;
      height: 100%;
      min-height: 240px;
      object-fit: cover;
      object-position: top center;
    }body.home-page .home-team-body{
      display: flex;
      flex: 1;
      flex-direction: column;
      padding: 28px 30px 32px;
    }body.home-page .home-team-label{
      margin: 0 0 10px;
      color: var(--brand);
      font-size: 14px;
      font-weight: 800;
    }body.home-page .home-team-body h3{
      margin: 0 0 14px;
      color: var(--deep);
      font-size: 26px;
      line-height: 1.3;
      font-weight: 900;
    }body.home-page .home-team-body p{
      flex: 1;
      margin: 0;
      color: var(--muted);
      font-size: 15px;
      line-height: 1.85;
    }body.home-page .home-team-btn{
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 112px;
      height: 42px;
      margin-top: 22px;
      border-radius: 999px;
      border: 1px solid rgba(24, 108, 134, .24);
      background: #fff;
      color: var(--brand);
      font-size: 15px;
      font-weight: 700;
      transition: .18s ease;
    }body.home-page .home-team-btn:hover{
      background: var(--brand);
      color: #fff;
      transform: translateY(-2px);
      box-shadow: 0 14px 28px rgba(24, 108, 134, .18);
    }body.home-page .capability-layout{
      display: grid;
      grid-template-columns: 310px 1fr;
      gap: 28px;
      align-items: stretch;
    }body.home-page .capability-nav{
      display: grid;
      grid-template-rows: repeat(4, 1fr);
      gap: 12px;
    }body.home-page .capability-nav button{
      min-height: 82px;
      padding: 0 22px;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      color: var(--deep);
      background: #fff;
      text-align: left;
      font: inherit;
      font-weight: 850;
      cursor: pointer;
    }body.home-page .capability-nav button.is-active{
      color: #fff;
      background: var(--brand);
      border-color: var(--brand);
    }body.home-page .capability-panel{
      display: none;
      min-height: 358px;
      padding: 42px;
      background: #fff;
      border: 1px solid var(--line);
      border-radius: var(--radius);
    }body.home-page .capability-panel.is-active{
      display: block;
    }body.home-page .capability-panel p{
      color: #52646e;
      font-size: 18px;
    }body.home-page .capability-panel ul{
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 14px;
      margin: 30px 0 0;
      padding: 0;
      list-style: none;
    }body.home-page .capability-panel li{
      padding: 18px;
      color: var(--deep);
      background: var(--light);
      border-radius: var(--radius);
      font-weight: 800;
    }body.home-page .product-grid{
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 18px;
    }body.home-page .product-card,body.home-page .product-card.large{
      position: relative;
      display: flex;
      flex-direction: column;
      min-height: 300px;
      padding: 28px 28px 87px;
      background: #fff;
    }body.home-page .tags{
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
      margin-top: 16px;
    }body.home-page .tag{
      display: inline-flex;
      align-items: center;
      min-height: 36px;
      padding: 0 13px;
      color: var(--brand);
      background: #fff;
      border: 1px solid var(--line);
      border-radius: 14px;
      font-size: 13px;
      font-weight: 400;
      font-style: normal;
    }body.home-page .product-card{
      position: relative;
      overflow: hidden;
    }body.home-page .product-card::after{
      content: "";
      position: absolute;
      right: -42px;
      top: auto;
      bottom: -42px;
      width: 138px;
      height: 138px;
      border-radius: 50%;
      background: rgba(24,108,134,.055);
    }body.home-page .product-card h3{
      font-size: 28px;
    }body.home-page .product-card p{
      font-size: 15px;
      line-height: 1.8;
    }body.home-page .product-action,body.home-page .case-action,body.home-page .asset-action,body.home-page .news-action{
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 44px;
      margin-top: 26px;
      padding: 0 18px;
      color: var(--brand);
      background: rgba(255,255,255,.8);
      border: 1px solid var(--line);
      border-radius: 999px;
      font-size: 15px;
      font-weight: 400;
    }body.home-page .product-action{
      position: absolute;
      left: 28px;
      bottom: 28px;
      color: #fff;
      background: #186c86;
      border-color: #186c86;
      align-self: flex-start;
      flex: 0 0 44px;
      box-sizing: border-box;
      height: 44px;
      min-height: 44px;
      max-height: 44px;
      margin-top: 0;
      padding-top: 0;
      padding-bottom: 0;
      line-height: 44px;
      white-space: nowrap;
    }body.home-page .asset-action{
      align-self: flex-start;
    }body.home-page .case-list{
      display: grid;
      grid-template-columns: repeat(5, 1fr);
      gap: 18px;
    }body.home-page .case-card{
      min-height: 310px;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
    }body.home-page .case-metrics{
      display: grid;
      gap: 8px;
      margin-top: 24px;
    }body.home-page .case-metrics div{
      padding: 12px 14px;
      background: var(--light);
      border-radius: var(--radius);
    }body.home-page .case-metrics strong{
      display: block;
      color: var(--brand);
      font-size: 20px;
      line-height: 1.15;
    }body.home-page .case-metrics span{
      display: block;
      color: var(--muted);
      font-size: 12px;
    }body.home-page .case-card h3{
      white-space: pre-line;
    }body.home-page .asset-layout{
      display: grid;
      grid-template-columns: .82fr 1.18fr;
      gap: 24px;
      align-items: center;
      padding: 28px;
      background: linear-gradient(135deg, rgba(24,108,134,.08), #fff);
      border: 1px solid var(--line);
      border-radius: 18px;
    }body.home-page .asset-summary{
      margin: 0 0 18px;
      color: #4f626d;
      font-size: 16px;
      line-height: 1.75;
    }body.home-page .asset-content{
      display: flex;
      flex-direction: column;
      justify-content: center;
      min-height: calc(100% - 40px);
      padding: 20px 0;
    }body.home-page .asset-gallery{
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 12px;
    }body.home-page .asset-gallery img{
      width: 100%;
      height: 100%;
      min-height: 260px;
      object-fit: cover;
      border-radius: 14px;
      border: 0;
      background: #fff;
    }body.home-page .asset-numbers{
      display: grid;
      grid-template-columns: 1fr;
      gap: 12px;
    }body.home-page .asset-numbers div{
      display: flex;
      align-items: center;
      gap: 14px;
      min-height: 92px;
      padding: 16px 14px 16px 24px;
      background: #fff;
      border: 1px solid var(--line);
      border-radius: 16px;
      box-shadow: 0 18px 40px rgba(38,65,83,.06);
    }body.home-page .asset-numbers strong{
      display: inline;
      margin-bottom: 0;
      color: var(--brand);
      font-size: 30px;
      line-height: 1;
      font-weight: 900;
    }body.home-page .asset-numbers span{
      color: var(--deep);
      font-size: 13px;
      font-weight: 400;
      line-height: 1;
      transform: translateY(8px);
    }body.home-page .process{
      position: relative;
      display: grid;
      grid-template-columns: repeat(5, 1fr);
      gap: 18px;
    }body.home-page .process::before{
      content: "";
      position: absolute;
      left: 7%;
      right: 7%;
      top: 42px;
      height: 2px;
      background: linear-gradient(90deg, var(--brand), var(--deep));
      opacity: .28;
    }body.home-page .process article{
      position: relative;
      min-height: 250px;
      padding: 34px 24px 28px;
      background: #fff;
      border: 1px solid var(--line);
      border-radius: 18px;
      box-shadow: 0 18px 38px rgba(38,65,83,.06);
    }body.home-page .process article::before{
      content: attr(data-step);
      position: absolute;
      right: 20px;
      top: 18px;
      color: rgba(24,108,134,.11);
      background: none;
      box-shadow: none;
      font-size: 60px;
      font-weight: 700;
      line-height: 1;
    }body.home-page .process span{
      display: block;
      margin-bottom: 20px;
      color: var(--deep);
      font-size: 15px;
      font-weight: 400;
      line-height: 1.6;
    }body.home-page .process h3{
      margin: 0 0 14px;
      color: var(--deep);
      font-size: 20px;
      font-weight: 900;
      line-height: 1.4;
    }body.home-page .process p{
      margin: 0;
      color: var(--muted);
      font-size: 15px;
      font-weight: 400;
    }body.home-page .news-grid,body.home-page .faq-grid{
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 20px;
    }body.home-page .news-card{
      display: flex;
      flex-direction: column;
      overflow: hidden;
      padding: 0;
    }body.home-page .news-card img{
      width: 100%;
      height: 170px;
      object-fit: cover;
    }body.home-page .news-body{
      display: flex;
      flex-direction: column;
      flex: 1;
      padding: 24px;
    }body.home-page .news-body p{
      flex: 1;
    }body.home-page .news-body .news-action{
      align-self: flex-start;
    }body.home-page .news-tag{
      display: inline-flex;
      align-items: center;
      width: fit-content;
      margin-bottom: 14px;
      padding: 6px 10px;
      color: var(--brand);
      background: #eef7f8;
      border-radius: 999px;
      font-size: 13px;
      font-weight: 800;
      line-height: 1;
    }body.home-page #links{
      padding: 48px 0 56px;
    }body.home-page .friend-links-block{
      display: grid;
      gap: 18px;
    }body.home-page .friend-links-title{
      margin: 0;
      color: var(--deep);
      font-size: 20px;
      font-weight: 700;
      line-height: 1;
      letter-spacing: 0;
    }body.home-page .friend-links{
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: flex-start;
      gap: 10px 24px;
    }body.home-page .friend-links a{
      color: var(--muted);
      font-size: 15px;
      font-weight: 400;
      line-height: 1.6;
      white-space: nowrap;
      transition: color .2s ease;
    }body.home-page .friend-links a:hover{
      color: var(--brand);
    }body.home-page .home-help-cat-grid{
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 24px;
    }body.home-page .home-help-cat-card{
      display: flex;
      flex-direction: column;
      overflow: hidden;
      border: 1px solid var(--line);
      border-radius: 12px;
      background: #fff;
      box-shadow: 0 10px 30px rgba(38, 65, 83, .05);
      transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
    }body.home-page .home-help-cat-card:hover{
      transform: translateY(-2px);
      border-color: rgba(24,108,134,.28);
      box-shadow: 0 16px 36px rgba(38, 65, 83, .08);
    }body.home-page .home-help-cat-head{
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      padding: 20px 24px;
      border-bottom: 1px solid #e4eef1;
      background: linear-gradient(120deg, #eaf5f7 0%, #f6fbfc 100%);
    }body.home-page .home-help-cat-head h3{
      margin: 0;
      color: var(--deep);
      font-size: 19px;
      font-weight: 800;
      line-height: 1.3;
    }body.home-page .home-help-cat-head h3 span{
      margin-left: 10px;
      padding-left: 10px;
      border-left: 1px solid #c4d7dc;
      color: var(--brand);
      font-size: 15px;
      font-weight: 600;
    }body.home-page .home-help-cat-more{
      flex: 0 0 auto;
      color: var(--brand);
      font-size: 14px;
      white-space: nowrap;
    }body.home-page .home-help-cat-more:hover{
      text-decoration: underline;
    }body.home-page .home-help-cat-list{
      padding: 6px 24px 16px;
    }body.home-page .home-help-cat-list a{
      display: flex;
      align-items: center;
      gap: 14px;
      padding: 14px 0;
      border-bottom: 1px solid #eef2f4;
      color: #2b3d48;
    }body.home-page .home-help-cat-list a:last-child{
      border-bottom: 0;
    }body.home-page .home-help-cat-list .idx{
      flex: 0 0 auto;
      width: 26px;
      height: 26px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border-radius: 6px;
      background: #eef7f8;
      color: var(--brand);
      font-size: 13px;
      font-weight: 700;
    }body.home-page .home-help-cat-list .q{
      flex: 1 1 auto;
      min-width: 0;
      font-size: 15px;
      line-height: 1.6;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      transition: color .2s;
    }body.home-page .home-help-cat-list a:hover .q{
      color: var(--brand);
    }body.home-page .home-help-cat-list .arr{
      flex: 0 0 auto;
      margin-left: auto;
      color: #9fb1bb;
      font-size: 18px;
      line-height: 1;
      transition: color .2s, transform .2s;
    }body.home-page .home-help-cat-list a:hover .arr{
      color: var(--brand);
      transform: translateX(3px);
    }body.home-page .contact-panel{
      display: grid;
      grid-template-columns: 1fr 680px;
      gap: 70px;
      align-items: center;
      padding: 52px;
      color: var(--deep);
      background: linear-gradient(105deg, #fff 0%, #f6fbfc 54%, #eaf7f8 100%);
      border: 1px solid var(--line);
      border-radius: 18px;
    }body.home-page .contact-panel h2{
      margin-bottom: 18px;
      color: #4f626d;
      line-height: 1.9;
    }body.home-page .contact-panel > div:first-child{
      display: flex;
      flex-direction: column;
      gap: 50px;
      align-items: center;
      justify-content: center;
      text-align: left;
    }body.home-page .contact-panel > div:first-child .eyebrow,body.home-page .contact-panel > div:first-child h2{
      margin-bottom: 0;
      width: min(100%, 520px);
    }body.home-page .contact-panel .eyebrow{
      color: var(--deep) !important;
    }body.home-page .contact-panel p{
      margin-bottom: 0;
      color: #4f626d;
      font-size: 16px;
    }body.home-page .contact-cards{
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 16px;
    }body.home-page .contact-card{
      min-height: 132px;
      padding: 24px;
      background: rgba(255,255,255,.86);
      border: 1px solid var(--line);
      border-radius: 16px;
      box-shadow: 0 18px 42px rgba(38,65,83,.08);
    }body.home-page .contact-card strong{
      display: block;
      color: #07111f;
      font-size: 24px;
      word-break: break-all;
    }body.home-page .contact-card span{
      color: #667985;
    }body.home-page .qr-card{
      display: grid;
      grid-template-columns: 92px 1fr;
      gap: 16px;
      align-items: center;
    }body.home-page .qr-card img{
      width: 92px;
      height: 92px;
      object-fit: cover;
      border-radius: 10px;
      border: 1px solid var(--line);
    }body.home-page .site-footer{
      padding: 0;
      color: #c5d3d8;
      background: #1f3545;
      font-size: 14px;
    }body.home-page .footer-content{
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 48px;
      align-items: center;
      min-height: auto;
      padding: 42px 0 36px;
    }body.home-page .footer-main{
      display: grid;
      gap: 18px;
    }body.home-page .footer-brand{
      display: flex;
      align-items: center;
      min-height: auto;
      justify-items: start;
    }body.home-page .footer-logo{
      width: 150px;
      height: auto;
      filter: brightness(0) invert(1);
      opacity: .9;
    }body.home-page .footer-summary{
      max-width: 680px;
      text-align: left;
      color: #c5d3d8;
      line-height: 1.85;
      font-size: 15px;
    }body.home-page .footer-aside{
      display: flex;
      align-items: center;
      gap: 28px;
    }body.home-page .footer-contact-list{
      display: grid;
      gap: 14px;
    }body.home-page .footer-contact-item{
      display: grid;
      grid-template-columns: 42px 1fr;
      gap: 14px;
      align-items: center;
      color: inherit;
    }body.home-page .footer-contact-item span{
      display: flex;
      align-items: center;
      justify-content: center;
      width: 42px;
      height: 42px;
      border-radius: 12px;
      background: rgba(255,255,255,.10);
      color: #d8f5fa;
    }body.home-page .footer-contact-item b{
      display: block;
      color: #fff;
      font-size: 18px;
      font-weight: 700;
    }body.home-page .footer-contact-item small{
      display: block;
      color: #aabdc5;
      font-size: 13px;
    }body.home-page .footer-wechat{
      display: flex;
      align-items: center;
      gap: 14px;
      min-width: 220px;
      padding: 16px 18px;
      background: rgba(255,255,255,.08);
      border: 1px solid rgba(255,255,255,.14);
      border-radius: 16px;
    }body.home-page .footer-wechat img{
      width: 88px;
      height: 88px;
      object-fit: cover;
      border-radius: 10px;
      border: 1px solid rgba(255,255,255,.18);
      background: #fff;
    }body.home-page .footer-wechat b{
      display: block;
      color: #fff;
      font-size: 17px;
      font-weight: 700;
    }body.home-page .footer-wechat small{
      display: block;
      margin-top: 4px;
      color: #aabdc5;
      font-size: 13px;
    }body.home-page .footer-bottom{
      min-height: 58px;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 16px 0;
      border-top: 1px solid rgba(255,255,255,.16);
      text-align: center;
      color: #9fb1bb;
      font-size: 13px;
      letter-spacing: .08em;
    }body.home-page .footer-copy{
      grid-column: 1 / -1;
      min-height: 55px;
      display: flex;
      align-items: center;
      justify-content: center;
      margin-top: 0;
      padding-top: 0;
      border-top: 1px solid rgba(255,255,255,.18);
      text-align: center;
    }body.home-page .footer-content > span{
      text-align: right;
    }body.home-page .reveal{
      opacity: 0;
      transform: translateY(18px);
      transition: opacity .7s ease, transform .7s ease;
    }body.home-page .reveal.is-visible{
      opacity: 1;
      transform: none;
    }

    @media (max-width: 1200px){body.home-page .container{
        width: min(100% - 40px, var(--container));
      }body.home-page .nav{
        gap: 22px;
      }body.home-page .section-head,body.home-page .position-layout,body.home-page .home-team-grid,body.home-page .capability-layout,body.home-page .asset-layout,body.home-page .contact-panel{
        grid-template-columns: 1fr;
      }body.home-page .service-grid,body.home-page .product-grid,body.home-page .case-list,body.home-page .news-grid,body.home-page .faq-grid{
        grid-template-columns: repeat(2, 1fr);
      }body.home-page .service-grid{
        grid-template-columns: repeat(2, 1fr);
      }body.home-page .service-feature{
        grid-column: span 2;
        grid-row: auto;
      }body.home-page .process{
        grid-template-columns: repeat(3, 1fr);
      }body.home-page .asset-layout{
        grid-template-columns: 1fr;
      }body.home-page .footer-content{
        grid-template-columns: 1fr;
        gap: 32px;
      }body.home-page .footer-aside{
        flex-direction: column;
        align-items: stretch;
        gap: 20px;
      }body.home-page .footer-wechat{
        min-width: 0;
      }body.home-page .footer-content > span{
        text-align: left;
      }body.home-page .asset-gallery img{
        min-height: 240px;
      }
    }

    @media (max-width: 860px){body.home-page .nav-bar{
        height: 72px;
      }body.home-page .logo{
        width: 210px;
      }body.home-page .logo img{
        width: 205px;
      }body.home-page .menu-button{
        display: block;
      }body.home-page .nav{
        position: absolute;
        left: 20px;
        right: 20px;
        top: 72px;
        display: none;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        padding: 12px;
        background: #fff;
        border: 1px solid var(--line);
        border-radius: var(--radius);
        box-shadow: 0 20px 42px rgba(38,65,83,.16);
      }body.home-page .nav.is-open{
        display: flex;
      }body.home-page .nav a{
        padding: 14px 12px;
      }body.home-page .nav a::after,body.home-page .nav-trigger::after{
        display: none;
      }body.home-page .nav-item{
        width: 100%;
      }body.home-page .nav-trigger{
        width: 100%;
        justify-content: space-between;
        padding: 14px 12px;
      }body.home-page .dropdown{
        position: static;
        display: none;
        min-width: 0;
        padding: 0 0 8px 18px;
        border: 0;
        box-shadow: none;
        background: transparent;
        transform: none;
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
      }body.home-page .nav-item:hover .dropdown,body.home-page .nav-item:focus-within .dropdown{
        display: block;
        transform: none;
      }body.home-page .dropdown a{
        padding: 8px 12px;
      }body.home-page .hero,body.home-page .hero-content{
        min-height: 640px;
      }body.home-page .hero-bg::after{
        background: linear-gradient(90deg, rgba(255,255,255,.96) 0%, rgba(255,255,255,.84) 58%, rgba(255,255,255,.35) 100%);
      }body.home-page .hero-copy,body.home-page .hero-lede{
        width: min(100%, 620px);
      }body.home-page h1{
        font-size: 44px;
      }body.home-page h2{
        font-size: 21px;
      }body.home-page .section-head .eyebrow,body.home-page .contact-panel .eyebrow{
        font-size: 36px;
      }body.home-page .home-help-cat-grid{
        grid-template-columns: 1fr;
      }body.home-page .home-team-grid{
        grid-template-columns: 1fr;
      }body.home-page .home-team-card{
        flex-direction: column;
      }body.home-page .home-team-photo{
        flex: none;
        width: 100%;
      }body.home-page .home-team-photo img{
        min-height: 280px;
      }body.home-page .footer-aside{
        flex-direction: column;
        align-items: stretch;
      }body.home-page .footer-wechat{
        justify-content: flex-start;
      }body.home-page .service-grid,body.home-page .product-grid,body.home-page .case-list,body.home-page .news-grid,body.home-page .faq-grid,body.home-page .process,body.home-page .capability-panel ul{
        grid-template-columns: 1fr;
      }body.home-page .service-feature{
        grid-column: auto;
      }body.home-page .product-card.large{
        grid-column: auto;
      }
    }

    @media (max-width: 560px){body.home-page .container{
        width: min(100% - 28px, var(--container));
      }body.home-page .section{
        padding: 66px 0;
      }body.home-page #links{
        padding: 36px 0 42px;
      }body.home-page .friend-links{
        gap: 8px 18px;
      }body.home-page .hero,body.home-page .hero-content{
        min-height: 590px;
      }body.home-page h1{
        font-size: 36px;
      }body.home-page .section-head .eyebrow,body.home-page .contact-panel .eyebrow{
        font-size: 32px;
      }body.home-page .hero-lede,body.home-page .position-main p,body.home-page .contact-panel p{
        font-size: 16px;
      }body.home-page .position-main,body.home-page .capability-panel,body.home-page .asset-block,body.home-page .contact-panel{
        padding: 28px;
      }body.home-page .founder-photo{
        width: 100%;
        height: 600px;
      }body.home-page .stats,body.home-page .asset-numbers{
        grid-template-columns: 1fr;
      }
    }body.home-page .site-header{position:fixed!important;top:0!important;left:0!important;right:0!important;width:100%!important;z-index:9999!important}body.home-page .page{padding-top:88px!important}body.home-page .dropdown{z-index:10000!important}body.home-page .product-card::after{background:rgba(24,108,134,.035)!important}body.home-page .hero-contact-button{min-width:190px!important;height:60px!important;font-size:18px!important}body.home-page .nav{gap:28px!important;font-size:16px!important}body.home-page .logo{width:188px!important}body.home-page .hero-copy h1{line-height:1.26!important}body.home-page .hero-lede{line-height:1.9!important}body.home-page .button,body.home-page .text-link,body.home-page .product-card .product-link,body.home-page .case-card .case-link{box-shadow:none!important}body.home-page .button:hover,body.home-page .text-link:hover,body.home-page .product-card .product-link:hover,body.home-page .case-card .case-link:hover{box-shadow:none!important}body.home-page .site-footer{background:#1f3545!important;color:#c5d3d8!important;border-top:0!important}body.home-page .footer-content{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:48px!important;align-items:center!important;min-height:auto!important;height:auto!important;padding:42px 0 36px!important;border-bottom:1px solid rgba(255,255,255,.16)!important}body.home-page .footer-main{display:grid!important;gap:18px!important}body.home-page .footer-brand{min-height:auto!important}body.home-page .footer-logo{width:150px!important;filter:brightness(0) invert(1)!important;opacity:.92!important}body.home-page .footer-summary{display:block!important;min-height:auto!important;max-width:680px!important;text-align:left!important;color:#c5d3d8!important;line-height:1.85!important;font-size:15px!important}body.home-page .footer-aside{display:flex!important;align-items:center!important;gap:28px!important}body.home-page .footer-contact-list{display:grid!important;gap:14px!important}body.home-page .footer-contact-item{display:grid!important;grid-template-columns:42px 1fr!important;gap:14px!important;align-items:center!important}body.home-page .footer-contact-item span{display:flex!important;align-items:center!important;justify-content:center!important;width:42px!important;height:42px!important;border-radius:12px!important;background:rgba(255,255,255,.10)!important;color:#d8f5fa!important}body.home-page .footer-contact-item b{display:block!important;color:#fff!important;font-size:18px!important}body.home-page .footer-contact-item small{display:block!important;color:#aabdc5!important}body.home-page .footer-wechat{display:flex!important;align-items:center!important;gap:14px!important;min-width:220px!important;padding:16px 18px!important;background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.14)!important;border-radius:16px!important}body.home-page .footer-wechat img{width:88px!important;height:88px!important;object-fit:cover!important;border-radius:10px!important;border:1px solid rgba(255,255,255,.18)!important;background:#fff!important}body.home-page .footer-wechat b{display:block!important;color:#fff!important;font-size:17px!important}body.home-page .footer-wechat small{display:block!important;margin-top:4px!important;color:#aabdc5!important}body.home-page .footer-bottom{height:58px!important;min-height:58px!important;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;color:#9fb1bb!important;font-size:13px!important;letter-spacing:.08em!important}body.home-page .footer-copy{display:none!important}body.home-page .button,body.home-page .text-link,body.home-page .product-card .product-link,body.home-page .case-card .case-link{box-shadow:none!important}
