/* index page-only layout, color, media and module styling. */

.hero { position: relative; height: 552px; overflow: hidden; background: var(--navy); }

.hero-slide { position: absolute; inset: 0; opacity: 0; background-position: center; background-size: cover; transition: opacity .8s ease; }

.hero-slide::after { position: absolute; 
  inset: 0; 
  content: ""; 
  /* background: linear-gradient(90deg, rgba(2,14,45,.32) 0%, rgba(2,14,45,.12) 40%, transparent 67%);  */ }

.hero-slide.is-active { opacity: 1; z-index: 1; }

.hero-inner { position: relative; z-index: 2; height: 100%; display: flex; align-items: center; }

.hero-copy { width: 555px; color: #fff; text-shadow: 0 3px 16px rgba(0,0,0,.25); }

.hero-eyebrow { margin: 0 0 12px; font-weight: 700; letter-spacing: -.5px; font-size: var(--font-size-h4); }

.hero h1, .hero-title { margin: 0; line-height: 1.3; font-weight: 700; letter-spacing: .5px; }

.hero-desc { width: 520px; margin: 24px 0 0; color: rgba(255,255,255,.88); line-height: 1.85; font-size: var(--font-size-h4);}

.hero-actions { display: flex; gap: 16px; margin-top: 33px; }

.hero-dots { position: absolute; z-index: 3; left: max(24px, calc((100% - var(--page))/2)); bottom: 27px; display: flex; align-items: center; gap: 9px; }

.hero-dots button { width: 9px; height: 9px; padding: 0; border-radius: 50%; background: rgba(255,255,255,.8); transition: .2s ease; }

.hero-dots button.active { width: 24px; border-radius: 9px; background: var(--blue); }

.hero-dots button:focus-visible { outline: 3px solid rgba(255,255,255,.9); outline-offset: 3px; }

.trust-strip { height: 130px; background: #fff; border-bottom: 1px solid #edf2f9; }

.trust-grid { height: 100%; display: grid; grid-template-columns: repeat(4, 1fr); align-items: center; }

.trust-item { height: 64px; padding: 0 32px; display: flex; align-items: center; gap: 16px; border-right: 1px solid #e6edf7; }

.trust-item:last-child { border-right: 0; }

.trust-item > b { width: 50px; height: 50px; flex: 0 0 50px; display: grid; place-items: center; overflow: hidden; border-radius: 10px; }

.trust-item > b img { width: 50px; height: 50px; object-fit: contain; }

.trust-item h3 { margin: 0 0 8px; font-weight: 600; }

.trust-item p { margin: 0; color: #8792a4; }

.section { padding: 76px 0; background: #fff; }

.services { background: linear-gradient(180deg,#f9fbff,#f3f8ff); }

.services .section-head { margin-bottom: 50px; }

.process-line { position: relative; width: 82%; height: 2px; margin: 0 auto 30px; display: flex; justify-content: space-between; background: #9dc5fb; }

.process-line i { width: 13px; height: 13px; margin-top: -6px; border: 3px solid #fff; border-radius: 50%; background: var(--blue); box-shadow: 0 0 0 2px #99c4ff; }

.service-grid { display: grid; grid-template-columns: repeat(5,1fr); gap: 22px; }

.service-card { min-height: 235px; padding: 31px 18px 24px; text-align: center; background: #fff; border: 1px solid #e4edf9; border-radius: var(--radius); box-shadow: var(--shadow); transition: .25s ease; }

.service-card:hover { transform: translateY(-7px); border-color: #93beff; box-shadow: 0 18px 38px rgba(22,94,191,.16); }

.line-icon { width: 82px; height: 82px; margin: -5px auto 13px; display: grid; place-items: center; overflow: hidden; border-radius: 16px; }

.line-icon img { width: 82px; height: 82px; object-fit: contain; }

.service-card h3 { margin: 0 0 14px; }

.service-card p { margin: 0; color: #778499; line-height: 1.8; }

.ai-band { position: relative; overflow: hidden; padding: 66px 0 62px; color: #fff; background: radial-gradient(circle at 50% 16%,rgba(18,112,225,.25),transparent 31%),radial-gradient(circle at 14% 65%,rgba(15,99,210,.14),transparent 28%),radial-gradient(circle at 88% 63%,rgba(4,112,255,.13),transparent 29%),linear-gradient(180deg,#062453 0%,#031a40 48%,#021331 100%); }

.ai-band::before { position: absolute; inset: 0; content: ""; opacity: .18; background-image: linear-gradient(rgba(78,151,244,.15) 1px,transparent 1px),linear-gradient(90deg,rgba(78,151,244,.15) 1px,transparent 1px); background-size: 72px 72px; mask-image: linear-gradient(to bottom,transparent,#000 25%,#000 80%,transparent); }

.ai-band::after { position: absolute; left: 50%; bottom: -250px; width: 1050px; height: 470px; content: ""; transform: translateX(-50%); border: 1px solid rgba(49,136,246,.16); border-radius: 50%; box-shadow: 0 0 100px rgba(0,116,255,.12); }

.ai-band > .page-shell { position: relative; z-index: 1; }

.ai-band__header { margin-bottom: 0; }

.ai-band__header > p { color: #9fb9d8; line-height: 1.7; }

.foundation-grid { position: relative; display: grid; grid-template-columns: 1.05fr 1.05fr .9fr; gap: 18px; margin-top: 42px; }

.foundation-card { min-width: 0; min-height: 535px; overflow: hidden; display: grid; grid-template-rows: auto 1fr 72px; border: 1px solid rgba(65,158,255,.72); border-radius: 18px; background: linear-gradient(180deg,rgba(10,68,143,.78),rgba(4,36,81,.94)); box-shadow: 0 18px 50px rgba(0,8,28,.27),inset 0 1px rgba(111,199,255,.12); transition: transform .25s ease,border-color .25s ease,box-shadow .25s ease; }

.foundation-card--agent { border-color: rgba(102,128,255,.78); background: linear-gradient(180deg,rgba(28,69,155,.83),rgba(8,36,91,.95)); }

.foundation-card:hover { transform: translateY(-4px); border-color: rgba(100,190,255,.9); box-shadow: 0 22px 55px rgba(0,8,28,.35),inset 0 1px rgba(111,199,255,.16); }

.foundation-card__header { position: relative; min-height: 180px; padding: 28px 26px 20px; border-bottom: 1px solid rgba(78,150,233,.25); }

.foundation-card__header::before { position: absolute; top: 0; left: 26px; width: 104px; height: 3px; content: ""; background: linear-gradient(90deg,#36d8ff,transparent); }

.foundation-card--agent .foundation-card__header::before { background: linear-gradient(90deg,#688eff,#9e7cff,transparent); }

.foundation-card__title-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; }

.foundation-card__badge { padding: 5px 9px; color: #83d4ff; white-space: nowrap; border: 1px solid rgba(83,181,255,.38); border-radius: 18px; background: rgba(5,82,168,.25); }

.foundation-card__header h3 { margin: 0; line-height: 1.35; }

.foundation-card__en { display: block; margin-top: 3px; color: #66caff; letter-spacing: 1.5px; }

.foundation-card__header p { margin: 12px 0 0; color: #c7dcf3; line-height: 1.7; }

.foundation-card__body { min-width: 0; padding: 22px 24px; }

.foundation-card__label { display: flex; align-items: center; gap: 9px; color: #8cb5df; letter-spacing: 1.5px; }

.foundation-card__label::after { height: 1px; flex: 1; content: ""; background: linear-gradient(90deg,rgba(72,153,238,.55),transparent); }

.foundation-flow { position: relative; display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 4px; margin-top: 22px; }

.foundation-flow::before { position: absolute; top: 22px; left: 9%; right: 9%; height: 1px; content: ""; background: linear-gradient(90deg,#20c7ff,#477dff); }

.foundation-flow__step { position: relative; z-index: 1; min-width: 0; text-align: center; }

.foundation-flow__step > i { width: 44px; height: 44px; margin: 0 auto 9px; display: grid; place-items: center; color: #a5eaff; font-style: normal; border: 1px solid #48beff; border-radius: 12px; background: linear-gradient(145deg,#0a6ac4,#093f89); box-shadow: 0 0 16px rgba(31,168,255,.22); }

.foundation-flow__step b,.foundation-flow__step small { display: block; white-space: nowrap; }

.foundation-flow__step small { margin-top: 4px; color: #7899be; }

.foundation-outcome { margin-top: 25px; display: grid; grid-template-columns: 1fr 38px 1fr; align-items: center; gap: 8px; padding: 14px; text-align: center; border: 1px solid rgba(67,155,246,.34); border-radius: 10px; background: rgba(3,37,86,.46); }

.foundation-outcome b,.foundation-outcome small { display: block; }

.foundation-outcome div:last-child b { color: #65dcff; }

.foundation-outcome small { margin-top: 4px; color: #789bc3; line-height: 1.45; }

.foundation-outcome > i { width: 38px; height: 38px; display: grid; place-items: center; color: #71dbff; font-style: normal; border: 1px solid #40beff; border-radius: 50%; }

.foundation-agent__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin-top: 16px; }

.foundation-agent__item { min-width: 0; min-height: 66px; padding: 10px 11px; border: 1px solid rgba(84,151,240,.36); border-radius: 9px; background: rgba(3,42,94,.44); }

.foundation-agent__item b { display: flex; align-items: center; gap: 7px; }

.foundation-agent__item b > i { width: 23px; height: 23px; flex: 0 0 23px; display: grid; place-items: center; color: #76d7ff; font-style: normal; border: 1px solid rgba(96,201,255,.52); border-radius: 6px; }

.foundation-agent__item small { display: block; margin-top: 6px; color: #7f9fc4; line-height: 1.45; }

.foundation-agent__support { display: flex; gap: 6px; margin-top: 10px; }

.foundation-agent__support span { min-width: 0; flex: 1; padding: 8px 4px; text-align: center; border-radius: 7px; background: rgba(52,105,197,.34); }

.foundation-stack { display: grid; gap: 9px; margin-top: 16px; }

.foundation-stack__row { min-height: 52px; overflow: hidden; display: grid; grid-template-columns: 76px 1fr; align-items: center; border: 1px solid rgba(75,156,243,.34); border-radius: 9px; background: rgba(4,42,92,.43); }

.foundation-stack__row > b { height: 100%; display: grid; place-items: center; color: #7ed8ff; border-right: 1px solid rgba(75,156,243,.3); background: rgba(15,86,165,.24); }

.foundation-stack__row > div { min-width: 0; display: flex; flex-wrap: wrap; gap: 5px; padding: 7px 9px; }

.foundation-stack__row span { padding: 5px 7px; color: #cfe5fb; white-space: nowrap; border-radius: 5px; background: rgba(31,92,173,.42); }

.foundation-principles { display: grid; grid-template-columns: repeat(3,1fr); gap: 6px; margin-top: 13px; }

.foundation-principles span { padding: 9px 3px; text-align: center; border-top: 2px solid #28b9ff; border-radius: 6px; background: rgba(7,55,118,.52); }

.foundation-card__footer { min-width: 0; display: flex; align-items: center; gap: 10px; padding: 0 24px; border-top: 1px solid rgba(72,139,219,.34); background: rgba(0,20,52,.82); }

.foundation-card__footer strong { min-width: 0; }


.products { background: linear-gradient(180deg,#fff,#f6f9fd); }

.product-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }

.product-card { min-height: 440px; position: relative; overflow: hidden; display: grid; grid-template-columns: 47% 53%; grid-template-rows: 1fr 68px; padding: 30px 30px 0; border: 1px solid #e2eaf5; border-radius: var(--radius); background: #fff; box-shadow: var(--shadow); transition: .25s ease;}

.product-card:hover { transform: translateY(-4px); border-color: #9ac1fa; }

.product-copy { padding-right: 20px; }

.product-copy h3 { margin: 0 0 12px; }

.product-copy b { display: inline-block; padding: 5px 9px; color: var(--blue); border: 1px solid #78afff; border-radius: 5px; }

.product-copy p { margin: 16px 0 0; color: #768399; line-height: 1.8; }

.product-image { align-self: center; width: 100%; height: 175px; object-fit: cover; object-position: center; border: 1px solid #c9d9f0; border-radius: 6px; }

.faoa-home-image { padding: 4px; object-fit: contain; background: #f6faff; }

.product-card footer { grid-column: 1/-1; margin: 0 -30px; padding: 0 25px; display: flex; align-items: center; gap: 22px; border-top: 1px solid #e8eef7; color: #73839a; }

.product-feature { display: inline-flex; align-items: center; gap: 6px; }
.product-feature img { width: 18px; height: 18px; flex: 0 0 auto; }

.product-card footer a { margin-left: auto; color: var(--blue); font-weight: 600; }

.system { padding-top: 64px; background: linear-gradient(180deg,#fff 0,#f6faff 100%); }

.system .section-head { margin-bottom: 38px; }

.system-visual { position: relative; }

.system-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 20px; }

.system-card { position: relative; min-height: 310px; overflow: hidden; padding: 24px 22px; border: 1px solid #cfe0f6; border-radius: 15px; background: linear-gradient(180deg,#fff 0,#f7fbff 100%); box-shadow: 0 12px 30px rgba(37,91,159,.09); transition: transform .25s ease,border-color .25s ease,box-shadow .25s ease; }

.system-card::after { position: absolute; right: -24px; bottom: -24px; width: 130px; height: 90px; content: ""; opacity: .35; background-image: radial-gradient(#8fc6ff 1px,transparent 1px); background-size: 9px 9px; transform: rotate(-8deg); }

.system-card:hover { transform: translateY(-5px); border-color: #83b8ff; box-shadow: 0 18px 38px rgba(31,99,187,.16); }

.system-card-top { height: 76px; display: flex; align-items: center; justify-content: space-between; }

.system-card-top > strong { color: #139cff; line-height: 1; letter-spacing: -2px; background: linear-gradient(180deg,#18c7f2,#0876ed); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }

.system-icon { width: 74px; height: 74px; display: grid; place-items: center; overflow: hidden; border-radius: 50%; background: radial-gradient(circle,#fff 0,#eaf5ff 58%,#d8ebff 100%); box-shadow: 0 8px 18px rgba(27,119,242,.16); }

.system-icon img { width: 70px; height: 70px; object-fit: contain; }

.system-card h3 { margin: 18px 0 13px; color: #102958; }

.system-pill { position: relative; z-index: 2; display: inline-block; padding: 6px 12px; color: #1677ff; border-radius: 16px; background: #eaf4ff; font-weight: 600; }

.system-card p { position: relative; z-index: 2; margin: 18px 0 0; color: #65758d; line-height: 1.9; }

.system-plus { min-height: 190px; margin-top: 20px; overflow: hidden; display: grid; grid-template-columns: 130px 1fr 230px; align-items: center; gap: 24px; padding: 24px 30px; border: 1px solid #c7dcf6; border-radius: 15px; background: linear-gradient(110deg,#fff 0,#f3f9ff 72%,#eaf5ff 100%); box-shadow: 0 12px 30px rgba(37,91,159,.09); }

.system-plus > strong { color: #1098f5; line-height: 1; font-style: italic; text-align: center; background: linear-gradient(180deg,#15c3ed,#0a71e9); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }

.system-plus-copy { padding-left: 30px; border-left: 1px solid #cfe0f6; }

.system-plus h3 { margin: 0 0 13px; color: #102958; }

.system-plus p { margin: 15px 0 0; color: #65758d; line-height: 1.85; }

.system-plus-icon { width: 230px; height: 128px; justify-self: end; display: grid; place-items: center; overflow: hidden; }

.system-plus-icon img { width: 230px; height: 128px; object-fit: contain; filter: drop-shadow(0 10px 20px rgba(32,119,232,.14)); }

.cases { background: #f7faff; }

.cases .section-head { margin-bottom: 34px; }

.case-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 25px; }

.case-card { overflow: hidden; display: block; color: inherit; border: 1px solid #e1eaf5; border-radius: var(--radius); background: #fff; box-shadow: var(--shadow); transition: .25s ease; }

.case-card:hover { transform: translateY(-5px); box-shadow: 0 17px 35px rgba(34,85,151,.16); }

.case-card:focus-visible { outline: 3px solid rgba(22,119,255,.34); outline-offset: 3px; border-color: #1677ff; }

.case-image { width: 100%; height: auto; aspect-ratio: 2/1; position: relative; overflow: hidden; }

.case-image::before, .case-image::after { position: absolute; content: ""; }

.case-enterprise { background: url('/assets/images/case-enterprise.webp') center/cover; }

.case-government { background: url('/assets/images/case-government.webp') center/cover; }

.case-industry { background: url('/assets/images/case-industry.webp') center/cover; }

.case-henan-tobacco { background: url('/assets/images/cases/detail-heroes/henan-tobacco-list-with-title-v2.webp') center/cover; }

.case-china-eastern { background: url('/assets/images/cases/detail-heroes/china-eastern-list-with-title-v2.webp') center/cover; }

.case-mcdonalds { background: url('/assets/images/cases/detail-heroes/mcdonalds-multicloud-list-with-title-v2.webp') center/cover; }

.case-copy { min-height: 150px; padding: 20px; }

.case-copy > div { display: flex; align-items: center; gap: 11px; }

.case-copy b { width: 36px; height: 36px; display: grid; place-items: center; color: #fff; border-radius: 6px; background: var(--blue); }

.case-copy h3 { margin: 0; }

.case-copy p { min-height: 42px; margin: 13px 0; color: #758297; line-height: 1.65; }

.case-copy a,.case-copy > span { color: var(--blue); font-weight: 600; }

.training { background: #f7faff; }

.training .section-head { margin-bottom: 38px; }

.training-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 18px; }

.training-card { min-height: 250px; padding: 29px 20px 23px; text-align: center; border: 1px solid #d5e3f6; border-radius: 12px; background: #fff; transition: .25s ease; }

.training-card:hover { transform: translateY(-5px); border-color: #7cafef; box-shadow: var(--shadow); }

.training-card.featured { border: 2px solid #4d92ff; background: linear-gradient(180deg,#f3f8ff,#fff); }

.training-icon { width: 92px; height: 92px; margin: 0 auto; display: grid; place-items: center; overflow: hidden; border-radius: 16px; }

.training-icon img { width: 92px; height: 92px; object-fit: contain; }

.training-card h3 { min-height: 48px; margin: 20px 0 10px; line-height: 1.55; }

.training-card p { margin: 0; color: #758297; line-height: 1.7; }

.training-tags { display: flex; justify-content: center; gap: 4px; margin-top: 15px; }

.training-tags span { padding: 4px 6px; color: var(--blue); border: 1px solid #78adff; border-radius: 3px; }

.section-link { width: max-content; display: block; margin: 26px auto 0; color: var(--blue); font-weight: 600; }

.clients { overflow: hidden; background: #fff; }

.clients .section-head { margin-bottom: 38px; }

.client-logo-marquee { display: grid; gap: 18px; }

.client-logo-row {
  --client-logo-gap: 18px;
  --client-logo-width: 190px;
  overflow: hidden;
  padding: 3px 0;
  mask-image: linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);
  -webkit-mask-image: linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);
}

.client-logo-track {
  width: 3744px;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  display: flex;
  will-change: transform;
  -webkit-transform: translate3d(0,0,0);
  transform: translate3d(0,0,0);
}

.client-logo-group {
  display: flex;
  flex: none;
}

.client-logo-row--left .client-logo-track {
  -webkit-animation: client-logo-scroll-left 34s linear infinite;
  animation: client-logo-scroll-left 34s linear infinite;
}

.client-logo-row--right .client-logo-track {
  -webkit-animation: client-logo-scroll-right 34s linear infinite;
  animation: client-logo-scroll-right 34s linear infinite;
}

.client-logo-row--slow .client-logo-track {
  -webkit-animation-duration: 38s;
  animation-duration: 38s;
}

@media (hover: hover) and (pointer: fine) {
  .client-logo-row:hover .client-logo-track {
    -webkit-animation-play-state: paused;
    animation-play-state: paused;
  }
}

.client-logo {
  width: 190px;
  width: var(--client-logo-width);
  height: 82px;
  flex: 0 0 190px;
  flex-basis: var(--client-logo-width);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 18px;
  margin-right: var(--client-logo-gap);
  padding: 0 18px;
  border: 1px solid #dfe6ef;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 6px 20px rgba(31,74,132,.06);
  -webkit-filter: grayscale(1);
  filter: grayscale(1);
  opacity: .66;
  transition: filter .25s ease,opacity .25s ease,border-color .25s ease,box-shadow .25s ease,transform .25s ease;
}

.client-logo:hover {
  border-color: #78aaf0;
  box-shadow: 0 10px 26px rgba(31,74,132,.12);
  -webkit-filter: grayscale(0);
  filter: grayscale(0);
  opacity: 1;
  -webkit-transform: translate3d(0,-2px,0);
  transform: translate3d(0,-2px,0);
}

.client-logo img { max-width: 150px; max-height: 54px; display: block; object-fit: contain; }

@-webkit-keyframes client-logo-scroll-left {
  from { -webkit-transform: translate3d(0,0,0); }
  to { -webkit-transform: translate3d(-50%,0,0); }
}

@keyframes client-logo-scroll-left {
  from { transform: translate3d(0,0,0); }
  to { transform: translate3d(-50%,0,0); }
}

@-webkit-keyframes client-logo-scroll-right {
  from { -webkit-transform: translate3d(-50%,0,0); }
  to { -webkit-transform: translate3d(0,0,0); }
}

@keyframes client-logo-scroll-right {
  from { transform: translate3d(-50%,0,0); }
  to { transform: translate3d(0,0,0); }
}

.news { position: relative; background: #fff; }

.news-shell { position: relative; }

.news .section-head { margin-bottom: 36px; }

.news-more { position: absolute; top: 10px; right: 0; padding: 8px 14px; color: var(--blue); border: 1px solid #9ac1fa; border-radius: 4px; }

.news-grid { display: grid; grid-template-columns: 1.07fr 1fr; gap: 22px; }

.news-feature { min-width: 0; overflow: hidden; border: 1px solid #e0e9f5; border-radius: 12px; background: #fff; box-shadow: var(--shadow); }

.news-feature-media { display: block; overflow: hidden; aspect-ratio: 3.3/1; background: #062861; }

.news-feature-media img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .35s ease; }

.news-feature-media:hover img { transform: scale(1.015); }

.news-feature-content { position: relative; padding: 18px 22px 20px; }

.news-feature-title { margin: 10px 0 12px; line-height: 1.5; }

.news-feature-title a { color: #172a45; transition: color .2s ease; }

.news-feature-title a:hover { color: var(--blue); }

.news-feature-content p { margin: 12px 0 0; color: #65758b; line-height: 1.7; }

.news-feature-content b, .news-list b { color: #348fdf; }

.news-meta { display: flex; align-items: center; justify-content: space-between; gap: 16px; }

.news-meta time { color: #8a99ac; font-size: .9em; white-space: nowrap; }

.news-list { display: grid; grid-template-rows: 1fr 1fr; gap: 18px; }

.news-list article { display: grid; grid-template-columns: 220px 1fr; gap: 22px; padding: 14px; align-items: stretch; border: 1px solid #e0e9f5; border-radius: 12px; background: #fff; box-shadow: 0 7px 22px rgba(31,74,132,.07); }

.news-list article > div { min-width: 0; align-self: center; }

.news-list h3 { margin: 9px 0; }

.news-list h3 a { color: #172a45; transition: color .2s ease; }

.news-list h3 a:hover { color: var(--blue); }

.news-list p { margin: 0; color: #7a8799; }

.news-thumb { width: 100%; height: 100%; border-radius: 8px; }

.thumb-news-42 { background: #062861 url('/assets/images/news/detail-42.webp') center/contain no-repeat; }

.thumb-news-41 { background: #062861 url('/assets/images/news/detail-41.webp') center/contain no-repeat; }

.news-list .news-thumb { background-size: 100% 100%; }

.opc-identity { position: relative; overflow: hidden; background: #f8fbff; }

.opc-identity::before { position: absolute; inset: 0; content: ""; opacity: .6; background-image: radial-gradient(circle at 12% 23%,rgba(46,153,255,.38) 0 2px,transparent 3px),linear-gradient(16deg,transparent 49.7%,rgba(71,160,255,.13) 50%,transparent 50.3%); background-size: 170px 130px,310px 190px; mask-image: linear-gradient(90deg,#000,transparent 30%,transparent 70%,#000); pointer-events: none; }

.opc-identity > .page-shell { position: relative; z-index: 1; }

.opc-identity__header { margin-bottom: 40px; }

.opc-identity__header .section-title { margin-top: 13px; }

.opc-identity__header > p { max-width: 880px; margin-right: auto; margin-left: auto; line-height: 1.75; }

.opc-identity__card { min-height: 430px; display: grid; grid-template-columns: minmax(0,1.48fr) minmax(360px,1fr); overflow: hidden; border: 1px solid #d5e6fa; border-radius: 18px; background: #fff; box-shadow: 0 18px 50px rgba(31,85,153,.13); }

.opc-identity__visual { position: relative; min-height: 430px; overflow: hidden; background: #cfe8ff; }

.opc-identity__visual::after { position: absolute; z-index: 1; inset: 0; content: ""; background: linear-gradient(90deg,rgba(2,35,79,.54),rgba(2,35,79,.16) 43%,transparent 68%),linear-gradient(90deg,transparent 72%,rgba(229,245,255,.18)),radial-gradient(circle at 98% 76%,rgba(34,174,255,.26),transparent 38%); pointer-events: none; }

.opc-identity__visual img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: 55% center; }

.opc-identity__visual-copy { position: absolute; z-index: 2; top: 54px; left: 48px; display: flex; flex-direction: column; align-items: flex-start; color: #fff; text-shadow: 0 3px 18px rgba(0,28,70,.45); pointer-events: none; }

.opc-identity__visual-copy strong { font-family: "STKaiti","KaiTi","FZKai-Z03",serif; font-size: clamp(2.75rem,4.2vw,4.25rem); font-style: italic; font-weight: 800; line-height: .98; letter-spacing: -.04em; transform: rotate(-3deg); }

.opc-identity__visual-copy span { margin-top: 24px; padding-top: 10px; border-top: 2px solid rgba(255,255,255,.78); font-size: 1.05rem; font-weight: 700; letter-spacing: .32em; }

.opc-identity__copy { position: relative; display: flex; flex-direction: column; justify-content: center; padding: 48px 44px; background: linear-gradient(150deg,#fff 15%,#f8fbff 100%); }

.opc-identity__copy::after { position: absolute; right: -38px; bottom: -48px; width: 260px; height: 150px; content: ""; opacity: .55; border: 1px solid rgba(56,148,255,.18); border-radius: 50%; box-shadow: 0 0 0 18px rgba(80,166,255,.06),0 0 0 37px rgba(80,166,255,.04); transform: rotate(-12deg); pointer-events: none; }

.opc-identity__badge { position: relative; z-index: 1; width: max-content; display: inline-flex; align-items: center; padding: 9px 17px 9px 13px; color: #126de7; border-radius: 999px; background: #e4f2ff; font-size: 1rem; font-weight: 700; letter-spacing: .02em; }

.opc-identity__badge::before { width: 14px; height: 14px; margin-right: 11px; content: ""; border-radius: 50%; background: #20bce9; box-shadow: 0 0 0 8px rgba(32,188,233,.11); }

.opc-identity__institution { position: relative; z-index: 1; margin: 24px 0 0; color: #354d70; font-size: 1.2rem; font-weight: 650; letter-spacing: .04em; }

.opc-identity__copy h3 { position: relative; z-index: 1; margin: 9px 0 0; color: #082c60; font-size: 2.65rem; line-height: 1.25; letter-spacing: .015em; }

.opc-identity__description { position: relative; z-index: 1; margin: 24px 0 0; color: #3f4e62; font-size: var(--font-size-h4); line-height: 1.9; }

.opc-identity__tags { position: relative; z-index: 1; display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }

.opc-identity__tags span { min-width: 104px; padding: 8px 15px; color: #126de7; text-align: center; border: 1px solid #77aff7; border-radius: 6px; background: rgba(255,255,255,.82); font-weight: 600; }

.opc-identity__link { position: relative; z-index: 1; width: max-content; min-width: 224px; margin-top: 34px; padding: 0 22px; justify-content: center; box-shadow: 0 8px 18px rgba(18,109,231,.2); }

.opc-identity__link span { margin-left: 8px; }

.cta { padding: 50px 0; text-align: center; color: #fff; background: linear-gradient(90deg,rgba(0,18,52,.44),rgba(2,35,80,.18),rgba(0,18,52,.44)),url('/assets/images/cta-bg.webp') bottom/cover; }

.cta h2 { margin: 0; letter-spacing: 2px; }

.cta p { margin: 12px 0 22px; color: #c7d7ea; }

.cta .button { height: 42px; }

@media (max-width: 960px) {
.hero { height: 520px; }
.hero-copy { width: 54%; }
.hero-desc { width: 100%; }
.trust-strip { height: auto; padding: 22px 0; }
.trust-grid { grid-template-columns: 1fr 1fr; gap: 20px 0; }
.trust-item:nth-child(2) { border-right: 0; }
.service-grid { grid-template-columns: repeat(3,1fr); }
.service-grid .service-card:nth-child(4), .service-grid .service-card:nth-child(5) { transform: translateX(54%); }
.foundation-grid { grid-template-columns: 1fr; gap: 22px; }
.foundation-card { min-height: 0; }
.foundation-card__header { min-height: 0; }
.system-grid { grid-template-columns: 1fr 1fr; gap: 16px; }
.system-card { min-height: 285px; }
.system-plus { grid-template-columns: 100px 1fr 165px; }
.system-plus-icon { width: 155px; }
.system-plus-icon img { width: 150px; }
.training-grid { grid-template-columns: 1fr 1fr; }
.opc-identity__card { grid-template-columns: minmax(0,1.25fr) minmax(340px,1fr); }
.opc-identity__copy { padding: 40px 34px; }
}

@media (max-width: 700px) {
.section { padding: 55px 0; }
.hero { height: 580px; }
.hero-slide { background-position: 61% center; }
.hero-slide::after { background: linear-gradient(90deg,rgba(1,13,39,.93),rgba(1,13,39,.67) 62%,rgba(1,13,39,.2)); }
.hero-copy { width: 88%; padding-top: 45px; }
.hero-desc { line-height: 1.75; }
.hero-actions { margin-top: 28px; }
.trust-grid { grid-template-columns: 1fr; }
.trust-item { border-right: 0; border-bottom: 1px solid #e6edf7; padding: 12px 10px; }
.trust-item:last-child { border-bottom: 0; }
.process-line { display: none; }
.service-grid { grid-template-columns: 1fr 1fr; gap: 14px; }
.service-grid .service-card:nth-child(4), .service-grid .service-card:nth-child(5) { transform: none; }
.service-grid .service-card:last-child { grid-column: 1/-1; width: calc(50% - 7px); justify-self: center; }
.service-card { min-height: 205px; padding: 24px 12px; }
.line-icon { width: 66px; height: 66px; }
.line-icon img { width: 66px; height: 66px; }
.product-grid, .case-grid, .news-grid { grid-template-columns: 1fr; }
.ai-band { padding: 52px 0 48px; }
.foundation-grid { gap: 18px; margin-top: 30px; }
.foundation-card { grid-template-rows: auto auto auto; }
.foundation-card__header { padding: 25px 20px 18px; }
.foundation-card__header::before { left: 20px; }
.foundation-card__body { padding: 20px; }
.foundation-flow { grid-template-columns: 1fr; gap: 8px; }
.foundation-flow::before { top: 12px; bottom: 12px; left: 21px; right: auto; width: 1px; height: auto; }
.foundation-flow__step { display: grid; grid-template-columns: 44px 1fr 1fr; align-items: center; gap: 10px; text-align: left; }
.foundation-flow__step > i { margin: 0; }
.foundation-flow__step small { margin-top: 0; text-align: right; }
.foundation-outcome { grid-template-columns: 1fr; }
.foundation-outcome div:first-child { text-align: center; }
.foundation-outcome > i { margin: 0 auto; transform: rotate(90deg); }
.foundation-agent__grid { grid-template-columns: 1fr; }
.foundation-agent__support { flex-direction: column; }
.foundation-stack__row { grid-template-columns: 72px 1fr; }
.foundation-card__footer { min-height: 72px; flex-wrap: wrap; padding: 16px 20px; }
.product-card { grid-template-columns: 1fr; grid-template-rows: auto auto 62px; padding: 24px 24px 0; }
.product-image, .dashboard { width: 100%; margin: 18px 0; }
.product-card footer { margin: 0 -24px; padding: 0 14px; gap: 9px; }
.system-grid { grid-template-columns: 1fr; }
.system-card { min-height: 265px; }
.system-plus { grid-template-columns: 1fr; gap: 16px; text-align: center; padding: 28px 22px; }
.system-plus-copy { padding: 0; border-left: 0; }
.system-plus-icon { width: 100%; height: 125px; justify-self: center; }
.system-plus-icon img { width: 160px; height: 145px; }
.training-grid { grid-template-columns: 1fr; }
.training-card { min-height: 215px; }
.clients { padding-right: 0; padding-left: 0; }
.clients .page-shell { width: 100%; }
.clients .section-head { width: calc(100% - 32px); margin-right: auto; margin-bottom: 30px; margin-left: auto; }
.client-logo-marquee { gap: 12px; }
.client-logo-row {
  --client-logo-gap: 12px;
  --client-logo-width: 154px;
  mask-image: linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  -webkit-mask-image: linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
}
.client-logo-track { width: 2988px; width: -webkit-max-content; width: -moz-max-content; width: max-content; }
.client-logo-row--left .client-logo-track,.client-logo-row--right .client-logo-track { -webkit-animation-duration: 25s; animation-duration: 25s; }
.client-logo-row--slow .client-logo-track { -webkit-animation-duration: 28s; animation-duration: 28s; }
.client-logo { width: 154px; height: 68px; flex: 0 0 154px; margin-right: 12px; padding: 0 12px; border-radius: 10px; width: var(--client-logo-width); flex-basis: var(--client-logo-width); margin-right: var(--client-logo-gap); }
.client-logo img { max-width: 126px; max-height: 44px; }
.news-more { position: static; display: block; width: max-content; margin: -20px auto 24px; }
.news-feature-media { aspect-ratio: 1200/513; }
.news-list article { grid-template-columns: 120px 1fr; gap: 14px; align-items: center; }
.news-thumb { height: auto; aspect-ratio: 1200/512; }
.news-list .news-thumb { background-size: contain; }
.opc-identity__header { margin-bottom: 28px; }
.opc-identity__header .section-title { margin-top: 10px; }
.opc-identity__header .section-title h2 { line-height: 1.35; }
.opc-identity__header > p { padding: 0 8px; line-height: 1.7; }
.opc-identity__card { min-height: 0; grid-template-columns: 1fr; border-radius: 14px; }
.opc-identity__visual { min-height: 0; aspect-ratio: 16/9; }
.opc-identity__visual img { object-position: 57% center; }
.opc-identity__visual-copy { top: 22px; left: 22px; }
.opc-identity__visual-copy strong { font-size: clamp(1.75rem,10vw,2.6rem); }
.opc-identity__visual-copy span { margin-top: 13px; padding-top: 7px; font-size: .78rem; letter-spacing: .2em; }
.opc-identity__copy { padding: 30px 22px 26px; text-align: left; }
.opc-identity__badge { padding: 8px 14px 8px 11px; font-size: .95rem; }
.opc-identity__badge::before { width: 12px; height: 12px; margin-right: 9px; box-shadow: 0 0 0 6px rgba(32,188,233,.11); }
.opc-identity__institution { margin-top: 20px; font-size: 1rem; line-height: 1.55; }
.opc-identity__copy h3 { margin-top: 7px; font-size: 2rem; }
.opc-identity__description { margin-top: 16px; line-height: 1.75; }
.opc-identity__tags { gap: 8px; margin-top: 20px; }
.opc-identity__tags span { min-width: 0; flex: 1 1 88px; padding: 7px 8px; white-space: nowrap; }
.opc-identity__link { width: 100%; min-width: 0; margin-top: 26px; }
.cta h2 { line-height: 1.5; }
}

@media (prefers-reduced-motion: reduce) {
.client-logo-track { -webkit-animation-play-state: paused !important; animation-play-state: paused !important; }
}

.hero__slide--one { background-image: url('/assets/images/banner1.webp'); }
.hero__slide--two { background-image: url('/assets/images/banner2.webp'); }
.hero__slide--three { background-image: url('/assets/images/banner3.webp'); }
.trust-item__icon--offset { margin-top: 8px; }
.line-icon__image--offset { margin-top: 7px; }
