:root {
  --ink: #061826;
  --muted: #526373;
  --subtle: #7b8b99;
  --brand: #008ccf;
  --brand-2: #00b7e8;
  --cyan-soft: #eaf8fd;
  --blue-soft: #f5f9fc;
  --line: rgba(6, 24, 38, 0.1);
  --line-blue: rgba(0, 140, 207, 0.18);
  --surface: rgba(255, 255, 255, 0.86);
  --shadow: 0 24px 70px rgba(19, 41, 64, 0.08);
  --max: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-width: 320px;
  color: var(--ink);
  font-family: Inter, "Segoe UI", "Microsoft YaHei", "PingFang SC", Arial, sans-serif;
  background: #fff;
  -webkit-font-smoothing: antialiased;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -2;
  pointer-events: none;
  background:
    radial-gradient(circle at 80% 10%, rgba(0, 183, 232, 0.12), transparent 30rem),
    radial-gradient(circle at 12% 34%, rgba(0, 140, 207, 0.08), transparent 28rem),
    linear-gradient(180deg, #fff 0%, #f8fbfd 54%, #fff 100%);
}
body::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background-image: linear-gradient(rgba(6, 24, 38, 0.035) 1px, transparent 1px), linear-gradient(90deg, rgba(6, 24, 38, 0.035) 1px, transparent 1px);
  background-size: 80px 80px;
  mask-image: linear-gradient(180deg, rgba(0,0,0,.8), transparent 68%);
}

a { color: inherit; text-decoration: none; }
p, h1, h2, h3 { margin-top: 0; }
p { color: var(--muted); line-height: 1.76; }

.site-header {
  position: fixed;
  z-index: 20;
  top: 18px;
  left: 50%;
  width: min(var(--max), calc(100% - 48px));
  height: 66px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 12px 0 22px;
  border: 1px solid rgba(255, 255, 255, 0.74);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.72);
  box-shadow: 0 18px 48px rgba(20, 45, 70, 0.08);
  backdrop-filter: blur(22px);
  transform: translateX(-50%);
  transition: background .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.site-header.is-scrolled {
  background: rgba(255, 255, 255, 0.92);
  border-color: rgba(6, 24, 38, 0.08);
  box-shadow: 0 14px 36px rgba(20, 45, 70, 0.12);
}
.brand img { display: block; width: 180px; }
.main-nav { display: flex; align-items: center; gap: 28px; color: #35495b; font-size: 14px; font-weight: 650; }
.main-nav a { opacity: .88; transition: color .18s ease, opacity .18s ease; }
.main-nav a:hover { color: var(--brand); opacity: 1; }
.main-nav > a.is-current,
.main-nav .nav-menu.is-current > .nav-menu-link {
  color: var(--brand);
  opacity: 1;
}
.main-nav > a.is-current::after,
.main-nav .nav-menu.is-current > .nav-menu-link::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -9px;
  left: 0;
  height: 2px;
  border-radius: 2px;
  background: var(--brand);
}
.main-nav > a,
.main-nav .nav-menu > .nav-menu-link { position: relative; }
.nav-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 44px;
  padding: 0 18px;
  border-radius: 999px;
  color: #fff;
  background: #061826;
  font-size: 14px;
  font-weight: 700;
}

.section {
  width: min(var(--max), calc(100% - 48px));
  margin: 0 auto;
  padding: 110px 0;
}
.hero {
  min-height: 820px;
  display: grid;
  grid-template-columns: minmax(520px, 0.98fr) minmax(460px, 1.02fr);
  align-items: center;
  gap: 56px;
  padding-top: 130px;
}
.eyebrow, .section-kicker {
  margin: 0 0 18px;
  color: var(--brand);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
h1 {
  max-width: 680px;
  margin-bottom: 28px;
  font-size: clamp(46px, 5.4vw, 70px);
  line-height: 1.06;
  letter-spacing: -0.045em;
  font-weight: 760;
  text-wrap: balance;
}
.hero-lead {
  max-width: 640px;
  margin-bottom: 0;
  color: #405365;
  font-size: clamp(19px, 2vw, 24px);
  line-height: 1.72;
}
.hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 36px; }
.hero-actions.center { justify-content: center; }
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 142px;
  height: 52px;
  padding: 0 22px;
  border-radius: 999px;
  font-size: 15px;
  font-weight: 750;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.button:hover { transform: translateY(-2px); }
.button.primary { color: #fff; background: #061826; box-shadow: 0 18px 42px rgba(6, 24, 38, .16); }
.button.secondary { color: #112a3d; border: 1px solid var(--line); background: rgba(255,255,255,.72); }

.hero-system { min-height: 560px; }
.system-shell {
  position: relative;
  height: 560px;
  border: 1px solid rgba(6, 24, 38, 0.08);
  border-radius: 36px;
  background: linear-gradient(145deg, rgba(255,255,255,.82), rgba(242,248,252,.76));
  box-shadow: var(--shadow);
  overflow: hidden;
}
.system-shell::before {
  content: "";
  position: absolute;
  inset: 36px;
  border: 1px solid rgba(0, 140, 207, 0.12);
  border-radius: 28px;
}
.system-lines { position: absolute; inset: 0; width: 100%; height: 100%; }
.system-lines path {
  fill: none;
  stroke: rgba(0, 140, 207, 0.34);
  stroke-width: 1.4;
  stroke-dasharray: 6 10;
  animation: flow 13s linear infinite;
}
@keyframes flow { to { stroke-dashoffset: -220; } }
.node {
  position: absolute;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 98px;
  height: 44px;
  padding: 0 16px;
  border: 1px solid rgba(255,255,255,.9);
  border-radius: 999px;
  color: #334b5d;
  background: rgba(255,255,255,.82);
  box-shadow: 0 14px 36px rgba(20,45,70,.08);
  font-size: 14px;
  font-weight: 720;
}
.node-a { left: 56px; top: 76px; }
.node-b { left: 42px; top: 238px; }
.node-c { left: 76px; bottom: 84px; }
.node-d { right: 58px; top: 80px; }
.node-e { right: 40px; top: 244px; }
.node-f { right: 72px; bottom: 88px; }
.system-core {
  position: absolute;
  z-index: 3;
  left: 50%;
  top: 50%;
  width: 240px;
  height: 240px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  border: 1px solid rgba(0, 140, 207, 0.18);
  border-radius: 50%;
  background: radial-gradient(circle at 50% 40%, #fff 0 42%, rgba(234,248,253,.94) 43% 100%);
  box-shadow: 0 30px 80px rgba(0, 140, 207, 0.15);
  transform: translate(-50%, -50%);
}
.system-core::after {
  content: "";
  position: absolute;
  inset: -34px;
  border: 1px dashed rgba(0, 140, 207, 0.18);
  border-radius: 50%;
}
.system-core img { width: 102px; }
.system-core strong { font-size: 24px; letter-spacing: -0.02em; }
.system-core small { color: var(--subtle); font-weight: 700; }

.statement { max-width: 980px; }
.statement h2, .section-title h2, .case-copy h2, .contact h2 {
  max-width: 940px;
  margin-bottom: 18px;
  font-size: clamp(32px, 4.1vw, 52px);
  line-height: 1.14;
  letter-spacing: -0.04em;
  font-weight: 760;
  text-wrap: balance;
}
.statement p, .section-title p, .case-copy p { max-width: 760px; font-size: 18px; }
.issue-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  margin-top: 56px;
  border: 1px solid var(--line);
  border-radius: 28px;
  overflow: hidden;
  background: var(--line);
}
.issue {
  min-height: 256px;
  padding: 32px;
  background: rgba(255,255,255,.78);
}
.issue span, .product-index, .foundation-label { color: var(--brand); font-size: 13px; font-weight: 850; letter-spacing: .08em; }
.issue h3, .foundation h3, .product-card h3, .solution h3, .trust-item h3 { margin: 18px 0 12px; font-size: 23px; letter-spacing: -0.02em; }
.issue p, .foundation p, .product-card p, .solution p, .trust-item p { margin-bottom: 0; font-size: 15.5px; }

.section-title { max-width: 980px; margin-bottom: 52px; }
.foundation-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
.foundation {
  padding: 44px;
  border: 1px solid var(--line);
  border-radius: 32px;
  background: rgba(255,255,255,.78);
  box-shadow: var(--shadow);
}
.foundation h3 { font-size: 34px; }
.foundation ul { display: grid; gap: 12px; margin: 28px 0 0; padding: 0; list-style: none; }
.foundation li {
  padding: 13px 16px;
  border: 1px solid rgba(0, 140, 207, .12);
  border-radius: 14px;
  color: #294354;
  background: rgba(234,248,253,.5);
  font-weight: 700;
}

.product-list { display: grid; gap: 18px; }
.product-card {
  display: grid;
  grid-template-columns: 94px 1fr;
  gap: 28px;
  align-items: start;
  padding: 34px 38px;
  border: 1px solid var(--line);
  border-radius: 28px;
  background: rgba(255,255,255,.8);
  box-shadow: 0 16px 48px rgba(20,45,70,.06);
}
.product-index {
  display: grid;
  place-items: center;
  width: 64px;
  height: 64px;
  border: 1px solid var(--line-blue);
  border-radius: 50%;
  background: var(--cyan-soft);
}
.product-card h3 { margin-top: 0; font-size: 30px; }
.product-card p { max-width: 780px; font-size: 17px; }

.solution-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.solution, .trust-item {
  min-height: 210px;
  padding: 30px;
  border: 1px solid var(--line);
  border-radius: 24px;
  background: rgba(255,255,255,.72);
}

.case-panel {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(420px, 1.05fr);
  gap: 48px;
  align-items: center;
  padding: 54px;
  border-radius: 36px;
  color: #fff;
  background: radial-gradient(circle at 90% 12%, rgba(0,183,232,.34), transparent 32rem), linear-gradient(135deg, #061826, #0b304d 54%, #05364d);
  box-shadow: 0 34px 90px rgba(6,24,38,.2);
}
.case-panel .eyebrow, .case-panel p { color: rgba(255,255,255,.76); }
.case-copy h2 { color: #fff; font-size: clamp(30px, 3.6vw, 44px); }
.metric-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.metric-grid div {
  min-height: 150px;
  padding: 26px;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 24px;
  background: rgba(255,255,255,.08);
  backdrop-filter: blur(12px);
}
.metric-grid strong { display: block; margin-bottom: 10px; color: #fff; font-size: clamp(32px, 4vw, 48px); letter-spacing: -0.04em; }
.metric-grid span { color: rgba(255,255,255,.72); font-weight: 700; }

.trust-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.contact { padding-bottom: 130px; }
.contact-inner {
  max-width: 960px;
  margin: 0 auto;
  padding: 76px 50px;
  border: 1px solid var(--line);
  border-radius: 38px;
  background: linear-gradient(180deg, rgba(255,255,255,.84), rgba(244,249,252,.84));
  box-shadow: var(--shadow);
  text-align: center;
}
.contact h2 { margin-left: auto; margin-right: auto; max-width: 900px; }

.reveal { opacity: 0; transform: translateY(22px); transition: opacity .7s ease, transform .7s ease; }
.reveal.is-visible { opacity: 1; transform: none; }

@media (max-width: 1120px) {
  .main-nav { display: none; }
  .hero, .case-panel { grid-template-columns: 1fr; }
  .hero { min-height: auto; }
  .hero-system { min-height: 500px; order: -1; }
  .system-shell { height: 500px; }
  .issue-grid, .solution-grid { grid-template-columns: repeat(2, 1fr); }
  .trust-row { grid-template-columns: 1fr; }
}

@media (max-width: 720px) {
  .site-header, .section { width: min(100% - 28px, var(--max)); }
  .site-header { top: 12px; height: 58px; padding-left: 16px; }
  .brand img { width: 136px; }
  .nav-cta { height: 38px; padding: 0 14px; font-size: 13px; }
  .section { padding: 74px 0; }
  .hero { padding-top: 104px; gap: 30px; }
  h1 { font-size: clamp(40px, 12vw, 54px); }
  .hero-lead { font-size: 17px; }
  .button { width: 100%; }
  .hero-system { min-height: 420px; }
  .system-shell { height: 420px; border-radius: 28px; }
  .system-core { width: 172px; height: 172px; }
  .system-core img { width: 78px; }
  .system-core strong { font-size: 20px; }
  .system-core small { font-size: 12px; }
  .node { min-width: 78px; height: 36px; padding: 0 10px; font-size: 12px; }
  .node-a { left: 18px; top: 58px; }
  .node-b { left: 16px; top: 190px; }
  .node-c { left: 28px; bottom: 62px; }
  .node-d { right: 20px; top: 60px; }
  .node-e { right: 14px; top: 194px; }
  .node-f { right: 24px; bottom: 64px; }
  .statement h2, .section-title h2, .case-copy h2, .contact h2 { font-size: clamp(30px, 9vw, 40px); }
  .issue-grid, .foundation-grid, .solution-grid, .metric-grid { grid-template-columns: 1fr; }
  .issue { min-height: auto; }
  .foundation, .product-card, .case-panel, .contact-inner { padding: 28px; border-radius: 26px; }
  .foundation h3, .product-card h3 { font-size: 26px; }
  .product-card { grid-template-columns: 1fr; gap: 18px; }
  .product-index { width: 52px; height: 52px; }
  .metric-grid div { min-height: 126px; }
}




/* Refined hero visual */
.refined-hero {
  isolation: isolate;
  background:
    radial-gradient(circle at 50% 38%, rgba(0, 183, 232, 0.14), transparent 16rem),
    linear-gradient(145deg, rgba(255,255,255,.9), rgba(246,250,252,.78));
}
.refined-hero::before {
  inset: 28px;
  border-color: rgba(0, 140, 207, 0.10);
  background:
    linear-gradient(rgba(0,140,207,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0,140,207,.045) 1px, transparent 1px);
  background-size: 42px 42px;
}
.hero-glow {
  position: absolute;
  z-index: 0;
  inset: 84px 110px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(234,248,253,.95), rgba(255,255,255,.22) 52%, transparent 70%);
  filter: blur(2px);
}
.touchpoint-cloud {
  position: absolute;
  z-index: 3;
  display: grid;
  gap: 22px;
}
.left-cloud { left: 52px; top: 112px; }
.right-cloud { right: 52px; top: 112px; }
.touchpoint-cloud span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 104px;
  height: 42px;
  padding: 0 16px;
  border: 1px solid rgba(255,255,255,.88);
  border-radius: 999px;
  color: #375061;
  background: rgba(255,255,255,.72);
  box-shadow: 0 16px 36px rgba(20,45,70,.07);
  font-size: 13px;
  font-weight: 760;
  backdrop-filter: blur(18px);
}
.right-cloud span:nth-child(2), .left-cloud span:nth-child(2) { transform: translateY(52px); }
.right-cloud span:nth-child(3), .left-cloud span:nth-child(3) { transform: translateY(104px); }
.refined-hero .system-lines { z-index: 1; }
.refined-hero .system-lines path {
  stroke: rgba(0, 140, 207, 0.24);
  stroke-width: 1.1;
  stroke-dasharray: 3 12;
}
.asset-console {
  position: absolute;
  z-index: 4;
  left: 50%;
  top: 50%;
  width: 300px;
  min-height: 276px;
  padding: 22px;
  border: 1px solid rgba(0, 140, 207, .16);
  border-radius: 30px;
  background: rgba(255,255,255,.82);
  box-shadow: 0 34px 90px rgba(0, 108, 160, .16), inset 0 1px 0 rgba(255,255,255,.9);
  backdrop-filter: blur(24px);
  transform: translate(-50%, -50%);
}
.asset-console::before {
  content: "";
  position: absolute;
  inset: -42px;
  z-index: -1;
  border: 1px solid rgba(0, 140, 207, .11);
  border-radius: 44px;
  transform: rotate(4deg);
}
.asset-console::after {
  content: "";
  position: absolute;
  inset: -78px;
  z-index: -2;
  border: 1px dashed rgba(0, 140, 207, .15);
  border-radius: 50%;
}
.console-topline { display: flex; gap: 7px; margin-bottom: 24px; }
.console-topline span { width: 7px; height: 7px; border-radius: 50%; background: rgba(0,140,207,.28); }
.console-brand { display: flex; align-items: center; gap: 10px; margin-bottom: 22px; }
.console-brand img { width: 86px; }
.console-brand small { color: var(--subtle); font-size: 11px; font-weight: 850; letter-spacing: .08em; }
.asset-console strong { display: block; margin-bottom: 8px; font-size: 30px; letter-spacing: -.04em; }
.asset-console p { margin: 0 0 22px; color: #607384; font-size: 13px; line-height: 1.5; }
.console-metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.console-metrics i {
  min-height: 70px;
  padding: 12px 8px;
  border: 1px solid rgba(0,140,207,.12);
  border-radius: 16px;
  background: rgba(234,248,253,.55);
  font-style: normal;
}
.console-metrics b { display: block; color: #082336; font-size: 18px; line-height: 1.1; }
.console-metrics em { display: block; margin-top: 7px; color: #6c7e8c; font-size: 11px; font-style: normal; font-weight: 700; }
.asset-ribbon {
  position: absolute;
  z-index: 5;
  min-width: 132px;
  padding: 11px 14px;
  border: 1px solid rgba(0,140,207,.14);
  border-radius: 14px;
  color: #294354;
  background: rgba(255,255,255,.78);
  box-shadow: 0 18px 48px rgba(20,45,70,.08);
  font-size: 13px;
  font-weight: 760;
  backdrop-filter: blur(20px);
}
.ribbon-a { left: 222px; top: 92px; }
.ribbon-b { right: 206px; bottom: 104px; }
.ribbon-c { left: 206px; bottom: 96px; }

@media (max-width: 720px) {
  .hero-glow { inset: 76px 52px; }
  .touchpoint-cloud { gap: 14px; }
  .left-cloud { left: 20px; top: 58px; }
  .right-cloud { right: 20px; top: 58px; }
  .touchpoint-cloud span { min-width: 78px; height: 34px; padding: 0 10px; font-size: 11px; }
  .right-cloud span:nth-child(2), .left-cloud span:nth-child(2) { transform: translateY(62px); }
  .right-cloud span:nth-child(3), .left-cloud span:nth-child(3) { transform: translateY(124px); }
  .asset-console { width: 220px; min-height: 220px; padding: 16px; border-radius: 24px; }
  .console-topline { margin-bottom: 14px; }
  .console-brand { margin-bottom: 14px; }
  .console-brand img { width: 68px; }
  .console-brand small { display: none; }
  .asset-console strong { font-size: 22px; }
  .asset-console p { margin-bottom: 14px; font-size: 11px; }
  .console-metrics { gap: 6px; }
  .console-metrics i { min-height: 54px; padding: 8px 5px; border-radius: 12px; }
  .console-metrics b { font-size: 14px; }
  .console-metrics em { margin-top: 4px; font-size: 9px; }
  .asset-ribbon { min-width: 104px; padding: 8px 10px; font-size: 11px; }
  .ribbon-a { left: 88px; top: 22px; }
  .ribbon-b { right: 32px; bottom: 34px; }
  .ribbon-c { left: 28px; bottom: 34px; }
}

/* Premium image-based hero visual */
.hero { grid-template-columns: minmax(500px, 0.9fr) minmax(560px, 1.1fr); }
.hero-image-system { min-height: 560px; }
.premium-visual {
  position: relative;
  height: 560px;
  border-radius: 42px;
  overflow: hidden;
  box-shadow: 0 42px 110px rgba(20, 45, 70, .16);
  background: #f7fbfd;
  isolation: isolate;
}
.premium-visual::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(255,255,255,.12), transparent 30%),
    linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,0) 44%, rgba(255,255,255,.12));
}
.premium-visual::after {
  content: "";
  position: absolute;
  inset: 1px;
  z-index: 3;
  pointer-events: none;
  border: 1px solid rgba(255,255,255,.74);
  border-radius: 41px;
  box-shadow: inset 0 0 0 1px rgba(0, 140, 207, .08);
}
.premium-visual > img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: 58% 50%;
  transform: scale(1.03);
}
.visual-card {
  position: absolute;
  z-index: 4;
  border: 1px solid rgba(255,255,255,.72);
  background: rgba(255,255,255,.68);
  box-shadow: 0 20px 60px rgba(20, 45, 70, .12);
  backdrop-filter: blur(20px);
}
.visual-card-main {
  left: 32px;
  bottom: 28px;
  width: 300px;
  padding: 22px;
  border-radius: 26px;
}
.visual-card-main span {
  display: block;
  margin-bottom: 18px;
  color: var(--brand);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .12em;
}
.visual-card-main strong {
  display: block;
  margin-bottom: 9px;
  color: #071d2d;
  font-size: 26px;
  letter-spacing: -.04em;
}
.visual-card-main small {
  color: #5e7080;
  font-size: 13px;
  font-weight: 700;
}
.visual-card-sub {
  right: 34px;
  top: 34px;
  padding: 13px 18px;
  border-radius: 999px;
  color: #244255;
  font-size: 13px;
  font-weight: 760;
}

@media (max-width: 1120px) {
  .hero { grid-template-columns: 1fr; }
  .hero-image-system { min-height: 520px; order: -1; }
  .premium-visual { height: 520px; }
}

@media (max-width: 720px) {
  .hero-image-system { min-height: 420px; }
  .premium-visual { height: 420px; border-radius: 30px; }
  .premium-visual::after { border-radius: 29px; }
  .premium-visual > img { object-position: 60% 50%; transform: scale(1.08); }
  .visual-card-main {
    left: 18px;
    right: 18px;
    bottom: 18px;
    width: auto;
    padding: 18px;
    border-radius: 22px;
  }
  .visual-card-main span { margin-bottom: 12px; font-size: 10px; }
  .visual-card-main strong { font-size: 23px; }
  .visual-card-main small { font-size: 12px; }
  .visual-card-sub {
    left: 18px;
    right: auto;
    top: 18px;
    max-width: calc(100% - 36px);
    font-size: 11px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}



/* Make the hero concept the visual centerpiece */
.visual-card-main {
  left: 50%;
  top: 50%;
  bottom: auto;
  width: min(390px, calc(100% - 72px));
  padding: 30px;
  border-radius: 30px;
  background: rgba(255,255,255,.74);
  transform: translate(-50%, -38%);
}
.visual-card-main span {
  margin-bottom: 20px;
  font-size: 12px;
}
.visual-card-main strong {
  margin-bottom: 12px;
  font-size: 36px;
}
.visual-card-main small {
  display: block;
  margin-bottom: 22px;
  color: #405566;
  font-size: 15px;
}
.visual-pillars {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}
.visual-pillars i {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  padding: 8px;
  border: 1px solid rgba(0,140,207,.14);
  border-radius: 16px;
  color: #173447;
  background: rgba(234,248,253,.62);
  font-size: 12px;
  font-style: normal;
  font-weight: 800;
  text-align: center;
  line-height: 1.35;
}
.visual-card-sub {
  right: 50%;
  top: auto;
  bottom: 38px;
  transform: translateX(50%);
}
.premium-visual::before {
  background:
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.32), transparent 18rem),
    linear-gradient(90deg, rgba(255,255,255,.18), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.22), rgba(255,255,255,0) 44%, rgba(255,255,255,.14));
}

@media (max-width: 720px) {
  .visual-card-main {
    left: 18px;
    right: 18px;
    top: 52%;
    bottom: auto;
    width: auto;
    padding: 20px;
    transform: translateY(-34%);
  }
  .visual-card-main span { margin-bottom: 12px; font-size: 10px; }
  .visual-card-main strong { font-size: 28px; }
  .visual-card-main small { margin-bottom: 16px; font-size: 12px; }
  .visual-pillars { grid-template-columns: 1fr; gap: 7px; }
  .visual-pillars i { min-height: 34px; border-radius: 12px; font-size: 11px; }
  .visual-card-sub {
    left: 18px;
    right: 18px;
    top: 18px;
    bottom: auto;
    transform: none;
    width: auto;
    max-width: none;
  }
}
.visual-card-sub { white-space: nowrap; }
@media (max-width: 720px) { .visual-card-sub { white-space: nowrap; } }

/* Ambient hero visual: integrated, open, brand-triad driven */
.hero-image-system {
  min-height: 600px;
  display: flex;
  align-items: center;
}
.ambient-visual {
  position: relative;
  width: 100%;
  height: 600px;
  overflow: visible;
  isolation: isolate;
}
.ambient-visual::before {
  content: "";
  position: absolute;
  inset: 38px -20px 12px 20px;
  z-index: -2;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(0,183,232,.16), rgba(255,255,255,0) 60%);
  filter: blur(8px);
}
.ambient-visual > img {
  position: absolute;
  inset: 0 -52px 0 0;
  width: calc(100% + 52px);
  height: 100%;
  object-fit: cover;
  object-position: 64% 50%;
  opacity: .72;
  mix-blend-mode: multiply;
  filter: saturate(.95) contrast(.98);
  -webkit-mask-image: radial-gradient(ellipse at 62% 50%, #000 0 48%, rgba(0,0,0,.68) 64%, transparent 86%);
  mask-image: radial-gradient(ellipse at 62% 50%, #000 0 48%, rgba(0,0,0,.68) 64%, transparent 86%);
}
.ambient-core {
  position: absolute;
  z-index: 3;
  left: 50%;
  top: 47%;
  width: 360px;
  padding: 30px 32px;
  border: 1px solid rgba(255,255,255,.72);
  border-radius: 30px;
  background: rgba(255,255,255,.62);
  box-shadow: 0 26px 80px rgba(20,45,70,.12);
  backdrop-filter: blur(24px);
  transform: translate(-42%, -50%);
}
.ambient-core span {
  display: block;
  margin-bottom: 18px;
  color: var(--brand);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .12em;
}
.ambient-core strong {
  display: block;
  margin-bottom: 10px;
  color: #071d2d;
  font-size: 36px;
  letter-spacing: -.04em;
}
.ambient-core small {
  display: block;
  color: #405566;
  font-size: 15px;
  font-weight: 760;
}
.brand-triad {
  position: absolute;
  inset: 0;
  z-index: 4;
  pointer-events: none;
}
.triad-card {
  position: absolute;
  width: 190px;
  padding: 18px;
  border: 1px solid rgba(255,255,255,.74);
  border-radius: 22px;
  background: rgba(255,255,255,.58);
  box-shadow: 0 18px 52px rgba(20,45,70,.09);
  backdrop-filter: blur(18px);
}
.triad-card b {
  display: block;
  margin-bottom: 8px;
  color: #071d2d;
  font-size: 23px;
  letter-spacing: -.03em;
}
.triad-card p {
  margin: 0;
  color: #536878;
  font-size: 13px;
  line-height: 1.55;
  font-weight: 650;
}
.triad-a { left: 22px; top: 98px; }
.triad-b { right: 10px; top: 112px; }
.triad-c { right: 76px; bottom: 82px; }
.triad-card::after {
  content: "";
  position: absolute;
  width: 86px;
  height: 1px;
  background: linear-gradient(90deg, rgba(0,140,207,.38), transparent);
}
.triad-a::after { left: 100%; top: 50%; }
.triad-b::after { right: 100%; top: 50%; transform: rotate(180deg); }
.triad-c::after { right: 72%; bottom: 100%; transform: rotate(-48deg); }

@media (max-width: 1120px) {
  .hero-image-system { min-height: 520px; order: -1; }
  .ambient-visual { height: 520px; }
  .ambient-core { transform: translate(-50%, -50%); }
}

@media (max-width: 720px) {
  .hero-image-system { min-height: 470px; }
  .ambient-visual { height: 470px; }
  .ambient-visual > img {
    inset: 0 -28px 0 -18px;
    width: calc(100% + 46px);
    opacity: .62;
    object-position: 62% 50%;
    -webkit-mask-image: radial-gradient(ellipse at 58% 46%, #000 0 48%, rgba(0,0,0,.55) 66%, transparent 88%);
    mask-image: radial-gradient(ellipse at 58% 46%, #000 0 48%, rgba(0,0,0,.55) 66%, transparent 88%);
  }
  .ambient-core {
    left: 50%;
    top: 45%;
    width: min(300px, calc(100% - 30px));
    padding: 22px;
    border-radius: 24px;
    transform: translate(-50%, -50%);
  }
  .ambient-core span { margin-bottom: 12px; font-size: 10px; }
  .ambient-core strong { font-size: 28px; }
  .ambient-core small { font-size: 12px; }
  .triad-card {
    width: 128px;
    padding: 12px;
    border-radius: 16px;
  }
  .triad-card b { margin-bottom: 4px; font-size: 18px; }
  .triad-card p { font-size: 10px; line-height: 1.38; }
  .triad-a { left: 4px; top: 18px; }
  .triad-b { right: 2px; top: 24px; }
  .triad-c { right: 18px; bottom: 12px; }
  .triad-card::after { display: none; }
}
body { overflow-x: hidden; }
.ambient-visual { overflow: hidden; }
.ambient-visual > img {
  inset: 0;
  width: 100%;
  object-position: 62% 50%;
}
.triad-b { right: 28px; }
.triad-c { right: 98px; }
@media (max-width: 720px) {
  .ambient-visual { overflow: hidden; }
  .ambient-visual > img { inset: 0; width: 100%; }
}

/* Custom concept hero visual: no generic render image */
.hero-concept-system {
  min-height: 590px;
  display: flex;
  align-items: center;
}
.concept-visual {
  position: relative;
  width: 100%;
  height: 590px;
  overflow: visible;
  isolation: isolate;
}
.concept-visual::before {
  content: "";
  position: absolute;
  inset: 10px 0 0;
  z-index: -2;
  background:
    radial-gradient(circle at 54% 50%, rgba(0,183,232,.16), transparent 18rem),
    radial-gradient(circle at 54% 50%, rgba(255,255,255,.94), rgba(255,255,255,0) 30rem);
}
.concept-visual::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 520px;
  height: 520px;
  z-index: -1;
  border: 1px solid rgba(0,140,207,.12);
  border-radius: 50%;
  background:
    linear-gradient(rgba(0,140,207,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0,140,207,.04) 1px, transparent 1px);
  background-size: 42px 42px;
  mask-image: radial-gradient(circle, #000 0 46%, transparent 72%);
  transform: translate(-50%, -50%);
}
.concept-flow {
  position: absolute;
  inset: 12px -6px 0;
  width: calc(100% + 12px);
  height: 100%;
  overflow: visible;
}
.concept-flow path {
  fill: none;
  stroke: url(#flowBlue);
  stroke-width: 1.5;
  stroke-dasharray: 7 12;
  animation: flow 14s linear infinite;
}
.concept-core {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 360px;
  padding: 34px;
  border: 1px solid rgba(0,140,207,.16);
  border-radius: 36px;
  background: rgba(255,255,255,.72);
  box-shadow: 0 30px 90px rgba(20,45,70,.12), inset 0 1px 0 rgba(255,255,255,.9);
  backdrop-filter: blur(24px);
  transform: translate(-50%, -50%);
}
.concept-core::before {
  content: "";
  position: absolute;
  inset: -34px;
  z-index: -1;
  border: 1px dashed rgba(0,140,207,.18);
  border-radius: 50%;
}
.concept-core span {
  display: block;
  margin-bottom: 18px;
  color: var(--brand);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .12em;
}
.concept-core strong {
  display: block;
  margin-bottom: 12px;
  color: #071d2d;
  font-size: 40px;
  letter-spacing: -.045em;
}
.concept-core small {
  color: #405566;
  font-size: 15px;
  font-weight: 760;
}
.concept-node {
  position: absolute;
  width: 190px;
  padding: 18px;
  border: 1px solid rgba(255,255,255,.78);
  border-radius: 22px;
  background: rgba(255,255,255,.68);
  box-shadow: 0 18px 52px rgba(20,45,70,.08);
  backdrop-filter: blur(18px);
}
.concept-node b {
  display: block;
  margin-bottom: 8px;
  color: #071d2d;
  font-size: 24px;
  letter-spacing: -.035em;
}
.concept-node p {
  margin: 0;
  color: #536878;
  font-size: 13px;
  font-weight: 650;
  line-height: 1.55;
}
.node-link { left: 28px; top: 108px; }
.node-touch { right: 18px; top: 112px; }
.node-ai { right: 92px; bottom: 90px; }
.touchpoint-strip {
  position: absolute;
  left: 50%;
  bottom: 28px;
  display: flex;
  gap: 8px;
  max-width: min(100%, 560px);
  padding: 8px;
  border: 1px solid rgba(255,255,255,.72);
  border-radius: 999px;
  background: rgba(255,255,255,.58);
  box-shadow: 0 16px 42px rgba(20,45,70,.07);
  backdrop-filter: blur(18px);
  transform: translateX(-50%);
}
.touchpoint-strip span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 78px;
  height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  color: #375061;
  background: rgba(234,248,253,.72);
  font-size: 12px;
  font-weight: 760;
  white-space: nowrap;
}
@media (max-width: 1120px) {
  .hero-concept-system { min-height: 520px; order: -1; }
  .concept-visual { height: 520px; }
}
@media (max-width: 720px) {
  .hero-concept-system { min-height: 480px; }
  .concept-visual { height: 480px; overflow: hidden; }
  .concept-visual::after { width: 390px; height: 390px; }
  .concept-flow { inset: 20px -70px 0; width: calc(100% + 140px); opacity: .8; }
  .concept-core {
    width: min(310px, calc(100% - 36px));
    padding: 22px;
    border-radius: 26px;
  }
  .concept-core span { margin-bottom: 12px; font-size: 10px; }
  .concept-core strong { font-size: 30px; }
  .concept-core small { font-size: 12px; }
  .concept-node { width: 132px; padding: 12px; border-radius: 16px; }
  .concept-node b { margin-bottom: 4px; font-size: 18px; }
  .concept-node p { font-size: 10px; line-height: 1.36; }
  .node-link { left: 0; top: 18px; }
  .node-touch { right: 0; top: 24px; }
  .node-ai { right: 20px; bottom: 58px; }
  .touchpoint-strip {
    left: 18px;
    right: 18px;
    bottom: 8px;
    overflow: hidden;
    transform: none;
  }
  .touchpoint-strip span { min-width: auto; flex: 1; padding: 0 8px; font-size: 10px; }
}
.concept-visual::before {
  background:
    radial-gradient(circle at 54% 50%, rgba(0,183,232,.22), transparent 17rem),
    radial-gradient(circle at 54% 50%, rgba(255,255,255,.96), rgba(255,255,255,0) 30rem);
}
.concept-flow path { stroke-width: 1.9; stroke-dasharray: 8 11; }
.concept-core {
  background: rgba(255,255,255,.82);
  box-shadow: 0 34px 96px rgba(0, 108, 160, .16), inset 0 1px 0 rgba(255,255,255,.95);
}
.concept-core strong { font-size: 42px; }
.concept-node {
  background: rgba(255,255,255,.76);
  box-shadow: 0 22px 60px rgba(20,45,70,.11);
}
.touchpoint-strip { background: rgba(255,255,255,.72); }

/* Typography refinement: more enterprise, less poster-like */
h1 {
  max-width: 660px;
  font-size: clamp(42px, 4.8vw, 62px);
  line-height: 1.12;
  letter-spacing: -0.035em;
  font-weight: 680;
}
.statement h2, .section-title h2, .case-copy h2, .contact h2 {
  font-size: clamp(30px, 3.6vw, 46px);
  line-height: 1.18;
  letter-spacing: -0.03em;
  font-weight: 650;
}
.concept-core strong, .ambient-core strong, .visual-card-main strong {
  font-weight: 650;
  letter-spacing: -0.03em;
}
.concept-node b, .triad-card b {
  font-weight: 650;
  letter-spacing: -0.025em;
}
@media (max-width: 720px) {
  h1 {
    font-size: clamp(36px, 10.8vw, 48px);
    line-height: 1.13;
  }
  .statement h2, .section-title h2, .case-copy h2, .contact h2 {
    font-size: clamp(28px, 8vw, 36px);
    line-height: 1.2;
  }
}

/* Lead capture: immediate conversion below the first viewport */
.lead-capture {
  position: relative;
  z-index: 6;
  width: min(var(--max), calc(100% - 48px));
  min-height: 104px;
  display: grid;
  grid-template-columns: minmax(250px, .88fr) minmax(520px, 1.12fr);
  gap: 28px;
  align-items: center;
  margin: -66px auto 24px;
  padding: 18px 20px 18px 26px;
  border: 1px solid rgba(6, 24, 38, 0.09);
  border-radius: 28px;
  background: rgba(255, 255, 255, 0.86);
  box-shadow: 0 24px 70px rgba(20, 45, 70, 0.11);
  backdrop-filter: blur(24px);
}
.lead-capture::before {
  content: "";
  position: absolute;
  inset: 1px;
  z-index: -1;
  border-radius: 27px;
  background: linear-gradient(90deg, rgba(234,248,253,.72), rgba(255,255,255,.52));
}
.lead-capture.is-highlighted {
  border-color: rgba(0, 140, 207, .48);
  animation: leadCaptureHighlight 1.8s ease;
}
@keyframes leadCaptureHighlight {
  0%, 100% {
    box-shadow: 0 24px 70px rgba(20, 45, 70, 0.11);
  }
  22%, 68% {
    box-shadow: 0 24px 70px rgba(20, 45, 70, 0.11), 0 0 0 6px rgba(0, 140, 207, .14), 0 0 0 13px rgba(0, 140, 207, .07);
  }
}
.lead-capture-copy span {
  display: block;
  margin-bottom: 8px;
  color: var(--brand);
  font-size: 12px;
  font-weight: 760;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.lead-capture-copy strong {
  display: block;
  max-width: 430px;
  color: #071d2d;
  font-size: 20px;
  line-height: 1.45;
  font-weight: 650;
  letter-spacing: -0.02em;
}
.lead-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, .9fr) 128px;
  gap: 10px;
  align-items: center;
}
.lead-form label {
  display: grid;
  gap: 6px;
  margin: 0;
}
.lead-form label span {
  color: #526373;
  font-size: 12px;
  font-weight: 700;
}
.lead-form input {
  width: 100%;
  height: 48px;
  border: 1px solid rgba(6, 24, 38, 0.1);
  border-radius: 16px;
  padding: 0 15px;
  color: var(--ink);
  background: rgba(255,255,255,.82);
  font: inherit;
  font-size: 14px;
  outline: none;
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.lead-form input:focus {
  border-color: rgba(0, 140, 207, .42);
  background: #fff;
  box-shadow: 0 0 0 4px rgba(0, 140, 207, .09);
}
.lead-form button {
  align-self: end;
  height: 48px;
  border: 0;
  border-radius: 16px;
  color: #fff;
  background: #061826;
  font: inherit;
  font-size: 14px;
  font-weight: 720;
  cursor: pointer;
  transition: transform .18s ease, box-shadow .18s ease;
}
.lead-form button:hover {
  transform: translateY(-1px);
  box-shadow: 0 14px 30px rgba(6,24,38,.14);
}
.lead-message {
  position: absolute;
  right: 26px;
  bottom: -30px;
  margin: 0;
  color: #2f6f46;
  font-size: 13px;
  font-weight: 650;
}
@media (max-width: 1120px) {
  .lead-capture {
    grid-template-columns: 1fr;
    margin-top: 24px;
  }
  .lead-capture-copy strong { max-width: 720px; }
}
@media (max-width: 720px) {
  .lead-capture {
    width: min(100% - 28px, var(--max));
    margin: 0 auto 10px;
    padding: 20px;
    border-radius: 24px;
  }
  .lead-capture::before { border-radius: 23px; }
  .lead-capture-copy strong { font-size: 18px; }
  .lead-form { grid-template-columns: 1fr; }
  .lead-form button { width: 100%; }
  .lead-message {
    position: static;
    margin-top: -10px;
  }
}


/* Section system refinement: extend the hero concept through the page */
.problem { padding-top: 92px; }
.platform, .products, .solutions, .trust {
  position: relative;
}
.platform::before, .products::before, .solutions::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 54px;
  width: min(100vw, 1180px);
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(0,140,207,.16), transparent);
  transform: translateX(-50%);
}
.platform-flow {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  margin: -14px 0 28px;
  border: 1px solid rgba(6,24,38,.08);
  border-radius: 28px;
  overflow: hidden;
  background: rgba(6,24,38,.08);
  box-shadow: 0 18px 60px rgba(20,45,70,.06);
}
.platform-flow::before {
  content: "";
  position: absolute;
  left: 7%;
  right: 7%;
  top: 37px;
  height: 1px;
  background: linear-gradient(90deg, rgba(0,183,232,0), rgba(0,140,207,.42), rgba(0,183,232,0));
}
.platform-flow div {
  min-height: 174px;
  padding: 30px 26px 26px;
  background: rgba(255,255,255,.78);
}
.platform-flow span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  margin-bottom: 20px;
  border: 1px solid rgba(0,140,207,.18);
  border-radius: 50%;
  color: var(--brand);
  background: rgba(234,248,253,.78);
  font-size: 12px;
  font-weight: 760;
}
.platform-flow strong {
  display: block;
  margin-bottom: 10px;
  color: #071d2d;
  font-size: 24px;
  line-height: 1.2;
  font-weight: 650;
  letter-spacing: -0.025em;
}
.platform-flow p {
  margin: 0;
  color: #586b7a;
  font-size: 14px;
  line-height: 1.65;
}
.foundation-grid { margin-top: 24px; }
.foundation {
  box-shadow: 0 20px 60px rgba(20,45,70,.07);
}
.foundation li {
  border-radius: 999px;
  background: rgba(255,255,255,.72);
}
.product-card {
  position: relative;
  overflow: hidden;
  border-radius: 24px;
  box-shadow: none;
}
.product-card::after {
  content: "";
  position: absolute;
  right: 30px;
  top: 50%;
  width: 160px;
  height: 160px;
  border: 1px solid rgba(0,140,207,.09);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(234,248,253,.64), transparent 68%);
  transform: translateY(-50%);
}
.product-card > * { position: relative; z-index: 1; }
.product-meta {
  margin: 0 0 8px;
  color: var(--brand);
  font-size: 13px !important;
  line-height: 1.4;
  font-weight: 720;
  letter-spacing: .04em;
}
.product-card h3 { margin-bottom: 10px; font-weight: 650; }
.solution {
  position: relative;
  min-height: 196px;
  padding-top: 34px;
  overflow: hidden;
  background: rgba(255,255,255,.68);
}
.solution::before {
  content: "";
  position: absolute;
  left: 30px;
  top: 0;
  width: 42px;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--brand), rgba(0,183,232,.18));
}
.solution h3, .trust-item h3 { font-weight: 650; }
.case-panel {
  background:
    radial-gradient(circle at 88% 12%, rgba(0,183,232,.28), transparent 31rem),
    linear-gradient(135deg, #061826, #092b44 58%, #0a3b4a);
}
.contact-inner {
  background:
    radial-gradient(circle at 50% 0%, rgba(0,183,232,.12), transparent 25rem),
    rgba(255,255,255,.86);
}
@media (max-width: 1120px) {
  .platform-flow { grid-template-columns: repeat(2, 1fr); }
  .platform-flow::before { display: none; }
}
@media (max-width: 720px) {
  .problem { padding-top: 70px; }
  .platform-flow { grid-template-columns: 1fr; border-radius: 24px; }
  .platform-flow div { min-height: auto; padding: 24px; }
  .product-card::after { right: -52px; width: 130px; height: 130px; }
}

/* Softer section labels and sticky lead capture */
.eyebrow, .section-kicker {
  color: #6f8797;
  font-size: 12px;
  font-weight: 650;
  letter-spacing: .04em;
  text-transform: none;
}
.section-kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 16px;
}
.section-kicker::before {
  content: "";
  width: 28px;
  height: 1px;
  background: rgba(0, 140, 207, .28);
}
.hero .eyebrow {
  color: #496171;
  font-weight: 680;
}
.case-panel .eyebrow {
  color: rgba(255,255,255,.68);
}
.lead-capture {
  position: sticky;
  top: 96px;
  z-index: 18;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.lead-capture:hover {
  border-color: rgba(0,140,207,.16);
  box-shadow: 0 28px 78px rgba(20,45,70,.14);
}
.lead-capture-copy span {
  color: #6f8797;
  font-weight: 650;
  letter-spacing: .04em;
  text-transform: none;
}
@media (max-width: 1120px) {
  .lead-capture { top: 88px; }
}
@media (max-width: 720px) {
  .eyebrow, .section-kicker { font-size: 12px; }
  .section-kicker::before { width: 22px; }
  .lead-capture {
    position: relative;
    top: auto;
    z-index: 6;
  }
}

/* Lead capture placement: persistent bottom bar */
body { padding-bottom: 116px; }
.lead-capture {
  position: fixed;
  left: 50%;
  right: auto;
  bottom: 22px;
  top: auto;
  z-index: 30;
  width: min(var(--max), calc(100% - 48px));
  margin: 0;
  transform: translateX(-50%);
}
.lead-capture:hover {
  transform: translateX(-50%) translateY(-2px);
}
@media (max-width: 1120px) {
  .lead-capture { top: auto; }
}
@media (max-width: 720px) {
  body { padding-bottom: 248px; }
  .lead-capture {
    position: fixed;
    left: 14px;
    right: 14px;
    bottom: 12px;
    top: auto;
    width: auto;
    margin: 0;
    padding: 16px;
    transform: none;
  }
  .lead-capture:hover { transform: none; }
}

/* Compact bottom lead bar refinement */
body { padding-bottom: 96px; }
.lead-capture {
  min-height: 82px;
  grid-template-columns: minmax(220px, .72fr) minmax(560px, 1.28fr);
  gap: 20px;
  bottom: 18px;
  padding: 14px 16px 14px 22px;
  border-radius: 24px;
}
.lead-capture::before { border-radius: 23px; }
.lead-capture-copy span { margin-bottom: 4px; font-size: 11px; }
.lead-capture-copy strong { font-size: 17px; line-height: 1.35; }
.lead-form {
  grid-template-columns: minmax(0, 1fr) minmax(0, .9fr) 132px;
  gap: 8px;
}
.lead-form label { gap: 4px; }
.lead-form label span { font-size: 11px; }
.lead-form input, .lead-form button {
  height: 42px;
  border-radius: 14px;
}
.lead-message {
  right: 22px;
  bottom: -24px;
  font-size: 12px;
}
@media (max-width: 720px) {
  body { padding-bottom: 222px; }
  .lead-capture {
    min-height: 0;
    bottom: 10px;
    padding: 14px;
    border-radius: 22px;
  }
  .lead-capture::before { border-radius: 21px; }
  .lead-capture-copy strong { font-size: 16px; }
  .lead-form input, .lead-form button { height: 40px; }
}

/* Lead form with contact name field */
.lead-form {
  grid-template-columns: minmax(0, 1fr) minmax(120px, .64fr) minmax(0, .92fr) 132px;
}
@media (max-width: 1120px) {
  .lead-form {
    grid-template-columns: minmax(0, 1fr) minmax(120px, .7fr) minmax(0, 1fr) 132px;
  }
}
@media (max-width: 720px) {
  .lead-form { grid-template-columns: 1fr; }
}

/* Hero concept visual: stronger core, lighter closed-loop nodes */
.concept-visual {
  height: 610px;
}
.concept-visual::before {
  inset: 0 -8px;
  background:
    radial-gradient(circle at 50% 50%, rgba(0,183,232,.18), transparent 15rem),
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.98), rgba(255,255,255,0) 31rem);
}
.concept-visual::after {
  width: 560px;
  height: 560px;
  border-color: rgba(0,140,207,.1);
  background:
    linear-gradient(rgba(0,140,207,.028) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0,140,207,.028) 1px, transparent 1px);
  background-size: 44px 44px;
  mask-image: radial-gradient(circle, #000 0 38%, rgba(0,0,0,.55) 50%, transparent 74%);
}
.concept-flow {
  inset: 14px -18px 0;
  width: calc(100% + 36px);
  opacity: .88;
}
.concept-flow path {
  stroke-width: 1.2;
  stroke-dasharray: 4 14;
  opacity: .72;
}
.concept-core {
  width: 382px;
  padding: 38px 34px;
  border-color: rgba(0,140,207,.14);
  border-radius: 999px;
  text-align: center;
  background: rgba(255,255,255,.9);
  box-shadow: 0 32px 92px rgba(0,108,160,.13), inset 0 1px 0 rgba(255,255,255,.96);
}
.concept-core::before {
  inset: -48px;
  border-color: rgba(0,140,207,.12);
  border-style: solid;
}
.concept-core::after {
  content: "";
  position: absolute;
  inset: -86px;
  z-index: -2;
  border: 1px dashed rgba(0,140,207,.12);
  border-radius: 50%;
  animation: slowSpin 36s linear infinite;
}
@keyframes slowSpin { to { transform: rotate(360deg); } }
.concept-core span {
  margin-bottom: 14px;
  color: #6f8797;
  font-size: 11px;
  font-weight: 680;
  letter-spacing: .08em;
}
.concept-core strong {
  margin-bottom: 10px;
  font-size: 42px;
  font-weight: 650;
}
.concept-core small {
  display: block;
  color: #405566;
  font-size: 14px;
  font-weight: 650;
}
.concept-node {
  width: auto;
  min-width: 154px;
  max-width: 174px;
  padding: 14px 16px;
  border-color: rgba(0,140,207,.1);
  border-radius: 999px;
  background: rgba(255,255,255,.72);
  box-shadow: 0 16px 44px rgba(20,45,70,.07);
}
.concept-node::before {
  content: "";
  position: absolute;
  left: 14px;
  top: 50%;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--brand);
  box-shadow: 0 0 0 5px rgba(0,140,207,.08);
  transform: translateY(-50%);
}
.concept-node b {
  margin: 0 0 3px 18px;
  font-size: 21px;
  line-height: 1.1;
}
.concept-node p {
  margin-left: 18px;
  color: #657786;
  font-size: 12px;
  line-height: 1.35;
  font-weight: 600;
  white-space: nowrap;
}
.node-link { left: 42px; top: 118px; }
.node-touch { right: 28px; top: 130px; }
.node-ai { right: 114px; bottom: 116px; }
.touchpoint-strip {
  bottom: 30px;
  gap: 6px;
  padding: 7px;
  border-color: rgba(0,140,207,.08);
  background: rgba(255,255,255,.54);
  box-shadow: 0 12px 34px rgba(20,45,70,.05);
}
.touchpoint-strip span {
  min-width: 70px;
  height: 30px;
  padding: 0 10px;
  color: #5a7080;
  background: rgba(255,255,255,.72);
  font-size: 11px;
  font-weight: 650;
}
@media (max-width: 720px) {
  .concept-visual { height: 500px; }
  .concept-core {
    width: min(306px, calc(100% - 34px));
    padding: 24px 20px;
    border-radius: 30px;
  }
  .concept-core::before { inset: -24px; }
  .concept-core::after { inset: -54px; }
  .concept-core strong { font-size: 30px; }
  .concept-node {
    min-width: 118px;
    max-width: 138px;
    padding: 11px 12px;
    border-radius: 18px;
  }
  .concept-node::before { left: 10px; width: 6px; height: 6px; }
  .concept-node b { margin-left: 14px; font-size: 17px; }
  .concept-node p { margin-left: 14px; font-size: 10px; white-space: normal; }
  .node-link { left: 0; top: 24px; }
  .node-touch { right: 0; top: 30px; }
  .node-ai { right: 18px; bottom: 62px; }
}

/* Hero concept visual: input flow, asset core, logic base */
.concept-core {
  top: 46%;
}
.input-flow {
  top: 44px;
  bottom: auto;
  z-index: 5;
}
.input-flow::after {
  content: "";
  position: absolute;
  left: 50%;
  top: calc(100% + 10px);
  width: 1px;
  height: 126px;
  background: linear-gradient(180deg, rgba(0,140,207,.36), rgba(0,140,207,0));
  transform: translateX(-50%);
}
.input-flow span {
  background: rgba(255,255,255,.8);
}
.logic-base {
  position: absolute;
  left: 50%;
  bottom: 44px;
  z-index: 5;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  width: min(520px, calc(100% - 44px));
  padding: 10px;
  border: 1px solid rgba(0,140,207,.09);
  border-radius: 26px;
  background: rgba(255,255,255,.58);
  box-shadow: 0 16px 44px rgba(20,45,70,.06);
  backdrop-filter: blur(18px);
  transform: translateX(-50%);
}
.logic-base::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: calc(100% + 8px);
  width: 1px;
  height: 72px;
  background: linear-gradient(0deg, rgba(0,140,207,.28), rgba(0,140,207,0));
  transform: translateX(-50%);
}
.logic-base .concept-node {
  position: relative;
  left: auto;
  right: auto;
  top: auto;
  bottom: auto;
  width: auto;
  min-width: 0;
  max-width: none;
  padding: 15px 14px;
  border-radius: 18px;
  text-align: center;
  background: rgba(255,255,255,.72);
  box-shadow: none;
}
.logic-base .concept-node::before {
  left: 50%;
  top: 13px;
  width: 6px;
  height: 6px;
  transform: translateX(-50%);
}
.logic-base .concept-node b {
  margin: 12px 0 4px;
  font-size: 21px;
}
.logic-base .concept-node p {
  margin: 0;
  font-size: 11px;
  line-height: 1.35;
  white-space: normal;
}
@media (max-width: 720px) {
  .concept-core { top: 45%; }
  .input-flow {
    top: 16px;
    left: 12px;
    right: 12px;
    width: auto;
  }
  .input-flow::after { height: 76px; }
  .logic-base {
    bottom: 18px;
    width: calc(100% - 24px);
    gap: 7px;
    padding: 7px;
    border-radius: 20px;
  }
  .logic-base::before { height: 42px; }
  .logic-base .concept-node {
    padding: 12px 8px;
    border-radius: 15px;
  }
  .logic-base .concept-node b { margin-top: 10px; font-size: 17px; }
  .logic-base .concept-node p { font-size: 9px; }
}

/* Problem section: concrete pain-point copy needs more reading room */
.issue {
  min-height: 306px;
  padding: 34px 28px;
}
.issue h3 {
  margin-top: 16px;
  font-size: 22px;
  line-height: 1.25;
}
.issue p {
  color: #586b7a;
  font-size: 15px;
  line-height: 1.72;
}
@media (max-width: 1120px) {
  .issue { min-height: 250px; }
}
@media (max-width: 720px) {
  .issue { min-height: auto; padding: 26px; }
}

/* Problem section: pain points first, analysis second, conclusion last */
.problem .issue-grid {
  margin-top: 28px;
}
.problem-analysis {
  max-width: 980px;
  margin: 34px 0 0;
  padding: 28px 32px;
  border-left: 3px solid rgba(0,140,207,.28);
  border-radius: 0 22px 22px 0;
  background: rgba(255,255,255,.62);
}
.problem-analysis p {
  max-width: 900px;
  margin: 0;
  color: #405365;
  font-size: 18px;
  line-height: 1.78;
}
.problem-conclusion {
  margin-top: 28px;
}
.problem-conclusion h2 {
  margin-bottom: 0;
}
@media (max-width: 720px) {
  .problem .issue-grid { margin-top: 24px; }
  .problem-analysis {
    margin-top: 24px;
    padding: 22px 20px;
    border-radius: 0 18px 18px 0;
  }
  .problem-analysis p { font-size: 16px; }
  .problem-conclusion { margin-top: 22px; }
}

/* Problem cards: scenario-led instead of numbered report cards */
.problem .issue-grid {
  gap: 14px;
  border: 0;
  border-radius: 0;
  overflow: visible;
  background: transparent;
}
.problem .issue {
  position: relative;
  min-height: 250px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 30px;
  border: 1px solid rgba(6,24,38,.09);
  border-radius: 24px;
  background: rgba(255,255,255,.76);
  box-shadow: 0 16px 48px rgba(20,45,70,.055);
  overflow: hidden;
}
.problem .issue::before {
  content: "";
  position: absolute;
  left: 30px;
  top: 0;
  width: 46px;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(0,140,207,.7), rgba(0,183,232,.12));
}
.problem .issue span {
  order: 3;
  align-self: flex-start;
  margin-top: 24px;
  padding: 7px 11px;
  border: 1px solid rgba(0,140,207,.1);
  border-radius: 999px;
  color: #5f7483;
  background: rgba(255,255,255,.7);
  font-size: 12px;
  font-weight: 650;
  letter-spacing: 0;
}
.problem .issue h3 {
  margin: 8px 0 18px;
  color: #071d2d;
  font-size: 24px;
  line-height: 1.3;
  font-weight: 650;
  letter-spacing: -0.025em;
}
.problem .issue p {
  margin: 0;
  color: #5a6d7c;
  font-size: 15px;
  line-height: 1.7;
}
@media (max-width: 1120px) {
  .problem .issue { min-height: 220px; }
}
@media (max-width: 720px) {
  .problem .issue-grid { gap: 12px; }
  .problem .issue { min-height: auto; padding: 24px; border-radius: 20px; }
  .problem .issue h3 { font-size: 21px; }
}

/* Abstract visuals for problem cards */
.issue-visual {
  position: relative;
  width: 86px;
  height: 54px;
  margin-bottom: 26px;
}
.issue-visual::before,
.issue-visual::after,
.issue-visual i {
  content: "";
  position: absolute;
  display: block;
}
.issue-visual::before {
  inset: 0;
  border: 1px solid rgba(0,140,207,.13);
  border-radius: 18px;
  background:
    linear-gradient(rgba(0,140,207,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0,140,207,.04) 1px, transparent 1px),
    rgba(255,255,255,.42);
  background-size: 18px 18px;
}
.issue-visual::after {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: rgba(0,140,207,.7);
  box-shadow: 0 0 0 6px rgba(0,140,207,.08);
}
.issue-execute .issue-visual::after { left: 13px; top: 21px; }
.issue-execute .issue-visual i:nth-child(1) { left: 26px; top: 26px; width: 22px; height: 1px; background: rgba(0,140,207,.38); }
.issue-execute .issue-visual i:nth-child(2) { right: 12px; top: 15px; width: 18px; height: 18px; border: 1px solid rgba(0,140,207,.28); border-radius: 50%; }
.issue-execute .issue-visual i:nth-child(3) { right: 16px; bottom: 11px; width: 24px; height: 1px; background: rgba(6,24,38,.12); }
.issue-response .issue-visual::after { right: 17px; top: 16px; }
.issue-response .issue-visual i:nth-child(1),
.issue-response .issue-visual i:nth-child(2) { left: 14px; width: 38px; height: 17px; border: 1px solid rgba(0,140,207,.18); border-radius: 999px; background: rgba(255,255,255,.58); }
.issue-response .issue-visual i:nth-child(1) { top: 11px; }
.issue-response .issue-visual i:nth-child(2) { bottom: 10px; transform: translateX(12px); }
.issue-response .issue-visual i:nth-child(3) { right: 14px; bottom: 13px; width: 18px; height: 1px; background: rgba(0,140,207,.32); }
.issue-record .issue-visual::after { left: 16px; bottom: 13px; }
.issue-record .issue-visual i:nth-child(1) { right: 14px; top: 10px; width: 34px; height: 36px; border: 1px solid rgba(0,140,207,.2); border-radius: 10px; background: rgba(255,255,255,.56); }
.issue-record .issue-visual i:nth-child(2) { right: 21px; top: 20px; width: 20px; height: 1px; background: rgba(0,140,207,.32); box-shadow: 0 8px 0 rgba(0,140,207,.2); }
.issue-record .issue-visual i:nth-child(3) { left: 27px; bottom: 18px; width: 24px; height: 1px; background: rgba(0,140,207,.3); }
.issue-manage .issue-visual::after { left: 38px; top: 22px; }
.issue-manage .issue-visual i { width: 14px; height: 14px; border: 1px solid rgba(0,140,207,.2); border-radius: 50%; background: rgba(255,255,255,.58); }
.issue-manage .issue-visual i:nth-child(1) { left: 14px; top: 12px; }
.issue-manage .issue-visual i:nth-child(2) { right: 14px; top: 12px; }
.issue-manage .issue-visual i:nth-child(3) { left: 36px; bottom: 9px; }
@media (max-width: 720px) {
  .issue-visual { width: 78px; height: 48px; margin-bottom: 20px; }
}

/* Make problem-card visuals more legible */
.issue-visual {
  width: 96px;
  height: 62px;
  margin-bottom: 24px;
}
.issue-visual::before {
  border-color: rgba(0,140,207,.22);
  background:
    linear-gradient(rgba(0,140,207,.065) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0,140,207,.065) 1px, transparent 1px),
    rgba(234,248,253,.58);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9), 0 10px 24px rgba(20,45,70,.05);
}
.issue-visual::after {
  background: rgba(0,140,207,.95);
  box-shadow: 0 0 0 7px rgba(0,140,207,.12);
}
.issue-execute .issue-visual i:nth-child(1),
.issue-response .issue-visual i:nth-child(3),
.issue-record .issue-visual i:nth-child(3) {
  background: rgba(0,140,207,.58);
}
.issue-execute .issue-visual i:nth-child(2),
.issue-response .issue-visual i:nth-child(1),
.issue-response .issue-visual i:nth-child(2),
.issue-record .issue-visual i:nth-child(1),
.issue-manage .issue-visual i {
  border-color: rgba(0,140,207,.36);
  background: rgba(255,255,255,.8);
}
.issue-record .issue-visual i:nth-child(2) {
  background: rgba(0,140,207,.48);
  box-shadow: 0 8px 0 rgba(0,140,207,.3);
}
@media (max-width: 720px) {
  .issue-visual { width: 86px; height: 54px; }
}

/* Refined SVG icons for problem cards */
.problem .issue-icon {
  width: 74px;
  height: 74px;
  display: grid;
  place-items: center;
  margin-bottom: 24px;
  border: 1px solid rgba(0,140,207,.12);
  border-radius: 22px;
  background:
    radial-gradient(circle at 72% 24%, rgba(0,183,232,.16), transparent 34px),
    linear-gradient(180deg, rgba(255,255,255,.9), rgba(242,249,252,.72));
  box-shadow: 0 16px 38px rgba(20,45,70,.07), inset 0 1px 0 rgba(255,255,255,.95);
}
.problem .issue-icon svg {
  width: 42px;
  height: 42px;
  overflow: visible;
}
.problem .issue-icon svg * {
  fill: none;
  stroke: #2088bd;
  stroke-width: 2.1;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}
.problem .issue-icon svg circle,
.problem .issue-icon svg rect,
.problem .issue-icon svg path:first-child {
  stroke: rgba(32,136,189,.82);
}
.issue-response .issue-icon svg circle,
.issue-record .issue-icon svg circle,
.issue-manage .issue-icon svg circle {
  fill: rgba(234,248,253,.72);
}
@media (max-width: 720px) {
  .problem .issue-icon {
    width: 64px;
    height: 64px;
    border-radius: 18px;
    margin-bottom: 20px;
  }
  .problem .issue-icon svg { width: 36px; height: 36px; }
}

/* Finer problem SVG icon treatment */
.problem .issue-icon {
  width: 78px;
  height: 78px;
  margin-bottom: 24px;
  border-color: rgba(6,24,38,.07);
  border-radius: 24px;
  background:
    radial-gradient(circle at 72% 22%, rgba(0,183,232,.13), transparent 30px),
    linear-gradient(145deg, rgba(255,255,255,.92), rgba(246,250,252,.66));
  box-shadow: 0 14px 34px rgba(20,45,70,.055), inset 0 1px 0 rgba(255,255,255,.98);
}
.problem .issue-icon::before {
  content: "";
  position: absolute;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(0,140,207,.07);
  border-radius: 50%;
  background: rgba(234,248,253,.28);
}
.problem .issue-icon svg {
  position: relative;
  z-index: 1;
  width: 39px;
  height: 39px;
}
.problem .issue-icon svg * {
  stroke: #287fae;
  stroke-width: 1.65;
}
.problem .issue-icon svg circle,
.problem .issue-icon svg rect,
.problem .issue-icon svg path:first-child {
  stroke: rgba(40,127,174,.74);
}
.issue-response .issue-icon svg circle,
.issue-record .issue-icon svg circle,
.issue-manage .issue-icon svg circle {
  fill: rgba(234,248,253,.5);
}
.problem .issue:hover .issue-icon {
  border-color: rgba(0,140,207,.13);
  box-shadow: 0 18px 42px rgba(20,45,70,.075), inset 0 1px 0 rgba(255,255,255,.98);
}
@media (max-width: 720px) {
  .problem .issue-icon {
    width: 66px;
    height: 66px;
    border-radius: 20px;
  }
  .problem .issue-icon::before { width: 36px; height: 36px; }
  .problem .issue-icon svg { width: 34px; height: 34px; }
}

/* Problem bridge: connect hero promise to pain points */
.problem-bridge {
  max-width: 980px;
  margin: 0 0 34px;
}
.problem-bridge h2 {
  max-width: 900px;
  margin: 0 0 18px;
  color: #071d2d;
  font-size: clamp(30px, 3.6vw, 46px);
  line-height: 1.18;
  letter-spacing: -0.03em;
  font-weight: 650;
}
.problem-bridge p {
  max-width: 780px;
  margin: 0;
  color: #405365;
  font-size: 18px;
  line-height: 1.78;
}
.problem .issue-grid {
  margin-top: 0;
}
.problem-conclusion {
  padding-top: 4px;
}
@media (max-width: 720px) {
  .problem-bridge { margin-bottom: 26px; }
  .problem-bridge h2 {
    font-size: clamp(28px, 8vw, 36px);
    line-height: 1.2;
  }
  .problem-bridge p { font-size: 16px; }
}

/* Problem card copy balance */
.problem .issue p {
  line-height: 1.62;
  max-width: 18em;
}
.problem .issue {
  min-height: 244px;
}
@media (max-width: 1120px) {
  .problem .issue p { max-width: 24em; }
}
@media (max-width: 720px) {
  .problem .issue p { max-width: none; }
}

/* Core capability section: answer the employee-touchpoint problem */
.capability-bridge {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: -18px 0 28px;
}
.capability-bridge div {
  position: relative;
  min-height: 132px;
  padding: 26px 28px;
  border: 1px solid rgba(6,24,38,.08);
  border-radius: 24px;
  background: rgba(255,255,255,.68);
  box-shadow: 0 16px 46px rgba(20,45,70,.055);
}
.capability-bridge span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  margin-bottom: 16px;
  border: 1px solid rgba(0,140,207,.14);
  border-radius: 50%;
  color: var(--brand);
  background: rgba(234,248,253,.72);
  font-size: 12px;
  font-weight: 700;
}
.capability-bridge strong {
  display: block;
  margin-bottom: 8px;
  color: #071d2d;
  font-size: 24px;
  font-weight: 650;
  letter-spacing: -0.02em;
}
.capability-bridge p {
  margin: 0;
  max-width: 460px;
  color: #586b7a;
  font-size: 15px;
  line-height: 1.68;
}
.capability-grid .foundation {
  position: relative;
  overflow: hidden;
}
.capability-grid .foundation::after {
  content: "";
  position: absolute;
  right: -72px;
  top: 28px;
  width: 210px;
  height: 210px;
  border: 1px solid rgba(0,140,207,.08);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(234,248,253,.7), transparent 66%);
}
.capability-grid .foundation > * {
  position: relative;
  z-index: 1;
}
@media (max-width: 720px) {
  .capability-bridge { grid-template-columns: 1fr; margin-top: -8px; }
  .capability-bridge div { min-height: auto; padding: 24px; border-radius: 20px; }
}

/* Capability step symbols: coverage and execution */
.capability-step {
  display: grid;
  grid-template-columns: 48px 1fr;
  column-gap: 18px;
  align-items: start;
}
.capability-step > span {
  grid-column: 1 / -1;
}
.step-symbol {
  position: relative;
  grid-row: 2 / span 2;
  width: 48px;
  height: 48px;
  margin-top: 2px;
  border: 1px solid rgba(0,140,207,.14);
  border-radius: 16px;
  background:
    radial-gradient(circle at 68% 24%, rgba(0,183,232,.18), transparent 24px),
    rgba(255,255,255,.68);
  box-shadow: 0 12px 28px rgba(20,45,70,.06), inset 0 1px 0 rgba(255,255,255,.92);
}
.step-symbol::before,
.step-symbol::after,
.step-symbol i {
  content: "";
  position: absolute;
  display: block;
}
.step-coverage .step-symbol i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: rgba(0,140,207,.82);
  box-shadow: 0 0 0 4px rgba(0,140,207,.08);
}
.step-coverage .step-symbol i:nth-child(1) { left: 10px; top: 11px; }
.step-coverage .step-symbol i:nth-child(2) { left: 10px; bottom: 11px; }
.step-coverage .step-symbol i:nth-child(3) { right: 10px; top: 20px; }
.step-coverage .step-symbol::before,
.step-coverage .step-symbol::after {
  left: 18px;
  width: 18px;
  height: 1px;
  background: rgba(0,140,207,.42);
  transform-origin: left center;
}
.step-coverage .step-symbol::before { top: 16px; transform: rotate(19deg); }
.step-coverage .step-symbol::after { bottom: 16px; transform: rotate(-19deg); }
.step-execution .step-symbol::before {
  left: 12px;
  top: 13px;
  width: 24px;
  height: 8px;
  border: 1px solid rgba(0,140,207,.36);
  border-radius: 999px;
}
.step-execution .step-symbol::after {
  left: 23px;
  top: 24px;
  width: 1px;
  height: 12px;
  background: rgba(0,140,207,.42);
}
.step-execution .step-symbol i {
  bottom: 9px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: rgba(0,140,207,.82);
  box-shadow: 0 0 0 4px rgba(0,140,207,.08);
}
.step-execution .step-symbol i:nth-child(1) { left: 10px; }
.step-execution .step-symbol i:nth-child(2) { left: 21px; }
.step-execution .step-symbol i:nth-child(3) { right: 10px; }
.capability-step strong,
.capability-step p {
  grid-column: 2;
}
@media (max-width: 720px) {
  .capability-step { grid-template-columns: 44px 1fr; column-gap: 14px; }
  .step-symbol { width: 44px; height: 44px; border-radius: 14px; }
}

/* Keep capability symbols as quiet placeholders until visual polish */
.step-symbol {
  opacity: .42;
  filter: grayscale(.15);
  box-shadow: none;
}
.capability-step:hover .step-symbol {
  opacity: .56;
}

/* Products section: three-column product matrix */
.products .product-list {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.products .product-card {
  min-height: 330px;
  display: flex;
  flex-direction: column;
  gap: 22px;
  padding: 30px;
  border-radius: 26px;
  background: rgba(255,255,255,.74);
  box-shadow: 0 16px 48px rgba(20,45,70,.055);
}
.products .product-card::after {
  right: -62px;
  top: -52px;
  width: 170px;
  height: 170px;
  transform: none;
}
.products .product-index {
  width: 54px;
  height: 54px;
  border-radius: 18px;
  background: rgba(234,248,253,.72);
}
.products .product-card h3 {
  min-height: 76px;
  margin: 0 0 12px;
  font-size: 26px;
  line-height: 1.22;
}
.products .product-card p:not(.product-meta) {
  max-width: none;
  font-size: 15.5px;
  line-height: 1.72;
}
.products .product-meta {
  margin-bottom: 10px;
}
@media (max-width: 1120px) {
  .products .product-list { grid-template-columns: 1fr; }
  .products .product-card { min-height: auto; }
  .products .product-card h3 { min-height: 0; }
}

/* Typical industry application scenarios */
.solutions .section-title {
  max-width: 1020px;
}
.industry-grid {
  gap: 20px;
}
.industry-grid .solution {
  position: relative;
  min-height: 236px;
  padding: 32px;
  border-color: rgba(0, 66, 105, .1);
  background:
    linear-gradient(180deg, rgba(255,255,255,.9), rgba(255,255,255,.68)),
    radial-gradient(circle at 86% 12%, rgba(0, 183, 232, .12), transparent 34%);
}
.industry-grid .solution span {
  display: block;
  color: var(--brand);
  font-size: 13px;
  font-weight: 760;
  letter-spacing: .06em;
}
.industry-grid .solution h3 {
  margin: 20px 0 12px;
  font-size: 23px;
  font-weight: 680;
  line-height: 1.32;
  letter-spacing: -0.01em;
}
.industry-grid .solution p {
  margin: 0;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.78;
}

@media (max-width: 1120px) {
  .industry-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 720px) {
  .industry-grid { grid-template-columns: 1fr; }
  .industry-grid .solution { min-height: auto; padding: 26px; }
}
.section { scroll-margin-top: 96px; }


/* Home visual polish: restrained enterprise website system */
:root {
  --ink: #071723;
  --muted: #526171;
  --brand: #0077b8;
  --brand-2: #16a8d8;
  --line: rgba(7, 23, 35, .095);
  --line-blue: rgba(0, 119, 184, .16);
  --surface: rgba(255, 255, 255, .82);
  --shadow: 0 22px 64px rgba(19, 41, 64, .075);
  --soft-shadow: 0 12px 34px rgba(19, 41, 64, .055);
}
body {
  background: #fbfdfe;
}
body::before {
  background:
    linear-gradient(180deg, #ffffff 0%, #f7fbfd 46%, #ffffff 100%);
}
body::after {
  opacity: .55;
  background-size: 96px 96px;
  mask-image: linear-gradient(180deg, rgba(0,0,0,.58), transparent 64%);
}
.site-header {
  height: 64px;
  border-color: rgba(7, 23, 35, .075);
  background: rgba(255,255,255,.78);
  box-shadow: 0 16px 44px rgba(20,45,70,.075);
}
.site-header.is-scrolled {
  background: rgba(255,255,255,.94);
  box-shadow: 0 12px 34px rgba(20,45,70,.095);
}
.main-nav { color: #405262; font-weight: 620; }
.nav-cta,
.button.primary,
.lead-form button {
  background: linear-gradient(180deg, #0a2030, #061826);
  box-shadow: 0 14px 34px rgba(6,24,38,.16);
}
.section {
  padding: 118px 0;
}
.section-title {
  max-width: 980px;
  margin-bottom: 44px;
}
.eyebrow,
.section-kicker {
  color: var(--brand);
  font-size: 12px;
  letter-spacing: .13em;
}
.statement h2,
.section-title h2,
.case-copy h2,
.contact h2 {
  max-width: 900px;
  margin-bottom: 16px;
  font-size: clamp(34px, 3.65vw, 48px);
  line-height: 1.16;
  letter-spacing: -0.035em;
  font-weight: 720;
}
.statement p,
.section-title p,
.case-copy p {
  max-width: 820px;
  color: #536575;
  font-size: 17px;
  line-height: 1.82;
}
h1 {
  font-weight: 720;
  letter-spacing: -0.04em;
}
.hero-lead {
  color: #465b6b;
  font-size: clamp(18px, 1.75vw, 21px);
  line-height: 1.82;
}
.concept-visual,
.lead-capture,
.problem-bridge,
.foundation,
.product-card,
.solution,
.trust-item,
.contact-inner {
  border-color: rgba(7,23,35,.085) !important;
  box-shadow: var(--soft-shadow);
}
.problem-bridge {
  background: rgba(255,255,255,.62);
}
.issue-grid {
  gap: 14px;
  border: 0;
  border-radius: 0;
  overflow: visible;
  background: transparent;
}
.issue {
  position: relative;
  min-height: 270px;
  padding: 30px;
  border: 1px solid rgba(7,23,35,.085);
  border-radius: 18px;
  background: rgba(255,255,255,.76);
  box-shadow: 0 10px 28px rgba(19,41,64,.045);
}
.issue::after,
.foundation::before,
.product-card::before,
.solution::after,
.trust-item::after {
  content: "";
  position: absolute;
  left: 28px;
  right: 28px;
  top: 0;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(0,119,184,.72), rgba(22,168,216,.08));
  opacity: .72;
}
.issue-icon {
  opacity: .82;
}
.issue span,
.foundation-label,
.product-meta,
.industry-grid .solution span {
  color: #0077b8 !important;
  font-size: 12px !important;
  letter-spacing: .075em !important;
  font-weight: 760 !important;
}
.issue h3,
.foundation h3,
.product-card h3,
.solution h3,
.trust-item h3 {
  color: #091b28;
  letter-spacing: -0.018em;
}
.capability-bridge div,
.foundation,
.products .product-card,
.industry-grid .solution,
.trust-item {
  border-radius: 18px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.88), rgba(255,255,255,.68));
}
.capability-bridge div {
  box-shadow: 0 10px 30px rgba(19,41,64,.045);
}
.capability-bridge span {
  width: auto;
  height: auto;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 12px;
}
.capability-step {
  grid-template-columns: 42px 1fr;
}
.step-symbol {
  width: 42px;
  height: 42px;
  border-radius: 12px;
  opacity: .5;
}
.foundation {
  padding: 38px;
}
.foundation h3 {
  font-size: 30px;
  line-height: 1.22;
}
.foundation li {
  border-radius: 10px;
  background: rgba(241, 248, 251, .72);
}
.products .product-list {
  gap: 20px;
}
.products .product-card {
  position: relative;
  min-height: 320px;
  padding: 30px 28px 32px;
  overflow: hidden;
}
.products .product-card h3 {
  min-height: 68px;
  font-size: 25px;
  font-weight: 680;
}
.products .product-index {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: rgba(234,248,253,.72);
}
.industry-grid {
  gap: 18px;
}
.industry-grid .solution {
  min-height: 258px;
  padding: 30px;
  overflow: hidden;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.industry-grid .solution:hover {
  transform: translateY(-2px);
  border-color: rgba(0,119,184,.2) !important;
  box-shadow: 0 18px 42px rgba(19,41,64,.075);
}
.industry-grid .solution h3 {
  margin-top: 18px;
  font-size: 22px;
  line-height: 1.35;
  font-weight: 680;
}
.industry-grid .solution p {
  color: #526474;
  line-height: 1.78;
}
.case-panel {
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 24px;
  background:
    linear-gradient(135deg, rgba(6,24,38,.98), rgba(8,47,70,.96) 58%, rgba(0,94,128,.92));
  box-shadow: 0 28px 76px rgba(6,24,38,.19);
}
.case-panel .eyebrow {
  color: rgba(154,226,248,.92);
}
.case-copy h2 {
  font-size: clamp(30px, 3.35vw, 42px);
  letter-spacing: -0.03em;
}
.case-copy p {
  color: rgba(255,255,255,.72);
}
.metric-grid {
  gap: 12px;
}
.metric-grid div {
  min-height: 142px;
  border-radius: 16px;
  background: rgba(255,255,255,.075);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}
.metric-grid strong {
  font-weight: 720;
}
.trust-row {
  gap: 18px;
}
.trust-item {
  position: relative;
  min-height: 232px;
  padding: 32px;
  overflow: hidden;
}
.trust-item h3 {
  margin-top: 16px;
  font-size: 23px;
  font-weight: 680;
}
.trust-item p {
  color: #526474;
  line-height: 1.82;
}
.contact-inner {
  border-radius: 24px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.9), rgba(246,250,252,.86));
}
.lead-capture {
  border-radius: 20px;
  background: rgba(255,255,255,.84);
  box-shadow: 0 18px 48px rgba(20,45,70,.08);
}
.lead-form input,
.lead-form button {
  border-radius: 12px;
}
@media (max-width: 1120px) {
  .issue-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .products .product-list { grid-template-columns: 1fr; }
  .industry-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .case-panel { border-radius: 22px; }
}
@media (max-width: 720px) {
  .section { padding: 82px 0; }
  .statement h2,
  .section-title h2,
  .case-copy h2,
  .contact h2 { font-size: clamp(30px, 9vw, 38px); }
  .section-title p,
  .statement p,
  .case-copy p { font-size: 16px; }
  .issue-grid,
  .foundation-grid,
  .industry-grid,
  .metric-grid { grid-template-columns: 1fr; }
  .issue,
  .foundation,
  .products .product-card,
  .industry-grid .solution,
  .trust-item { border-radius: 16px; padding: 24px; min-height: auto; }
  .case-panel,
  .contact-inner { border-radius: 20px; padding: 30px 24px; }
  .lead-capture { border-radius: 18px; }
}

/* Mobile lead bar final override */
@media (max-width: 720px) {
  body { padding-bottom: 344px; }
  .lead-capture {
    left: 12px;
    right: 12px;
    bottom: 10px;
    width: auto;
    min-height: 0;
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 14px;
    border-radius: 18px;
    transform: none;
  }
  .lead-capture::before { border-radius: 17px; }
  .lead-capture-copy span { margin-bottom: 3px; font-size: 11px; }
  .lead-capture-copy strong { font-size: 16px; line-height: 1.32; }
  .lead-form {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .lead-form label { gap: 3px; }
  .lead-form label span { font-size: 11px; }
  .lead-form input,
  .lead-form button {
    width: 100%;
    height: 40px;
    border-radius: 12px;
  }
  .lead-message {
    position: static;
    margin: -2px 0 0;
  }
}

/* Detail polish: keep key homepage sections within comfortable viewport height */
.platform {
  padding-top: 92px;
  padding-bottom: 84px;
}
.platform .section-title {
  max-width: 920px;
  margin-bottom: 30px;
}
.platform .section-title h2 {
  font-size: clamp(32px, 3.25vw, 43px);
  line-height: 1.14;
  margin-bottom: 12px;
}
.platform .section-title p {
  max-width: 780px;
  font-size: 16px;
  line-height: 1.72;
}
.platform .capability-bridge {
  gap: 14px;
  margin: 0 0 18px;
}
.platform .capability-bridge div {
  min-height: 172px;
  padding: 20px 22px;
  border-radius: 16px;
}
.platform .capability-bridge span {
  margin-bottom: 10px;
  padding: 5px 9px;
}
.platform .capability-bridge strong {
  margin-bottom: 6px;
  font-size: 21px;
}
.platform .capability-bridge p {
  font-size: 14px;
  line-height: 1.58;
}
.platform .capability-step {
  grid-template-columns: 38px 1fr;
  column-gap: 14px;
}
.platform .step-symbol {
  width: 38px;
  height: 38px;
  border-radius: 11px;
}
.platform .foundation-grid {
  gap: 18px;
  margin-top: 18px;
}
.platform .foundation {
  min-height: 0;
  padding: 28px;
  border-radius: 18px;
}
.platform .foundation h3 {
  margin: 14px 0 10px;
  font-size: 27px;
  line-height: 1.18;
}
.platform .foundation p {
  font-size: 14.5px;
  line-height: 1.62;
}
.platform .foundation ul {
  gap: 8px;
  margin-top: 18px;
}
.platform .foundation li {
  padding: 9px 12px;
  border-radius: 10px;
  font-size: 14px;
}
.solutions {
  padding-top: 92px;
  padding-bottom: 90px;
}
.solutions .section-title {
  margin-bottom: 34px;
}
.solutions .section-title h2 {
  font-size: clamp(32px, 3.25vw, 43px);
  line-height: 1.14;
}
.solutions .section-title p {
  font-size: 16px;
  line-height: 1.72;
}
.industry-grid {
  gap: 16px;
}
.industry-grid .solution {
  min-height: 224px;
  padding: 26px;
  border-radius: 16px;
}
.industry-grid .solution::after {
  left: 24px;
  right: 24px;
}
.industry-grid .solution h3 {
  margin: 15px 0 10px;
  font-size: 21px;
  line-height: 1.32;
}
.industry-grid .solution p {
  font-size: 14.5px;
  line-height: 1.68;
}
.problem {
  padding-top: 88px;
  padding-bottom: 92px;
}
.problem .issue-grid {
  margin-top: 42px;
}
.problem .statement {
  margin-top: 42px;
}
.problem .statement h2 {
  font-size: clamp(30px, 3.2vw, 42px);
}
@media (min-width: 1121px) and (max-height: 860px) {
  .hero { min-height: 760px; padding-top: 116px; }
  .concept-visual { transform: scale(.94); transform-origin: center right; }
  .platform { padding-top: 78px; padding-bottom: 72px; }
  .solutions { padding-top: 78px; padding-bottom: 76px; }
  .products { padding-top: 92px; padding-bottom: 92px; }
  .case, .trust { padding-top: 86px; padding-bottom: 86px; }
}
@media (max-width: 1120px) {
  .platform,
  .solutions,
  .problem { padding-top: 82px; padding-bottom: 82px; }
  .platform .foundation-grid { grid-template-columns: 1fr; }
  .platform .capability-bridge { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .platform,
  .solutions,
  .problem { padding-top: 72px; padding-bottom: 72px; }
  .platform .section-title h2,
  .solutions .section-title h2 { font-size: clamp(28px, 8.5vw, 36px); }
  .platform .capability-bridge div,
  .platform .foundation,
  .industry-grid .solution { padding: 22px; }
  .platform .foundation h3,
  .industry-grid .solution h3 { font-size: 22px; }
}

/* Platform refinement: remove placeholder symbol bulk for better screen fit */
.platform .capability-step {
  display: block;
}
.platform .capability-step .step-symbol {
  display: none;
}
.platform .capability-bridge div {
  min-height: 146px;
}
.platform .capability-bridge strong,
.platform .capability-bridge p {
  grid-column: auto;
}
.platform .capability-bridge div::after {
  content: "";
  position: absolute;
  right: 22px;
  top: 22px;
  width: 38px;
  height: 38px;
  border: 1px solid rgba(0,119,184,.12);
  border-radius: 14px;
  background:
    radial-gradient(circle at 50% 50%, rgba(0,119,184,.2) 0 3px, transparent 4px),
    linear-gradient(135deg, rgba(234,248,253,.9), rgba(255,255,255,.32));
}
.platform .step-execution::after {
  background:
    linear-gradient(90deg, transparent 34%, rgba(0,119,184,.28) 34% 40%, transparent 40% 60%, rgba(0,119,184,.28) 60% 66%, transparent 66%),
    linear-gradient(135deg, rgba(234,248,253,.9), rgba(255,255,255,.32));
}

/* Mobile display polish: headline first, compact persistent lead bar */
@media (max-width: 720px) {
  body { padding-bottom: 238px; }
  .hero {
    grid-template-columns: 1fr;
    gap: 22px;
    min-height: auto;
    padding-top: 96px;
  }
  .hero-copy { order: 0; }
  .hero-system {
    order: 1;
    min-height: 350px;
  }
  .concept-visual {
    height: 350px;
    transform: none;
  }
  .concept-core {
    width: min(82vw, 300px);
    min-height: 132px;
    padding: 24px 22px;
  }
  .concept-core strong { font-size: 28px; }
  .concept-core small { font-size: 12px; }
  .touchpoint-strip {
    width: min(86vw, 320px);
    top: 16px;
    gap: 8px;
    padding: 8px 10px;
  }
  .touchpoint-strip span {
    font-size: 10px;
  }
  .logic-base {
    grid-template-columns: repeat(3, 1fr);
    left: 16px;
    right: 16px;
    bottom: 18px;
    gap: 8px;
  }
  .concept-node {
    min-height: 64px;
    padding: 10px 8px;
    border-radius: 14px;
  }
  .concept-node b { font-size: 18px; margin-left: 0; text-align: center; }
  .concept-node p { margin-left: 0; font-size: 10px; text-align: center; white-space: normal; }
  .lead-capture {
    left: 12px;
    right: 12px;
    bottom: 10px;
    width: auto;
    min-height: 0;
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 12px;
    border-radius: 18px;
    transform: none;
  }
  .lead-capture-copy span { margin-bottom: 2px; font-size: 10px; }
  .lead-capture-copy strong { font-size: 15px; line-height: 1.28; }
  .lead-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
  }
  .lead-form label { gap: 3px; }
  .lead-form label span { font-size: 10px; }
  .lead-form input,
  .lead-form button {
    height: 37px;
    min-width: 0;
    border-radius: 11px;
    font-size: 12px;
    padding: 0 10px;
  }
  .lead-form button {
    width: 100%;
    padding: 0 8px;
  }
  .lead-message { position: static; margin: -2px 0 0; font-size: 11px; }
}
@media (max-width: 360px) {
  body { padding-bottom: 300px; }
  .lead-form { grid-template-columns: 1fr; }
  .lead-form input,
  .lead-form button { height: 38px; }
}

/* Desktop title line control */
@media (min-width: 1121px) {
  .problem-bridge h2,
  .problem-conclusion h2,
  .section-title h2,
  .contact h2 {
    max-width: none;
    white-space: nowrap;
    font-size: clamp(30px, 3vw, 42px);
    letter-spacing: -0.032em;
  }
  .case-copy h2 {
    white-space: normal;
    font-size: clamp(30px, 3.15vw, 40px);
  }
}
@media (max-width: 1120px) {
  .problem-bridge h2,
  .problem-conclusion h2,
  .section-title h2,
  .contact h2,
  .case-copy h2 {
    white-space: normal;
  }
}

/* Problem section title should sit directly on the page background */
.problem-bridge {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* Hero final refinement: premium but display-safe */
.hero {
  min-height: min(820px, calc(100vh - 12px));
  padding-top: 118px;
  padding-bottom: 116px;
  grid-template-columns: minmax(500px, .95fr) minmax(540px, 1.05fr);
  gap: 54px;
}
.hero .eyebrow {
  margin-bottom: 20px;
  color: #42586a;
  font-size: 12px;
  font-weight: 680;
  letter-spacing: .08em;
  text-transform: none;
}
.hero h1 {
  max-width: 620px;
  margin-bottom: 26px;
  font-size: clamp(48px, 5vw, 66px);
  line-height: 1.08;
  font-weight: 720;
  letter-spacing: -0.045em;
}
.hero-lead {
  max-width: 600px;
  color: #4d6172;
  font-size: clamp(17px, 1.55vw, 20px);
  line-height: 1.84;
}
.hero-actions {
  margin-top: 34px;
}
.hero-concept-system {
  min-height: 560px;
}
.concept-visual {
  height: 560px;
  filter: saturate(.98);
}
.concept-visual::before {
  inset: 18px 8px 18px;
  background:
    radial-gradient(circle at 50% 48%, rgba(0, 183, 232, .15), transparent 15rem),
    radial-gradient(circle at 50% 48%, rgba(255,255,255,.98), rgba(255,255,255,0) 28rem);
}
.concept-visual::after {
  width: 520px;
  height: 520px;
  border-color: rgba(0, 119, 184, .085);
  opacity: .82;
  background-size: 48px 48px;
}
.concept-flow {
  inset: 20px -24px 0;
  opacity: .64;
}
.concept-flow path {
  stroke-width: 1.4;
  stroke-dasharray: 7 14;
}
.concept-core {
  top: 47%;
  width: 390px;
  padding: 38px 36px;
  border-color: rgba(0, 119, 184, .12);
  background: rgba(255,255,255,.9);
  box-shadow: 0 28px 82px rgba(0, 92, 138, .12), inset 0 1px 0 rgba(255,255,255,.95);
}
.concept-core::before {
  inset: -42px;
  border-color: rgba(0,119,184,.105);
}
.concept-core::after {
  inset: -78px;
  border-color: rgba(0,119,184,.095);
}
.concept-core span {
  margin-bottom: 12px;
  color: #748897;
  font-size: 10px;
  font-weight: 720;
  letter-spacing: .1em;
}
.concept-core strong {
  margin-bottom: 10px;
  font-size: 40px;
  font-weight: 680;
  letter-spacing: -0.035em;
}
.concept-core small {
  color: #41586a;
  font-size: 13px;
  font-weight: 650;
}
.input-flow {
  top: 34px;
  padding: 7px;
  border-color: rgba(0,119,184,.07);
  background: rgba(255,255,255,.64);
  box-shadow: 0 14px 34px rgba(20,45,70,.05);
}
.input-flow span {
  min-width: 72px;
  height: 30px;
  color: #52697a;
  font-size: 11px;
  font-weight: 650;
}
.logic-base {
  bottom: 38px;
  width: min(500px, calc(100% - 56px));
  gap: 8px;
  padding: 8px;
  border-color: rgba(0,119,184,.075);
  background: rgba(255,255,255,.54);
  box-shadow: 0 18px 46px rgba(20,45,70,.07);
}
.logic-base::before {
  height: 58px;
  opacity: .68;
}
.logic-base .concept-node {
  min-height: 76px;
  border-radius: 16px;
  background: rgba(255,255,255,.76);
  box-shadow: none;
}
.logic-base .concept-node b {
  margin-top: 10px;
  font-size: 20px;
}
.logic-base .concept-node p {
  color: #657786;
  font-size: 10px;
  font-weight: 600;
}
.lead-capture {
  min-height: 78px;
  bottom: 16px;
  border-color: rgba(7,23,35,.075) !important;
  background: rgba(255,255,255,.84);
  box-shadow: 0 16px 42px rgba(20,45,70,.075);
}
.lead-capture:hover {
  box-shadow: 0 20px 54px rgba(20,45,70,.105);
}
.lead-capture-copy strong {
  font-size: 16px;
}
@media (min-width: 1121px) and (max-height: 860px) {
  .hero {
    min-height: 760px;
    padding-top: 104px;
    padding-bottom: 92px;
  }
  .hero h1 { font-size: clamp(46px, 4.6vw, 60px); }
  .hero-lead { font-size: 17px; line-height: 1.76; }
  .concept-visual { height: 520px; transform: none; }
  .hero-concept-system { min-height: 520px; }
}
@media (max-width: 1120px) {
  .hero {
    min-height: auto;
    grid-template-columns: 1fr;
    padding-top: 104px;
    padding-bottom: 86px;
  }
}
@media (max-width: 720px) {
  .hero {
    gap: 20px;
    padding-top: 94px;
    padding-bottom: 70px;
  }
  .hero h1 {
    max-width: 340px;
    margin-bottom: 20px;
    font-size: clamp(38px, 11.2vw, 48px);
    line-height: 1.12;
  }
  .hero-lead {
    max-width: 342px;
    font-size: 16px;
    line-height: 1.78;
  }
  .hero-actions {
    gap: 10px;
    margin-top: 26px;
  }
  .hero-system {
    min-height: 328px;
  }
  .concept-visual {
    height: 328px;
  }
  .concept-flow {
    inset: 28px -80px 0;
    width: calc(100% + 160px);
    opacity: .5;
  }
  .concept-core {
    top: 48%;
    width: min(82vw, 300px);
    min-height: 122px;
    padding: 22px 18px;
    border-radius: 28px;
  }
  .concept-core::before { inset: -20px; }
  .concept-core::after { inset: -46px; }
  .concept-core span { margin-bottom: 9px; font-size: 9px; }
  .concept-core strong { font-size: 27px; }
  .concept-core small { font-size: 11px; }
  .input-flow {
    top: 12px;
    left: 12px;
    right: 12px;
    width: auto;
    padding: 6px;
  }
  .input-flow span {
    min-width: 0;
    height: 28px;
    padding: 0 4px;
    font-size: 10px;
  }
  .logic-base {
    left: 12px;
    right: 12px;
    bottom: 12px;
    width: auto;
    gap: 6px;
    padding: 6px;
  }
  .logic-base::before { height: 34px; }
  .logic-base .concept-node {
    min-height: 56px;
    padding: 9px 6px;
    border-radius: 13px;
  }
  .logic-base .concept-node b { margin-top: 8px; font-size: 16px; }
  .logic-base .concept-node p { font-size: 9px; line-height: 1.25; }
}

/* Mid-page card polish: consistent symbols, density, and rhythm */
.issue,
.products .product-card,
.industry-grid .solution,
.trust-item {
  background:
    linear-gradient(180deg, rgba(255,255,255,.88), rgba(255,255,255,.72));
  border-color: rgba(7,23,35,.078) !important;
  box-shadow: 0 10px 30px rgba(19,41,64,.045);
}
.issue:hover,
.products .product-card:hover,
.industry-grid .solution:hover,
.trust-item:hover {
  border-color: rgba(0,119,184,.16) !important;
  box-shadow: 0 16px 40px rgba(19,41,64,.065);
}
.issue-icon {
  width: 50px;
  height: 50px;
  margin-bottom: 22px;
  border-radius: 16px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.9), rgba(234,248,253,.62));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.96), 0 10px 24px rgba(0,119,184,.06);
}
.issue-icon svg {
  width: 32px;
  height: 32px;
  stroke-width: 1.75;
}
.issue h3 {
  margin-top: 12px;
  margin-bottom: 10px;
  font-size: 22px;
  line-height: 1.28;
}
.issue p {
  font-size: 14.5px;
  line-height: 1.7;
}
.products .product-card {
  min-height: 302px;
  padding: 28px;
}
.products .product-card::before,
.industry-grid .solution::after,
.trust-item::after,
.issue::after,
.foundation::before {
  height: 2px;
  background: linear-gradient(90deg, rgba(0,119,184,.56), rgba(22,168,216,.04));
}
.products .product-index {
  color: #0077b8;
  font-size: 13px;
  font-weight: 760;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.94);
}
.products .product-card h3 {
  min-height: 62px;
  font-size: 24px;
  line-height: 1.24;
}
.products .product-card p:not(.product-meta) {
  font-size: 14.5px;
  line-height: 1.7;
}
.industry-grid .solution span,
.product-meta,
.foundation-label,
.issue span {
  color: #0077b8 !important;
}
.industry-grid .solution {
  min-height: 218px;
}
.trust-item {
  min-height: 214px;
}
.trust-item h3 {
  margin-top: 14px;
  margin-bottom: 10px;
  font-size: 22px;
}
.trust-item p {
  font-size: 14.5px;
  line-height: 1.74;
}
.case-panel {
  overflow: hidden;
  position: relative;
}
.case-panel::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(255,255,255,.055) 1px, transparent 1px),
    linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: linear-gradient(90deg, transparent, #000 18%, #000 82%, transparent);
  opacity: .35;
}
.case-panel > * {
  position: relative;
  z-index: 1;
}
.metric-grid div {
  transition: transform .18s ease, background .18s ease, border-color .18s ease;
}
.metric-grid div:hover {
  transform: translateY(-2px);
  border-color: rgba(255,255,255,.2);
  background: rgba(255,255,255,.105);
}
@media (max-width: 720px) {
  .issue-icon { width: 46px; height: 46px; margin-bottom: 18px; }
  .issue h3,
  .products .product-card h3,
  .industry-grid .solution h3,
  .trust-item h3 { font-size: 21px; }
  .products .product-card h3 { min-height: 0; }
  .case-panel::after { background-size: 52px 52px; }
}

/* Final homepage refinement: quiet premium finish and display stability */
:root {
  --lk-ink: #071723;
  --lk-muted: #5d6e7c;
  --lk-line: rgba(7, 23, 35, .075);
  --lk-blue: #0077b8;
  --lk-cyan: #16a8d8;
  --lk-surface: rgba(255, 255, 255, .78);
}

body {
  color: var(--lk-ink);
  background:
    radial-gradient(circle at 15% 0%, rgba(22,168,216,.115), transparent 30%),
    radial-gradient(circle at 85% 12%, rgba(0,119,184,.075), transparent 34%),
    linear-gradient(180deg, #f8fbfd 0%, #ffffff 42%, #f7fbfd 100%);
}

body::before {
  opacity: .55;
  background-image:
    linear-gradient(rgba(7,23,35,.028) 1px, transparent 1px),
    linear-gradient(90deg, rgba(7,23,35,.024) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: linear-gradient(180deg, #000 0%, rgba(0,0,0,.55) 46%, transparent 100%);
}

.site-header {
  border-bottom-color: rgba(7,23,35,.055);
  background: rgba(255,255,255,.76);
  box-shadow: 0 10px 36px rgba(14,37,56,.045);
  backdrop-filter: blur(18px) saturate(145%);
}

.logo-mark {
  box-shadow: 0 10px 24px rgba(0,119,184,.13), inset 0 1px 0 rgba(255,255,255,.55);
}

.nav-links a {
  color: rgba(7,23,35,.68);
}

.nav-links a:hover {
  color: var(--lk-ink);
  background: rgba(0,119,184,.055);
}

.button {
  min-height: 46px;
  border-radius: 999px;
  font-weight: 720;
  letter-spacing: 0;
  box-shadow: none;
}

.button.primary {
  background: linear-gradient(135deg, #075f9b 0%, #0782bd 58%, #18a9d7 100%);
  box-shadow: 0 14px 30px rgba(0,119,184,.18);
}

.button.primary:hover {
  transform: translateY(-1px);
  box-shadow: 0 18px 38px rgba(0,119,184,.23);
}

.button.secondary {
  color: #123145;
  border-color: rgba(7,23,35,.13);
  background: rgba(255,255,255,.66);
}

.button.secondary:hover {
  border-color: rgba(0,119,184,.22);
  background: rgba(255,255,255,.86);
}

.section {
  position: relative;
}

.section-kicker {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  height: 28px;
  padding: 0 11px;
  border: 1px solid rgba(0,119,184,.12);
  border-radius: 999px;
  color: #086b9f !important;
  background: rgba(255,255,255,.58);
  box-shadow: 0 8px 22px rgba(0,119,184,.04);
  font-size: 12px;
  font-weight: 760;
  line-height: 1;
}

.section-kicker::before {
  content: "";
  width: 5px;
  height: 5px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--lk-blue), var(--lk-cyan));
  box-shadow: 0 0 0 4px rgba(0,119,184,.07);
}

.section-title h2,
.problem-bridge h2,
.case-copy h2,
.contact h2 {
  color: #071723;
  letter-spacing: 0;
  text-wrap: balance;
}

.section-title p,
.problem-bridge p,
.case-copy p,
.contact p {
  color: var(--lk-muted);
}

.problem-bridge .section-kicker,
.problem .section-kicker {
  background: rgba(255,255,255,.42);
}

.issue,
.capability-card,
.foundation,
.products .product-card,
.industry-grid .solution,
.trust-item {
  border-radius: 22px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.70));
  box-shadow:
    0 1px 0 rgba(255,255,255,.92) inset,
    0 18px 48px rgba(17,39,58,.055);
}

.issue:hover,
.capability-card:hover,
.foundation:hover,
.products .product-card:hover,
.industry-grid .solution:hover,
.trust-item:hover {
  transform: translateY(-2px);
  box-shadow:
    0 1px 0 rgba(255,255,255,.96) inset,
    0 22px 58px rgba(17,39,58,.075);
}

.issue-icon,
.capability-icon,
.product-index {
  color: var(--lk-blue);
  border: 1px solid rgba(0,119,184,.10);
  background:
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(235,249,253,.74));
}

.capability-icon {
  box-shadow: inset 0 1px 0 rgba(255,255,255,.96), 0 12px 28px rgba(0,119,184,.06);
}

.foundation {
  overflow: hidden;
}

.foundation::after {
  content: "";
  position: absolute;
  right: -72px;
  top: -88px;
  width: 190px;
  height: 190px;
  border-radius: 999px;
  border: 1px solid rgba(0,119,184,.08);
  background: radial-gradient(circle, rgba(22,168,216,.12), transparent 68%);
  pointer-events: none;
}

.product-meta,
.industry-grid .solution span,
.foundation-label,
.issue span {
  letter-spacing: 0;
  font-weight: 760;
}

.industry-grid .solution h3,
.products .product-card h3,
.trust-item h3,
.foundation h3,
.capability-card h3,
.issue h3 {
  color: #0a1f2d;
  letter-spacing: 0;
  text-wrap: balance;
}

.industry-grid .solution p,
.products .product-card p,
.trust-item p,
.foundation p,
.capability-card p,
.issue p {
  color: #5c6d7a;
}

.industry-grid .solution {
  padding: 25px 25px 24px;
}

.industry-grid .solution span {
  display: inline-flex;
  margin-bottom: 14px;
}

.industry-grid .solution h3 {
  margin-bottom: 11px;
}

.case-panel {
  border-radius: 30px;
  border-color: rgba(255,255,255,.12);
  background:
    radial-gradient(circle at 82% 20%, rgba(22,168,216,.28), transparent 34%),
    linear-gradient(135deg, #071723 0%, #0b3146 52%, #075f9b 100%);
  box-shadow: 0 28px 82px rgba(7,23,35,.19);
}

.metric-grid div {
  border-color: rgba(255,255,255,.13);
  background: rgba(255,255,255,.075);
  backdrop-filter: blur(12px);
}

.metric-grid strong {
  letter-spacing: 0;
}

.contact-card {
  border-color: rgba(7,23,35,.075);
  background:
    radial-gradient(circle at 80% 20%, rgba(22,168,216,.13), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.88), rgba(255,255,255,.72));
  box-shadow: 0 24px 74px rgba(17,39,58,.08);
}

.lead-capture {
  backdrop-filter: blur(22px) saturate(150%);
}

.lead-capture input {
  border-color: rgba(7,23,35,.09);
  background: rgba(255,255,255,.86);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.92);
}

.lead-capture input:focus {
  border-color: rgba(0,119,184,.34);
  box-shadow: 0 0 0 4px rgba(0,119,184,.08);
}

@media (min-width: 1121px) {
  .problem .section-kicker,
  .platform .section-kicker,
  .products .section-kicker,
  .solutions .section-kicker,
  .trust .section-kicker {
    margin-bottom: 18px;
  }

  .problem-bridge h2,
  .section-title h2 {
    white-space: nowrap;
  }

  .industry-grid {
    gap: 16px;
  }

  .trust-row {
    gap: 16px;
  }
}

@media (max-width: 720px) {
  body::before {
    background-size: 48px 48px;
  }

  .site-header {
    background: rgba(255,255,255,.86);
  }

  .section-kicker {
    height: 27px;
    padding: 0 10px;
    font-size: 11px;
  }

  .issue,
  .capability-card,
  .foundation,
  .products .product-card,
  .industry-grid .solution,
  .trust-item {
    border-radius: 18px;
  }

  .button {
    min-height: 44px;
  }
}

/* Final containment pass: prevent decorative layers from making sections feel loose */
.hero,
.hero-system,
.concept-visual,
.concept-core,
.foundation,
.products .product-card,
.issue,
.capability-card,
.industry-grid .solution,
.trust-item,
.contact-card {
  overflow: hidden;
}

.concept-core {
  width: min(400px, calc(100% - 96px));
}

.foundation::after {
  right: -92px;
  top: -104px;
}

.products .product-card {
  word-break: normal;
}

.products .product-card h3,
.foundation h3,
.industry-grid .solution h3 {
  overflow-wrap: break-word;
}

@media (min-width: 1121px) and (max-width: 1320px) {
  .section-title h2,
  .problem-bridge h2 {
    font-size: clamp(36px, 3.25vw, 44px);
  }

  .products .product-card {
    padding: 25px 23px;
  }

  .products .product-card h3 {
    font-size: 22px;
  }
}

/* Case section dark panel text override */
.case-panel .eyebrow {
  color: rgba(154,226,248,.92) !important;
}

.case-panel .case-copy h2 {
  color: #ffffff !important;
}

.case-panel .case-copy p {
  color: rgba(255,255,255,.74) !important;
}

.case-panel .metric-grid strong {
  color: #ffffff !important;
}

.case-panel .metric-grid span {
  color: rgba(255,255,255,.72) !important;
}

/* Hero copy after removing eyebrow label */
.hero-copy h1 {
  margin-top: 0;
}

@media (min-width: 1121px) {
  .hero-copy {
    padding-top: 8px;
  }
}

/* Hero concept visual: premium asset-system treatment */
.hero-concept-system {
  perspective: 1200px;
}

.concept-visual {
  isolation: isolate;
  overflow: visible;
}

.concept-visual::before {
  inset: 18px -8px 8px;
  border-radius: 44px;
  background:
    radial-gradient(circle at 50% 46%, rgba(255,255,255,.98) 0 10%, rgba(255,255,255,.72) 24%, transparent 58%),
    radial-gradient(circle at 50% 48%, rgba(22,168,216,.18), transparent 34%),
    radial-gradient(circle at 28% 30%, rgba(0,119,184,.075), transparent 26%),
    radial-gradient(circle at 78% 66%, rgba(22,168,216,.095), transparent 30%);
  filter: blur(.1px);
  opacity: .96;
}

.concept-visual::after {
  width: 560px;
  height: 560px;
  border: 1px solid rgba(0,119,184,.07);
  background:
    conic-gradient(from 210deg, transparent, rgba(0,119,184,.12), transparent 34%, rgba(22,168,216,.10), transparent 70%),
    radial-gradient(circle, transparent 0 53%, rgba(255,255,255,.66) 54% 55%, transparent 56%);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.72),
    0 30px 80px rgba(0,119,184,.055);
  opacity: .86;
}

.concept-flow {
  inset: 24px -30px 0;
  width: calc(100% + 60px);
  opacity: .72;
  mix-blend-mode: multiply;
}

.concept-flow path {
  stroke-width: 1.05;
  stroke-dasharray: none;
  opacity: .52;
  filter: drop-shadow(0 0 10px rgba(22,168,216,.16));
}

.concept-core {
  top: 47%;
  width: min(376px, calc(100% - 116px));
  min-height: 188px;
  padding: 34px 34px 32px;
  border: 1px solid rgba(255,255,255,.86);
  border-radius: 34px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.94), rgba(255,255,255,.70)),
    radial-gradient(circle at 50% 0%, rgba(22,168,216,.16), transparent 62%);
  box-shadow:
    0 32px 90px rgba(17,60,86,.12),
    0 1px 0 rgba(255,255,255,.96) inset,
    0 -1px 0 rgba(0,119,184,.055) inset;
  backdrop-filter: blur(22px) saturate(150%);
}

.concept-core::before {
  inset: -44px;
  border: 1px solid rgba(0,119,184,.075);
  border-radius: 999px;
  background:
    radial-gradient(circle, rgba(255,255,255,.38), transparent 54%);
  box-shadow: 0 0 0 26px rgba(255,255,255,.16);
}

.concept-core::after {
  inset: -96px;
  border: 1px solid rgba(0,119,184,.055);
  border-radius: 999px;
  background:
    radial-gradient(circle at 50% 50%, transparent 0 55%, rgba(22,168,216,.055) 56% 57%, transparent 58%);
  opacity: .9;
}

.concept-core span {
  margin-bottom: 12px;
  color: rgba(7,23,35,.46);
  font-size: 10px;
  font-weight: 760;
  letter-spacing: .16em;
}

.concept-core strong {
  margin-bottom: 11px;
  color: #071723;
  font-size: 38px;
  font-weight: 680;
  letter-spacing: 0;
}

.concept-core small {
  color: rgba(7,23,35,.58);
  font-size: 13px;
  font-weight: 650;
}

.input-flow {
  inset: 0;
  width: auto;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  pointer-events: none;
}

.input-flow::after {
  display: none;
}

.input-flow span {
  position: absolute;
  min-width: auto;
  height: 30px;
  padding: 0 12px;
  border: 1px solid rgba(0,119,184,.105);
  border-radius: 999px;
  color: rgba(7,23,35,.56);
  background: rgba(255,255,255,.58);
  box-shadow:
    0 12px 34px rgba(17,60,86,.055),
    inset 0 1px 0 rgba(255,255,255,.92);
  backdrop-filter: blur(16px) saturate(145%);
  font-size: 11px;
  font-weight: 700;
  line-height: 28px;
}

.input-flow span::before {
  content: "";
  display: inline-block;
  width: 5px;
  height: 5px;
  margin-right: 7px;
  border-radius: 999px;
  background: rgba(0,119,184,.48);
  box-shadow: 0 0 0 4px rgba(0,119,184,.055);
  vertical-align: 1px;
}

.input-flow span:nth-child(1) { left: 72px; top: 74px; }
.input-flow span:nth-child(2) { right: 72px; top: 96px; }
.input-flow span:nth-child(3) { left: 34px; top: 278px; }
.input-flow span:nth-child(4) { right: 42px; top: 304px; }
.input-flow span:nth-child(5) { left: 50%; top: 28px; transform: translateX(-50%); }

.logic-base {
  bottom: 42px;
  width: min(470px, calc(100% - 92px));
  gap: 0;
  padding: 6px;
  border: 1px solid rgba(7,23,35,.065);
  border-radius: 22px;
  background: rgba(255,255,255,.48);
  box-shadow:
    0 18px 50px rgba(17,60,86,.06),
    inset 0 1px 0 rgba(255,255,255,.9);
  backdrop-filter: blur(18px) saturate(145%);
}

.logic-base::before {
  display: none;
}

.logic-base .concept-node {
  min-height: 64px;
  border: 0 !important;
  border-radius: 17px;
  background: transparent;
  box-shadow: none;
}

.logic-base .concept-node + .concept-node {
  border-left: 1px solid rgba(7,23,35,.06) !important;
  border-radius: 0;
}

.logic-base .concept-node::before {
  top: 11px;
  width: 5px;
  height: 5px;
  background: linear-gradient(135deg, rgba(0,119,184,.72), rgba(22,168,216,.58));
  box-shadow: 0 0 0 5px rgba(0,119,184,.045);
}

.logic-base .concept-node b {
  margin-top: 17px;
  color: rgba(7,23,35,.82);
  font-size: 18px;
  font-weight: 680;
}

.logic-base .concept-node p {
  color: rgba(7,23,35,.46);
  font-size: 10px;
  font-weight: 620;
}

@media (min-width: 1121px) and (max-height: 860px) {
  .concept-core {
    min-height: 174px;
    padding: 30px 32px 28px;
  }

  .concept-core strong {
    font-size: 36px;
  }

  .input-flow span:nth-child(3) { top: 250px; }
  .input-flow span:nth-child(4) { top: 270px; }
  .logic-base { bottom: 34px; }
}

@media (max-width: 720px) {
  .concept-visual {
    overflow: hidden;
  }

  .concept-visual::after {
    width: 360px;
    height: 360px;
  }

  .concept-core {
    top: 47%;
    width: min(82vw, 292px);
    min-height: 124px;
    padding: 22px 18px;
    border-radius: 26px;
  }

  .concept-core::before { inset: -22px; }
  .concept-core::after { inset: -52px; }
  .concept-core span { margin-bottom: 8px; font-size: 8px; }
  .concept-core strong { font-size: 26px; }
  .concept-core small { font-size: 10px; }

  .input-flow span {
    height: 25px;
    padding: 0 8px;
    font-size: 9px;
    line-height: 23px;
  }

  .input-flow span::before {
    width: 4px;
    height: 4px;
    margin-right: 5px;
  }

  .input-flow span:nth-child(1) { left: 12px; top: 32px; }
  .input-flow span:nth-child(2) { right: 16px; top: 48px; }
  .input-flow span:nth-child(3) { left: 10px; top: 154px; }
  .input-flow span:nth-child(4) { right: 12px; top: 174px; }
  .input-flow span:nth-child(5) { top: 8px; }

  .logic-base {
    left: 12px;
    right: 12px;
    bottom: 12px;
    width: auto;
    padding: 5px;
    border-radius: 16px;
  }

  .logic-base .concept-node {
    min-height: 50px;
    padding: 8px 4px;
    border-radius: 12px;
  }

  .logic-base .concept-node b {
    margin-top: 13px;
    font-size: 14px;
  }

  .logic-base .concept-node p {
    font-size: 8px;
    line-height: 1.2;
  }
}

/* Hero concept visual cleanup: calm single-focus composition */
.hero-concept-system {
  min-height: 540px;
}

.concept-visual {
  height: 540px;
  overflow: hidden !important;
  border-radius: 44px;
}

.concept-visual::before {
  inset: 22px 6px 14px;
  border-radius: 44px;
  background:
    radial-gradient(circle at 50% 46%, rgba(255,255,255,.98) 0 12%, rgba(255,255,255,.82) 25%, transparent 54%),
    radial-gradient(circle at 50% 47%, rgba(22,168,216,.14), transparent 36%),
    linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,0));
  opacity: .96;
}

.concept-visual::after {
  width: 500px;
  height: 500px;
  border-color: rgba(0,119,184,.055);
  background:
    radial-gradient(circle, transparent 0 55%, rgba(0,119,184,.045) 56%, transparent 57%),
    conic-gradient(from 220deg, transparent, rgba(22,168,216,.08), transparent 36%, rgba(0,119,184,.06), transparent 72%);
  opacity: .72;
}

.concept-flow {
  inset: 64px 0 0;
  width: 100%;
  opacity: .28;
  mix-blend-mode: multiply;
}

.concept-flow path {
  stroke-width: 1;
  stroke-dasharray: none;
  opacity: .42;
  filter: none;
}

.concept-core {
  top: 47%;
  width: min(370px, calc(100% - 128px));
  min-height: 178px;
  padding: 32px 34px 30px;
  border-radius: 32px;
  border: 1px solid rgba(255,255,255,.88);
  background:
    linear-gradient(180deg, rgba(255,255,255,.94), rgba(255,255,255,.76));
  box-shadow:
    0 30px 78px rgba(17,60,86,.105),
    inset 0 1px 0 rgba(255,255,255,.98),
    inset 0 -1px 0 rgba(0,119,184,.045);
}

.concept-core::before {
  inset: -36px;
  border-color: rgba(0,119,184,.06);
  background: transparent;
  box-shadow: none;
}

.concept-core::after {
  inset: -72px;
  border-color: rgba(0,119,184,.045);
  background: transparent;
  opacity: .75;
}

.concept-core span {
  margin-bottom: 11px;
  color: rgba(7,23,35,.42);
  font-size: 10px;
  letter-spacing: .14em;
}

.concept-core strong {
  margin-bottom: 10px;
  font-size: 38px;
  font-weight: 680;
  letter-spacing: 0;
}

.concept-core small {
  color: rgba(7,23,35,.56);
  font-size: 13px;
  font-weight: 650;
}

.input-flow {
  top: 58px !important;
  left: 50% !important;
  right: auto !important;
  bottom: auto !important;
  transform: translateX(-50%) !important;
  z-index: 6;
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: min(470px, calc(100% - 92px));
  gap: 8px;
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}

.input-flow span {
  position: static !important;
  transform: none !important;
  flex: 0 1 auto;
  min-width: 0;
  height: 28px;
  padding: 0 10px;
  border: 1px solid rgba(0,119,184,.085);
  border-radius: 999px;
  color: rgba(7,23,35,.52);
  background: rgba(255,255,255,.56);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.86);
  backdrop-filter: blur(14px) saturate(130%);
  font-size: 10px;
  font-weight: 680;
  line-height: 26px;
  white-space: nowrap;
}

.input-flow span::before {
  width: 4px;
  height: 4px;
  margin-right: 6px;
  opacity: .76;
  box-shadow: none;
}

.logic-base {
  left: 50% !important;
  right: auto !important;
  bottom: 48px;
  transform: translateX(-50%) !important;
  z-index: 6;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  width: min(430px, calc(100% - 110px));
  gap: 0;
  padding: 5px;
  border: 1px solid rgba(7,23,35,.06);
  border-radius: 20px;
  background: rgba(255,255,255,.42);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.84), 0 14px 42px rgba(17,60,86,.045);
  backdrop-filter: blur(16px) saturate(130%);
}

.logic-base .concept-node {
  min-width: 0;
  max-width: none;
  min-height: 58px;
  padding: 10px 8px 8px;
  border: 0 !important;
  border-radius: 15px !important;
  background: transparent !important;
  box-shadow: none !important;
}

.logic-base .concept-node + .concept-node {
  border-left: 1px solid rgba(7,23,35,.055) !important;
  border-radius: 0 !important;
}

.logic-base .concept-node::before {
  top: 10px;
  width: 4px;
  height: 4px;
  background: rgba(0,119,184,.52);
  box-shadow: none;
}

.logic-base .concept-node b {
  margin: 14px 0 3px;
  color: rgba(7,23,35,.78);
  font-size: 17px;
  font-weight: 680;
  line-height: 1;
  text-align: center;
}

.logic-base .concept-node p {
  margin: 0;
  color: rgba(7,23,35,.42);
  font-size: 9px;
  font-weight: 620;
  line-height: 1.2;
  text-align: center;
  white-space: nowrap;
}

@media (min-width: 1121px) and (max-height: 860px) {
  .hero-concept-system { min-height: 500px; }
  .concept-visual { height: 500px; }
  .input-flow { top: 42px !important; }
  .logic-base { bottom: 34px; }
  .concept-core { min-height: 166px; padding: 29px 32px 27px; }
}

@media (max-width: 720px) {
  .hero-concept-system { min-height: 318px; }
  .concept-visual { height: 318px; border-radius: 28px; }
  .concept-visual::after { width: 330px; height: 330px; }
  .concept-flow { inset: 42px -58px 0; width: calc(100% + 116px); opacity: .2; }

  .concept-core {
    top: 47%;
    width: min(78vw, 286px);
    min-height: 118px;
    padding: 20px 18px;
    border-radius: 24px;
  }

  .concept-core::before { inset: -18px; }
  .concept-core::after { inset: -42px; }
  .concept-core span { margin-bottom: 7px; font-size: 8px; }
  .concept-core strong { font-size: 25px; }
  .concept-core small { font-size: 10px; }

  .input-flow {
    top: 14px !important;
    width: calc(100% - 28px);
    gap: 5px;
  }

  .input-flow span {
    height: 23px;
    padding: 0 6px;
    font-size: 8px;
    line-height: 21px;
  }

  .input-flow span::before { display: none; }

  .logic-base {
    bottom: 10px;
    width: calc(100% - 28px);
    padding: 4px;
    border-radius: 15px;
  }

  .logic-base .concept-node {
    min-height: 46px;
    padding: 8px 4px 6px;
  }

  .logic-base .concept-node::before { top: 8px; }
  .logic-base .concept-node b { margin-top: 12px; font-size: 13px; }
  .logic-base .concept-node p { font-size: 8px; white-space: normal; }
}

/* Hero generated image visual */
.hero-image-system {
  position: relative;
  min-height: 540px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: visible;
}

.hero-image-system .concept-visual {
  display: none !important;
}

.hero-generated-visual {
  display: block;
  width: min(720px, 116%);
  max-width: none;
  height: auto;
  margin-left: -8px;
  border: 0;
  border-radius: 0;
  object-fit: contain;
  filter: saturate(.96) contrast(1.02) drop-shadow(0 28px 60px rgba(17,60,86,.08));
  mix-blend-mode: normal;
  opacity: .98;
}

.hero-image-system::before {
  content: "";
  position: absolute;
  inset: 7% -6% 2% -12%;
  z-index: -1;
  background:
    radial-gradient(circle at 58% 46%, rgba(22,168,216,.13), transparent 38%),
    radial-gradient(circle at 42% 54%, rgba(0,119,184,.07), transparent 34%);
  filter: blur(10px);
  opacity: .78;
}

@media (min-width: 1121px) and (max-height: 860px) {
  .hero-image-system {
    min-height: 500px;
  }

  .hero-generated-visual {
    width: min(660px, 112%);
  }
}

@media (max-width: 1120px) {
  .hero-image-system {
    min-height: 420px;
    order: 0;
  }

  .hero-generated-visual {
    width: min(680px, 112vw);
    margin-left: 0;
  }
}

@media (max-width: 720px) {
  .hero-image-system {
    min-height: 280px;
    margin-top: 8px;
  }

  .hero-generated-visual {
    width: min(560px, 126vw);
    transform: translateX(2%);
    filter: saturate(.96) contrast(1.02) drop-shadow(0 18px 40px rgba(17,60,86,.07));
  }
}

/* Hero generated image integration pass */
.hero-image-system {
  overflow: hidden;
  border-radius: 44px;
  background:
    radial-gradient(circle at 56% 47%, rgba(255,255,255,.86), rgba(255,255,255,0) 56%),
    radial-gradient(circle at 64% 50%, rgba(22,168,216,.075), transparent 42%);
}

.hero-image-system::before {
  inset: 0 -12% -4% -18%;
  background:
    radial-gradient(circle at 60% 50%, rgba(22,168,216,.095), transparent 42%),
    radial-gradient(circle at 38% 54%, rgba(255,255,255,.82), transparent 48%);
  filter: blur(18px);
  opacity: .72;
}

.hero-generated-visual {
  width: min(780px, 126%);
  margin-left: -34px;
  transform: translateY(4px);
  opacity: .94;
  filter: saturate(.92) contrast(1.01);
  -webkit-mask-image:
    radial-gradient(ellipse at 58% 52%, #000 0 48%, rgba(0,0,0,.82) 60%, transparent 82%),
    linear-gradient(90deg, transparent 0%, #000 13%, #000 88%, transparent 100%),
    linear-gradient(180deg, transparent 0%, #000 8%, #000 88%, transparent 100%);
  -webkit-mask-composite: source-in;
  mask-image:
    radial-gradient(ellipse at 58% 52%, #000 0 48%, rgba(0,0,0,.82) 60%, transparent 82%),
    linear-gradient(90deg, transparent 0%, #000 13%, #000 88%, transparent 100%),
    linear-gradient(180deg, transparent 0%, #000 8%, #000 88%, transparent 100%);
  mask-composite: intersect;
}

@media (min-width: 1121px) and (max-height: 860px) {
  .hero-generated-visual {
    width: min(710px, 122%);
    margin-left: -26px;
  }
}

@media (max-width: 1120px) {
  .hero-image-system {
    border-radius: 34px;
  }

  .hero-generated-visual {
    width: min(720px, 118vw);
    margin-left: 0;
  }
}

@media (max-width: 720px) {
  .hero-image-system {
    border-radius: 28px;
    background: radial-gradient(circle at 58% 48%, rgba(22,168,216,.06), transparent 58%);
  }

  .hero-generated-visual {
    width: min(620px, 138vw);
    transform: translateX(3%) translateY(0);
    opacity: .94;
  }
}

/* Hero transparent object visual */
.hero-image-system {
  overflow: visible !important;
  border-radius: 0;
  background: transparent;
}

.hero-image-system::before {
  inset: 12% -6% 4% -12%;
  background:
    radial-gradient(circle at 62% 52%, rgba(22,168,216,.12), transparent 38%),
    radial-gradient(circle at 44% 54%, rgba(255,255,255,.74), transparent 42%);
  filter: blur(14px);
  opacity: .7;
}

.hero-generated-visual {
  width: min(740px, 122%);
  margin-left: -26px;
  transform: translateY(2px);
  opacity: .98;
  filter: saturate(.94) contrast(1.02) drop-shadow(0 24px 46px rgba(17,60,86,.06));
  -webkit-mask-image: none !important;
  mask-image: none !important;
  mix-blend-mode: normal;
}

@media (min-width: 1121px) and (max-height: 860px) {
  .hero-generated-visual {
    width: min(680px, 116%);
    margin-left: -18px;
  }
}

@media (max-width: 1120px) {
  .hero-generated-visual {
    width: min(700px, 116vw);
    margin-left: 0;
  }
}

@media (max-width: 720px) {
  .hero-image-system {
    min-height: 300px;
  }

  .hero-generated-visual {
    width: min(620px, 138vw);
    transform: translateX(2%) translateY(0);
  }
}

/* Hero transparent object: edge-spanning layout */
.hero {
  overflow: hidden;
}

.hero-copy {
  position: relative;
  z-index: 3;
}

.hero-image-system {
  z-index: 1;
  min-height: 560px;
  margin-right: calc((50vw - 50%) * -1);
  justify-content: flex-start;
  pointer-events: none;
}

.hero-image-system::before {
  inset: 8% -18% 2% -18%;
  background:
    radial-gradient(circle at 64% 52%, rgba(22,168,216,.13), transparent 38%),
    radial-gradient(circle at 42% 52%, rgba(255,255,255,.82), transparent 46%);
  opacity: .76;
}

.hero-generated-visual {
  width: min(980px, 158%);
  margin-left: -72px;
  transform: translateX(8%) translateY(4px);
  transform-origin: center right;
  filter: saturate(.95) contrast(1.02) drop-shadow(0 26px 52px rgba(17,60,86,.055));
}

@media (min-width: 1360px) {
  .hero-generated-visual {
    width: min(1080px, 168%);
    transform: translateX(10%) translateY(4px);
  }
}

@media (min-width: 1121px) and (max-width: 1280px) {
  .hero-generated-visual {
    width: min(880px, 148%);
    margin-left: -58px;
    transform: translateX(6%) translateY(2px);
  }
}

@media (min-width: 1121px) and (max-height: 860px) {
  .hero-image-system {
    min-height: 510px;
  }

  .hero-generated-visual {
    width: min(900px, 154%);
  }
}

@media (max-width: 1120px) {
  .hero {
    overflow: hidden;
  }

  .hero-image-system {
    margin-right: 0;
    justify-content: center;
    min-height: 390px;
  }

  .hero-generated-visual {
    width: min(780px, 128vw);
    margin-left: 0;
    transform: translateX(3%) translateY(0);
  }
}

@media (max-width: 720px) {
  .hero-image-system {
    min-height: 290px;
  }

  .hero-generated-visual {
    width: min(640px, 142vw);
    transform: translateX(4%) translateY(0);
  }
}

/* Hero N-flow symbol visual */
.hero-image-system {
  min-height: 580px;
  margin-right: calc((50vw - 50%) * -1);
  overflow: visible !important;
}

.hero-image-system::before {
  inset: 4% -18% 0 -8%;
  background:
    radial-gradient(circle at 66% 48%, rgba(0,119,184,.10), transparent 40%),
    radial-gradient(circle at 52% 58%, rgba(22,168,216,.085), transparent 44%),
    linear-gradient(90deg, rgba(255,255,255,.88), rgba(255,255,255,0) 36%);
  filter: blur(16px);
  opacity: .76;
}

.hero-generated-visual {
  width: min(1040px, 170%);
  margin-left: -120px;
  transform: translateX(9%) translateY(0);
  opacity: .97;
  filter: saturate(.96) contrast(1.02) drop-shadow(0 26px 52px rgba(0,88,150,.065));
}

@media (min-width: 1360px) {
  .hero-generated-visual {
    width: min(1160px, 182%);
    margin-left: -150px;
    transform: translateX(10%) translateY(0);
  }
}

@media (min-width: 1121px) and (max-width: 1280px) {
  .hero-generated-visual {
    width: min(940px, 158%);
    margin-left: -108px;
    transform: translateX(7%) translateY(0);
  }
}

@media (min-width: 1121px) and (max-height: 860px) {
  .hero-image-system {
    min-height: 520px;
  }

  .hero-generated-visual {
    width: min(980px, 166%);
    transform: translateX(8%) translateY(-2px);
  }
}

@media (max-width: 1120px) {
  .hero-image-system {
    min-height: 390px;
    margin-right: 0;
  }

  .hero-generated-visual {
    width: min(820px, 136vw);
    margin-left: 0;
    transform: translateX(5%) translateY(0);
  }
}

@media (max-width: 720px) {
  .hero-image-system {
    min-height: 280px;
  }

  .hero-generated-visual {
    width: min(700px, 156vw);
    transform: translateX(6%) translateY(0);
  }
}

/* Hero N-flow display fix */
.hero {
  overflow: hidden !important;
}

.hero-image-system {
  min-height: 540px;
  margin-right: calc((50vw - 50%) * -1);
  overflow: hidden !important;
  justify-content: flex-start;
}

.hero-image-system::before {
  inset: 12% -8% 6% 10%;
  background:
    radial-gradient(circle at 72% 48%, rgba(0,119,184,.10), transparent 38%),
    linear-gradient(90deg, rgba(255,255,255,.92), rgba(255,255,255,.55) 26%, rgba(255,255,255,0) 62%);
  opacity: .78;
}

.hero-generated-visual {
  width: min(860px, 142%);
  max-width: none;
  margin-left: -38px;
  transform: translateX(12%) translateY(8px);
  opacity: .96;
  filter: saturate(.94) contrast(1.01) drop-shadow(0 22px 42px rgba(0,88,150,.05));
}

@media (min-width: 1360px) {
  .hero-generated-visual {
    width: min(960px, 148%);
    margin-left: -52px;
    transform: translateX(13%) translateY(6px);
  }
}

@media (min-width: 1121px) and (max-width: 1280px) {
  .hero-image-system {
    min-height: 510px;
  }

  .hero-generated-visual {
    width: min(780px, 136%);
    margin-left: -24px;
    transform: translateX(11%) translateY(8px);
  }
}

@media (min-width: 1121px) and (max-height: 860px) {
  .hero-image-system {
    min-height: 500px;
  }

  .hero-generated-visual {
    width: min(820px, 140%);
    transform: translateX(12%) translateY(4px);
  }
}

@media (max-width: 1120px) {
  .hero-image-system {
    min-height: 360px;
    margin-right: 0;
    justify-content: center;
    overflow: hidden !important;
  }

  .hero-generated-visual {
    width: min(720px, 118vw);
    margin-left: 0;
    transform: translateX(4%) translateY(0);
  }
}

@media (max-width: 720px) {
  .hero-image-system {
    min-height: 250px;
  }

  .hero-generated-visual {
    width: min(560px, 128vw);
    transform: translateX(5%) translateY(0);
  }
}

/* Hero N-flow cinematic composition */
@media (min-width: 1121px) {
  .hero {
    align-items: start;
    padding-top: 126px;
    padding-bottom: 118px;
  }

  .hero-copy {
    z-index: 5;
    padding-top: 10px;
  }

  .hero h1 {
    margin-bottom: 22px;
  }

  .hero-lead {
    max-width: 570px;
  }

  .hero-actions {
    margin-top: 32px;
  }

  .hero-image-system {
    align-self: stretch;
    min-height: 600px;
    margin-top: -58px;
    margin-left: -210px;
    margin-right: calc((50vw - 50%) * -1);
    overflow: visible !important;
    z-index: 1;
  }

  .hero-image-system::before {
    inset: 10% -8% 2% 0;
    background:
      radial-gradient(circle at 64% 47%, rgba(0,119,184,.11), transparent 39%),
      linear-gradient(90deg, rgba(255,255,255,.82), rgba(255,255,255,.38) 20%, rgba(255,255,255,0) 54%);
    opacity: .8;
  }

  .hero-generated-visual {
    width: min(1110px, 176%);
    margin-left: -180px;
    transform: translateX(7%) translateY(22px);
    opacity: .96;
    filter: saturate(.95) contrast(1.02) drop-shadow(0 24px 46px rgba(0,88,150,.055));
  }
}

@media (min-width: 1360px) {
  .hero-image-system {
    margin-left: -260px;
  }

  .hero-generated-visual {
    width: min(1240px, 190%);
    margin-left: -220px;
    transform: translateX(8%) translateY(18px);
  }
}

@media (min-width: 1121px) and (max-width: 1280px) {
  .hero {
    padding-top: 118px;
  }

  .hero-image-system {
    min-height: 560px;
    margin-top: -42px;
    margin-left: -178px;
  }

  .hero-generated-visual {
    width: min(1000px, 170%);
    margin-left: -150px;
    transform: translateX(6%) translateY(22px);
  }
}

@media (min-width: 1121px) and (max-height: 860px) {
  .hero {
    padding-top: 108px;
    padding-bottom: 104px;
  }

  .hero-image-system {
    min-height: 530px;
    margin-top: -44px;
  }

  .hero-generated-visual {
    width: min(1060px, 178%);
    transform: translateX(7%) translateY(12px);
  }
}

/* Hero N-flow full-bleed staging layer */
@media (min-width: 1121px) {
  .hero {
    position: relative;
    overflow: hidden !important;
    min-height: 820px;
    align-items: center;
    padding-top: 112px;
    padding-bottom: 126px;
  }

  .hero-copy {
    position: relative;
    z-index: 5;
    max-width: 610px;
    padding-top: 0;
  }

  .hero-image-system {
    position: absolute;
    inset: 70px calc((100vw - 100%) / -2) 42px calc((100vw - 100%) / -2);
    z-index: 1;
    display: block;
    min-height: 0;
    margin: 0;
    overflow: visible !important;
    pointer-events: none;
  }

  .hero-image-system::before {
    content: "";
    position: absolute;
    inset: 10% 0 0 22%;
    z-index: -1;
    background:
      radial-gradient(circle at 66% 48%, rgba(0,119,184,.12), transparent 37%),
      radial-gradient(circle at 46% 60%, rgba(22,168,216,.08), transparent 44%),
      linear-gradient(90deg, rgba(255,255,255,.92), rgba(255,255,255,.62) 23%, rgba(255,255,255,0) 56%);
    filter: blur(18px);
    opacity: .82;
  }

  .hero-generated-visual {
    position: absolute;
    right: 0;
    bottom: 12px;
    width: min(1380px, 112vw);
    max-width: none;
    height: auto;
    margin: 0;
    transform: none;
    opacity: .96;
    filter: saturate(.96) contrast(1.02) drop-shadow(0 24px 46px rgba(0,88,150,.055));
  }
}

@media (min-width: 1460px) {
  .hero-generated-visual {
    width: min(1500px, 108vw);
  }
}

@media (min-width: 1121px) and (max-width: 1280px) {
  .hero {
    min-height: 790px;
    padding-top: 104px;
  }

  .hero-generated-visual {
    width: min(1280px, 112vw);
    right: -8px;
    bottom: 22px;
  }
}

@media (min-width: 1121px) and (max-height: 860px) {
  .hero {
    min-height: 760px;
    padding-top: 98px;
    padding-bottom: 110px;
  }

  .hero-image-system {
    inset-top: 58px;
  }

  .hero-generated-visual {
    width: min(1280px, 106vw);
    bottom: 18px;
  }
}

/* Hero full-background N visual mode */
.hero-bg-mode {
  position: relative;
  overflow: hidden !important;
  min-height: 820px;
  isolation: isolate;
}

.hero-bg-visual {
  position: absolute;
  inset: 0 calc((100vw - 100%) / -2);
  z-index: 0;
  width: 100vw;
  height: 100%;
  object-fit: cover;
  object-position: 58% 50%;
  opacity: .96;
  filter: saturate(.98) contrast(1.01);
  pointer-events: none;
}

.hero-bg-mode::before {
  content: "";
  position: absolute;
  inset: 0 calc((100vw - 100%) / -2);
  z-index: 1;
  background:
    linear-gradient(90deg, rgba(255,255,255,.96) 0%, rgba(255,255,255,.88) 28%, rgba(255,255,255,.42) 48%, rgba(255,255,255,0) 72%),
    linear-gradient(180deg, rgba(255,255,255,.52), rgba(255,255,255,0) 32%, rgba(255,255,255,.36) 100%);
  pointer-events: none;
}

.hero-bg-mode .hero-copy {
  position: relative;
  z-index: 3;
  max-width: 610px;
}

.hero-bg-mode .hero-image-system {
  display: none !important;
}

.hero-bg-mode .hero-lead {
  max-width: 575px;
  color: rgba(7,23,35,.72);
}

@media (min-width: 1121px) {
  .hero-bg-mode {
    padding-top: 118px;
    padding-bottom: 126px;
  }
}

@media (min-width: 1460px) {
  .hero-bg-visual {
    object-position: 60% 50%;
  }
}

@media (min-width: 1121px) and (max-width: 1280px) {
  .hero-bg-visual {
    object-position: 62% 50%;
  }

  .hero-bg-mode::before {
    background:
      linear-gradient(90deg, rgba(255,255,255,.97) 0%, rgba(255,255,255,.90) 34%, rgba(255,255,255,.45) 56%, rgba(255,255,255,0) 78%),
      linear-gradient(180deg, rgba(255,255,255,.52), rgba(255,255,255,0) 32%, rgba(255,255,255,.36) 100%);
  }
}

@media (min-width: 1121px) and (max-height: 860px) {
  .hero-bg-mode {
    min-height: 760px;
    padding-top: 106px;
    padding-bottom: 110px;
  }
}

@media (max-width: 1120px) {
  .hero-bg-mode {
    min-height: 760px;
  }

  .hero-bg-visual {
    object-position: 58% 58%;
    opacity: .88;
  }

  .hero-bg-mode::before {
    background:
      linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.88) 34%, rgba(255,255,255,.34) 68%, rgba(255,255,255,.72) 100%);
  }
}

@media (max-width: 720px) {
  .hero-bg-mode {
    min-height: 840px;
  }

  .hero-bg-visual {
    width: 150vw;
    left: -28vw;
    right: auto;
    object-position: 62% 65%;
    opacity: .78;
  }

  .hero-bg-mode::before {
    background:
      linear-gradient(180deg, rgba(255,255,255,.99) 0%, rgba(255,255,255,.93) 42%, rgba(255,255,255,.34) 70%, rgba(255,255,255,.82) 100%);
  }
}

/* Hero to next-section smooth transition */
.hero-bg-mode::after {
  content: "";
  position: absolute;
  left: calc((100vw - 100%) / -2);
  right: calc((100vw - 100%) / -2);
  bottom: -1px;
  z-index: 2;
  height: 190px;
  background:
    linear-gradient(180deg, rgba(248,251,253,0) 0%, rgba(248,251,253,.72) 58%, #f8fbfd 100%);
  pointer-events: none;
}

.hero-bg-mode + .lead-capture {
  z-index: 20;
}

.problem {
  margin-top: -18px;
  background:
    linear-gradient(180deg, #f8fbfd 0%, #ffffff 42%, #f8fbfd 100%);
}

.problem::before {
  content: "";
  position: absolute;
  inset: 0 calc((100vw - 100%) / -2) auto;
  height: 180px;
  z-index: -1;
  background: linear-gradient(180deg, #f8fbfd, rgba(248,251,253,0));
  pointer-events: none;
}

@media (max-width: 720px) {
  .hero-bg-mode::after {
    height: 230px;
    background:
      linear-gradient(180deg, rgba(248,251,253,0) 0%, rgba(248,251,253,.84) 56%, #f8fbfd 100%);
  }

  .problem {
    margin-top: -10px;
  }
}

/* Hero background cleanup: full-bleed, no heavy mask */
.hero-bg-mode {
  width: 100vw !important;
  max-width: none !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding-left: max(24px, calc((100vw - var(--max)) / 2)) !important;
  padding-right: max(24px, calc((100vw - var(--max)) / 2)) !important;
  background: #f8fbfd;
  overflow: hidden !important;
}

.hero-bg-visual {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  width: 100vw !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: 56% 50% !important;
  opacity: 1 !important;
  filter: saturate(.98) contrast(1.01) !important;
}

.hero-bg-mode::before {
  content: "";
  position: absolute;
  inset: 0 !important;
  z-index: 1;
  background:
    linear-gradient(90deg, rgba(255,255,255,.86) 0%, rgba(255,255,255,.62) 22%, rgba(255,255,255,.12) 42%, rgba(255,255,255,0) 62%),
    radial-gradient(ellipse at 18% 38%, rgba(255,255,255,.74) 0%, rgba(255,255,255,.32) 38%, transparent 62%);
  pointer-events: none;
}

.hero-bg-mode::after {
  left: 0 !important;
  right: 0 !important;
  height: 150px;
  z-index: 2;
  background: linear-gradient(180deg, rgba(248,251,253,0) 0%, rgba(248,251,253,.58) 68%, #f8fbfd 100%) !important;
}

.hero-bg-mode .hero-copy {
  position: relative;
  z-index: 4;
}

@media (min-width: 1121px) {
  .hero-bg-mode {
    grid-template-columns: minmax(500px, .78fr) minmax(520px, 1.22fr);
    min-height: 800px;
    padding-top: 116px !important;
    padding-bottom: 116px !important;
  }
}

@media (min-width: 1460px) {
  .hero-bg-visual {
    object-position: 55% 50% !important;
  }
}

@media (min-width: 1121px) and (max-width: 1280px) {
  .hero-bg-visual {
    object-position: 59% 50% !important;
  }
  .hero-bg-mode::before {
    background:
      linear-gradient(90deg, rgba(255,255,255,.90) 0%, rgba(255,255,255,.68) 28%, rgba(255,255,255,.18) 50%, rgba(255,255,255,0) 70%),
      radial-gradient(ellipse at 20% 38%, rgba(255,255,255,.78) 0%, rgba(255,255,255,.36) 42%, transparent 66%);
  }
}

@media (max-width: 1120px) {
  .hero-bg-mode {
    width: min(var(--max), calc(100% - 48px)) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

/* Hero background unification: let the image own the first screen */
body:has(.hero-bg-mode)::before {
  opacity: 0;
}

.hero-bg-mode {
  background: transparent !important;
  box-shadow: none !important;
}

.hero-bg-mode .hero-bg-visual {
  object-fit: cover !important;
  object-position: center center !important;
}

.hero-bg-mode::before {
  background:
    linear-gradient(90deg, rgba(255,255,255,.74) 0%, rgba(255,255,255,.48) 20%, rgba(255,255,255,.08) 42%, rgba(255,255,255,0) 64%) !important;
}

.hero-bg-mode .hero-copy::before {
  content: "";
  position: absolute;
  inset: -52px -36px -42px -42px;
  z-index: -1;
  border-radius: 40px;
  background: radial-gradient(ellipse at 30% 38%, rgba(255,255,255,.78) 0%, rgba(255,255,255,.42) 45%, rgba(255,255,255,0) 72%);
  filter: blur(10px);
  pointer-events: none;
}

.hero-bg-mode::after {
  height: 210px !important;
  background: linear-gradient(180deg, rgba(248,251,253,0) 0%, rgba(248,251,253,.40) 55%, #f8fbfd 100%) !important;
}

@media (min-width: 1121px) {
  .hero-bg-mode {
    min-height: 810px;
  }
}

/* Hero background scale refinement: calmer N proportion */
.hero-bg-visual {
  width: 100vw !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: 50% 50% !important;
  transform: scale(.92) !important;
  transform-origin: center center !important;
}

.hero-bg-mode {
  background: #f8fbfd !important;
}

@media (min-width: 1460px) {
  .hero-bg-visual {
    transform: scale(.90) !important;
    object-position: 50% 50% !important;
  }
}

@media (min-width: 1121px) and (max-width: 1280px) {
  .hero-bg-visual {
    transform: scale(.94) !important;
    object-position: 52% 50% !important;
  }
}

@media (max-width: 1120px) {
  .hero-bg-visual {
    transform: scale(1) !important;
  }
}

/* Hero logo-shaped N background tuning */
.hero-bg-visual {
  transform: none !important;
  object-position: 52% 50% !important;
}

.hero-bg-mode::before {
  background:
    linear-gradient(90deg, rgba(255,255,255,.78) 0%, rgba(255,255,255,.52) 21%, rgba(255,255,255,.10) 43%, rgba(255,255,255,0) 64%) !important;
}

@media (min-width: 1460px) {
  .hero-bg-visual {
    object-position: 51% 50% !important;
  }
}

@media (min-width: 1121px) and (max-width: 1280px) {
  .hero-bg-visual {
    object-position: 55% 50% !important;
  }
}

/* Site background unified with hero visual */
:root {
  --site-bg: #f3f6fb;
  --site-bg-cool: #eef2f7;
  --site-bg-soft: #f8fafc;
}

html {
  background: var(--site-bg);
}

body {
  background:
    radial-gradient(circle at 78% 6%, rgba(22,168,216,.055), transparent 32rem),
    radial-gradient(circle at 12% 18%, rgba(0,119,184,.035), transparent 28rem),
    linear-gradient(180deg, var(--site-bg-cool) 0%, var(--site-bg) 34%, var(--site-bg-soft) 72%, var(--site-bg) 100%) !important;
}

body::before {
  background-image:
    linear-gradient(rgba(7,23,35,.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(7,23,35,.016) 1px, transparent 1px) !important;
  opacity: .42;
}

.home-page::before {
  display: none;
}

.hero-bg-mode {
  background: var(--site-bg-cool) !important;
}

.hero-bg-mode::after {
  background: linear-gradient(180deg, rgba(243,246,251,0) 0%, rgba(243,246,251,.50) 55%, var(--site-bg) 100%) !important;
}

.problem,
.platform,
.products,
.solutions,
.trust,
.contact {
  background: transparent !important;
}

.problem::before {
  background: linear-gradient(180deg, var(--site-bg), rgba(243,246,251,0)) !important;
}

.issue,
.capability-card,
.foundation,
.products .product-card,
.industry-grid .solution,
.trust-item,
.contact-card {
  background:
    linear-gradient(180deg, rgba(255,255,255,.78), rgba(255,255,255,.58)) !important;
  border-color: rgba(7,23,35,.065) !important;
}

.section-kicker {
  background: rgba(255,255,255,.46) !important;
}

.lead-capture {
  background: rgba(255,255,255,.78) !important;
}

.lead-capture::before,
.site-header {
  background: rgba(255,255,255,.70) !important;
}

.case-panel {
  background:
    radial-gradient(circle at 82% 20%, rgba(22,168,216,.28), transparent 34%),
    linear-gradient(135deg, #071723 0%, #0b3146 52%, #075f9b 100%) !important;
}

@media (max-width: 720px) {
  body {
    background:
      radial-gradient(circle at 50% 0%, rgba(22,168,216,.055), transparent 22rem),
      linear-gradient(180deg, var(--site-bg-cool) 0%, var(--site-bg) 42%, var(--site-bg-soft) 100%) !important;
  }
}

/* Hero concept overlay: customer asset hub label */
.hero-concept-overlay {
  position: absolute;
  z-index: 4;
  right: max(42px, calc((100vw - var(--max)) / 2 + 44px));
  top: 43%;
  width: 292px;
  padding: 18px 20px 17px;
  border: 1px solid rgba(255,255,255,.78);
  border-radius: 22px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.62), rgba(255,255,255,.34));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.84),
    0 18px 46px rgba(17,60,86,.07);
  backdrop-filter: blur(18px) saturate(140%);
  pointer-events: none;
}

.hero-concept-overlay::before {
  content: "";
  position: absolute;
  left: -78px;
  top: 50%;
  width: 70px;
  height: 1px;
  background: linear-gradient(90deg, rgba(22,168,216,0), rgba(0,119,184,.36));
}

.hero-concept-overlay span {
  display: block;
  margin-bottom: 8px;
  color: rgba(7,23,35,.42);
  font-size: 10px;
  font-weight: 760;
  letter-spacing: .14em;
}

.hero-concept-overlay strong {
  display: block;
  margin-bottom: 7px;
  color: #071723;
  font-size: 24px;
  font-weight: 720;
  line-height: 1.16;
  letter-spacing: 0;
}

.hero-concept-overlay small {
  display: block;
  color: rgba(7,23,35,.58);
  font-size: 12px;
  font-weight: 650;
  line-height: 1.45;
}

@media (min-width: 1121px) and (max-width: 1280px) {
  .hero-concept-overlay {
    right: 36px;
    top: 45%;
    width: 270px;
  }
}

@media (max-width: 1120px) {
  .hero-concept-overlay {
    display: none;
  }
}

/* Hero concept overlay v2: circular hub embedded in N */
.hero-concept-overlay {
  right: auto !important;
  left: 63.2% !important;
  top: 48.5% !important;
  width: 188px !important;
  height: 188px !important;
  padding: 0 !important;
  transform: translate(-50%, -50%) !important;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,.62) !important;
  background:
    radial-gradient(circle at 50% 38%, rgba(255,255,255,.44), rgba(255,255,255,.16) 58%, rgba(255,255,255,.06) 100%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.62),
    inset 0 -1px 0 rgba(0,119,184,.08),
    0 16px 42px rgba(17,60,86,.045) !important;
  backdrop-filter: blur(8px) saturate(118%) !important;
}

.hero-concept-overlay::before {
  left: 50% !important;
  top: 50% !important;
  width: 238px !important;
  height: 238px !important;
  transform: translate(-50%, -50%) !important;
  border-radius: 999px;
  border: 1px solid rgba(0,119,184,.12);
  background: transparent !important;
  opacity: .72;
}

.hero-concept-overlay::after {
  content: "";
  position: absolute;
  inset: 16px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.48);
  pointer-events: none;
}

.hero-concept-overlay span {
  margin-bottom: 8px !important;
  color: rgba(7,23,35,.42) !important;
  font-size: 8px !important;
  letter-spacing: .12em !important;
}

.hero-concept-overlay strong {
  margin-bottom: 8px !important;
  color: rgba(7,23,35,.78) !important;
  font-size: 21px !important;
  font-weight: 720 !important;
  line-height: 1.12 !important;
}

.hero-concept-overlay small {
  width: 132px;
  color: rgba(7,23,35,.48) !important;
  font-size: 10px !important;
  line-height: 1.45 !important;
  font-weight: 620 !important;
}

@media (min-width: 1460px) {
  .hero-concept-overlay {
    left: 63.8% !important;
    top: 48.5% !important;
  }
}

@media (min-width: 1121px) and (max-width: 1280px) {
  .hero-concept-overlay {
    left: 66% !important;
    top: 49% !important;
    width: 170px !important;
    height: 170px !important;
  }
  .hero-concept-overlay::before {
    width: 214px !important;
    height: 214px !important;
  }
  .hero-concept-overlay strong { font-size: 19px !important; }
  .hero-concept-overlay small { width: 120px; font-size: 9px !important; }
}

/* Hero concept overlay v3: move hub to structural crossing */
.hero-concept-overlay {
  left: 68.8% !important;
  top: 45.8% !important;
  width: 164px !important;
  height: 164px !important;
}

.hero-concept-overlay::before {
  width: 208px !important;
  height: 208px !important;
}

.hero-concept-overlay::after {
  inset: 14px !important;
}

.hero-concept-overlay span {
  margin-bottom: 7px !important;
  font-size: 7px !important;
}

.hero-concept-overlay strong {
  margin-bottom: 7px !important;
  font-size: 19px !important;
}

.hero-concept-overlay small {
  width: 112px !important;
  font-size: 9px !important;
  line-height: 1.42 !important;
}

@media (min-width: 1460px) {
  .hero-concept-overlay {
    left: 68.4% !important;
    top: 45.8% !important;
  }
}

@media (min-width: 1121px) and (max-width: 1280px) {
  .hero-concept-overlay {
    left: 71% !important;
    top: 46.5% !important;
    width: 150px !important;
    height: 150px !important;
  }
  .hero-concept-overlay::before {
    width: 190px !important;
    height: 190px !important;
  }
  .hero-concept-overlay strong { font-size: 17px !important; }
  .hero-concept-overlay small { width: 104px !important; font-size: 8px !important; }
}

/* Hero concept overlay v4: nudge hub right */
.hero-concept-overlay {
  left: 71.2% !important;
}

@media (min-width: 1460px) {
  .hero-concept-overlay {
    left: 70.8% !important;
  }
}

@media (min-width: 1121px) and (max-width: 1280px) {
  .hero-concept-overlay {
    left: 73.2% !important;
  }
}

/* Hero concept overlay v5: center in the N mark */
.hero-concept-overlay {
  left: 73.8% !important;
  top: 47.2% !important;
}

@media (min-width: 1460px) {
  .hero-concept-overlay {
    left: 73.2% !important;
    top: 47.2% !important;
  }
}

@media (min-width: 1121px) and (max-width: 1280px) {
  .hero-concept-overlay {
    left: 75.2% !important;
    top: 47.6% !important;
  }
}

/* Hero touchpoint droplets: aggregation along streams */
.hero-droplet-field {
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
}

.droplet {
  position: absolute;
  display: block;
  width: var(--s);
  height: var(--s);
  border-radius: 999px 999px 999px 58%;
  transform: rotate(var(--r));
  background:
    radial-gradient(circle at 30% 26%, rgba(255,255,255,.92) 0 13%, rgba(255,255,255,.38) 14% 27%, transparent 28%),
    radial-gradient(circle at 58% 64%, rgba(22,168,216,.34), rgba(0,119,184,.18) 45%, rgba(255,255,255,.12) 72%);
  border: 1px solid rgba(255,255,255,.58);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.82),
    inset 0 -8px 18px rgba(0,119,184,.10),
    0 12px 28px rgba(0,119,184,.08);
  opacity: var(--o);
  backdrop-filter: blur(3px) saturate(125%);
}

.droplet::after {
  content: "";
  position: absolute;
  inset: 18% 20% auto auto;
  width: 22%;
  height: 22%;
  border-radius: 999px;
  background: rgba(255,255,255,.72);
  filter: blur(.4px);
}

.d1 { --s: 24px; --r: -18deg; --o: .68; left: 15.2%; top: 70.5%; }
.d2 { --s: 15px; --r: 22deg; --o: .56; left: 24.4%; top: 67.8%; }
.d3 { --s: 34px; --r: -10deg; --o: .62; left: 34.8%; top: 63.4%; }
.d4 { --s: 18px; --r: 18deg; --o: .55; left: 44.2%; top: 60.8%; }
.d5 { --s: 28px; --r: -24deg; --o: .60; left: 55.5%; top: 57.2%; }
.d6 { --s: 13px; --r: 28deg; --o: .50; left: 64.5%; top: 53.2%; }

@media (max-width: 1120px) {
  .hero-droplet-field {
    display: none;
  }
}

/* Hero touchpoint droplets v2: dispersed and clearer */
.droplet {
  background:
    radial-gradient(circle at 28% 24%, rgba(255,255,255,.98) 0 12%, rgba(255,255,255,.58) 13% 25%, transparent 27%),
    radial-gradient(circle at 66% 70%, rgba(0,119,184,.42), rgba(22,168,216,.28) 42%, rgba(255,255,255,.18) 76%),
    linear-gradient(135deg, rgba(255,255,255,.54), rgba(22,168,216,.18));
  border-color: rgba(255,255,255,.74);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.92),
    inset 0 -10px 20px rgba(0,119,184,.16),
    0 14px 30px rgba(0,119,184,.12),
    0 0 0 1px rgba(22,168,216,.10);
  opacity: var(--o);
}

.droplet::before {
  content: "";
  position: absolute;
  inset: -8px;
  border-radius: inherit;
  background: radial-gradient(circle, rgba(22,168,216,.18), transparent 66%);
  z-index: -1;
  filter: blur(2px);
}

.d1 { --s: 30px; --r: -18deg; --o: .82; left: 13.5%; top: 74%; }
.d2 { --s: 18px; --r: 22deg; --o: .74; left: 22.8%; top: 60%; }
.d3 { --s: 42px; --r: -8deg; --o: .78; left: 32.5%; top: 70%; }
.d4 { --s: 22px; --r: 18deg; --o: .72; left: 43.2%; top: 52%; }
.d5 { --s: 34px; --r: -24deg; --o: .78; left: 55.8%; top: 64%; }
.d6 { --s: 17px; --r: 28deg; --o: .68; left: 65.8%; top: 50%; }

/* Hero touchpoint droplets v3: circular icon-ready nodes on streams */
.droplet {
  width: var(--s) !important;
  height: var(--s) !important;
  border-radius: 999px !important;
  transform: none !important;
  background:
    radial-gradient(circle at 30% 24%, rgba(255,255,255,.98) 0 10%, rgba(255,255,255,.58) 11% 23%, transparent 24%),
    radial-gradient(circle at 55% 62%, rgba(22,168,216,.36), rgba(0,119,184,.24) 48%, rgba(255,255,255,.22) 74%),
    linear-gradient(145deg, rgba(255,255,255,.66), rgba(234,248,253,.28)) !important;
  border: 1px solid rgba(255,255,255,.82) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.95),
    inset 0 -9px 18px rgba(0,119,184,.13),
    0 12px 28px rgba(0,119,184,.13),
    0 0 0 1px rgba(22,168,216,.14) !important;
  opacity: var(--o) !important;
  backdrop-filter: blur(4px) saturate(130%) !important;
}

.droplet::after {
  inset: 18% 18% auto auto !important;
  width: 20% !important;
  height: 20% !important;
}

.d1 { --s: 42px; --o: .88; left: 14.2%; top: 75.5%; }
.d2 { --s: 34px; --o: .82; left: 24.6%; top: 66.2%; }
.d3 { --s: 52px; --o: .86; left: 35.8%; top: 71.5%; }
.d4 { --s: 38px; --o: .80; left: 46.4%; top: 59.5%; }
.d5 { --s: 48px; --o: .84; left: 57.8%; top: 65.8%; }
.d6 { --s: 32px; --o: .76; left: 66.8%; top: 54.6%; }

/* Hero droplet icon: WeCom touchpoint inside largest node */
.droplet-wecom {
  display: grid !important;
  place-items: center;
}

.touchpoint-logo {
  position: relative;
  z-index: 2;
  display: block;
  width: 64%;
  height: 64%;
  opacity: .74;
  filter: saturate(.94) contrast(.98) blur(.05px);
  mix-blend-mode: multiply;
}

.touchpoint-logo svg {
  display: block;
  width: 100%;
  height: 100%;
}

.droplet-wecom::after {
  z-index: 3;
  inset: 14% 15% auto auto !important;
  width: 17% !important;
  height: 17% !important;
  background: rgba(255,255,255,.84) !important;
}

.droplet-wecom::before {
  opacity: .82;
}

/* Real WeCom icon inside glass droplet */
.touchpoint-logo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.wecom-mark {
  width: 68% !important;
  height: 68% !important;
  opacity: .62 !important;
  filter: saturate(.92) contrast(.96) blur(.08px) !important;
  mix-blend-mode: multiply;
}

/* WeCom droplet emphasis */
.d3.droplet-wecom {
  --s: 64px !important;
}

.wecom-mark {
  width: 74% !important;
  height: 74% !important;
  opacity: .78 !important;
  filter: saturate(.98) contrast(1.02) blur(0) !important;
}

/* Real-world phone call management touchpoint */
.droplet-phone {
  display: grid !important;
  place-items: center;
}

.phone-mark {
  width: 70% !important;
  height: 70% !important;
  opacity: .76 !important;
  filter: saturate(.98) contrast(1.02) blur(0) !important;
  mix-blend-mode: multiply;
}

.droplet-phone::after {
  z-index: 3;
  inset: 15% 16% auto auto !important;
  width: 16% !important;
  height: 16% !important;
  background: rgba(255,255,255,.84) !important;
}

/* Phone touchpoint: use provided original icon */
.phone-mark {
  width: 78% !important;
  height: 78% !important;
  opacity: .86 !important;
  filter: saturate(.96) contrast(1.02) !important;
  mix-blend-mode: normal !important;
  border-radius: 999px;
  overflow: hidden;
}

.phone-mark img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 999px;
}

/* Phone touchpoint cleaned blue icon */
.phone-mark {
  width: 76% !important;
  height: 76% !important;
  opacity: .82 !important;
  filter: saturate(1.02) contrast(1.03) !important;
  mix-blend-mode: multiply !important;
  border-radius: 0 !important;
  overflow: visible !important;
}

.phone-mark img {
  object-fit: contain !important;
  border-radius: 0 !important;
}

/* Phone touchpoint stronger icon */
.phone-mark {
  width: 92% !important;
  height: 92% !important;
  opacity: .96 !important;
  filter: saturate(1.08) contrast(1.08) !important;
  mix-blend-mode: multiply !important;
}

/* Phone touchpoint clean vector icon, no outer circle */
.phone-clean {
  width: 88% !important;
  height: 88% !important;
  opacity: .92 !important;
  filter: none !important;
  mix-blend-mode: multiply !important;
}

.phone-clean svg {
  display: block;
  width: 100%;
  height: 100%;
}

.phone-clean .phone-body {
  fill: rgba(0,119,184,.78);
}

.phone-clean .phone-screen {
  fill: rgba(7,95,155,.42);
}

.phone-clean .phone-slot,
.phone-clean .phone-home {
  fill: rgba(7,95,155,.70);
}

.phone-clean .phone-handset {
  fill: rgba(7,95,155,.95);
}

.phone-clean .phone-wave {
  fill: none;
  stroke: rgba(0,119,184,.86);
  stroke-width: 3.3;
  stroke-linecap: round;
}

.phone-clean .phone-wave.faint {
  stroke: rgba(22,168,216,.72);
  stroke-width: 3;
}

/* Phone touchpoint original icon without outer circle */
.phone-original {
  width: 92% !important;
  height: 92% !important;
  opacity: .98 !important;
  filter: saturate(1.04) contrast(1.04) !important;
  mix-blend-mode: normal !important;
  overflow: visible !important;
}

.phone-original img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* SMS touchpoint inside glass droplet */
.droplet-sms {
  display: grid !important;
  place-items: center;
}

.sms-mark {
  width: 82% !important;
  height: 82% !important;
  opacity: .86 !important;
  filter: saturate(.96) contrast(1.02) !important;
  mix-blend-mode: multiply;
}

.sms-mark img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.droplet-sms::after {
  z-index: 3;
  inset: 14% 15% auto auto !important;
  width: 16% !important;
  height: 16% !important;
}

/* APP touchpoint text inside glass droplet */
.droplet-app {
  display: grid !important;
  place-items: center;
}

.touchpoint-text.app-mark {
  position: relative;
  z-index: 2;
  color: #075f9b;
  font-size: 11px;
  font-weight: 820;
  letter-spacing: .02em;
  opacity: .82;
  text-shadow: 0 1px 0 rgba(255,255,255,.55);
  transform: translateY(1px);
}

.droplet-app::after {
  z-index: 3;
  inset: 13% 14% auto auto !important;
  width: 15% !important;
  height: 15% !important;
}

/* APP touchpoint visibility boost */
.d2.droplet-app {
  --s: 54px !important;
  left: 9.8% !important;
  top: 77.8% !important;
  opacity: .92 !important;
}

.touchpoint-text.app-mark {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 72%;
  height: 72%;
  border-radius: 999px;
  background:
    radial-gradient(circle at 32% 24%, rgba(255,255,255,.72), rgba(255,255,255,.24) 48%, rgba(255,255,255,.08) 72%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.74),
    0 8px 18px rgba(0,91,168,.12);
  font-size: 17px !important;
  font-weight: 900 !important;
  color: rgba(4,77,142,.98) !important;
  opacity: 1 !important;
  letter-spacing: .02em !important;
  text-shadow:
    0 1px 1px rgba(255,255,255,.78),
    0 0 12px rgba(255,255,255,.48) !important;
}
/* Site footer copied from current official footer content */
.site-footer {
  position: relative;
  background:
    radial-gradient(circle at 12% 18%, rgba(22,168,216,.12), transparent 30%),
    linear-gradient(180deg, rgba(248,250,252,.82), rgba(238,242,247,.96));
  border-top: 1px solid rgba(7,95,155,.10);
  color: #071723;
}

.footer-inner {
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
  padding: 54px 0 26px;
  display: grid;
  grid-template-columns: minmax(230px, .8fr) minmax(290px, 1fr) minmax(420px, 1.45fr);
  gap: 30px;
}

.footer-brand-name {
  display: block;
  font-size: 22px;
  letter-spacing: 0;
  color: #071723;
}

.footer-brand-name i {
  margin: 0 5px;
  color: #16a8d8;
  font-style: normal;
  font-weight: 500;
}

.footer-brand p {
  margin: 12px 0 22px;
  color: rgba(7,23,35,.62);
  font-size: 15px;
  line-height: 1.8;
}

.footer-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.footer-actions a,
.footer-links a,
.footer-bottom a {
  color: inherit;
  text-decoration: none;
}

.footer-actions a {
  min-width: 92px;
  padding: 10px 16px;
  border-radius: 999px;
  border: 1px solid rgba(0,119,184,.18);
  background: rgba(255,255,255,.56);
  color: #075f9b;
  font-size: 14px;
  font-weight: 760;
  text-align: center;
}

.footer-contact {
  display: grid;
  gap: 12px;
}

.footer-contact > a {
  display: block;
  margin: 0;
  padding: 14px 16px;
  border: 1px solid rgba(7,95,155,.10);
  border-radius: 16px;
  background: rgba(255,255,255,.50);
  color: inherit;
  text-decoration: none;
  transition: border-color .2s ease, background .2s ease, transform .2s ease;
}

.footer-contact > a:hover {
  transform: translateY(-1px);
  border-color: rgba(0,119,184,.22);
  background: rgba(255,255,255,.76);
}

.footer-contact span {
  display: block;
  margin-bottom: 4px;
  color: rgba(7,23,35,.54);
  font-size: 13px;
  font-weight: 700;
}

.footer-contact strong {
  display: block;
  color: #075f9b;
  font-size: 20px;
  letter-spacing: .01em;
}

.footer-wecom {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  align-items: center;
  gap: 16px;
  margin-top: 22px;
  text-align: left;
}

.footer-wecom img {
  display: block;
  width: 92px;
  aspect-ratio: 1;
  object-fit: contain;
  padding: 4px;
  border: 1px solid rgba(7,95,155,.10);
  border-radius: 7px;
  background: rgba(255,255,255,.72);
}

.footer-wecom strong,
.footer-wecom span {
  display: block;
}

.footer-wecom strong {
  color: #071723;
  font-size: 15px;
  line-height: 1.45;
}

.footer-wecom span {
  margin-top: 3px;
  color: rgba(7,23,35,.50);
  font-size: 12px;
  line-height: 1.5;
}

.footer-links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.footer-links h2 {
  margin: 0 0 14px;
  color: #071723;
  font-size: 15px;
  line-height: 1.3;
}

.footer-links a {
  display: block;
  margin-top: 10px;
  color: rgba(7,23,35,.58);
  font-size: 14px;
  line-height: 1.5;
}

.footer-actions a:hover,
.footer-links a:hover,
.footer-bottom a:hover {
  color: #0077b8;
}

.footer-bottom {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  margin-top: 10px;
  padding-top: 22px;
  border-top: 1px solid rgba(7,95,155,.10);
  color: rgba(7,23,35,.52);
  font-size: 13px;
}

@media (max-width: 920px) {
  .footer-inner {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 28px;
  }

  .footer-links {
    grid-column: 1 / -1;
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 560px) {
  .footer-inner {
    width: min(100% - 32px, 1180px);
    padding-top: 42px;
    grid-template-columns: 1fr;
  }


  .footer-links {
    grid-template-columns: 1fr;
  }

  .footer-bottom {
    align-items: flex-start;
    flex-direction: column;
  }
}
/* Header consultation phone */
.nav-actions {
  display: flex;
  align-items: center;
  gap: 12px;
}

.nav-phone {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  min-width: 128px;
  height: 44px;
  padding: 0 2px;
  color: #071723;
  text-decoration: none;
  white-space: nowrap;
}

.nav-phone span {
  margin-bottom: 2px;
  color: rgba(7,23,35,.48);
  font-size: 11px;
  line-height: 1;
  font-weight: 760;
}

.nav-phone strong {
  color: #075f9b;
  font-size: 16px;
  line-height: 1.1;
  font-weight: 860;
  letter-spacing: .01em;
}

@media (max-width: 1120px) {
  .nav-phone {
    display: none;
  }
}
/* Secondary page foundation */
.subpage {
  min-height: 100vh;
  padding-top: 118px;
}

.subpage-hero {
  position: relative;
  width: min(var(--max), calc(100% - 48px));
  margin: 0 auto;
  padding: 92px 0 56px;
}

.subpage-hero::before {
  content: "";
  position: absolute;
  inset: -90px -16vw auto 42%;
  height: 420px;
  pointer-events: none;
  background:
    radial-gradient(circle at 62% 36%, rgba(22,168,216,.18), transparent 32%),
    linear-gradient(110deg, transparent, rgba(255,255,255,.44), transparent);
  opacity: .88;
}

.subpage-hero > * {
  position: relative;
  z-index: 1;
}

.subpage-kicker {
  display: inline-flex;
  align-items: center;
  height: 30px;
  padding: 0 12px;
  border: 1px solid rgba(0,119,184,.14);
  border-radius: 999px;
  background: rgba(255,255,255,.62);
  color: #075f9b;
  font-size: 12px;
  font-weight: 820;
  letter-spacing: .08em;
}

.subpage-hero h1 {
  max-width: 860px;
  margin: 22px 0 20px;
  font-size: clamp(42px, 5vw, 72px);
  line-height: 1.06;
  letter-spacing: 0;
}

.subpage-hero p {
  max-width: 760px;
  margin: 0;
  color: #536575;
  font-size: 19px;
  line-height: 1.85;
}

.subpage-section {
  width: min(var(--max), calc(100% - 48px));
  margin: 0 auto;
  padding: 40px 0 96px;
}

.subpage-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.subpage-card {
  min-height: 240px;
  padding: 26px;
  border: 1px solid rgba(7,95,155,.10);
  border-radius: 20px;
  background: rgba(255,255,255,.68);
  box-shadow: 0 18px 46px rgba(19,41,64,.06);
  text-decoration: none;
  color: inherit;
}

.subpage-card span {
  display: inline-flex;
  margin-bottom: 22px;
  color: #075f9b;
  font-size: 12px;
  font-weight: 840;
  letter-spacing: .08em;
}

.subpage-card h2,
.subpage-card h3 {
  margin: 0 0 12px;
  color: #071723;
  font-size: 24px;
  line-height: 1.28;
  letter-spacing: 0;
}

.subpage-card p {
  margin: 0;
  color: #5f7180;
  font-size: 15px;
  line-height: 1.75;
}

.subpage-card:hover {
  transform: translateY(-2px);
  border-color: rgba(0,119,184,.18);
  box-shadow: 0 22px 54px rgba(19,41,64,.085);
}

.subpage-band {
  margin-top: 22px;
  padding: 30px;
  border: 1px solid rgba(7,95,155,.10);
  border-radius: 22px;
  background: linear-gradient(135deg, rgba(255,255,255,.72), rgba(234,248,253,.42));
}

.subpage-band h2 {
  margin: 0 0 10px;
  color: #071723;
  font-size: 26px;
  letter-spacing: 0;
}

.subpage-band p {
  max-width: 820px;
  margin: 0;
  color: #536575;
  line-height: 1.8;
}

@media (max-width: 920px) {
  .subpage-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 640px) {
  .subpage {
    padding-top: 84px;
  }

  .subpage-hero,
  .subpage-section {
    width: min(100% - 32px, var(--max));
  }

  .subpage-hero {
    padding: 68px 0 34px;
  }

  .subpage-hero h1 {
    font-size: clamp(38px, 11vw, 48px);
  }

  .subpage-hero p {
    font-size: 16px;
  }

  .subpage-grid {
    grid-template-columns: 1fr;
  }
}
/* Industry detail diagrams */
.industry-diagram {
  margin: 26px 0 0;
  padding: 22px;
  border: 1px solid rgba(7,95,155,.10);
  border-radius: 26px;
  background:
    radial-gradient(circle at 82% 12%, rgba(22,168,216,.12), transparent 28%),
    rgba(255,255,255,.70);
  box-shadow: 0 22px 58px rgba(19,41,64,.07);
}

.industry-diagram figcaption {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: 0 0 16px;
  color: #071723;
}

.industry-diagram figcaption span {
  color: #075f9b;
  font-size: 12px;
  font-weight: 840;
  letter-spacing: .10em;
}

.industry-diagram figcaption strong {
  font-size: 18px;
  line-height: 1.35;
}

.industry-diagram-frame {
  overflow: hidden;
  border: 1px solid rgba(7,95,155,.08);
  border-radius: 20px;
  background: #fff;
}

.industry-diagram img {
  display: block;
  width: 100%;
  height: auto;
}

.industry-diagram p {
  max-width: 900px;
  margin: 18px 0 0;
  color: #536575;
  font-size: 16px;
  line-height: 1.85;
}

@media (max-width: 640px) {
  .industry-diagram {
    padding: 14px;
    border-radius: 20px;
  }

  .industry-diagram figcaption {
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
  }

  .industry-diagram-frame {
    border-radius: 16px;
  }
}
/* Industry index refinement */
.industry-index-hero {
  display: grid;
  grid-template-columns: minmax(0, .98fr) minmax(360px, .72fr);
  gap: 48px;
  align-items: center;
}

.industry-hero-visual {
  position: relative;
  min-height: 330px;
  border-radius: 32px;
  overflow: hidden;
  background:
    radial-gradient(circle at 66% 44%, rgba(255,255,255,.82), rgba(255,255,255,.12) 36%, transparent 54%),
    radial-gradient(circle at 34% 72%, rgba(22,168,216,.18), transparent 34%),
    linear-gradient(135deg, rgba(255,255,255,.56), rgba(234,248,253,.28));
  border: 1px solid rgba(7,95,155,.10);
  box-shadow: 0 24px 70px rgba(19,41,64,.07);
}

.industry-hero-visual::before,
.industry-hero-visual::after {
  content: "";
  position: absolute;
  left: -18%;
  right: 18%;
  height: 150px;
  border-radius: 50%;
  border-top: 2px solid rgba(22,168,216,.28);
  border-bottom: 1px solid rgba(255,255,255,.72);
  transform: rotate(-10deg);
}

.industry-hero-visual::before {
  top: 126px;
}

.industry-hero-visual::after {
  top: 168px;
  opacity: .62;
}

.industry-hero-visual .stream {
  position: absolute;
  left: -8%;
  width: 82%;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, rgba(22,168,216,.58), rgba(255,255,255,.78));
  transform: rotate(-8deg);
}

.industry-hero-visual .stream-a { top: 42%; }
.industry-hero-visual .stream-b { top: 58%; opacity: .7; }

.industry-dot,
.industry-hub {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255,255,255,.72);
  border-radius: 999px;
  background:
    radial-gradient(circle at 28% 20%, rgba(255,255,255,.86), rgba(255,255,255,.22) 48%, rgba(22,168,216,.16) 76%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.86),
    0 18px 38px rgba(0,91,168,.12);
  color: #075f9b;
  font-style: normal;
  font-weight: 860;
}

.industry-dot {
  width: 58px;
  height: 58px;
  font-size: 13px;
}

.industry-dot.dot-a { left: 13%; top: 62%; }
.industry-dot.dot-b { left: 28%; top: 38%; }
.industry-dot.dot-c { left: 44%; top: 56%; }

.industry-hub {
  right: 12%;
  top: 50%;
  width: 136px;
  height: 136px;
  transform: translateY(-50%);
  color: #071723;
  font-size: 18px;
  text-align: center;
  letter-spacing: 0;
}

.industry-index-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.industry-entry {
  position: relative;
  min-height: 284px;
  padding: 28px;
  overflow: hidden;
  border: 1px solid rgba(7,95,155,.10);
  border-radius: 22px;
  background:
    radial-gradient(circle at 82% 10%, rgba(22,168,216,.12), transparent 30%),
    linear-gradient(180deg, rgba(255,255,255,.88), rgba(255,255,255,.62));
  box-shadow: 0 18px 46px rgba(19,41,64,.06);
  color: inherit;
  text-decoration: none;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.industry-entry::before {
  content: "";
  position: absolute;
  left: 28px;
  right: 28px;
  top: 0;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, #0077b8, rgba(22,168,216,.12));
}

.industry-entry span {
  display: inline-flex;
  margin-bottom: 18px;
  color: #075f9b;
  font-size: 12px;
  font-weight: 840;
  letter-spacing: .04em;
}

.industry-entry h2 {
  margin: 0 0 12px;
  color: #071723;
  font-size: 24px;
  line-height: 1.3;
  letter-spacing: 0;
}

.industry-entry p {
  margin: 0;
  color: #5f7180;
  font-size: 15px;
  line-height: 1.76;
}

.industry-entry em {
  position: absolute;
  left: 28px;
  bottom: 26px;
  color: #075f9b;
  font-style: normal;
  font-size: 14px;
  font-weight: 820;
}

.industry-entry:hover {
  transform: translateY(-3px);
  border-color: rgba(0,119,184,.20);
  box-shadow: 0 26px 62px rgba(19,41,64,.09);
}

@media (max-width: 980px) {
  .industry-index-hero {
    grid-template-columns: 1fr;
  }

  .industry-hero-visual {
    min-height: 260px;
  }

  .industry-index-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .industry-hero-visual {
    display: none;
  }

  .industry-index-grid {
    grid-template-columns: 1fr;
  }

  .industry-entry {
    min-height: 248px;
    padding: 24px;
  }

  .industry-entry em {
    left: 24px;
    bottom: 22px;
  }
}
/* Industry directory as a guided extension of home section 5 */
.industry-directory .site-footer {
  margin-top: 0;
}

.industry-guide-hero {
  padding-bottom: 34px;
}

.industry-guide-hero h1 {
  max-width: 960px;
  font-size: clamp(40px, 4.6vw, 64px);
}

.industry-guide-hero p {
  max-width: 850px;
}

.industry-guide-section {
  padding-top: 18px;
}

.industry-guide-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 36px;
  margin-bottom: 28px;
  padding: 24px 0 10px;
  border-top: 1px solid rgba(7,95,155,.10);
}

.industry-guide-head h2 {
  max-width: 520px;
  margin: 0;
  color: #071723;
  font-size: clamp(28px, 3vw, 40px);
  line-height: 1.18;
  letter-spacing: 0;
}

.industry-guide-head p {
  max-width: 470px;
  margin: 0;
  color: #536575;
  font-size: 16px;
  line-height: 1.78;
}

.industry-guide-grid {
  align-items: stretch;
}

.industry-guide-card {
  display: block;
  color: inherit;
  text-decoration: none;
  padding-bottom: 58px !important;
}

.industry-guide-card em {
  position: absolute;
  left: 25px;
  bottom: 24px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #075f9b;
  font-size: 14px;
  font-style: normal;
  font-weight: 820;
}

.industry-guide-card em::after {
  content: "";
  width: 22px;
  height: 1px;
  background: currentColor;
  transition: transform .18s ease;
}

.industry-guide-card:hover em::after {
  transform: translateX(4px);
}

@media (max-width: 820px) {
  .industry-guide-head {
    align-items: flex-start;
    flex-direction: column;
    gap: 12px;
  }
}
/* Keep secondary decorative backgrounds from creating horizontal scroll */
.industry-directory {
  overflow-x: clip;
}

@supports not (overflow: clip) {
  .industry-directory {
    overflow-x: hidden;
  }
}
/* Single-page industry tabs */
.industry-tabs-page {
  overflow-x: clip;
}

.industry-tabs-hero {
  padding-bottom: 28px;
}

.industry-tabs-hero h1 {
  max-width: 980px;
  font-size: clamp(40px, 4.8vw, 68px);
}

.industry-tabs-hero p {
  max-width: 860px;
}

.industry-tabs-section {
  padding-top: 10px;
}

.industry-tablist {
  position: sticky;
  z-index: 8;
  top: 96px;
  display: flex;
  gap: 8px;
  margin-bottom: 22px;
  padding: 8px;
  overflow-x: auto;
  border: 1px solid rgba(7,95,155,.10);
  border-radius: 999px;
  background: rgba(255,255,255,.72);
  box-shadow: 0 18px 46px rgba(19,41,64,.07);
  backdrop-filter: blur(16px) saturate(145%);
  scrollbar-width: none;
}

.industry-tablist::-webkit-scrollbar {
  display: none;
}

.industry-tab {
  flex: 0 0 auto;
  height: 42px;
  padding: 0 18px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: rgba(7,23,35,.64);
  font: inherit;
  font-size: 14px;
  font-weight: 780;
  cursor: pointer;
  white-space: nowrap;
  transition: background .18s ease, color .18s ease, box-shadow .18s ease;
}

.industry-tab.is-active {
  background: linear-gradient(180deg, #0a2030, #061826);
  color: #fff;
  box-shadow: 0 12px 26px rgba(6,24,38,.16);
}

.industry-panel {
  display: none;
  grid-template-columns: minmax(330px, .76fr) minmax(0, 1.24fr);
  gap: 24px;
  align-items: stretch;
  padding: 24px;
  border: 1px solid rgba(7,95,155,.10);
  border-radius: 28px;
  background:
    radial-gradient(circle at 86% 12%, rgba(22,168,216,.12), transparent 32%),
    rgba(255,255,255,.70);
  box-shadow: 0 24px 70px rgba(19,41,64,.075);
}

.industry-panel.is-active {
  display: grid;
}

.industry-panel-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 520px;
  padding: 14px 8px 14px 8px;
}

.industry-panel-copy span {
  display: inline-flex;
  align-self: flex-start;
  margin-bottom: 18px;
  color: #075f9b;
  font-size: 13px;
  font-weight: 840;
  letter-spacing: .04em;
}

.industry-panel-copy h2 {
  margin: 0 0 16px;
  color: #071723;
  font-size: clamp(30px, 3vw, 44px);
  line-height: 1.16;
  letter-spacing: 0;
}

.industry-panel-copy p {
  margin: 0 0 24px;
  color: #536575;
  font-size: 17px;
  line-height: 1.82;
}

.industry-panel-copy ul {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.industry-panel-copy li {
  position: relative;
  padding-left: 18px;
  color: #405262;
  font-size: 15px;
  line-height: 1.62;
}

.industry-panel-copy li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .72em;
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: #16a8d8;
  box-shadow: 0 0 0 5px rgba(22,168,216,.10);
}

.industry-panel-visual {
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(7,95,155,.08);
  border-radius: 22px;
  background: #fff;
}

.industry-panel-visual img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 520px;
  object-fit: cover;
  object-position: center;
}

@media (max-width: 1040px) {
  .industry-panel {
    grid-template-columns: 1fr;
  }

  .industry-panel-copy {
    min-height: auto;
  }

  .industry-panel-visual img {
    height: auto;
    min-height: 0;
    object-fit: contain;
  }
}

@media (max-width: 640px) {
  .industry-tablist {
    top: 82px;
    margin-left: -16px;
    margin-right: -16px;
    border-radius: 18px;
  }

  .industry-panel {
    padding: 16px;
    border-radius: 22px;
  }

  .industry-panel-copy h2 {
    font-size: 30px;
  }

  .industry-panel-copy p {
    font-size: 16px;
  }
}
/* Refined industry tab menu */
.industry-tabbar {
  position: sticky;
  z-index: 8;
  top: 96px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  margin-bottom: 24px;
  padding: 8px 10px 8px 16px;
  border: 1px solid rgba(7,95,155,.10);
  border-radius: 22px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.82), rgba(255,255,255,.66));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.86),
    0 18px 48px rgba(19,41,64,.075);
  backdrop-filter: blur(18px) saturate(150%);
}

.industry-tabbar > span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: rgba(7,23,35,.56);
  font-size: 13px;
  font-weight: 820;
  white-space: nowrap;
}

.industry-tabbar > span::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: #16a8d8;
  box-shadow: 0 0 0 5px rgba(22,168,216,.12);
}

.industry-tabbar .industry-tablist {
  position: relative;
  top: auto;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
}

.industry-tabbar .industry-tab {
  height: 40px;
  padding: 0 16px;
  border: 1px solid transparent;
  color: rgba(7,23,35,.66);
  font-size: 14px;
  font-weight: 760;
}

.industry-tabbar .industry-tab:hover {
  border-color: rgba(7,95,155,.10);
  background: rgba(255,255,255,.52);
  color: #071723;
}

.industry-tabbar .industry-tab.is-active {
  border-color: rgba(0,119,184,.18);
  background:
    radial-gradient(circle at 24% 20%, rgba(255,255,255,.30), transparent 42%),
    linear-gradient(180deg, #075f9b, #061826);
  color: #fff;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.18),
    0 12px 26px rgba(6,24,38,.18);
}

@media (max-width: 860px) {
  .industry-tabbar {
    grid-template-columns: 1fr;
    align-items: stretch;
    top: 82px;
    border-radius: 18px;
  }

  .industry-tabbar .industry-tablist {
    margin: 0 -2px;
  }
}
/* Industry detail: diagram-first presentation */
.industry-tabs-page .industry-panel {
  grid-template-columns: 1fr !important;
  gap: 18px;
  padding: 24px;
}

.industry-tabs-page .industry-panel-copy {
  min-height: auto !important;
  display: grid;
  grid-template-columns: minmax(0, .82fr) minmax(320px, .72fr);
  align-items: start;
  gap: 22px;
  padding: 6px 6px 2px;
}

.industry-tabs-page .industry-panel-copy span {
  grid-column: 1 / -1;
  margin-bottom: 0;
}

.industry-tabs-page .industry-panel-copy h2 {
  margin-bottom: 0;
}

.industry-tabs-page .industry-panel-copy p {
  margin: 0;
  font-size: 16px;
  line-height: 1.74;
}

.industry-tabs-page .industry-panel-copy ul {
  grid-column: 1 / -1;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.industry-tabs-page .industry-panel-copy li {
  min-height: 52px;
  padding: 13px 14px 13px 30px;
  border: 1px solid rgba(7,95,155,.09);
  border-radius: 14px;
  background: rgba(255,255,255,.62);
}

.industry-tabs-page .industry-panel-copy li::before {
  left: 14px;
  top: 22px;
}

.industry-tabs-page .industry-panel-visual {
  border-radius: 24px;
}

.industry-tabs-page .industry-panel-visual img {
  height: auto !important;
  min-height: 0 !important;
  object-fit: contain !important;
}

@media (max-width: 900px) {
  .industry-tabs-page .industry-panel-copy,
  .industry-tabs-page .industry-panel-copy ul {
    grid-template-columns: 1fr;
  }
}


/* Industry diagram display: keep business structure fully visible */
.industry-tabs-page .industry-panel-visual {
  overflow: visible;
  padding: 8px;
  background: rgba(255, 255, 255, .72);
}

.industry-tabs-page .industry-panel-visual img {
  display: block;
  width: 100%;
  height: auto !important;
  min-height: 0 !important;
  object-fit: contain !important;
  object-position: center center !important;
}

/* Industry page: make selected case diagram the primary visual */
.industry-tabs-page .industry-panel {
  max-width: 1360px;
  margin-inline: auto;
}

.industry-tabs-page .industry-panel-copy {
  grid-template-columns: minmax(0, .7fr) minmax(380px, .9fr) !important;
}

.industry-tabs-page .industry-panel-visual {
  width: 100%;
  box-sizing: border-box;
  overflow: visible !important;
}

.industry-tabs-page .industry-panel-visual img {
  width: 100% !important;
  max-width: none;
  aspect-ratio: auto;
}

@media (min-width: 1180px) {
  .industry-tabs-page .industry-panel {
    padding: 22px 18px 26px;
  }
}

/* Industry page: fixed proof points from deployed customer projects */
.industry-results {
  max-width: 1360px;
  margin: 74px auto 84px;
  padding: 54px 24px 18px;
  border-top: 1px solid rgba(7, 95, 155, .14);
}

.industry-results-heading {
  display: grid;
  grid-template-columns: minmax(280px, .85fr) minmax(420px, 1.15fr);
  column-gap: 64px;
  align-items: end;
}

.industry-results-heading > span {
  grid-column: 1 / -1;
  margin-bottom: 14px;
  color: #075f9b;
  font-size: 13px;
  font-weight: 840;
}

.industry-results-heading h2 {
  margin: 0;
  color: #071723;
  font-size: clamp(30px, 3.2vw, 46px);
  line-height: 1.2;
  letter-spacing: 0;
}

.industry-results-heading p {
  margin: 0 0 4px;
  color: #536575;
  font-size: 16px;
  line-height: 1.78;
}

.industry-results-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 46px;
  border-top: 1px solid rgba(7, 95, 155, .12);
  border-bottom: 1px solid rgba(7, 95, 155, .12);
}

.industry-result-item {
  min-width: 0;
  padding: 32px 30px 30px;
}

.industry-result-item:not(:nth-child(3n + 1)) {
  border-left: 1px solid rgba(7, 95, 155, .12);
}

.industry-result-item:nth-child(n + 4) {
  border-top: 1px solid rgba(7, 95, 155, .12);
}

.industry-result-item strong {
  display: block;
  color: #075f9b;
  font-size: clamp(34px, 3.2vw, 48px);
  font-weight: 760;
  line-height: 1;
  white-space: nowrap;
}

.industry-result-item strong small {
  margin-left: 5px;
  font-size: 17px;
  font-weight: 720;
}

.industry-result-item h3 {
  margin: 18px 0 8px;
  color: #071723;
  font-size: 17px;
  line-height: 1.35;
}

.industry-result-item p {
  margin: 0;
  color: #6a7985;
  font-size: 13px;
  line-height: 1.62;
}

.industry-results-note {
  margin: 16px 0 0;
  color: #82909a;
  font-size: 12px;
  line-height: 1.6;
}

@media (max-width: 900px) {
  .industry-results-heading {
    grid-template-columns: 1fr;
    row-gap: 18px;
  }

  .industry-results-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .industry-result-item:not(:nth-child(3n + 1)) {
    border-left: 0;
  }

  .industry-result-item:nth-child(even) {
    border-left: 1px solid rgba(7, 95, 155, .12);
  }

  .industry-result-item:nth-child(n + 3) {
    border-top: 1px solid rgba(7, 95, 155, .12);
  }
}

@media (max-width: 560px) {
  .industry-results {
    margin-top: 54px;
    padding-inline: 4px;
  }

  .industry-results-grid {
    grid-template-columns: 1fr;
  }

  .industry-result-item {
    padding-inline: 4px;
  }

  .industry-result-item:nth-child(even) {
    border-left: 0;
  }

  .industry-result-item + .industry-result-item {
    border-top: 1px solid rgba(7, 95, 155, .12);
  }
}
/* Industry page final refinement */
.industry-tabs-page .industry-tabbar {
  position: relative;
  top: auto;
  z-index: 2;
  margin-bottom: 30px;
  padding: 10px 12px 10px 18px;
  border-radius: 16px;
  background: rgba(255, 255, 255, .78);
  box-shadow: 0 14px 38px rgba(19, 41, 64, .055);
}

.industry-tabs-page .industry-tabbar .industry-tablist {
  display: grid;
  grid-template-columns: .8fr 1.25fr .72fr 1.5fr 1.15fr 1.55fr;
  gap: 6px;
  overflow: visible;
}

.industry-tabs-page .industry-tabbar .industry-tab {
  width: 100%;
  min-width: 0;
  height: 46px;
  padding: 0 10px;
  border-radius: 10px;
  line-height: 1.3;
  white-space: nowrap;
}

.industry-tabs-page .industry-tabbar .industry-tab.is-active {
  background: #075f9b;
  box-shadow: 0 10px 22px rgba(7, 95, 155, .16);
}

.industry-results {
  position: relative;
  margin-top: 82px;
  padding: 64px 24px 34px;
  border-top-color: rgba(7, 95, 155, .16);
}

.industry-results::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 24px;
  width: 76px;
  height: 2px;
  background: #16a8d8;
}

.industry-results-heading {
  grid-template-columns: minmax(330px, .92fr) minmax(420px, 1.08fr);
  column-gap: 86px;
}

.industry-results-heading > span {
  margin-bottom: 18px;
  letter-spacing: .04em;
}

.industry-results-heading h2 {
  max-width: 560px;
  font-size: clamp(34px, 3.3vw, 48px);
}

.industry-results-heading p {
  max-width: 620px;
  color: #5b6c79;
}

.industry-results-grid {
  gap: 12px;
  margin-top: 48px;
  border: 0;
}

.industry-result-item {
  position: relative;
  min-height: 184px;
  padding: 30px 28px 26px;
  overflow: hidden;
  border: 1px solid rgba(7, 95, 155, .10) !important;
  border-radius: 8px;
  background: rgba(255, 255, 255, .72);
  box-shadow: 0 16px 42px rgba(19, 41, 64, .045);
}

.industry-result-item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background: linear-gradient(90deg, #075f9b, #16a8d8 42%, transparent 78%);
  opacity: .76;
}

.industry-result-item strong {
  color: #075f9b;
  font-size: clamp(38px, 3.4vw, 52px);
  font-weight: 720;
  font-variant-numeric: tabular-nums;
}

.industry-result-item h3 {
  margin-top: 20px;
  margin-bottom: 7px;
  font-size: 16px;
  font-weight: 760;
}

.industry-result-item p {
  max-width: 310px;
  color: #6c7d89;
}

.industry-results-note {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 18px;
}

.industry-results-note::before {
  content: "";
  flex: 0 0 auto;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #16a8d8;
}

@media (max-width: 1080px) {
  .industry-tabs-page .industry-tabbar {
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 12px;
  }

  .industry-tabs-page .industry-tabbar > span {
    padding-left: 4px;
  }

  .industry-tabs-page .industry-tabbar .industry-tablist {
    display: flex;
    overflow-x: auto;
  }

  .industry-tabs-page .industry-tabbar .industry-tab {
    width: auto;
    min-width: max-content;
    padding-inline: 16px;
    white-space: nowrap;
  }
}

@media (max-width: 900px) {
  .industry-results-heading {
    grid-template-columns: 1fr;
    row-gap: 20px;
  }

  .industry-result-item {
    min-height: 170px;
  }
}

@media (max-width: 560px) {
  .industry-tabs-page .industry-tabbar {
    top: auto;
    margin-inline: 0;
  }

  .industry-results {
    margin-top: 62px;
    padding: 52px 0 24px;
  }

  .industry-results::before {
    left: 0;
  }

  .industry-result-item {
    min-height: 0;
    padding: 26px 20px 24px;
  }
}
/* Industry results: integrated white frame */
.industry-results {
  box-sizing: border-box;
  width: min(var(--max), calc(100% - 48px));
  max-width: none;
  margin: 42px auto 84px;
  padding: 52px 44px 30px;
  border: 1px solid rgba(7, 95, 155, .10);
  border-radius: 24px;
  background:
    radial-gradient(circle at 92% 8%, rgba(22, 168, 216, .08), transparent 30%),
    rgba(255, 255, 255, .78);
  box-shadow: 0 24px 70px rgba(19, 41, 64, .065);
}

.industry-results::before {
  top: 0;
  left: 44px;
}

.industry-results-grid {
  gap: 0;
  overflow: hidden;
  border-top: 1px solid rgba(7, 95, 155, .11);
  border-bottom: 1px solid rgba(7, 95, 155, .11);
}

.industry-result-item {
  min-height: 174px;
  padding: 30px 28px 28px;
  overflow: visible;
  border: 0 !important;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.industry-result-item::before {
  content: none;
}

.industry-result-item:not(:nth-child(3n + 1)) {
  border-left: 1px solid rgba(7, 95, 155, .11) !important;
}

.industry-result-item:nth-child(n + 4) {
  border-top: 1px solid rgba(7, 95, 155, .11) !important;
}

@media (max-width: 900px) {
  .industry-results {
    padding-inline: 30px;
  }

  .industry-result-item:not(:nth-child(3n + 1)) {
    border-left: 0 !important;
  }

  .industry-result-item:nth-child(even) {
    border-left: 1px solid rgba(7, 95, 155, .11) !important;
  }

  .industry-result-item:nth-child(n + 3) {
    border-top: 1px solid rgba(7, 95, 155, .11) !important;
  }
}

@media (max-width: 560px) {
  .industry-results {
    margin-top: 32px;
    padding: 40px 20px 24px;
    border-radius: 18px;
  }

  .industry-results::before {
    left: 20px;
  }

  .industry-result-item:nth-child(even) {
    border-left: 0 !important;
  }

  .industry-result-item + .industry-result-item {
    border-top: 1px solid rgba(7, 95, 155, .11) !important;
  }
}
/* Primary navigation dropdown system */
.main-nav {
  gap: 22px;
}

.nav-menu {
  position: relative;
  display: inline-grid;
  grid-template-columns: auto 20px;
  align-items: center;
}

.nav-menu-link {
  line-height: 40px;
}

.nav-menu-toggle {
  position: relative;
  width: 20px;
  height: 40px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.nav-menu-toggle span {
  position: absolute;
  left: 5px;
  top: 15px;
  width: 7px;
  height: 7px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg);
  transition: transform .18s ease, top .18s ease;
}

.nav-menu.is-open .nav-menu-toggle span,
.nav-menu:focus-within .nav-menu-toggle span {
  top: 18px;
  transform: rotate(225deg);
}

.nav-dropdown {
  position: absolute;
  top: calc(100% + 18px);
  left: 50%;
  z-index: 40;
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 20px;
  width: 710px;
  padding: 18px;
  visibility: hidden;
  border: 1px solid rgba(7, 95, 155, .11);
  border-radius: 16px;
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 26px 70px rgba(19, 41, 64, .16);
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, 8px);
  transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
  backdrop-filter: blur(20px) saturate(150%);
}

.nav-dropdown::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -20px;
  height: 20px;
}

.nav-menu:hover .nav-dropdown,
.nav-menu:focus-within .nav-dropdown,
.nav-menu.is-open .nav-dropdown {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
  transform: translate(-50%, 0);
}

.nav-dropdown-intro {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 16px 14px;
  border-right: 1px solid rgba(7, 95, 155, .10);
}

.nav-dropdown-intro > span {
  color: #075f9b;
  font-size: 12px;
  font-weight: 820;
}

.nav-dropdown-intro > strong {
  margin-top: 12px;
  color: #071723;
  font-size: 18px;
  font-weight: 740;
  line-height: 1.48;
}

.main-nav .nav-dropdown-intro > a {
  margin-top: auto;
  padding-top: 24px;
  color: #075f9b;
  font-size: 13px;
  font-weight: 760;
  opacity: 1;
}

.nav-dropdown-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4px 8px;
}

.nav-dropdown-products {
  display: block;
  width: 410px;
}

.nav-dropdown-products .nav-dropdown-list {
  grid-template-columns: 1fr;
}

.nav-dropdown-technology {
  display: block;
  width: 620px;
}

.nav-dropdown-technology .nav-dropdown-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.main-nav .nav-dropdown-item {
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: center;
  padding: 13px 14px;
  border-radius: 8px;
  opacity: 1;
  transition: background .16s ease;
}

.main-nav .nav-dropdown-item:hover,
.main-nav .nav-dropdown-item:focus-visible {
  color: #071723;
  background: rgba(234, 248, 253, .76);
  outline: none;
}

.nav-dropdown-item strong {
  color: #071723;
  font-size: 14px;
  font-weight: 740;
  line-height: 1.4;
}

.nav-dropdown-item span {
  margin-top: 4px;
  overflow: hidden;
  color: #6b7b87;
  font-size: 12px;
  font-weight: 520;
  line-height: 1.45;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.mobile-nav-toggle {
  display: none;
  width: 40px;
  height: 40px;
  flex: 0 0 auto;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  margin-left: auto;
  padding: 0;
  border: 0;
  border-radius: 50%;
  color: #071723;
  background: transparent;
  cursor: pointer;
}

.mobile-nav-toggle > span {
  width: 17px;
  height: 1.5px;
  border-radius: 2px;
  background: currentColor;
  transition: transform .18s ease, opacity .18s ease;
}

.mobile-nav-toggle.is-active > span:nth-child(1) {
  transform: translateY(5.5px) rotate(45deg);
}

.mobile-nav-toggle.is-active > span:nth-child(2) {
  opacity: 0;
}

.mobile-nav-toggle.is-active > span:nth-child(3) {
  transform: translateY(-5.5px) rotate(-45deg);
}

@media (max-width: 1120px) {
  .mobile-nav-toggle {
    display: inline-flex;
  }

  .nav-dropdown {
    transition: none;
  }

  .site-header .main-nav.is-mobile-open {
    position: absolute;
    top: calc(100% + 10px);
    left: 0;
    right: 0;
    display: flex;
    max-height: calc(100vh - 112px);
    flex-direction: column;
    align-items: stretch;
    gap: 2px;
    padding: 12px;
    overflow-y: auto;
    border: 1px solid rgba(7, 95, 155, .11);
    border-radius: 18px;
    background: rgba(255, 255, 255, .97);
    box-shadow: 0 24px 64px rgba(19, 41, 64, .16);
    backdrop-filter: blur(20px) saturate(150%);
  }

  .site-header .main-nav > a,
  .nav-menu-link {
    display: flex;
    min-height: 48px;
    align-items: center;
    padding: 0 14px;
    border-radius: 10px;
  }

  .nav-menu {
    grid-template-columns: minmax(0, 1fr) 48px;
  }

  .nav-menu-toggle {
    width: 48px;
    height: 48px;
    border-radius: 10px;
  }

  .nav-menu-toggle span {
    left: 19px;
    top: 18px;
    width: 8px;
    height: 8px;
  }

  .nav-menu.is-open .nav-menu-toggle span,
  .nav-menu:focus-within .nav-menu-toggle span {
    top: 21px;
  }

  .nav-menu:hover .nav-dropdown,
  .nav-menu:focus-within .nav-dropdown {
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
  }

  .nav-menu.is-open .nav-dropdown {
    position: static;
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: 1fr;
    width: auto;
    margin: 2px 0 8px;
    padding: 8px;
    visibility: visible;
    border-radius: 12px;
    background: rgba(245, 250, 252, .92);
    box-shadow: none;
    opacity: 1;
    pointer-events: auto;
    transform: none;
  }

  .nav-dropdown::before,
  .nav-dropdown-intro {
    display: none;
  }

  .nav-dropdown-list,
  .nav-dropdown-products .nav-dropdown-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .site-header .main-nav.is-mobile-open {
    border-radius: 16px;
  }

  .nav-dropdown-list,
  .nav-dropdown-products .nav-dropdown-list {
    grid-template-columns: 1fr;
  }

  .main-nav .nav-dropdown-item {
    padding: 12px;
  }
}
/* Prevent dropdowns and decorative pseudo-elements from widening pages */
html,
body {
  overflow-x: clip;
}

@supports not (overflow: clip) {
  html,
  body {
    overflow-x: hidden;
  }
}


/* Technology page */
.technology-page{color:#071723;background:radial-gradient(circle at 78% 5%,rgba(49,181,222,.13),transparent 24%),linear-gradient(180deg,rgba(247,251,253,.42),rgba(244,248,251,.76))}
.technology-hero,.technology-section,.technology-cta{width:min(1180px,calc(100% - 48px));margin:0 auto}
.technology-hero{display:grid;min-height:690px;grid-template-columns:minmax(0,.94fr) minmax(460px,.86fr);align-items:center;gap:72px;padding:76px 0 84px}
.technology-kicker,.technology-section-heading>span{color:#075f9b;font-size:13px;font-weight:780}
.technology-hero-copy h1{max-width:680px;margin:20px 0 24px;font-size:56px;font-weight:720;line-height:1.14;letter-spacing:0}
.technology-hero-copy>p{max-width:650px;margin:0;color:#526675;font-size:18px;line-height:1.9}
.technology-trust-line{display:flex;align-items:center;gap:15px;margin-top:34px;color:#294352;font-size:14px;font-weight:690}
.technology-trust-line i{width:3px;height:3px;border-radius:50%;background:#18a9d5}
.technology-hero-visual{position:relative;aspect-ratio:1;min-width:0;overflow:hidden;border-radius:50%;background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.98) 0 20%,rgba(236,248,252,.78) 21% 41%,rgba(224,244,250,.36) 42% 59%,transparent 60%),radial-gradient(circle at 62% 28%,rgba(41,188,224,.18),transparent 32%)}
.technology-hero-visual:before,.technology-hero-visual:after{content:"";position:absolute;border-radius:50%;pointer-events:none}
.technology-hero-visual:before{inset:6%;border:1px solid rgba(7,95,155,.1)}
.technology-hero-visual:after{inset:17%;border:1px solid rgba(15,167,210,.15)}
.tech-orbit{position:absolute;inset:24%;border:1px solid rgba(7,95,155,.22);border-radius:50%}.tech-orbit-one{transform:rotate(36deg) scaleX(1.65)}.tech-orbit-two{transform:rotate(-38deg) scaleX(1.58)}
.tech-core{position:absolute;z-index:3;inset:31%;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.9);border-radius:50%;text-align:center;background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(226,247,252,.88));box-shadow:0 26px 80px rgba(7,95,155,.16),inset 0 0 42px rgba(54,191,225,.1)}
.tech-core small{color:#558096;font-size:8px;font-weight:760}.tech-core strong{margin:10px 0 8px;color:#062d48;font-size:25px;font-weight:760;line-height:1.2}.tech-core span{color:#64808f;font-size:10px}
.tech-satellite{position:absolute;z-index:4;display:grid;width:174px;grid-template-columns:40px 1fr;grid-template-rows:auto auto;align-items:center;padding:14px 16px;border:1px solid rgba(255,255,255,.86);border-radius:8px;background:rgba(255,255,255,.86);box-shadow:0 20px 50px rgba(16,65,91,.12);backdrop-filter:blur(14px)}
.tech-satellite>span{grid-row:1/3;display:grid;width:31px;height:31px;place-items:center;border-radius:50%;color:#fff;background:linear-gradient(145deg,#006eba,#20bdd9);font-size:13px;font-weight:820}.tech-satellite strong{font-size:13px;font-weight:740}.tech-satellite small{margin-top:3px;color:#6d818e;font-size:10px}
.satellite-touch{top:19%;left:3%}.satellite-agent{right:2%;bottom:18%}
.tech-signal{position:absolute;z-index:2;width:9px;height:9px;border:2px solid rgba(255,255,255,.94);border-radius:50%;background:#19b9d9;box-shadow:0 0 0 7px rgba(25,185,217,.08),0 0 22px rgba(25,185,217,.48)}
.signal-one{top:13%;right:31%}.signal-two{right:13%;bottom:36%}.signal-three{bottom:15%;left:27%}
.technology-section{padding:108px 0}.technology-section-heading{max-width:820px;margin-bottom:48px}.technology-section-heading h2{margin:14px 0 16px;font-size:40px;font-weight:710;line-height:1.25;letter-spacing:0}.technology-section-heading p{margin:0;color:#617381;font-size:17px;line-height:1.85}
.technology-foundation{border-top:1px solid rgba(7,95,155,.1)}.technology-pillars{display:grid;gap:22px}
.technology-pillar{position:relative;display:grid;min-height:320px;grid-template-columns:90px minmax(360px,.9fr) minmax(360px,1.1fr);align-items:center;gap:36px;overflow:hidden;padding:48px;border:1px solid rgba(7,95,155,.11);border-radius:8px;background:rgba(255,255,255,.72);box-shadow:0 24px 70px rgba(23,61,83,.06)}
.technology-pillar:after{content:"";position:absolute;top:-120px;right:-60px;width:430px;height:430px;border:1px solid rgba(16,171,213,.12);border-radius:50%}.technology-pillar-index{color:rgba(7,95,155,.15);font-size:82px;font-weight:650;line-height:1}.technology-pillar-copy{position:relative;z-index:2}
.technology-pillar-copy>span{color:#0782b6;font-size:13px;font-weight:760}.technology-pillar-copy h3{margin:12px 0 16px;font-size:30px;font-weight:720;letter-spacing:0}.technology-pillar-copy p{margin:0;color:#5c6f7d;font-size:16px;line-height:1.8}
.technology-pillar-copy ul{display:flex;flex-wrap:wrap;gap:10px 22px;margin:22px 0 0;padding:0;color:#294352;font-size:13px;font-weight:650;list-style:none}.technology-pillar-copy li:before{content:"";display:inline-block;width:5px;height:5px;margin:0 8px 2px 0;border-radius:50%;background:#16a8d8}
.technology-pillar-graphic{position:relative;z-index:2;min-height:190px}.touch-graphic{display:grid;grid-template-columns:repeat(4,1fr);align-content:center;gap:10px}.touch-graphic span,.agent-graphic span{display:grid;aspect-ratio:1;place-items:center;border:1px solid rgba(7,95,155,.12);border-radius:50%;color:#075f9b;background:rgba(255,255,255,.82);box-shadow:0 14px 30px rgba(7,95,155,.08);font-size:13px;font-weight:720}
.touch-graphic i{position:absolute;left:10%;right:10%;bottom:18px;height:1px;background:linear-gradient(90deg,transparent,#24b6d8 15%,#075f9b 50%,#24b6d8 85%,transparent)}.touch-graphic strong{position:absolute;left:50%;bottom:0;padding:7px 14px;border-radius:999px;color:#fff;background:#075f9b;font-size:12px;transform:translate(-50%,50%)}
.agent-graphic{display:flex;align-items:center;justify-content:center}.agent-graphic span{width:78px;height:78px;flex:0 0 auto}.agent-graphic i{position:relative;width:28px;height:1px;flex:0 1 38px;background:#45bed8}.agent-graphic i:after{content:"";position:absolute;top:-3px;right:0;border-width:4px 0 4px 6px;border-style:solid;border-color:transparent transparent transparent #45bed8}
.technology-dual{width:100%;padding-right:max(24px,calc((100% - 1180px)/2));padding-left:max(24px,calc((100% - 1180px)/2));background:#071d2a;color:#fff}.technology-dual .technology-section-heading>span{color:#50cbe1}.technology-dual .technology-section-heading p{color:rgba(232,245,249,.64)}
.technology-dual-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:1px;overflow:hidden;border:1px solid rgba(151,222,236,.15);border-radius:8px;background:rgba(151,222,236,.12)}.absolute-technology,.experience-technology{padding:46px;background:#0b2636}.experience-technology{background:radial-gradient(circle at 90% 8%,rgba(29,182,215,.2),transparent 32%),#0d2c3e}
.technology-column-heading>span{color:#52cbe1;font-size:11px;font-weight:800}.technology-column-heading h3{margin:10px 0 8px;font-size:30px;letter-spacing:0}.technology-column-heading p{margin:0;color:rgba(231,244,248,.62);font-size:14px;line-height:1.7}
.absolute-capabilities{display:grid;margin-top:34px}.absolute-capabilities>div{display:grid;grid-template-columns:42px 94px 1fr;align-items:start;gap:10px;padding:20px 0;border-top:1px solid rgba(194,230,239,.12)}.absolute-capabilities b{color:#52cbe1;font-size:12px}.absolute-capabilities strong{font-size:15px}.absolute-capabilities p{margin:0;color:rgba(231,244,248,.63);font-size:13px;line-height:1.7}
.experience-technology blockquote{margin:34px 0 28px;padding-left:22px;border-left:2px solid #32bedc;color:#f3fbfd;font-size:19px;font-weight:630;line-height:1.65}
.experience-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;overflow:hidden;border:1px solid rgba(189,229,239,.13);border-radius:6px;background:rgba(189,229,239,.1)}.experience-metrics div{padding:18px 12px;text-align:center;background:rgba(7,29,42,.7)}.experience-metrics strong,.experience-metrics span{display:block}.experience-metrics strong{color:#62d3e8;font-size:22px;font-weight:720}.experience-metrics span{margin-top:5px;color:rgba(231,244,248,.58);font-size:11px}
.experience-loop{display:flex;align-items:center;justify-content:space-between;margin-top:28px}.experience-loop span{color:#e7f5f8;font-size:12px;font-weight:650;white-space:nowrap}.experience-loop i{position:relative;width:22px;height:1px;background:rgba(76,196,220,.45)}.experience-loop i:after{content:"";position:absolute;top:-3px;right:0;border-width:4px 0 4px 5px;border-style:solid;border-color:transparent transparent transparent rgba(76,196,220,.65)}.experience-note{margin:26px 0 0;color:rgba(231,244,248,.55);font-size:12px;line-height:1.8}
.architecture-canvas{display:grid;grid-template-columns:1fr 54px .85fr 54px 1.08fr 54px 1.08fr;align-items:stretch;padding:32px;border:1px solid rgba(7,95,155,.11);border-radius:8px;background:rgba(255,255,255,.78);box-shadow:0 28px 80px rgba(20,58,80,.07)}.architecture-lane{position:relative;min-height:260px;padding:22px 18px;border:1px solid rgba(7,95,155,.11);border-radius:6px;background:rgba(239,248,251,.68)}.architecture-label{display:block;min-height:38px;color:#075f9b;font-size:13px;font-weight:780}.architecture-nodes{display:grid;gap:8px}.architecture-nodes b{display:grid;min-height:38px;place-items:center;border:1px solid rgba(7,95,155,.1);border-radius:4px;color:#294452;background:rgba(255,255,255,.82);font-size:12px;font-weight:650}
.architecture-arrow{display:flex;flex-direction:column;align-items:center;justify-content:center}.architecture-arrow i{position:relative;width:30px;height:1px;background:#1eb2d3}.architecture-arrow i:after{content:"";position:absolute;top:-4px;right:-1px;border-width:5px 0 5px 7px;border-style:solid;border-color:transparent transparent transparent #1eb2d3}.architecture-arrow span{margin-top:12px;color:#6c7e89;font-size:9px;writing-mode:vertical-rl}.architecture-core{background:rgba(228,244,249,.78)}.architecture-execution{background:rgba(235,241,252,.76)}
.architecture-foundation-row{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:16px;overflow:hidden;border-radius:5px;background:rgba(7,95,155,.12)}.architecture-foundation-row span{padding:13px 10px;text-align:center;color:#40606f;background:#edf7f9;font-size:11px;font-weight:650}
.technology-outcomes{border-top:1px solid rgba(7,95,155,.1)}.technology-outcome-list{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid rgba(7,95,155,.12);border-bottom:1px solid rgba(7,95,155,.12)}.technology-outcome-list article{min-height:230px;padding:30px 24px;border-right:1px solid rgba(7,95,155,.12)}.technology-outcome-list article:last-child{border-right:0}.technology-outcome-list span{color:#16a9d5;font-size:11px;font-weight:800}.technology-outcome-list h3{margin:34px 0 12px;font-size:25px;letter-spacing:0}.technology-outcome-list p{margin:0;color:#617481;font-size:13px;line-height:1.8}
.technology-credentials{padding-top:80px}.credential-gallery{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}.credential-gallery figure{min-width:0;margin:0;overflow:hidden;border:1px solid rgba(7,95,155,.1);border-radius:6px;background:rgba(255,255,255,.8);box-shadow:0 14px 34px rgba(20,58,80,.05)}.credential-gallery img{display:block;width:100%;height:184px;object-fit:contain;padding:10px;border-bottom:1px solid rgba(7,95,155,.08);background:#f8fafb}.credential-gallery figcaption{padding:14px}.credential-gallery strong,.credential-gallery span{display:block}.credential-gallery strong{overflow-wrap:anywhere;font-size:13px;line-height:1.45}.credential-gallery span{margin-top:5px;color:#74848e;font-size:10px}
.technology-cta{display:flex;align-items:center;justify-content:space-between;gap:48px;margin-bottom:108px;padding:48px 52px;border:1px solid rgba(7,95,155,.12);border-radius:8px;color:#fff;background:radial-gradient(circle at 82% 25%,rgba(49,198,225,.24),transparent 28%),linear-gradient(135deg,#071d2a,#0b3850)}.technology-cta span{color:#5dd2e6;font-size:12px;font-weight:760}.technology-cta h2{margin:10px 0;font-size:30px;letter-spacing:0}.technology-cta p{margin:0;color:rgba(234,247,250,.66);font-size:14px}.technology-cta-actions{display:flex;flex:0 0 auto;gap:12px}.technology-cta .button.primary{color:#072033;background:#fff;box-shadow:none}.technology-cta .button.secondary{border-color:rgba(255,255,255,.25);color:#fff;background:transparent}
@media(max-width:1080px){.technology-hero{min-height:auto;grid-template-columns:1fr 430px;gap:38px}.technology-hero-copy h1{font-size:46px}.technology-pillar{grid-template-columns:68px minmax(320px,1fr) minmax(300px,.9fr);gap:24px;padding:38px}.technology-dual-grid{grid-template-columns:1fr}.architecture-canvas{grid-template-columns:1fr 36px 1fr 36px 1fr 36px 1fr;padding:22px}.credential-gallery{grid-template-columns:repeat(3,1fr)}}
@media(max-width:820px){.technology-hero,.technology-pillar{grid-template-columns:1fr}.technology-hero{gap:36px;padding-top:52px}.technology-hero-copy h1{font-size:42px}.technology-hero-visual{width:min(520px,100%);margin:0 auto}.technology-pillar{gap:18px}.technology-pillar-index{font-size:54px}.technology-pillar-graphic{min-height:150px}.architecture-canvas{grid-template-columns:1fr;gap:12px}.architecture-arrow{min-height:36px;transform:rotate(90deg)}.architecture-arrow span{display:none}.architecture-lane{min-height:auto}.architecture-nodes{grid-template-columns:repeat(2,1fr)}.architecture-foundation-row{grid-column:1;grid-template-columns:repeat(2,1fr)}.technology-outcome-list{grid-template-columns:repeat(2,1fr)}.technology-outcome-list article:nth-child(2n){border-right:0}.technology-outcome-list article:last-child{grid-column:1/-1;min-height:180px}.technology-cta{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.technology-hero,.technology-section,.technology-cta{width:min(100% - 32px,1180px)}.technology-hero{padding:42px 0 64px}.technology-hero-copy h1{margin-top:16px;font-size:34px}.technology-hero-copy>p{font-size:16px}.technology-trust-line{gap:9px;font-size:12px}.tech-satellite{width:142px;grid-template-columns:31px 1fr;padding:10px}.satellite-touch{top:11%}.satellite-agent{bottom:10%}.tech-core strong{font-size:19px}.technology-section{padding:76px 0}.technology-section-heading{margin-bottom:34px}.technology-section-heading h2{font-size:30px}.technology-section-heading p{font-size:15px}.technology-pillar{padding:28px 22px}.technology-pillar-copy h3{font-size:26px}.technology-pillar-copy ul{display:grid}.touch-graphic{gap:6px}.touch-graphic span{font-size:11px}.agent-graphic span{width:62px;height:62px;font-size:11px}.absolute-technology,.experience-technology{padding:30px 22px}.absolute-capabilities>div{grid-template-columns:32px 78px 1fr;gap:6px}.experience-technology blockquote{font-size:17px}.experience-metrics{grid-template-columns:repeat(2,1fr)}.experience-loop{display:grid;grid-template-columns:1fr;gap:8px}.experience-loop span{padding:9px 12px;border-left:2px solid rgba(82,203,225,.55);background:rgba(255,255,255,.03)}.experience-loop i{display:none}.architecture-canvas{padding:16px}.architecture-nodes,.architecture-foundation-row{grid-template-columns:1fr}.technology-outcome-list{grid-template-columns:1fr}.technology-outcome-list article,.technology-outcome-list article:nth-child(2n){min-height:auto;border-right:0;border-bottom:1px solid rgba(7,95,155,.12)}.technology-outcome-list article:last-child{grid-column:auto;border-bottom:0}.credential-gallery{grid-template-columns:repeat(2,1fr)}.credential-gallery img{height:150px}.technology-cta{margin-bottom:76px;padding:32px 24px}.technology-cta h2{font-size:25px}.technology-cta-actions{width:100%;flex-direction:column}.technology-cta-actions .button{width:100%}}



/* Technology page refinement */
.technology-section{padding:92px 0}
.technology-pillar{min-height:286px}
.technology-pillar-copy p{max-width:560px}
.technology-pillar-copy ul{gap:8px 16px;margin-top:18px;color:#47606e;font-size:12px}
.production-flow{position:relative;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));align-items:center;gap:0;padding:56px 42px 90px;overflow:hidden;border:1px solid rgba(7,95,155,.11);border-radius:8px;background:linear-gradient(150deg,rgba(255,255,255,.9),rgba(231,247,251,.66));box-shadow:0 28px 80px rgba(20,58,80,.07)}
.production-flow:before{content:"";position:absolute;right:-120px;bottom:-230px;width:520px;height:520px;border:1px solid rgba(18,173,211,.13);border-radius:50%;box-shadow:0 0 0 55px rgba(18,173,211,.025),0 0 0 110px rgba(18,173,211,.02)}
.production-flow article{position:relative;z-index:2;min-height:170px;padding:26px 20px;border:1px solid rgba(7,95,155,.1);border-radius:6px;background:rgba(255,255,255,.78);box-shadow:0 16px 38px rgba(19,61,84,.06)}
.production-flow article>span{color:#14a8d2;font-size:11px;font-weight:800}.production-flow h3{margin:34px 0 9px;font-size:20px;letter-spacing:0}.production-flow p{margin:0;color:#637783;font-size:12px;line-height:1.7}
.production-flow>i{position:relative;z-index:2;height:1px;background:linear-gradient(90deg,#55c7dc,#0b79b4)}.production-flow>i:after{content:"";position:absolute;top:-4px;right:-1px;border-width:5px 0 5px 7px;border-style:solid;border-color:transparent transparent transparent #0b79b4}
.production-guardrail{position:absolute;z-index:2;right:42px;bottom:28px;left:42px;display:flex;justify-content:space-between;padding-top:17px;border-top:1px solid rgba(7,95,155,.12);color:#456270;font-size:11px;font-weight:680}
.production-guardrail span:before{content:"";display:inline-block;width:5px;height:5px;margin:0 7px 1px 0;border-radius:50%;background:#22b2d3}
.technology-outcome-list article{min-height:185px;padding:26px 22px}.technology-outcome-list h3{margin:24px 0 9px}.technology-credentials{padding:58px 0 86px}.technology-credentials .technology-section-heading{margin-bottom:28px}
.credential-gallery{gap:10px;padding:18px;border:1px solid rgba(7,95,155,.1);border-radius:8px;background:rgba(255,255,255,.7);box-shadow:0 20px 54px rgba(20,58,80,.05)}
.credential-gallery figure{border:0;border-radius:4px;background:transparent;box-shadow:none}
.credential-gallery img{height:124px;padding:5px;border:1px solid rgba(7,95,155,.07);border-radius:3px;background:#fff;filter:saturate(.78)}
.credential-gallery figcaption{padding:10px 4px 2px;text-align:center}.credential-gallery strong{font-size:11px;font-weight:680}.credential-gallery figcaption span{display:none}
@media(max-width:820px){.production-flow{grid-template-columns:1fr;gap:0;padding:26px 24px 110px}.production-flow article{min-height:auto}.production-flow>i{width:1px;height:30px;margin:0 auto;background:linear-gradient(#55c7dc,#0b79b4)}.production-flow>i:after{top:auto;right:-4px;bottom:0;border-width:7px 5px 0;border-color:#0b79b4 transparent transparent}.production-flow h3{margin-top:18px}.production-guardrail{right:24px;bottom:22px;left:24px;flex-wrap:wrap;gap:8px 16px}.technology-section{padding:78px 0}}
@media(max-width:560px){.technology-section{padding:68px 0}.credential-gallery{grid-template-columns:repeat(3,1fr);padding:10px}.credential-gallery img{height:92px}.credential-gallery figcaption{display:none}.production-flow{padding:18px 16px 130px}.production-guardrail{right:16px;left:16px}.technology-outcome-list article{padding:22px 18px}}



/* Generated technology hero visual */
.technology-hero{grid-template-columns:minmax(0,.82fr) minmax(560px,1.18fr);gap:34px}
.technology-hero-visual{aspect-ratio:1.42;border-radius:0;background-image:url("./assets/technology/technology-core-visual-v1.webp");background-repeat:no-repeat;background-position:64% center;background-size:cover}
.technology-hero-visual:before,.technology-hero-visual:after,.tech-orbit,.tech-signal{display:none}
.tech-core{inset:30% 35%;border-color:rgba(255,255,255,.64);background:rgba(247,253,255,.52);box-shadow:0 18px 48px rgba(7,95,155,.12),inset 0 0 28px rgba(255,255,255,.5);backdrop-filter:blur(5px)}
.tech-core small{font-size:7px}.tech-core strong{font-size:21px}.satellite-touch{top:18%;left:0}.satellite-agent{right:0;bottom:16%}
@media(max-width:1080px){.technology-hero{grid-template-columns:1fr 500px}.tech-satellite{width:155px}}
@media(max-width:820px){.technology-hero{grid-template-columns:1fr}.technology-hero-visual{width:100%;aspect-ratio:1.45}.tech-satellite{width:165px}}
@media(max-width:560px){.technology-hero-visual{aspect-ratio:1.18;background-position:61% center}.tech-core{inset:31%}.tech-core strong{font-size:17px}.tech-core span,.tech-core small{display:none}.tech-satellite{width:135px}.satellite-touch{top:8%}.satellite-agent{bottom:7%}}

/* Technology hero edge blending */
.technology-hero-copy h1{font-size:50px}
.technology-hero-visual{overflow:visible;background:none}
.technology-hero-visual:before{display:block;inset:-7%;border:0;background-image:url("./assets/technology/technology-core-visual-v1.webp");background-repeat:no-repeat;background-position:64% center;background-size:cover;-webkit-mask-image:radial-gradient(ellipse 65% 72% at 62% 52%,#000 45%,rgba(0,0,0,.78) 65%,transparent 100%);mask-image:radial-gradient(ellipse 65% 72% at 62% 52%,#000 45%,rgba(0,0,0,.78) 65%,transparent 100%)}
@media(max-width:1080px){.technology-hero-copy h1{font-size:44px}}
@media(max-width:820px){.technology-hero-copy h1{font-size:40px}}
@media(max-width:560px){.technology-hero-copy h1{font-size:34px}.technology-hero-visual:before{inset:-4%;background-position:61% center;-webkit-mask-image:radial-gradient(ellipse 72% 72% at 60% 52%,#000 48%,transparent 100%);mask-image:radial-gradient(ellipse 72% 72% at 60% 52%,#000 48%,transparent 100%)}}


/* Technology page visual polish v2 */
.technology-page{background:linear-gradient(180deg,#f5fafc 0%,#f1f6f9 42%,#f5f8fa 100%)}
.technology-hero{min-height:650px;padding-top:64px}
.technology-hero-copy h1{font-weight:610;line-height:1.18}
.technology-kicker,.technology-section-heading>span{font-weight:720}
.tech-core{display:none}
.tech-satellite{width:auto;grid-template-columns:30px auto;padding:0 0 0 12px;border:0;border-left:1px solid rgba(7,95,155,.28);border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none}
.tech-satellite>span{width:24px;height:24px;color:#0878ad;background:rgba(255,255,255,.74);box-shadow:0 6px 18px rgba(7,95,155,.08);font-size:10px}
.tech-satellite strong{color:#153849;font-size:12px;font-weight:680}.tech-satellite small{color:#6c8490;font-size:9px}
.satellite-touch{top:25%;left:8%}.satellite-agent{right:7%;bottom:22%}
.technology-section-heading h2{font-weight:610;line-height:1.3}
.technology-foundation{border-top:1px solid rgba(7,95,155,.08)}
.technology-pillars{gap:0;border-top:1px solid rgba(7,95,155,.12);border-bottom:1px solid rgba(7,95,155,.12)}
.technology-pillar{min-height:280px;grid-template-columns:72px minmax(340px,.9fr) minmax(380px,1.1fr);gap:34px;padding:54px 0;border:0;border-bottom:1px solid rgba(7,95,155,.1);border-radius:0;background:transparent;box-shadow:none}
.technology-pillar:last-child{border-bottom:0}
.technology-pillar:after{top:50%;right:3%;width:330px;height:330px;border-color:rgba(19,169,207,.09);transform:translateY(-50%)}
.technology-pillar-index{font-size:58px;font-weight:500}
.technology-pillar-copy h3{font-size:29px;font-weight:620}
.technology-pillar-copy p{font-size:15px;line-height:1.75}
.technology-pillar-copy ul{font-weight:580}
.touch-graphic{align-items:center;gap:0}
.touch-graphic span{position:relative;z-index:2;aspect-ratio:auto;padding-top:30px;border:0;border-radius:0;background:transparent;box-shadow:none;font-size:12px;font-weight:650}
.touch-graphic span:before{content:"";position:absolute;top:4px;left:50%;width:10px;height:10px;border:3px solid rgba(255,255,255,.9);border-radius:50%;background:#29b7d5;box-shadow:0 0 0 7px rgba(41,183,213,.08);transform:translateX(-50%)}
.touch-graphic i{top:66px;bottom:auto;left:11%;right:11%;background:linear-gradient(90deg,rgba(41,183,213,.12),#29b7d5 24%,#0878ad 50%,#29b7d5 76%,rgba(41,183,213,.12))}
.touch-graphic strong{bottom:42px;padding:0;color:#075f9b;background:transparent;font-size:11px;font-weight:720}
.agent-graphic{min-height:150px}
.agent-graphic span{position:relative;width:auto;height:auto;aspect-ratio:auto;padding-top:30px;border:0;border-radius:0;background:transparent;box-shadow:none;font-size:12px;font-weight:650}
.agent-graphic span:before{content:"";position:absolute;top:2px;left:50%;width:11px;height:11px;border:3px solid rgba(255,255,255,.9);border-radius:50%;background:#0c7faf;box-shadow:0 0 0 7px rgba(12,127,175,.07);transform:translateX(-50%)}
.agent-graphic i{max-width:58px;flex-basis:58px;background:linear-gradient(90deg,#65cbdc,#0d7fb0)}
.technology-dual{padding-top:100px;padding-bottom:100px;background:linear-gradient(145deg,#061b28,#0b2d3e 65%,#0c3a4c)}
.technology-dual-grid{gap:0;border:0;border-top:1px solid rgba(151,222,236,.15);border-bottom:1px solid rgba(151,222,236,.15);border-radius:0;background:transparent}
.absolute-technology,.experience-technology{padding:44px 46px;background:transparent}
.absolute-technology{border-right:1px solid rgba(151,222,236,.12)}
.experience-technology{background:radial-gradient(circle at 86% 16%,rgba(29,182,215,.13),transparent 34%)}
.technology-column-heading h3{font-weight:620}
.absolute-capabilities>div{grid-template-columns:38px 88px 1fr;padding:17px 0}
.experience-technology blockquote{font-size:18px;font-weight:560}
.experience-metrics{border:0;border-top:1px solid rgba(189,229,239,.13);border-bottom:1px solid rgba(189,229,239,.13);border-radius:0;background:transparent}
.experience-metrics div{background:transparent}
.production-flow{padding:50px 0 84px;border:0;border-top:1px solid rgba(7,95,155,.12);border-bottom:1px solid rgba(7,95,155,.12);border-radius:0;background:transparent;box-shadow:none}
.production-flow:before{right:4%;bottom:-275px;width:560px;height:560px}
.production-flow article{min-height:150px;padding:28px 18px;border:0;border-radius:0;background:transparent;box-shadow:none}
.production-flow article>span{display:block;margin-bottom:42px}
.production-flow h3{margin:0 0 10px;font-size:19px;font-weight:620}
.production-flow>i{background:linear-gradient(90deg,rgba(34,178,211,.35),#0b79b4)}
.production-guardrail{right:0;left:0}
.technology-outcome-list article{padding-right:28px;padding-left:28px}
.technology-outcome-list h3{font-weight:610}
.credential-gallery{background:rgba(255,255,255,.54);box-shadow:none}
.technology-cta{box-shadow:0 24px 70px rgba(7,38,54,.1)}
@media(max-width:1080px){.technology-pillar{grid-template-columns:58px minmax(300px,1fr) minmax(300px,.9fr)}}
@media(max-width:820px){.technology-pillar{grid-template-columns:1fr;padding:40px 0}.technology-pillar-index{font-size:42px}.absolute-technology{border-right:0;border-bottom:1px solid rgba(151,222,236,.12)}.production-flow{padding:24px 0 112px}.production-flow article{min-height:auto;padding:24px 18px}.production-flow article>span{margin-bottom:18px}.tech-satellite{width:auto}}
@media(max-width:560px){.technology-hero{min-height:auto}.technology-hero-copy h1{font-weight:620}.satellite-touch{top:16%;left:4%}.satellite-agent{right:4%;bottom:14%}.technology-pillar-copy h3{font-size:25px}.technology-pillar:after{right:-35%;width:280px;height:280px}.touch-graphic strong{bottom:22px}.technology-dual{padding-top:72px;padding-bottom:72px}.absolute-technology,.experience-technology{padding:28px 18px}.technology-outcome-list article{padding:22px 18px}}



/* Centered dual-hub technology hero */
.technology-hero{display:block;min-height:auto;padding:58px 0 86px}
.technology-hero-copy{max-width:920px;margin:0 auto;text-align:center}
.technology-hero-copy h1{max-width:920px;margin-right:auto;margin-left:auto;font-size:48px;line-height:1.2}
.technology-hero-copy>p{max-width:760px;margin-right:auto;margin-left:auto;font-size:17px}
.technology-trust-line{justify-content:center;margin-top:26px}
.technology-hero-visual{width:100%;aspect-ratio:2.04;margin:28px auto 0}
.technology-hero-visual:before{inset:-6% -4%;background-image:url("./assets/technology/technology-dual-hub-v1.webp");background-position:center;background-size:cover;-webkit-mask-image:radial-gradient(ellipse 76% 82% at 50% 50%,#000 53%,rgba(0,0,0,.82) 70%,transparent 100%);mask-image:radial-gradient(ellipse 76% 82% at 50% 50%,#000 53%,rgba(0,0,0,.82) 70%,transparent 100%)}
.tech-satellite{bottom:8%;top:auto}
.satellite-touch{left:21%}.satellite-agent{right:20%}
@media(max-width:820px){.technology-hero{padding-top:42px}.technology-hero-copy h1{font-size:40px}.technology-hero-visual{aspect-ratio:1.62;margin-top:20px}.technology-hero-visual:before{inset:-4% -10%;background-size:cover}.satellite-touch{left:12%}.satellite-agent{right:10%}}
@media(max-width:560px){.technology-hero-copy h1{font-size:33px}.technology-hero-copy>p{font-size:15px}.technology-trust-line{margin-top:20px}.technology-hero-visual{aspect-ratio:1.35}.technology-hero-visual:before{inset:-2% -18%;-webkit-mask-image:radial-gradient(ellipse 82% 78% at 50% 52%,#000 48%,transparent 100%);mask-image:radial-gradient(ellipse 82% 78% at 50% 52%,#000 48%,transparent 100%)}.tech-satellite{bottom:2%;padding-left:8px}.tech-satellite>span{width:20px;height:20px}.tech-satellite strong{font-size:10px}.tech-satellite small{display:none}.satellite-touch{left:4%}.satellite-agent{right:3%}}



/* Technology visual gallery */
.technology-gallery{padding-top:118px;background:linear-gradient(180deg,#f7fbfd 0%,#f2f7fa 42%,#f6f9fb 100%)}
.gallery-hero,.gallery-story,.gallery-credentials,.technology-gallery .technology-cta{width:min(1180px,calc(100% - 48px));margin-right:auto;margin-left:auto}
.gallery-hero{padding:62px 0 92px}
.gallery-heading{max-width:900px;margin:0 auto 34px;text-align:center}
.gallery-heading>span{color:#0877a9;font-size:13px;font-weight:720}
.gallery-heading h1,.gallery-heading h2{margin:16px auto 14px;color:#071d2a;font-weight:610;line-height:1.18;letter-spacing:0}
.gallery-heading h1{font-size:48px}.gallery-heading h2{font-size:40px}
.gallery-heading p{max-width:760px;margin:0 auto;color:#617480;font-size:16px;line-height:1.8}
.gallery-visual{position:relative;margin:0}
.gallery-visual>img{display:block;width:100%;height:auto;object-fit:contain;-webkit-mask-image:radial-gradient(ellipse 77% 84% at 50% 50%,#000 57%,rgba(0,0,0,.82) 74%,transparent 100%);mask-image:radial-gradient(ellipse 77% 84% at 50% 50%,#000 57%,rgba(0,0,0,.82) 74%,transparent 100%)}
.gallery-dual-visual{margin-top:4px}
.gallery-dual-visual figcaption{position:absolute;right:17%;bottom:6%;left:17%;display:flex;justify-content:space-between}
.gallery-dual-visual figcaption>div{display:grid;grid-template-columns:26px auto;grid-template-rows:auto auto;align-items:center;padding-left:12px;border-left:1px solid rgba(7,95,155,.24)}
.gallery-dual-visual figcaption span{grid-row:1/3;display:grid;width:20px;height:20px;place-items:center;border-radius:50%;color:#0877a9;background:rgba(255,255,255,.75);font-size:9px;font-weight:800}
.gallery-dual-visual figcaption strong{color:#153849;font-size:12px;font-weight:680}.gallery-dual-visual figcaption small{color:#6a818c;font-size:9px}
.gallery-story{padding:112px 0;border-top:1px solid rgba(7,95,155,.09)}
.gallery-story .gallery-heading{margin-bottom:22px}
.story-visual>img{max-height:590px}
.visual-sequence{position:absolute;right:20%;bottom:13%;left:20%;display:grid;grid-template-columns:auto 1fr auto 1fr auto 1fr auto 1fr auto;align-items:center}
.visual-sequence span{color:#174457;font-size:12px;font-weight:680;text-align:center}
.visual-sequence i{height:1px;background:linear-gradient(90deg,rgba(32,178,211,.25),#0a79b1)}
.visual-sequence i:after{content:"";float:right;margin-top:-3px;border-width:4px 0 4px 5px;border-style:solid;border-color:transparent transparent transparent #0a79b1}
.story-bionic .story-visual>figcaption{position:absolute;top:16%;left:4%;color:#68808d;font-size:11px}
.story-experience{width:100%;padding-right:max(24px,calc((100% - 1180px)/2));padding-left:max(24px,calc((100% - 1180px)/2));background:linear-gradient(180deg,rgba(232,244,248,.38),rgba(246,250,252,.12))}
.experience-proof{display:grid;grid-template-columns:repeat(4,1fr);max-width:840px;margin:-42px auto 0;position:relative;z-index:2;border-top:1px solid rgba(7,95,155,.12);border-bottom:1px solid rgba(7,95,155,.12)}
.experience-proof>div{padding:18px 14px;text-align:center;border-right:1px solid rgba(7,95,155,.1)}
.experience-proof>div:last-child{border-right:0}.experience-proof strong,.experience-proof span{display:block}
.experience-proof strong{color:#0877a9;font-size:24px;font-weight:650}.experience-proof span{margin-top:4px;color:#70828c;font-size:10px}
.experience-cycle{display:flex;max-width:680px;align-items:center;justify-content:center;gap:18px;margin:22px auto 0;color:#345565;font-size:11px;font-weight:650}
.experience-cycle i{width:42px;height:1px;background:#43bcd6}
.experience-cycle i:after{content:"";float:right;margin-top:-3px;border-width:4px 0 4px 5px;border-style:solid;border-color:transparent transparent transparent #43bcd6}
.story-trust .story-visual>img{max-height:560px}
.trust-results{display:grid;grid-template-columns:repeat(5,1fr);max-width:980px;margin:-26px auto 0;position:relative;z-index:2;border-top:1px solid rgba(7,95,155,.12);border-bottom:1px solid rgba(7,95,155,.12)}
.trust-results>div{padding:18px 14px;text-align:center;border-right:1px solid rgba(7,95,155,.1)}.trust-results>div:last-child{border-right:0}
.trust-results strong,.trust-results span{display:block}.trust-results strong{color:#123a4e;font-size:17px;font-weight:630}.trust-results span{margin-top:5px;color:#73858f;font-size:10px}
.gallery-credentials{padding:72px 0 92px;border-top:1px solid rgba(7,95,155,.09)}
.gallery-credentials .technology-section-heading{margin-bottom:26px;text-align:center}.gallery-credentials .technology-section-heading h2{font-size:30px;font-weight:610}
.gallery-credentials .credential-gallery{max-width:980px;margin:0 auto;padding:14px}
.gallery-credentials .credential-gallery img{height:104px}
.gallery-credentials .credential-gallery figcaption{padding:7px 2px 0}.gallery-credentials .credential-gallery strong{font-size:10px}
.technology-gallery .technology-cta{margin-bottom:100px}
@media(max-width:820px){.gallery-heading h1{font-size:40px}.gallery-heading h2{font-size:34px}.gallery-hero{padding-top:44px}.gallery-story{padding:82px 0}.gallery-dual-visual figcaption{right:8%;left:8%}.visual-sequence{right:10%;left:10%}.story-bionic .story-visual>figcaption{top:10%;left:2%}.experience-proof{margin-top:-12px}.trust-results{margin-top:-8px}.gallery-credentials .credential-gallery{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.technology-gallery{padding-top:104px}.gallery-hero,.gallery-story,.gallery-credentials,.technology-gallery .technology-cta{width:min(100% - 32px,1180px)}.gallery-hero{padding:36px 0 64px}.gallery-heading{margin-bottom:18px}.gallery-heading h1{font-size:32px}.gallery-heading h2{font-size:29px}.gallery-heading p{font-size:14px;line-height:1.75}.gallery-dual-visual{margin-right:-10%;margin-left:-10%}.gallery-dual-visual figcaption{right:3%;bottom:0;left:3%}.gallery-dual-visual figcaption strong{font-size:10px}.gallery-dual-visual figcaption small{display:none}.gallery-story{padding:68px 0}.story-visual{margin-right:-14%;margin-left:-14%}.story-visual>img{min-height:270px;object-fit:cover}.visual-sequence{right:13%;bottom:8%;left:13%}.visual-sequence span{font-size:10px}.story-bionic .story-visual>figcaption{display:none}.experience-proof{grid-template-columns:repeat(2,1fr);max-width:calc(100% - 56px);margin-top:-18px}.experience-proof>div:nth-child(2){border-right:0}.experience-proof>div:nth-child(-n+2){border-bottom:1px solid rgba(7,95,155,.1)}.experience-proof strong{font-size:20px}.experience-cycle{max-width:calc(100% - 48px);gap:7px;font-size:9px}.experience-cycle i{width:12px}.trust-results{grid-template-columns:repeat(5,1fr);max-width:calc(100% - 42px);margin-top:-4px}.trust-results>div{padding:12px 4px}.trust-results strong{font-size:13px}.trust-results span{display:none}.gallery-credentials{padding:56px 0 70px}.gallery-credentials .credential-gallery img{height:82px}.gallery-credentials .credential-gallery figcaption{display:none}}



/* Human vs digital employee capability mapping */
.human-digital-compare{padding-bottom:34px}
.human-digital-compare>img{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%)}
.compare-identity{position:absolute;top:8%;display:flex;flex-direction:column;color:#173d4f}
.compare-identity strong{font-size:15px;font-weight:680}.compare-identity span{margin-top:4px;color:#69808c;font-size:9px}
.compare-digital{left:17%;align-items:flex-start}.compare-human{right:16%;align-items:flex-end}
.compare-map>div{position:absolute;left:50%;z-index:2;width:220px;text-align:center;transform:translateX(-50%)}
.compare-map>div:before,.compare-map>div:after{content:"";position:absolute;top:14px;width:88px;height:1px;background:linear-gradient(90deg,transparent,rgba(36,173,207,.55))}
.compare-map>div:before{right:calc(100% + 10px)}.compare-map>div:after{left:calc(100% + 10px);transform:scaleX(-1)}
.compare-map span{display:grid;width:28px;height:28px;place-items:center;margin:0 auto 5px;border:1px solid rgba(7,95,155,.18);border-radius:50%;color:#0877a9;background:rgba(255,255,255,.76);font-size:11px;font-weight:800;box-shadow:0 8px 20px rgba(7,95,155,.06)}
.compare-map strong,.compare-map small{display:block}.compare-map strong{color:#11384b;font-size:12px;font-weight:700}.compare-map small{margin-top:3px;color:#71838c;font-size:8px;line-height:1.35}
.map-brain{top:12%}.map-eye{top:29%}.map-voice{top:46%}.map-hand{top:72%}
.story-bionic .human-digital-compare>figcaption{position:absolute;top:auto;right:0;bottom:0;left:0;text-align:center;color:#365665;font-size:12px;font-weight:650}
@media(max-width:820px){.compare-map>div{width:180px}.compare-map>div:before,.compare-map>div:after{width:54px}.compare-identity{top:5%}}
@media(max-width:560px){.human-digital-compare{margin-right:-10%;margin-left:-10%;padding-bottom:0}.human-digital-compare>img{min-height:230px;object-fit:cover}.compare-identity{top:4%}.compare-identity strong{font-size:11px}.compare-identity span{display:none}.compare-digital{left:12%}.compare-human{right:10%}.compare-map{position:relative;display:grid;grid-template-columns:repeat(2,1fr);gap:1px;width:calc(100% - 44px);margin:-4px auto 0;border-top:1px solid rgba(7,95,155,.1);border-bottom:1px solid rgba(7,95,155,.1);background:rgba(7,95,155,.08)}.compare-map>div{position:static;width:auto;padding:12px 6px;background:#f4f9fb;text-align:center;transform:none}.compare-map>div:before,.compare-map>div:after{display:none}.compare-map span{width:23px;height:23px;font-size:9px}.compare-map strong{font-size:10px}.compare-map small{display:none}.story-bionic .human-digital-compare>figcaption{position:relative;padding:12px 0 0;font-size:11px}}

/* Technology capability callouts: digital employee anchors on the left */
.compare-callouts{position:absolute;z-index:2;inset:0 0 34px;width:100%;height:calc(100% - 34px);overflow:visible;pointer-events:none}
.compare-callouts path{fill:none;stroke:rgba(24,151,198,.62);stroke-width:1.3;vector-effect:non-scaling-stroke}
.compare-callouts g:not(.callout-rings) circle{fill:#dffcff;stroke:none}
.compare-callouts .callout-rings circle{fill:none;stroke:rgba(65,210,239,.58);stroke-width:1.2;vector-effect:non-scaling-stroke;animation:capabilityPulse 2.8s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.compare-callouts .callout-rings circle:nth-child(2){animation-delay:.35s}.compare-callouts .callout-rings circle:nth-child(3){animation-delay:.7s}.compare-callouts .callout-rings circle:nth-child(4){animation-delay:1.05s}
@keyframes capabilityPulse{0%,100%{opacity:.45;transform:scale(.82)}50%{opacity:1;transform:scale(1.28)}}
.human-digital-compare .compare-map>div{z-index:3;display:grid;grid-template-columns:auto 1fr;width:238px;padding:3px 0;align-items:center;border:0;background:none;text-align:left;transform:none;filter:drop-shadow(0 2px 8px rgba(255,255,255,.96))}
.human-digital-compare .compare-map>div:before,.human-digital-compare .compare-map>div:after{display:none}
.human-digital-compare .compare-map span{display:block;width:auto;height:auto;margin:0 11px 0 0;border:0;border-radius:0;position:relative;color:transparent;background:linear-gradient(145deg,#5ad5ec 4%,#119cca 48%,#086f9f 100%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;font-family:"Microsoft YaHei UI","PingFang SC",sans-serif;font-weight:600;letter-spacing:0;line-height:.9;box-shadow:none;filter:drop-shadow(0 7px 15px rgba(20,151,191,.18))}
.human-digital-compare .compare-map span:after{content:attr(data-char);position:absolute;inset:-1px auto auto -1px;color:transparent;-webkit-text-fill-color:transparent;-webkit-text-stroke:.55px rgba(255,255,255,.8);opacity:.9;pointer-events:none}
.human-digital-compare .compare-map strong{color:#143e50;font-size:14px;font-weight:720;line-height:1.28;text-shadow:0 1px 10px #fff,0 1px 10px #fff}
.human-digital-compare .map-brain{top:9%;left:16%}.human-digital-compare .map-brain span{font-size:46px}
.human-digital-compare .map-eye{top:25.5%;left:23%}.human-digital-compare .map-eye span{font-size:33px}
.human-digital-compare .map-voice{top:40.5%;left:25%}.human-digital-compare .map-voice span{font-size:38px}
.human-digital-compare .map-hand{top:72%;left:15%}.human-digital-compare .map-hand span{font-size:49px}
@media(max-width:820px) and (min-width:561px){.human-digital-compare .compare-map>div{width:190px}.human-digital-compare .compare-map strong{font-size:11px}.human-digital-compare .map-brain{left:11%}.human-digital-compare .map-eye{left:19%}.human-digital-compare .map-voice{left:21%}.human-digital-compare .map-hand{left:10%}}
@media(max-width:560px){.human-digital-compare .compare-map>div{display:flex;width:auto;padding:12px 6px;justify-content:center;border:0;background:#f4f9fb;text-align:center}.human-digital-compare .compare-map span{margin:0 7px 0 0;font-size:23px}.human-digital-compare .compare-map strong{font-size:10px}.human-digital-compare .map-brain,.human-digital-compare .map-eye,.human-digital-compare .map-voice,.human-digital-compare .map-hand{top:auto;left:auto}}
@media(prefers-reduced-motion:reduce){.compare-callouts .callout-rings circle{animation:none}}
/* Technology hero dual title */
.technology-dual-title{display:flex;align-items:center;justify-content:center;gap:24px;white-space:nowrap}
.technology-dual-title span{display:block}
.technology-dual-title i{display:block;width:1px;height:.78em;background:linear-gradient(180deg,transparent,rgba(12,112,154,.38),transparent)}
@media(max-width:560px){.technology-dual-title{gap:12px;font-size:27px}.technology-dual-title i{height:.72em}}
/* Technology four-pillar title */
.technology-pillars-title{gap:18px}
@media(max-width:900px){.technology-pillars-title{gap:11px;font-size:32px}}
@media(max-width:560px){.technology-pillars-title{gap:7px;font-size:18px}.technology-pillars-title i{height:.66em}}
/* Practice-driven evolution visual */
.experience-core-copy{position:absolute;top:39%;left:50%;z-index:2;display:flex;flex-direction:column;align-items:center;transform:translate(-50%,-50%);text-align:center;pointer-events:none}
.experience-core-copy small{color:#5c7b89;font-size:11px;font-weight:650;letter-spacing:0}
.experience-core-copy strong{margin-top:7px;color:#0877a9;font-size:34px;font-weight:680;letter-spacing:0;text-shadow:0 10px 32px rgba(20,171,207,.15)}
.story-experience .story-visual>img{-webkit-mask-image:radial-gradient(ellipse 88% 90% at 50% 50%,#000 62%,rgba(0,0,0,.82) 78%,transparent 100%);mask-image:radial-gradient(ellipse 88% 90% at 50% 50%,#000 62%,rgba(0,0,0,.82) 78%,transparent 100%)}
@media(max-width:820px){.experience-core-copy{top:37%}.experience-core-copy strong{font-size:27px}}
@media(max-width:560px){.experience-core-copy{top:34%}.experience-core-copy small{font-size:8px}.experience-core-copy strong{margin-top:3px;font-size:20px}}
/* Practice metrics integrated into visual */
.story-experience .story-visual{width:min(1180px,100%);margin-right:auto;margin-left:auto}
.story-experience .experience-proof{position:absolute;inset:0 0 52px;z-index:3;display:block;width:100%;max-width:none;height:auto;margin:0;border:0;pointer-events:none}
.story-experience .experience-proof>div{position:absolute;display:flex;flex-direction:column;align-items:flex-start;width:180px;padding:0;border:0;text-align:left;filter:drop-shadow(0 2px 9px rgba(255,255,255,.98))}
.story-experience .experience-proof>div:nth-child(1){top:12%;left:5%}
.story-experience .experience-proof>div:nth-child(2){top:28%;left:13%}
.story-experience .experience-proof>div:nth-child(3){top:49%;left:6%}
.story-experience .experience-proof>div:nth-child(4){top:69%;left:16%}
.story-experience .experience-proof strong{color:transparent;background:linear-gradient(145deg,#48cce7,#0a83b5 55%,#075f8d);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;font-size:28px;font-weight:680;line-height:1;letter-spacing:0;white-space:nowrap}
.story-experience .experience-proof span{margin:5px 0 0;color:#264d5e;font-size:11px;font-weight:650;line-height:1.25;white-space:nowrap;text-shadow:0 1px 10px #fff,0 1px 10px #fff}
@media(max-width:820px) and (min-width:561px){.story-experience .experience-proof>div{width:145px}.story-experience .experience-proof>div:nth-child(1){left:3%}.story-experience .experience-proof>div:nth-child(2){left:10%}.story-experience .experience-proof>div:nth-child(3){left:4%}.story-experience .experience-proof>div:nth-child(4){left:12%}.story-experience .experience-proof strong{font-size:22px}.story-experience .experience-proof span{font-size:9px}}
@media(max-width:560px){.story-experience .experience-proof{position:relative;top:auto;left:auto;display:grid;grid-template-columns:repeat(2,1fr);gap:0;width:calc(100% - 56px);max-width:none;margin:-12px auto 0;border-top:1px solid rgba(7,95,155,.1);border-bottom:1px solid rgba(7,95,155,.1)}.story-experience .experience-proof>div,.story-experience .experience-proof>div:nth-child(n){position:static;display:block;padding:13px 6px;text-align:center;transform:none}.story-experience .experience-proof>div:nth-child(odd){border-right:1px solid rgba(7,95,155,.1)}.story-experience .experience-proof>div:nth-child(-n+2){border-bottom:1px solid rgba(7,95,155,.1)}.story-experience .experience-proof strong{font-size:19px}.story-experience .experience-proof span{margin:4px 0 0;font-size:9px;white-space:normal}}
/* Integrated practice artwork */
.integrated-practice-visual{display:block;width:100%}
.integrated-practice-visual img{display:block;width:100%;height:auto;max-height:590px;object-fit:contain;-webkit-mask-image:radial-gradient(ellipse 88% 90% at 50% 50%,#000 62%,rgba(0,0,0,.82) 78%,transparent 100%);mask-image:radial-gradient(ellipse 88% 90% at 50% 50%,#000 62%,rgba(0,0,0,.82) 78%,transparent 100%)}
@media(max-width:560px){.integrated-practice-visual img{max-height:none;-webkit-mask-image:linear-gradient(180deg,transparent,#000 5%,#000 95%,transparent);mask-image:linear-gradient(180deg,transparent,#000 5%,#000 95%,transparent)}}
/* Direct four-core technology hero */
.technology-gallery .gallery-hero{display:grid;min-height:330px;padding:72px 0 82px;place-items:center}
.technology-gallery .gallery-hero .gallery-heading{width:100%;max-width:1040px;margin:0 auto}
.technology-gallery .gallery-hero .technology-pillars-title{margin-top:0}
@media(max-width:560px){.technology-gallery .gallery-hero{min-height:250px;padding:46px 0 58px}.technology-gallery .gallery-hero .gallery-heading p{max-width:310px}}
/* Compact alternating technology narrative */
@media(min-width:901px){
  .technology-gallery .gallery-hero{min-height:280px;padding:54px 0 64px}
  .technology-gallery .gallery-story{display:grid;grid-template-columns:minmax(320px,.72fr) minmax(0,1.28fr);gap:62px;align-items:center;padding-top:74px;padding-bottom:74px}
  .technology-gallery .gallery-story .gallery-heading{max-width:none;margin:0;text-align:left}
  .technology-gallery .gallery-story .gallery-heading h2{margin:10px 0 14px;font-size:34px;line-height:1.25}
  .technology-gallery .gallery-story .gallery-heading p{margin:0;font-size:15px;line-height:1.75}
  .technology-gallery .story-experience{grid-template-columns:minmax(0,1.28fr) minmax(320px,.72fr)}
  .technology-gallery .story-experience .story-visual{grid-column:1;grid-row:1;width:100%}
  .technology-gallery .story-experience .gallery-heading{grid-column:2;grid-row:1}
  .technology-gallery .story-visual>img,.technology-gallery .integrated-practice-visual img{max-height:470px}
  .technology-gallery .story-trust .trust-results{margin-top:-18px}
  .technology-gallery .gallery-credentials{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);gap:58px;align-items:center;padding-top:70px;padding-bottom:76px}
  .technology-gallery .gallery-credentials .technology-section-heading{grid-column:2;grid-row:1;margin:0;text-align:left}
  .technology-gallery .gallery-credentials .technology-section-heading h2{margin-top:10px;font-size:32px;line-height:1.25}
  .technology-gallery .gallery-credentials .credential-gallery{grid-column:1;grid-row:1;grid-template-columns:repeat(3,1fr);max-width:none;margin:0;padding:12px}
  .technology-gallery .gallery-credentials .credential-gallery img{height:96px}
}
@media(max-width:900px){
  .technology-gallery .gallery-story .gallery-heading{text-align:center}
}
/* Unified compact technology flow */
@media(min-width:901px){
  .technology-gallery .gallery-hero{min-height:230px;padding:38px 0 46px}
  .technology-gallery .gallery-story{gap:50px;padding-top:52px;padding-bottom:52px;border-top-color:rgba(7,95,155,.055)}
  .technology-gallery .story-experience{width:min(1180px,calc(100% - 48px));margin-right:auto;margin-left:auto;padding-right:0;padding-left:0;background:transparent}
  .technology-gallery .gallery-story .gallery-heading h2{font-size:32px}
  .technology-gallery .story-visual>img,.technology-gallery .integrated-practice-visual img{max-height:420px}
  .technology-gallery .gallery-credentials{gap:50px;padding-top:52px;padding-bottom:58px;border-top-color:rgba(7,95,155,.055)}
  .technology-gallery .technology-cta{margin-top:6px}
}
@media(max-width:900px) and (min-width:561px){
  .technology-gallery .gallery-story{padding-top:62px;padding-bottom:62px}
  .technology-gallery .story-experience{width:min(100% - 48px,1180px);padding-right:0;padding-left:0;background:transparent}
  .technology-gallery .gallery-credentials{padding-top:60px;padding-bottom:64px}
}
@media(max-width:560px){
  .technology-gallery .gallery-story{padding-top:54px;padding-bottom:54px}
  .technology-gallery .story-experience{width:min(100% - 32px,1180px);padding-right:0;padding-left:0;background:transparent}
  .technology-gallery .gallery-credentials{padding-top:50px;padding-bottom:54px}
}
/* Technology module lead statements */
.technology-gallery .technology-lead{display:inline-block;color:#087ca8;font-size:15px;font-weight:720;line-height:1.35;letter-spacing:0;text-shadow:0 8px 24px rgba(25,161,196,.1)}
.technology-gallery .gallery-credentials .technology-lead{font-size:15px}
@media(max-width:560px){.technology-gallery .technology-lead,.technology-gallery .gallery-credentials .technology-lead{font-size:13px}}
/* Balanced technology hero summary */
.technology-hero-summary span{display:block;white-space:nowrap}
@media(max-width:560px){.technology-hero-summary span{display:inline;white-space:normal}.technology-hero-summary span+span:before{content:" "}}
/* Recording risk control product page */
.recording-page {
  background: #fbfdff;
}

.recording-page main {
  overflow: hidden;
}

.recording-wrap {
  width: min(var(--max), calc(100% - 48px));
  margin: 0 auto;
}

.recording-hero {
  position: relative;
  width: min(1380px, 100%);
  min-height: 760px;
  margin: 0 auto;
  padding: 148px max(24px, calc((100% - 1180px) / 2)) 82px;
  display: grid;
  grid-template-columns: minmax(440px, .88fr) minmax(560px, 1.12fr);
  align-items: center;
}

.recording-hero::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 120px;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(251,253,255,0), #fbfdff 82%);
}

.recording-hero-copy {
  position: relative;
  z-index: 3;
  max-width: 590px;
}

.recording-label,
.recording-section-head > p,
.recording-title-row > div > p,
.recording-contact-copy > p {
  margin: 0 0 18px;
  color: #0877b7;
  font-size: 13px;
  line-height: 1.2;
  font-weight: 800;
  letter-spacing: .08em;
}

.recording-hero h1 {
  max-width: 610px;
  margin: 0 0 24px;
  color: #071723;
  font-size: clamp(46px, 4.5vw, 64px);
  line-height: 1.12;
  font-weight: 720;
  letter-spacing: 0;
}

.recording-hero-lead {
  max-width: 570px;
  margin: 0;
  color: #4f6475;
  font-size: 18px;
  line-height: 1.85;
}

@media (min-width: 721px) { .recording-term { white-space: nowrap; } }

.recording-actions {
  display: flex;
  gap: 12px;
  margin-top: 34px;
}

.recording-actions .button {
  min-width: 148px;
}

.recording-proof {
  display: flex;
  align-items: center;
  gap: 26px;
  margin-top: 36px;
  color: #385163;
  font-size: 14px;
  font-weight: 700;
}

.recording-proof span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
}

.recording-proof i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #12a9dc;
  box-shadow: 0 0 0 5px rgba(18,169,220,.1);
}

.recording-hero-visual {
  position: relative;
  z-index: 1;
  width: 850px;
  max-width: none;
  margin: 18px -190px 0 -92px;
  pointer-events: none;
}

.recording-hero-visual img {
  display: block;
  width: 100%;
  height: auto;
  mix-blend-mode: multiply;
}

.recording-problem {
  padding: 106px 0 118px;
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(520px, 1.08fr);
  gap: 100px;
  align-items: start;
}

.recording-section-head h2,
.recording-title-row h2,
.recording-contact h2 {
  margin: 0;
  color: #071723;
  font-size: clamp(34px, 3.1vw, 46px);
  line-height: 1.22;
  font-weight: 700;
  letter-spacing: 0;
}

.recording-section-head > span,
.recording-title-row > span,
.recording-contact-copy > span {
  display: block;
  color: #607383;
  font-size: 16px;
  line-height: 1.8;
}

.recording-section-head > span {
  max-width: 500px;
  margin-top: 24px;
}

.recording-problem-list {
  border-top: 1px solid rgba(7,95,155,.15);
}

.recording-problem-list article {
  min-height: 138px;
  padding: 28px 0;
  display: grid;
  grid-template-columns: 56px 1fr;
  gap: 22px;
  border-bottom: 1px solid rgba(7,95,155,.15);
}

.recording-problem-list b {
  padding-top: 3px;
  color: #11a6d8;
  font-size: 13px;
  font-weight: 800;
}

.recording-problem-list h3,
.recording-capability-grid h3,
.recording-steps h3 {
  margin: 0 0 9px;
  color: #0a2131;
  font-size: 21px;
  line-height: 1.35;
  letter-spacing: 0;
}

.recording-problem-list p,
.recording-capability-grid p,
.recording-steps p {
  margin: 0;
  color: #647785;
  font-size: 15px;
  line-height: 1.75;
}

.recording-capabilities {
  padding: 112px 0 120px;
  background:
    linear-gradient(180deg, rgba(236,247,252,.74), rgba(247,251,253,.38));
  border-top: 1px solid rgba(7,95,155,.07);
  border-bottom: 1px solid rgba(7,95,155,.07);
}

.recording-title-row {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr);
  gap: 76px;
  align-items: end;
}

.recording-title-row > span {
  max-width: 430px;
  justify-self: end;
}

.recording-capability-grid {
  margin-top: 64px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid rgba(7,95,155,.16);
  border-left: 1px solid rgba(7,95,155,.16);
}

.recording-capability-grid article {
  min-height: 210px;
  padding: 30px 28px;
  border-right: 1px solid rgba(7,95,155,.16);
  border-bottom: 1px solid rgba(7,95,155,.16);
  background: rgba(255,255,255,.38);
  transition: background .2s ease;
}

.recording-capability-grid article:hover {
  background: rgba(255,255,255,.82);
}

.recording-capability-grid article > span {
  display: block;
  margin-bottom: 32px;
  color: #0ca6db;
  font-size: 12px;
  font-weight: 850;
}

.recording-workflow {
  padding: 116px 0 124px;
}

.recording-steps {
  position: relative;
  margin: 68px 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  list-style: none;
}

.recording-steps::before {
  content: "";
  position: absolute;
  left: 7%;
  right: 7%;
  top: 20px;
  height: 1px;
  background: linear-gradient(90deg, rgba(0,140,207,.2), rgba(0,140,207,.72), rgba(0,140,207,.2));
}

.recording-steps li {
  position: relative;
  padding: 0 26px 0 0;
}

.recording-steps b {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  margin-bottom: 30px;
  border: 1px solid rgba(0,140,207,.3);
  border-radius: 50%;
  background: #fbfdff;
  color: #0877b7;
  font-size: 12px;
}

.recording-steps p {
  max-width: 220px;
}

.recording-comparison {
  padding: 112px 0;
  background: #eef7fb;
}

.recording-comparison-inner {
  display: grid;
  grid-template-columns: minmax(330px, .78fr) minmax(610px, 1.22fr);
  gap: 88px;
  align-items: center;
}

.recording-compare-table {
  overflow: hidden;
  border: 1px solid rgba(7,95,155,.14);
  border-radius: 8px;
  background: rgba(255,255,255,.78);
  box-shadow: 0 24px 60px rgba(22,66,94,.07);
}

.recording-compare-table > div {
  min-height: 66px;
  padding: 0 24px;
  display: grid;
  grid-template-columns: .68fr 1fr 1.08fr;
  align-items: center;
  gap: 18px;
  border-bottom: 1px solid rgba(7,95,155,.1);
  color: #667886;
  font-size: 14px;
}

.recording-compare-table > div:last-child {
  border-bottom: 0;
}

.recording-compare-table .recording-compare-head {
  min-height: 58px;
  background: rgba(7,95,155,.045);
  color: #243f52;
  font-size: 13px;
  font-weight: 800;
}

.recording-compare-table strong {
  color: #0877b7;
  font-weight: 800;
}

.recording-scenes {
  padding: 116px 0 100px;
}

.recording-scene-list {
  margin-top: 56px;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  border-top: 1px solid rgba(7,95,155,.14);
  border-left: 1px solid rgba(7,95,155,.14);
}

.recording-scene-list span {
  min-height: 82px;
  padding: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-right: 1px solid rgba(7,95,155,.14);
  border-bottom: 1px solid rgba(7,95,155,.14);
  color: #3d5668;
  background: rgba(255,255,255,.55);
  font-size: 14px;
  font-weight: 700;
  text-align: center;
}

.recording-contact {
  margin-bottom: 104px;
  padding: 50px 54px;
  display: grid;
  grid-template-columns: minmax(340px, .78fr) minmax(570px, 1.22fr);
  gap: 64px;
  align-items: center;
  border: 1px solid rgba(7,95,155,.14);
  border-radius: 8px;
  background:
    linear-gradient(120deg, rgba(255,255,255,.94), rgba(231,247,253,.92));
  box-shadow: 0 28px 70px rgba(20,60,84,.08);
}

.recording-contact h2 {
  font-size: 34px;
}

.recording-contact-copy > span {
  margin-top: 16px;
}

.recording-form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.recording-form label {
  display: grid;
  gap: 7px;
}

.recording-form label:nth-child(3) {
  grid-column: 1 / -1;
}

.recording-form label > span {
  color: #536979;
  font-size: 12px;
  font-weight: 750;
}

.recording-form input {
  width: 100%;
  height: 46px;
  padding: 0 14px;
  border: 1px solid rgba(7,95,155,.16);
  border-radius: 6px;
  outline: 0;
  background: rgba(255,255,255,.78);
  color: #071723;
  font: inherit;
}

.recording-form input:focus {
  border-color: rgba(0,140,207,.58);
  box-shadow: 0 0 0 3px rgba(0,140,207,.08);
}

.recording-form button {
  grid-column: 1 / -1;
  height: 48px;
  border: 0;
  border-radius: 6px;
  background: #071723;
  color: #fff;
  font-size: 14px;
  font-weight: 800;
  cursor: pointer;
}

.recording-form-message {
  grid-column: 1 / -1;
  min-height: 18px;
  margin: 0;
  color: #0877b7;
  font-size: 12px;
  line-height: 1.5;
}

@media (max-width: 1080px) {
  .recording-hero {
    grid-template-columns: minmax(390px, .92fr) minmax(440px, 1.08fr);
  }
  .recording-hero-visual {
    width: 720px;
    margin-left: -82px;
  }
  .recording-problem { gap: 56px; }
  .recording-comparison-inner { gap: 50px; }
  .recording-contact { grid-template-columns: .9fr 1.1fr; gap: 40px; }
}

@media (max-width: 900px) {
  .recording-hero {
    min-height: auto;
    padding-top: 126px;
    grid-template-columns: 1fr;
  }
  .recording-hero-copy { max-width: 680px; }
  .recording-hero-visual {
    width: min(940px, 120vw);
    margin: -12px -24vw -40px 5vw;
  }
  .recording-problem,
  .recording-comparison-inner {
    grid-template-columns: 1fr;
    gap: 52px;
  }
  .recording-title-row {
    grid-template-columns: 1fr;
    gap: 22px;
  }
  .recording-title-row > span { justify-self: start; }
  .recording-capability-grid { grid-template-columns: repeat(2, 1fr); }
  .recording-steps { grid-template-columns: repeat(2, 1fr); gap: 44px 18px; }
  .recording-steps::before { display: none; }
  .recording-scene-list { grid-template-columns: repeat(3, 1fr); }
  .recording-contact { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .recording-wrap { width: min(100% - 32px, var(--max)); }
  .recording-hero {
    padding: 110px 16px 50px;
  }
  .recording-label { margin-bottom: 14px; font-size: 12px; }
  .recording-hero h1 { font-size: 40px; line-height: 1.16; }
  .recording-hero-lead { font-size: 16px; line-height: 1.75; }
  .recording-actions { flex-direction: column; }
  .recording-actions .button { width: 100%; }
  .recording-proof { gap: 14px; justify-content: space-between; font-size: 12px; }
  .recording-proof span { gap: 6px; }
  .recording-hero-visual {
    width: 148vw;
    margin: 8px -40vw -30px -8vw;
  }
  .recording-problem,
  .recording-capabilities,
  .recording-workflow,
  .recording-comparison,
  .recording-scenes { padding-top: 78px; padding-bottom: 82px; }
  .recording-section-head h2,
  .recording-title-row h2 { font-size: 32px; }
  .recording-problem-list article { grid-template-columns: 42px 1fr; gap: 10px; }
  .recording-capability-grid { grid-template-columns: 1fr; margin-top: 42px; }
  .recording-capability-grid article { min-height: 180px; }
  .recording-steps { grid-template-columns: 1fr; margin-top: 46px; gap: 34px; }
  .recording-steps li { display: grid; grid-template-columns: 48px 1fr; padding: 0; }
  .recording-steps b { grid-row: 1 / 3; margin: 0; }
  .recording-steps h3 { margin: 2px 0 7px; }
  .recording-compare-table > div { padding: 0 12px; grid-template-columns: .68fr 1fr 1.08fr; gap: 8px; font-size: 11px; }
  .recording-scene-list { grid-template-columns: repeat(2, 1fr); }
  .recording-scene-list span { min-height: 72px; font-size: 13px; }
  .recording-contact { margin-bottom: 76px; padding: 34px 22px; gap: 34px; }
  .recording-contact h2 { font-size: 30px; }
  .recording-form { grid-template-columns: 1fr; }
  .recording-form label:nth-child(3), .recording-form button, .recording-form-message { grid-column: auto; }
}

/* Technology: enterprise assessment and Xinchuang adaptation */
.technology-gallery .story-trust .story-visual {
  overflow: visible;
}
.technology-gallery .story-trust .story-visual > img {
  max-height: 430px;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 8%, #000 94%, transparent 100%);
  mask-image: linear-gradient(90deg, transparent 0, #000 8%, #000 94%, transparent 100%);
}
.technology-gallery .story-trust .trust-results {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-width: 680px;
  margin-top: -14px;
  background: rgba(248,252,254,.72);
  backdrop-filter: blur(12px);
}
.technology-gallery .story-trust .trust-results > div {
  padding: 16px 18px;
}
.technology-gallery .story-trust .trust-results strong {
  color: #0b587c;
  font-size: 15px;
}
.technology-gallery .story-trust .trust-results span {
  margin-top: 6px;
  color: #657985;
  font-size: 10px;
}
@media (max-width: 560px) {
  .technology-gallery .story-trust .story-visual {
    margin-right: -8%;
    margin-left: -8%;
  }
  .technology-gallery .story-trust .story-visual > img {
    min-height: 220px;
    object-fit: contain;
  }
  .technology-gallery .story-trust .trust-results {
    grid-template-columns: 1fr;
    max-width: calc(100% - 40px);
    margin-top: -4px;
  }
  .technology-gallery .story-trust .trust-results > div {
    padding: 12px 10px;
    border-right: 0;
    border-bottom: 1px solid rgba(7,95,155,.1);
  }
  .technology-gallery .story-trust .trust-results > div:last-child {
    border-bottom: 0;
  }
  .technology-gallery .story-trust .trust-results span {
    display: block;
  }
}

/* Technology: integrated credentials artwork */
.technology-gallery .gallery-credentials .technology-section-heading p {
  max-width: 360px;
  margin: 14px 0 0;
  color: #607481;
  font-size: 14px;
  line-height: 1.75;
}
.credential-composite {
  position: relative;
  margin: 0;
}
.credential-composite img {
  display: block;
  width: 100%;
  height: auto;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 5%, #000 95%, transparent 100%);
  mask-image: linear-gradient(90deg, transparent 0, #000 5%, #000 95%, transparent 100%);
}
.credential-composite figcaption {
  margin-top: 8px;
  color: #71838d;
  font-size: 10px;
  text-align: center;
}
.credential-proof-line {
  margin-top: 26px;
  border-top: 1px solid rgba(7,95,155,.12);
}
.credential-proof-line > div {
  padding: 13px 0;
  border-bottom: 1px solid rgba(7,95,155,.12);
}
.credential-proof-line strong,
.credential-proof-line span {
  display: block;
}
.credential-proof-line strong {
  color: #123d51;
  font-size: 13px;
  font-weight: 720;
}
.credential-proof-line span {
  margin-top: 4px;
  color: #71838d;
  font-size: 10px;
  line-height: 1.5;
}
@media (min-width: 901px) {
  .technology-gallery .gallery-credentials {
    grid-template-columns: minmax(0, 1.34fr) minmax(310px, .66fr);
  }
  .technology-gallery .gallery-credentials .credential-composite {
    grid-column: 1;
    grid-row: 1;
  }
}
@media (max-width: 900px) {
  .technology-gallery .gallery-credentials .technology-section-heading {
    text-align: center;
  }
  .technology-gallery .gallery-credentials .technology-section-heading p {
    max-width: 620px;
    margin-right: auto;
    margin-left: auto;
  }
  .credential-proof-line {
    max-width: 620px;
    margin-right: auto;
    margin-left: auto;
    text-align: left;
  }
  .credential-composite {
    margin-top: 26px;
  }
}
@media (max-width: 560px) {
  .technology-gallery .gallery-credentials .technology-section-heading p {
    font-size: 13px;
  }
  .credential-proof-line {
    margin-top: 20px;
  }
  .credential-composite {
    margin-right: -10%;
    margin-left: -10%;
  }
  .credential-composite figcaption {
    display: none;
  }
}

/* Technology page vertical rhythm refinement */
@media (min-width: 901px) {
  .technology-gallery .gallery-hero {
    min-height: 206px;
    padding-top: 30px;
    padding-bottom: 34px;
  }
  .technology-gallery .gallery-story {
    gap: 42px;
    padding-top: 42px;
    padding-bottom: 42px;
  }
  .technology-gallery .gallery-story .gallery-heading h2 {
    margin-bottom: 12px;
    font-size: 31px;
  }
  .technology-gallery .gallery-story .gallery-heading p {
    font-size: 14px;
    line-height: 1.7;
  }
  .technology-gallery .story-visual > img,
  .technology-gallery .integrated-practice-visual img {
    max-height: 380px;
  }
  .technology-gallery .story-trust .story-visual > img {
    max-height: 390px;
  }
  .technology-gallery .gallery-credentials {
    gap: 42px;
    padding-top: 42px;
    padding-bottom: 46px;
  }
  .technology-gallery .gallery-credentials .credential-composite {
    width: min(100%, 720px);
    justify-self: center;
  }
  .technology-gallery .technology-cta {
    margin-top: 0;
    margin-bottom: 78px;
    padding: 42px 46px;
  }
}
@media (max-width: 900px) and (min-width: 561px) {
  .technology-gallery .gallery-hero {
    padding-top: 36px;
    padding-bottom: 44px;
  }
  .technology-gallery .gallery-story {
    padding-top: 50px;
    padding-bottom: 50px;
  }
  .technology-gallery .gallery-credentials {
    padding-top: 50px;
    padding-bottom: 54px;
  }
}
@media (max-width: 560px) {
  .technology-gallery .gallery-hero {
    min-height: 218px;
    padding-top: 32px;
    padding-bottom: 40px;
  }
  .technology-gallery .gallery-story {
    padding-top: 44px;
    padding-bottom: 44px;
  }
  .technology-gallery .gallery-credentials {
    padding-top: 44px;
    padding-bottom: 46px;
  }
  .technology-gallery .technology-cta {
    margin-bottom: 64px;
  }
}

/* Technology page equalized module heights */
@media (min-width: 901px) {
  .technology-gallery .story-visual > img,
  .technology-gallery .integrated-practice-visual img,
  .technology-gallery .story-trust .story-visual > img {
    max-height: 350px;
  }
  .technology-gallery .gallery-credentials .credential-composite {
    width: min(100%, 650px);
  }
}

/* About us page */
.about-page {
  background: #fbfdff;
}
.about-page main {
  overflow: hidden;
}
.about-wrap {
  width: min(var(--max), calc(100% - 48px));
  margin: 0 auto;
}
.about-label,
.about-section-heading > p,
.about-team-intro > p,
.about-contact-copy > p {
  margin: 0 0 18px;
  color: #0877b7;
  font-size: 13px;
  line-height: 1.2;
  font-weight: 800;
  letter-spacing: .08em;
}
.about-hero {
  position: relative;
  width: min(1380px, 100%);
  min-height: 750px;
  margin: 0 auto;
  padding: 140px max(24px, calc((100% - 1180px) / 2)) 80px;
  display: grid;
  grid-template-columns: minmax(430px, .84fr) minmax(570px, 1.16fr);
  align-items: center;
}
.about-hero::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 100px;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(251,253,255,0), #fbfdff 84%);
}
.about-hero-copy {
  position: relative;
  z-index: 3;
  max-width: 610px;
}
.about-hero h1 {
  margin: 0 0 18px;
  color: #071723;
  font-size: clamp(48px, 5vw, 66px);
  line-height: 1.08;
  font-weight: 720;
  letter-spacing: 0;
}
.about-hero h2 {
  max-width: 580px;
  margin: 0 0 24px;
  color: #153849;
  font-size: 26px;
  line-height: 1.45;
  font-weight: 630;
  letter-spacing: 0;
}
.about-hero-copy > p:not(.about-label) {
  max-width: 580px;
  margin: 0;
  color: #566b7a;
  font-size: 17px;
  line-height: 1.85;
}
.about-hero-actions {
  display: flex;
  gap: 12px;
  margin-top: 34px;
}
.about-hero-visual {
  position: relative;
  z-index: 1;
  width: 860px;
  max-width: none;
  margin: 12px -210px 0 -92px;
  pointer-events: none;
}
.about-hero-visual img {
  display: block;
  width: 100%;
  height: auto;
  mix-blend-mode: multiply;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 8%, #000 96%, transparent 100%);
  mask-image: linear-gradient(90deg, transparent 0, #000 8%, #000 96%, transparent 100%);
}
.about-origin {
  padding: 102px 0 112px;
  display: grid;
  grid-template-columns: minmax(320px, .78fr) minmax(520px, 1.22fr);
  gap: 62px 100px;
}
.about-section-heading h2,
.about-team-intro h2,
.about-contact-copy h2 {
  margin: 0;
  color: #071723;
  font-size: clamp(34px, 3.2vw, 46px);
  line-height: 1.25;
  font-weight: 680;
  letter-spacing: 0;
}
.about-origin-copy {
  padding-top: 30px;
}
.about-origin-copy p {
  margin: 0;
  color: #5d7180;
  font-size: 16px;
  line-height: 1.9;
}
.about-origin-copy p + p {
  margin-top: 18px;
}
.about-timeline {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid rgba(7,95,155,.14);
  border-bottom: 1px solid rgba(7,95,155,.14);
}
.about-timeline article {
  min-height: 152px;
  padding: 28px 30px;
  border-right: 1px solid rgba(7,95,155,.12);
}
.about-timeline article:last-child {
  border-right: 0;
}
.about-timeline strong,
.about-timeline span {
  display: block;
}
.about-timeline strong {
  color: #0877b7;
  font-size: 28px;
  font-weight: 670;
}
.about-timeline span {
  max-width: 280px;
  margin-top: 12px;
  color: #607481;
  font-size: 13px;
  line-height: 1.7;
}
.about-principles {
  padding: 104px 0 112px;
  background: linear-gradient(180deg, rgba(234,246,251,.72), rgba(246,250,252,.34));
  border-top: 1px solid rgba(7,95,155,.07);
  border-bottom: 1px solid rgba(7,95,155,.07);
}
.about-section-heading-wide {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(330px, .8fr);
  gap: 70px;
  align-items: end;
}
.about-section-heading-wide > p {
  grid-column: 1 / -1;
  margin-bottom: -42px;
}
.about-section-heading-wide > span,
.about-team-intro > span {
  color: #607481;
  font-size: 15px;
  line-height: 1.8;
}
.about-principle-list {
  margin-top: 58px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid rgba(7,95,155,.14);
  border-left: 1px solid rgba(7,95,155,.14);
}
.about-principle-list article {
  min-height: 168px;
  padding: 28px;
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 18px;
  border-right: 1px solid rgba(7,95,155,.14);
  border-bottom: 1px solid rgba(7,95,155,.14);
  background: rgba(255,255,255,.34);
}
.about-principle-list b {
  padding-top: 4px;
  color: #0ca4d5;
  font-size: 12px;
}
.about-principle-list h3 {
  margin: 0 0 9px;
  color: #12384b;
  font-size: 21px;
  line-height: 1.35;
  letter-spacing: 0;
}
.about-principle-list p {
  margin: 0;
  color: #657886;
  font-size: 14px;
  line-height: 1.75;
}
.about-team {
  padding: 110px 0 118px;
  display: grid;
  grid-template-columns: minmax(330px, .78fr) minmax(590px, 1.22fr);
  gap: 84px;
  align-items: center;
}
.about-team-intro > span {
  display: block;
  margin-top: 22px;
}
.about-team-spectrum {
  border-top: 1px solid rgba(7,95,155,.14);
}
.about-team-spectrum > div {
  min-height: 78px;
  display: grid;
  grid-template-columns: 40px 160px 1fr;
  align-items: center;
  gap: 18px;
  border-bottom: 1px solid rgba(7,95,155,.14);
}
.about-team-spectrum span {
  color: #13a4d3;
  font-size: 11px;
  font-weight: 800;
}
.about-team-spectrum strong {
  color: #173d50;
  font-size: 16px;
  font-weight: 680;
}
.about-team-spectrum small {
  color: #71838d;
  font-size: 12px;
}
.about-contact {
  min-height: 450px;
  margin-bottom: 100px;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(380px, .85fr);
  overflow: hidden;
  border: 1px solid rgba(7,95,155,.12);
  border-radius: 8px;
  background: rgba(255,255,255,.7);
  box-shadow: 0 28px 72px rgba(20,60,84,.07);
}
.about-location-visual {
  position: relative;
  min-height: 450px;
  overflow: hidden;
  background:
    radial-gradient(circle at 56% 46%, rgba(37,179,216,.14), transparent 18%),
    linear-gradient(145deg, #eaf6fa, #f8fbfc);
}
.about-map-grid {
  position: absolute;
  inset: -12%;
  background-image:
    linear-gradient(29deg, transparent 47%, rgba(7,95,155,.10) 48% 48.4%, transparent 49%),
    linear-gradient(118deg, transparent 47%, rgba(7,95,155,.08) 48% 48.4%, transparent 49%),
    linear-gradient(rgba(7,95,155,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(7,95,155,.055) 1px, transparent 1px);
  background-size: 190px 190px, 240px 240px, 54px 54px, 54px 54px;
  transform: rotate(-6deg) scale(1.08);
}
.about-map-pin {
  position: absolute;
  top: 48%;
  left: 54%;
  display: grid;
  transform: translate(-50%, -50%);
  text-align: center;
}
.about-map-pin i {
  position: relative;
  width: 24px;
  height: 24px;
  margin: 0 auto 13px;
  border: 7px solid #0786c1;
  border-radius: 50% 50% 50% 0;
  background: #fff;
  box-shadow: 0 14px 30px rgba(0,119,184,.22);
  transform: rotate(-45deg);
}
.about-map-pin i::after {
  content: "";
  position: absolute;
  inset: 2px;
  border-radius: 50%;
  background: #24badc;
}
.about-map-pin strong {
  color: #0a4968;
  font-size: 17px;
}
.about-map-pin span {
  margin-top: 4px;
  color: #6d818d;
  font-size: 11px;
}
.about-contact-copy {
  padding: 58px 52px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.about-contact-copy h2 {
  font-size: 29px;
}
.about-contact-copy address {
  margin-top: 18px;
  color: #607481;
  font-size: 15px;
  line-height: 1.7;
  font-style: normal;
}
.about-contact-phone {
  display: inline-flex;
  width: max-content;
  flex-direction: column;
  margin-top: 26px;
}
.about-contact-phone span {
  color: #71838d;
  font-size: 11px;
}
.about-contact-phone strong {
  margin-top: 5px;
  color: #0877b7;
  font-size: 26px;
  font-weight: 720;
}
.about-service-cities {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 30px;
  color: #607481;
  font-size: 11px;
}
.about-service-cities i {
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: #18a9d5;
}
@media (max-width: 1080px) {
  .about-hero { grid-template-columns: minmax(390px, .9fr) minmax(470px, 1.1fr); }
  .about-hero-visual { width: 760px; margin-left: -90px; }
  .about-origin { gap: 54px; }
  .about-team { gap: 54px; }
}
@media (max-width: 900px) {
  .about-hero {
    min-height: auto;
    padding-top: 132px;
    grid-template-columns: 1fr;
  }
  .about-hero-copy { max-width: 680px; }
  .about-hero-visual { width: min(980px, 120vw); margin: -8px -26vw -30px 5vw; }
  .about-origin,
  .about-team { grid-template-columns: 1fr; gap: 42px; }
  .about-origin-copy { padding-top: 0; }
  .about-section-heading-wide { grid-template-columns: 1fr; gap: 20px; }
  .about-section-heading-wide > p { grid-column: auto; margin-bottom: 0; }
  .about-contact { grid-template-columns: 1fr; }
  .about-location-visual { min-height: 330px; }
}
@media (max-width: 640px) {
  .about-wrap { width: min(100% - 32px, var(--max)); }
  .about-hero { padding: 112px 16px 50px; }
  .about-hero h1 { font-size: 44px; }
  .about-hero h2 { font-size: 22px; }
  .about-hero-copy > p:not(.about-label) { font-size: 15px; }
  .about-hero-actions { flex-direction: column; }
  .about-hero-actions .button { width: 100%; }
  .about-hero-visual { width: 150vw; margin: 0 -42vw -20px -8vw; }
  .about-origin,
  .about-principles,
  .about-team { padding-top: 76px; padding-bottom: 82px; }
  .about-section-heading h2,
  .about-team-intro h2 { font-size: 32px; }
  .about-timeline { grid-template-columns: 1fr; }
  .about-timeline article { min-height: 128px; border-right: 0; border-bottom: 1px solid rgba(7,95,155,.12); }
  .about-timeline article:last-child { border-bottom: 0; }
  .about-principle-list { grid-template-columns: 1fr; margin-top: 42px; }
  .about-principle-list article { min-height: 148px; padding: 24px 20px; }
  .about-team-spectrum > div { grid-template-columns: 32px 130px 1fr; gap: 10px; }
  .about-team-spectrum small { font-size: 10px; }
  .about-contact { margin-bottom: 76px; }
  .about-location-visual { min-height: 270px; }
  .about-contact-copy { padding: 38px 24px; }
  .about-contact-copy h2 { font-size: 26px; }
  .about-service-cities { gap: 7px; flex-wrap: wrap; }
}

/* About hero brand name segmentation */
.about-brand-title {
  display: flex;
  align-items: center;
  gap: 12px;
  white-space: nowrap;
}
.about-brand-title span {
  display: block;
}
.about-brand-title i {
  color: #10a7d7;
  font-size: .58em;
  line-height: 1;
  font-style: normal;
  font-weight: 700;
  transform: translateY(-.05em);
}
@media (max-width: 640px) {
  .about-brand-title {
    gap: 8px;
    font-size: 40px !important;
  }
}

@media (max-width: 640px) {
  .about-brand-title {
    gap: 6px;
    font-size: 36px !important;
  }
}

/* About office gallery */
.about-office {
  padding: 100px 0 112px;
  border-top: 1px solid rgba(7,95,155,.07);
  border-bottom: 1px solid rgba(7,95,155,.07);
  background: #f3f8fb;
}
.about-office-heading {
  display: grid;
  grid-template-columns: minmax(420px, 1fr) minmax(360px, .72fr);
  gap: 88px;
  align-items: end;
  margin-bottom: 48px;
}
.about-office-heading p {
  margin: 0 0 18px;
  color: #0877b7;
  font-size: 13px;
  line-height: 1.2;
  font-weight: 800;
  letter-spacing: .08em;
}
.about-office-heading h2 {
  margin: 0;
  color: #071723;
  font-size: clamp(34px, 3.2vw, 46px);
  line-height: 1.25;
  font-weight: 680;
  letter-spacing: 0;
}
.about-office-heading > span {
  color: #607481;
  font-size: 15px;
  line-height: 1.8;
}
.about-office-gallery {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(280px, .75fr);
  grid-template-rows: 260px 260px 350px;
  gap: 12px;
}
.about-office-gallery figure {
  position: relative;
  min-width: 0;
  margin: 0;
  overflow: hidden;
  border-radius: 6px;
  background: #dbe7ed;
}
.about-office-gallery img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .65s cubic-bezier(.2,.7,.2,1);
}
.about-office-gallery figure:hover img { transform: scale(1.018); }
.about-office-main { grid-row: 1 / span 2; }
.about-office-business { grid-column: 1 / -1; }
.about-office-main img { object-position: 48% center; }
.about-office-business img { object-position: center 52%; }
.about-office-gallery figcaption {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 50px 24px 20px;
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 20px;
  color: #fff;
  background: linear-gradient(180deg, transparent, rgba(3,18,28,.74));
}
.about-office-gallery figcaption strong,
.about-office-gallery figcaption span { text-shadow: 0 1px 8px rgba(0,0,0,.32); }
.about-office-gallery figcaption strong {
  font-size: 18px;
  line-height: 1.3;
  font-weight: 650;
}
.about-office-gallery figcaption span {
  max-width: 320px;
  font-size: 12px;
  line-height: 1.5;
  text-align: right;
}
.about-office + .about-contact { margin-top: 100px; }
@media (max-width: 900px) {
  .about-office-heading { grid-template-columns: 1fr; gap: 20px; }
  .about-office-heading > span { max-width: 680px; }
  .about-office-gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: 430px 240px 300px;
  }
  .about-office-main { grid-column: 1 / -1; grid-row: auto; }
  .about-office-business { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
  .about-office { padding-top: 76px; padding-bottom: 82px; }
  .about-office-heading { margin-bottom: 30px; }
  .about-office-heading h2 { font-size: 32px; }
  .about-office-gallery {
    grid-template-columns: 1fr;
    grid-template-rows: 260px 190px 190px 240px;
    gap: 8px;
  }
  .about-office-main,
  .about-office-business { grid-column: auto; }
  .about-office-gallery figcaption { padding: 38px 16px 14px; }
  .about-office-gallery figcaption strong { font-size: 16px; }
  .about-office-gallery figcaption span { max-width: 190px; font-size: 10px; }
  .about-office + .about-contact { margin-top: 76px; }
}

/* About headquarters gallery refinement */
.about-office-heading {
  display: block;
  margin-bottom: 36px;
}
.about-office-heading h2 {
  font-size: clamp(34px, 3.2vw, 46px);
}
.about-office-gallery {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: repeat(2, 340px);
  gap: 12px;
}
.about-office-main,
.about-office-business {
  grid-column: auto;
  grid-row: auto;
}
.about-office-gallery img {
  object-position: center;
}
.about-office-brand img {
  object-position: center 46%;
}
@media (max-width: 900px) {
  .about-office-gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(2, 280px);
  }
  .about-office-main,
  .about-office-business {
    grid-column: auto;
    grid-row: auto;
  }
}
@media (max-width: 640px) {
  .about-office-heading { margin-bottom: 24px; }
  .about-office-gallery {
    grid-template-columns: 1fr;
    grid-template-rows: repeat(4, 220px);
  }
}

/* About headquarters: keep the editorial mosaic, with headquarters as the lead image */
.about-office-gallery {
  grid-template-columns: minmax(0, 1.55fr) minmax(280px, .75fr);
  grid-template-rows: 260px 260px 350px;
  gap: 12px;
}
.about-office-main {
  grid-column: auto;
  grid-row: 1 / span 2;
}
.about-office-business {
  grid-column: 1 / -1;
  grid-row: auto;
}
.about-office-main img { object-position: center 46%; }
.about-office-brand img { object-position: center; }
@media (max-width: 900px) {
  .about-office-gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: 430px 240px 300px;
  }
  .about-office-main {
    grid-column: 1 / -1;
    grid-row: auto;
  }
  .about-office-business { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
  .about-office-gallery {
    grid-template-columns: 1fr;
    grid-template-rows: 260px 190px 190px 240px;
  }
  .about-office-main,
  .about-office-business {
    grid-column: auto;
    grid-row: auto;
  }
}

/* About page compact alternating rhythm */
.about-page {
  background: linear-gradient(180deg, #f7fbfd 0%, #f2f7fa 48%, #f7fafc 100%);
}
.about-page .about-hero {
  width: min(1180px, calc(100% - 48px));
  min-height: 620px;
  padding: 118px 0 54px;
  grid-template-columns: minmax(420px, .88fr) minmax(0, 1.12fr);
  gap: 34px;
  border-bottom: 1px solid rgba(7,95,155,.09);
}
.about-page .about-hero::after {
  height: 72px;
  background: linear-gradient(180deg, rgba(247,251,253,0), #f7fbfd 90%);
}
.about-page .about-hero h1 {
  font-size: clamp(46px, 4.5vw, 60px);
  font-weight: 650;
}
.about-page .about-hero h2 {
  max-width: 540px;
  font-size: 25px;
  line-height: 1.4;
}
.about-page .about-hero-copy > p:not(.about-label) {
  font-size: 16px;
  line-height: 1.78;
}
.about-page .about-hero-actions {
  margin-top: 28px;
}
.about-page .about-hero-visual {
  width: 720px;
  margin: 8px -118px 0 -44px;
}
.about-page .about-origin {
  padding: 78px 0;
  grid-template-columns: minmax(330px, .82fr) minmax(500px, 1.18fr);
  grid-template-rows: auto 1fr;
  column-gap: 76px;
  row-gap: 20px;
  align-items: center;
}
.about-page .about-origin .about-section-heading {
  grid-column: 1;
  grid-row: 1;
}
.about-page .about-origin-copy {
  grid-column: 1;
  grid-row: 2;
  padding-top: 0;
}
.about-page .about-timeline {
  grid-column: 2;
  grid-row: 1 / span 2;
  grid-template-columns: 1fr;
  border-top: 1px solid rgba(7,95,155,.14);
  border-bottom: 1px solid rgba(7,95,155,.14);
}
.about-page .about-timeline article {
  min-height: 112px;
  padding: 23px 26px;
  display: grid;
  grid-template-columns: 150px 1fr;
  align-items: center;
  gap: 18px;
  border-right: 0;
  border-bottom: 1px solid rgba(7,95,155,.12);
}
.about-page .about-timeline article:last-child {
  border-bottom: 0;
}
.about-page .about-timeline strong {
  font-size: 23px;
}
.about-page .about-timeline span {
  margin-top: 0;
}
.about-page .about-section-heading h2,
.about-page .about-team-intro h2 {
  font-size: clamp(32px, 3vw, 40px);
  font-weight: 620;
}
.about-page .about-principles {
  padding: 78px 0 82px;
  background: linear-gradient(145deg, rgba(232,246,251,.75), rgba(247,250,252,.52));
}
.about-page .about-principles .about-wrap {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 64px;
  align-items: center;
}
.about-page .about-section-heading-wide {
  grid-column: 2;
  grid-row: 1;
  display: block;
}
.about-page .about-section-heading-wide h2 {
  font-size: 34px;
}
.about-page .about-section-heading-wide > span {
  display: block;
  margin-top: 24px;
}
.about-page .about-principle-list {
  grid-column: 1;
  grid-row: 1;
  margin-top: 0;
}
.about-page .about-principle-list article {
  min-height: 158px;
  padding: 24px;
  gap: 14px;
}
.about-page .about-principle-list h3 {
  font-size: 19px;
}
.about-page .about-principle-list p {
  font-size: 13px;
  line-height: 1.68;
}
.about-page .about-team {
  padding: 80px 0 84px;
  grid-template-columns: minmax(430px, .95fr) minmax(500px, 1.05fr);
  gap: 60px;
}
.about-page .about-team-spectrum > div {
  min-height: 68px;
}

.about-future {
  padding: 88px 0 92px;
  color: #fff;
  background:
    radial-gradient(circle at 78% 18%, rgba(32, 176, 218, .18), transparent 34%),
    linear-gradient(135deg, #07283d, #0a3b55);
}

.about-future-inner {
  display: grid;
  grid-template-columns: minmax(330px, .8fr) minmax(560px, 1.2fr);
  gap: 76px;
  align-items: center;
}

.about-future-copy h2 {
  margin: 0;
  font-size: clamp(34px, 3vw, 42px);
  line-height: 1.28;
  font-weight: 620;
}

.about-future-copy p {
  margin: 22px 0 0;
  color: rgba(226, 243, 250, .72);
  font-size: 15px;
  line-height: 1.85;
}

.about-future-directions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid rgba(139, 221, 239, .22);
  border-bottom: 1px solid rgba(139, 221, 239, .22);
}

.about-future-directions article {
  min-height: 190px;
  padding: 27px 24px;
}

.about-future-directions article + article {
  border-left: 1px solid rgba(139, 221, 239, .18);
}

.about-future-directions b {
  color: #53c9e8;
  font-size: 12px;
}

.about-future-directions h3 {
  margin: 28px 0 10px;
  font-size: 19px;
  font-weight: 620;
}

.about-future-directions p {
  margin: 0;
  color: rgba(226, 243, 250, .66);
  font-size: 13px;
  line-height: 1.72;
}

@media (max-width: 960px) {
  .about-future-inner { grid-template-columns: 1fr; gap: 42px; }
}

@media (max-width: 620px) {
  .about-future { padding: 66px 0 70px; }
  .about-future-directions { grid-template-columns: 1fr; }
  .about-future-directions article { min-height: 0; }
  .about-future-directions article + article {
    border-left: 0;
    border-top: 1px solid rgba(139, 221, 239, .18);
  }
}

.about-page .about-office {
  padding: 76px 0 86px;
}
.about-page .about-office-heading {
  margin-bottom: 30px;
}
.about-page .about-office-heading h2 {
  font-size: clamp(32px, 3vw, 40px);
  font-weight: 620;
}
.about-page .about-office-gallery {
  grid-template-rows: 210px 210px 260px;
}
.about-page .about-office + .about-contact {
  margin-top: 70px;
}
.about-page .about-contact {
  min-height: 380px;
  margin-bottom: 78px;
}
.about-page .about-location-visual {
  min-height: 380px;
}
.about-page .about-contact-copy {
  padding: 46px 48px;
}
@media (max-width: 900px) {
  .about-page .about-hero {
    width: min(100% - 40px, 1180px);
    min-height: auto;
    padding-top: 120px;
    grid-template-columns: 1fr;
  }
  .about-page .about-hero-visual {
    width: min(880px, 112vw);
    margin: -8px -20vw -20px 2vw;
  }
  .about-page .about-origin,
  .about-page .about-team {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    gap: 26px;
  }
  .about-page .about-origin .about-section-heading,
  .about-page .about-origin-copy,
  .about-page .about-timeline {
    grid-column: auto;
    grid-row: auto;
  }
  .about-page .about-principles .about-wrap {
    grid-template-columns: 1fr;
    gap: 34px;
  }
  .about-page .about-section-heading-wide,
  .about-page .about-principle-list {
    grid-column: auto;
    grid-row: auto;
  }
  .about-page .about-section-heading-wide {
    order: 1;
  }
  .about-page .about-principle-list {
    order: 2;
  }
  .about-page .about-office-gallery {
    grid-template-rows: 360px 220px 280px;
  }
}
@media (max-width: 640px) {
  .about-page .about-hero {
    width: calc(100% - 32px);
    padding: 108px 0 44px;
  }
  .about-page .about-origin,
  .about-page .about-principles,
  .about-page .about-team,
  .about-page .about-office {
    padding-top: 62px;
    padding-bottom: 66px;
  }
  .about-page .about-timeline article {
    min-height: 104px;
    grid-template-columns: 112px 1fr;
    padding: 20px 16px;
  }
  .about-page .about-timeline strong {
    font-size: 19px;
  }
  .about-page .about-principle-list article {
    min-height: 142px;
  }
  .about-page .about-office-gallery {
    grid-template-rows: 240px 180px 180px 220px;
  }
  .about-page .about-office + .about-contact {
    margin-top: 58px;
  }
  .about-page .about-contact {
    margin-bottom: 64px;
  }
}
/* Industry thematic photography banner */
.industry-theme-banner {
  width: 100%;
  max-width: 1360px;
  aspect-ratio: 8 / 3;
  margin: 0 auto 24px;
  overflow: hidden;
  border: 1px solid rgba(7,95,155,.10);
  border-radius: 8px;
  background: #eaf3f7;
  box-shadow: 0 18px 48px rgba(19,41,64,.075);
}
.industry-theme-banner[hidden] {
  display: none;
}
.industry-theme-banner img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
@media (max-width: 640px) {
  .industry-theme-banner {
    aspect-ratio: 16 / 7;
    margin-bottom: 16px;
  }
}
/* Industry page: unified final rhythm */
.industry-tabs-page {
  background: linear-gradient(180deg, rgba(245, 249, 252, .62), rgba(255, 255, 255, 0) 620px);
}

.industry-tabs-page .industry-tabs-hero {
  padding-top: clamp(92px, 8vw, 112px);
  padding-bottom: 24px;
}

.industry-tabs-page .industry-tabs-hero h1 {
  max-width: none;
  margin-bottom: 18px;
  font-size: clamp(38px, 4.15vw, 60px);
  line-height: 1.08;
}

.industry-tabs-page .industry-tabs-hero p {
  max-width: 920px;
  font-size: 17px;
  line-height: 1.78;
}

.industry-tabs-page .industry-tabs-section {
  padding-top: 4px;
}

.industry-tabs-page .industry-tabbar {
  position: relative;
  top: auto;
  z-index: 2;
  margin-bottom: 18px;
  border-radius: 8px;
  box-shadow: 0 10px 30px rgba(19, 41, 64, .045);
  backdrop-filter: none;
}

.industry-tabs-page .industry-tabbar .industry-tab {
  border-radius: 6px;
}

.industry-tabs-page .industry-theme-banner {
  margin-bottom: 18px;
  border-radius: 8px;
  box-shadow: 0 14px 36px rgba(19, 41, 64, .06);
}

.industry-tabs-page .industry-panel {
  gap: 20px;
  padding: 28px;
  border-radius: 8px;
  background: rgba(255, 255, 255, .82);
  box-shadow: 0 18px 52px rgba(19, 41, 64, .055);
}

.industry-tabs-page .industry-panel-copy {
  grid-template-columns: minmax(0, .78fr) minmax(380px, .9fr) !important;
  gap: 20px 34px;
  padding: 2px 2px 0;
}

.industry-tabs-page .industry-panel-copy h2 {
  align-self: center;
  font-size: clamp(30px, 3vw, 42px);
}

.industry-tabs-page .industry-panel-copy p {
  align-self: center;
  color: #516574;
  line-height: 1.72;
}

.industry-tabs-page .industry-panel-copy ul {
  gap: 0;
  border-top: 1px solid rgba(7, 95, 155, .11);
  border-bottom: 1px solid rgba(7, 95, 155, .11);
}

.industry-tabs-page .industry-panel-copy li {
  min-height: 58px;
  padding: 17px 18px 17px 34px;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.industry-tabs-page .industry-panel-copy li + li {
  border-left: 1px solid rgba(7, 95, 155, .11);
}

.industry-tabs-page .industry-panel-copy li::before {
  left: 18px;
  top: 25px;
  width: 5px;
  height: 5px;
  box-shadow: none;
}

.industry-tabs-page .industry-panel-visual {
  padding: 0;
  overflow: hidden !important;
  border-radius: 6px;
  background: #fff;
}

.industry-tabs-page .industry-topology {
  margin-top: 28px;
  border: 1px solid rgba(7, 95, 155, .1);
  background: #f7fbfd;
  box-shadow: 0 14px 34px rgba(19, 70, 98, .05);
}

.industry-tabs-page .industry-topology img {
  display: block;
  width: 100%;
  height: auto;
  min-height: 0;
  aspect-ratio: 1440 / 820;
  object-fit: contain;
  object-position: center;
}

.industry-tabs-page .industry-results {
  margin-top: 32px;
  margin-bottom: 72px;
  padding: 42px 42px 26px;
  border-radius: 8px;
  background: rgba(255, 255, 255, .82);
  box-shadow: 0 18px 52px rgba(19, 41, 64, .055);
}

.industry-tabs-page .industry-results::before,
.industry-tabs-page .industry-results-heading > span {
  display: none;
}

.industry-tabs-page .industry-results-heading {
  grid-template-columns: minmax(450px, .95fr) minmax(0, 1.05fr);
  column-gap: 72px;
  align-items: center;
}

.industry-tabs-page .industry-results-heading h2 {
  font-size: clamp(30px, 3vw, 42px);
}

.industry-tabs-page .industry-results-grid {
  margin-top: 34px;
}

.industry-tabs-page .industry-result-item {
  min-height: 156px;
  padding: 26px 24px 24px;
}

.industry-tabs-page .industry-result-item strong {
  font-size: clamp(34px, 3.1vw, 48px);
}

.industry-tabs-page .industry-result-item h3 {
  margin-top: 16px;
}

@media (max-width: 900px) {
  .industry-tabs-page .industry-panel {
    padding: 20px;
  }

  .industry-tabs-page .industry-panel-copy,
  .industry-tabs-page .industry-results-heading {
    grid-template-columns: 1fr !important;
  }

  .industry-tabs-page .industry-panel-copy li + li {
    border-left: 0;
    border-top: 1px solid rgba(7, 95, 155, .11);
  }
}

@media (max-width: 640px) {
  .industry-tabs-page .industry-tabs-hero {
    padding-top: 100px;
    padding-bottom: 18px;
  }

  .industry-tabs-page .industry-tabs-hero h1 {
    font-size: 34px;
  }

  .industry-tabs-page .industry-tabs-hero p {
    font-size: 15px;
    line-height: 1.7;
  }

  .industry-tabs-page .industry-tabbar {
    margin-bottom: 14px;
    padding: 10px;
  }

  .industry-tabs-page .industry-tabbar > span {
    display: none;
  }

  .industry-tabs-page .industry-panel {
    gap: 16px;
    padding: 14px;
  }

  .industry-tabs-page .industry-panel-copy {
    gap: 14px;
  }

  .industry-tabs-page .industry-panel-copy h2 {
    font-size: 28px;
  }

  .industry-tabs-page .industry-panel-copy p {
    font-size: 15px;
  }

  .industry-tabs-page .industry-results {
    width: min(var(--max), calc(100% - 32px));
    margin-top: 24px;
    padding: 30px 18px 20px;
  }

  .industry-tabs-page .industry-topology {
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-width: thin;
  }

  .industry-tabs-page .industry-topology img {
    width: 760px !important;
    min-width: 760px;
    max-width: none;
  }
}
/* About page final video */
.industry-tabs-page .industry-panel.is-active {
  display: block;
}

.industry-tabs-page .industry-panel-copy {
  display: grid;
  grid-template-columns: minmax(0, .72fr) minmax(0, 1.1fr) !important;
  align-items: start;
}

.industry-tabs-page .industry-panel-copy > span {
  grid-column: 1 / -1;
  margin: 0;
  color: #0786bd;
  font-size: 13px;
  font-weight: 750;
}

.industry-tabs-page .industry-panel-copy h2 {
  margin: 0;
}

.industry-tabs-page .industry-panel-copy ul {
  grid-column: 1 / -1;
}

.industry-workmap {
  display: grid;
  grid-template-columns: minmax(150px, .72fr) minmax(420px, 1.72fr) minmax(160px, .82fr);
  gap: 26px;
  align-items: stretch;
  margin-top: 28px;
  padding: 30px;
  border: 1px solid rgba(17, 95, 139, .12);
  border-radius: 8px;
  background:
    linear-gradient(105deg, rgba(246, 250, 252, .98), rgba(235, 248, 252, .86) 56%, rgba(246, 251, 249, .96));
  overflow: hidden;
}

.workmap-stage,
.workmap-linsee {
  position: relative;
  min-width: 0;
}

.industry-workmap > .workmap-stage {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 8px;
  padding: 22px 18px;
}

.industry-workmap > .workmap-stage::after,
.workmap-linsee::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -21px;
  width: 16px;
  height: 8px;
  border-top: 1px solid #1ca8c8;
  border-right: 1px solid #1ca8c8;
  transform: translateY(-50%) rotate(45deg);
}

.industry-workmap > .workmap-result::after {
  display: none;
}

.workmap-stage small {
  display: block;
  margin-bottom: 6px;
  color: #6c8190;
  font-size: 12px;
  font-weight: 700;
}

.workmap-stage strong {
  display: block;
  color: #19394c;
  font-size: 14px;
  font-weight: 680;
  line-height: 1.4;
}

.workmap-stage b {
  display: inline-flex;
  width: max-content;
  margin: 2px 0 0;
  padding: 3px 8px;
  border-radius: 4px;
  color: #087eae;
  background: rgba(8, 134, 189, .08);
  font-size: 11px;
  line-height: 1.2;
}

.workmap-linsee {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
  gap: 1px;
  padding-top: 42px;
  border: 1px solid rgba(8, 134, 189, .22);
  border-radius: 8px;
  background: rgba(255, 255, 255, .76);
  box-shadow: 0 16px 38px rgba(16, 85, 119, .07);
}

.workmap-linsee em {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 42px;
  display: flex;
  align-items: center;
  padding: 0 20px;
  color: #fff;
  background: linear-gradient(90deg, #075f9b, #0ca7c5);
  font-size: 16px;
  font-style: normal;
  font-weight: 760;
}

.workmap-linsee .workmap-stage {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 7px;
  padding: 20px;
}

.workmap-linsee .workmap-stage + .workmap-stage {
  border-left: 1px solid rgba(17, 95, 139, .12);
}

.workmap-result {
  border-left: 2px solid #39a67a;
  background: rgba(57, 166, 122, .045);
}

.workmap-result small {
  color: #287b5d;
}

@media (max-width: 900px) {
  .industry-workmap {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .industry-workmap > .workmap-stage,
  .workmap-linsee {
    width: 100%;
  }

  .industry-workmap > .workmap-stage::after,
  .workmap-linsee::after {
    top: auto;
    right: 50%;
    bottom: -13px;
    transform: translateX(50%) rotate(135deg);
  }
}

@media (max-width: 640px) {
  .industry-tabs-page .industry-panel-copy {
    grid-template-columns: 1fr !important;
  }

  .industry-workmap {
    margin-top: 20px;
    padding: 16px;
  }

  .workmap-linsee {
    grid-template-columns: 1fr;
  }

  .workmap-linsee .workmap-stage + .workmap-stage {
    border-top: 1px solid rgba(17, 95, 139, .12);
    border-left: 0;
  }
}

/* About page final video */
.about-page .about-video-visual {
  position: relative;
  min-width: 0;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #061826;
}

.about-page .about-video-visual video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  background: #061826;
}

@media (max-width: 900px) {
  .about-page .about-video-visual {
    width: 100%;
    min-height: 0;
  }
}
/* Enterprise WeCom intelligent contact center */
.wecom-product-page {
  --wecom-ink: #06233a;
  --wecom-copy: #49677b;
  --wecom-blue: #087fda;
  --wecom-cyan: #13b9d7;
  --wecom-line: rgba(19, 93, 139, .15);
  background: #f7fbfe;
  color: var(--wecom-ink);
}

.wecom-product-page main { overflow: hidden; }
.wecom-wrap { width: min(1180px, calc(100% - 64px)); margin-inline: auto; }
.wecom-product-page h1,
.wecom-product-page h2,
.wecom-product-page h3 { letter-spacing: 0; }

.wecom-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(520px, .93fr) minmax(600px, 1.07fr);
  align-items: center;
  width: min(1440px, 100%);
  min-height: 720px;
  margin: 0 auto;
  padding: 120px 48px 70px max(48px, calc((100vw - 1180px) / 2));
  background: linear-gradient(105deg, #fbfdff 0%, #f7fbfe 47%, #edf7fc 100%);
}
.wecom-hero::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(18, 132, 195, .24), transparent);
}
.wecom-hero-copy { position: relative; z-index: 2; padding-right: 28px; }
.wecom-product-name {
  margin: 0 0 22px;
  color: #0875bd;
  font-size: 17px;
  font-weight: 700;
}
.wecom-hero h1 {
  margin: 0;
  color: #061f35;
  font-size: clamp(44px, 4.15vw, 64px);
  font-weight: 520;
  line-height: 1.16;
}
.wecom-hero-lead {
  max-width: 650px;
  margin: 28px 0 0;
  color: #3d6178;
  font-size: 18px;
  line-height: 1.9;
}
.wecom-actions { display: flex; gap: 14px; margin-top: 34px; }
.wecom-actions .button { min-width: 148px; justify-content: center; }
.wecom-proof { display: flex; flex-wrap: wrap; gap: 0; margin-top: 32px; color: #496a80; font-size: 13px; }
.wecom-proof span { position: relative; padding: 0 18px 0 17px; }
.wecom-proof span:first-child { padding-left: 14px; }
.wecom-proof span::before { content: ""; position: absolute; left: 0; top: 6px; width: 5px; height: 5px; border-radius: 50%; background: #08a8d0; box-shadow: 0 0 0 5px rgba(8,168,208,.09); }
.wecom-hero-visual { position: absolute; z-index: 1; top: 88px; right: 0; bottom: 0; width: 57%; margin: 0; overflow: hidden; }
.wecom-hero-visual::before { content: ""; position: absolute; z-index: 2; inset: 0; background: linear-gradient(90deg, #f8fcff 0%, rgba(248,252,255,.35) 16%, transparent 38%), linear-gradient(0deg, #eef8fc 0%, transparent 20%); pointer-events: none; }
.wecom-hero-visual img { width: 100%; height: 100%; object-fit: cover; object-position: 53% center; }

.wecom-problem { padding: 96px 0 88px; }
.wecom-section-intro { display: grid; grid-template-columns: .9fr 1.1fr; gap: 100px; align-items: end; }
.wecom-section-intro h2,
.wecom-title-row h2 { margin: 0; font-size: clamp(32px, 3.2vw, 46px); font-weight: 520; line-height: 1.28; }
.wecom-section-intro > p,
.wecom-title-row > p { margin: 0; color: var(--wecom-copy); font-size: 17px; line-height: 1.85; }
.wecom-problem-list { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 56px; border-top: 1px solid var(--wecom-line); border-bottom: 1px solid var(--wecom-line); }
.wecom-problem-list article { min-height: 184px; padding: 34px 34px 30px; }
.wecom-problem-list article + article { border-left: 1px solid var(--wecom-line); }
.wecom-problem-list strong { display: block; color: #0b5688; font-size: 22px; font-weight: 650; }
.wecom-problem-list p { margin: 16px 0 0; color: #587387; font-size: 15px; line-height: 1.8; }

.wecom-capabilities { padding: 92px 0 96px; background: #eef7fb; }
.wecom-title-row { display: grid; grid-template-columns: minmax(420px, .95fr) minmax(0, 1.05fr); gap: 84px; align-items: end; }
.wecom-capability-list { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 54px; border: 1px solid rgba(14, 103, 158, .14); background: rgba(255,255,255,.72); }
.wecom-capability-list article { position: relative; min-height: 310px; padding: 32px 27px 28px; }
.wecom-capability-list article + article { border-left: 1px solid rgba(14, 103, 158, .14); }
.wecom-capability-list b { color: rgba(7, 124, 193, .42); font-size: 13px; font-weight: 700; }
.wecom-capability-list h3 { margin: 42px 0 0; font-size: 21px; font-weight: 650; }
.wecom-capability-list p { margin: 17px 0 0; color: #506f83; font-size: 15px; line-height: 1.8; }
.wecom-capability-list span { position: absolute; left: 27px; right: 20px; bottom: 27px; color: #0782bd; font-size: 12px; font-weight: 650; }

.wecom-architecture { padding: 96px 0 104px; }
.wecom-flow { position: relative; display: grid; grid-template-columns: 210px 58px 1fr 58px 210px; align-items: center; gap: 0; margin-top: 54px; padding: 46px 40px 96px; border: 1px solid rgba(11,104,160,.15); background: linear-gradient(135deg, rgba(255,255,255,.96), rgba(236,248,253,.88)); overflow: hidden; }
.wecom-flow::before { content: ""; position: absolute; left: 28%; right: 25%; top: 8%; bottom: 14%; background: radial-gradient(circle, rgba(24,178,214,.12), transparent 65%); }
.wecom-flow-source,
.wecom-flow-output { position: relative; display: grid; gap: 10px; }
.wecom-flow-source span,
.wecom-flow-output span { display: grid; place-items: center; min-height: 52px; padding: 10px; border: 1px solid rgba(10,117,178,.17); background: rgba(255,255,255,.8); color: #315d76; font-size: 14px; }
.wecom-flow > i { position: relative; height: 1px; margin: 0 10px; background: linear-gradient(90deg, #51c4d9, #0784d4); }
.wecom-flow > i::after { content: ""; position: absolute; right: -1px; top: -4px; width: 8px; height: 8px; border-top: 1px solid #087fda; border-right: 1px solid #087fda; transform: rotate(45deg); }
.wecom-flow-core { position: relative; z-index: 1; padding: 34px 34px 30px; border: 1px solid rgba(7,126,202,.3); background: rgba(241,251,255,.76); box-shadow: 0 22px 60px rgba(14,107,161,.1), inset 0 0 40px rgba(38,190,219,.08); text-align: center; }
.wecom-flow-core strong { display: block; font-size: 22px; font-weight: 650; }
.wecom-flow-core div { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 28px; }
.wecom-flow-core span { padding: 13px 8px; border-top: 1px solid rgba(10,138,195,.22); color: #087aaf; font-size: 13px; }
.wecom-flow-result { position: absolute; left: 40px; right: 40px; bottom: 30px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.wecom-flow-result span { color: #50768a; font-size: 12px; text-align: center; }

.wecom-interfaces { padding: 94px 0 104px; background: #f0f7fb; }
.wecom-interface-row { display: grid; grid-template-columns: 340px minmax(0, 1fr); gap: 66px; align-items: center; margin-top: 54px; padding: 0 0 58px; border-bottom: 1px solid rgba(11, 96, 148, .14); }
.wecom-interface-row.reverse { grid-template-columns: minmax(0, 1fr) 340px; }
.wecom-interface-row.reverse .wecom-interface-copy { grid-column: 2; grid-row: 1; }
.wecom-interface-row.reverse figure { grid-column: 1; grid-row: 1; }
.wecom-interface-copy > span { color: #0a8dbf; font-size: 13px; font-weight: 700; }
.wecom-interface-copy h3 { margin: 16px 0 0; font-size: 28px; font-weight: 560; line-height: 1.35; }
.wecom-interface-copy p { margin: 18px 0 0; color: #506f83; font-size: 15px; line-height: 1.85; }
.wecom-interface-copy ul { display: grid; gap: 10px; margin: 24px 0 0; padding: 0; list-style: none; color: #2f5c75; font-size: 14px; }
.wecom-interface-copy li { position: relative; padding-left: 16px; }
.wecom-interface-copy li::before { content: ""; position: absolute; left: 0; top: 8px; width: 5px; height: 5px; background: #17b1d0; }
.wecom-interface-row figure { margin: 0; padding: 9px; border: 1px solid rgba(11,94,146,.15); border-radius: 8px; background: rgba(255,255,255,.86); box-shadow: 0 26px 70px rgba(23,83,118,.13); }
.wecom-interface-row img { display: block; width: 100%; height: auto; border-radius: 4px; }

.wecom-extension { padding: 96px 0 102px; }
.wecom-extension-list { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 52px; border-top: 1px solid var(--wecom-line); border-left: 1px solid var(--wecom-line); }
.wecom-extension-list article { min-height: 174px; padding: 30px 30px 26px; border-right: 1px solid var(--wecom-line); border-bottom: 1px solid var(--wecom-line); }
.wecom-extension-list h3 { margin: 0; font-size: 19px; font-weight: 650; }
.wecom-extension-list p { margin: 15px 0 0; color: #587487; font-size: 14px; line-height: 1.8; }

.wecom-trust { position: relative; padding: 86px 0 92px; background: #062b43; color: #fff; overflow: hidden; }
.wecom-trust::after { content: ""; position: absolute; width: 580px; height: 580px; right: -160px; top: -280px; border: 1px solid rgba(79,215,235,.12); border-radius: 50%; box-shadow: 0 0 0 72px rgba(41,188,218,.025), 0 0 0 150px rgba(41,188,218,.018); }
.wecom-trust-inner { position: relative; z-index: 1; display: grid; grid-template-columns: .9fr 1.1fr; gap: 92px; align-items: center; }
.wecom-trust-copy h2 { margin: 0; font-size: clamp(34px, 3.1vw, 46px); font-weight: 520; line-height: 1.28; }
.wecom-trust-copy p { margin: 22px 0 0; color: rgba(225,244,252,.76); font-size: 16px; line-height: 1.9; }
.wecom-trust-points { display: grid; grid-template-columns: repeat(2, 1fr); }
.wecom-trust-points span { min-height: 112px; padding: 22px 22px; border-top: 1px solid rgba(135,218,235,.2); color: rgba(218,240,248,.68); font-size: 13px; line-height: 1.65; }
.wecom-trust-points span:nth-child(even) { border-left: 1px solid rgba(135,218,235,.2); }
.wecom-trust-points b { display: block; margin-bottom: 8px; color: #fff; font-size: 16px; font-weight: 600; }

.wecom-contact { display: grid; grid-template-columns: .85fr 1.15fr; gap: 72px; align-items: center; margin-top: 72px; margin-bottom: 72px; padding: 42px 44px; border: 1px solid rgba(11,100,157,.17); background: #fff; box-shadow: 0 24px 70px rgba(21,83,118,.09); }
.wecom-contact-copy h2 { margin: 0; font-size: 30px; font-weight: 560; line-height: 1.35; }
.wecom-contact-copy p { margin: 16px 0 0; color: #587487; font-size: 14px; line-height: 1.8; }
.wecom-form { display: grid; grid-template-columns: 1fr .78fr 1fr auto; gap: 10px; align-items: end; }
.wecom-form label { display: grid; gap: 7px; }
.wecom-form label span { color: #547185; font-size: 12px; }
.wecom-form input { width: 100%; height: 46px; padding: 0 13px; border: 1px solid rgba(13,95,145,.2); border-radius: 4px; background: #f8fbfd; color: #0b2d43; font: inherit; font-size: 14px; outline: none; }
.wecom-form input:focus { border-color: #168ec9; box-shadow: 0 0 0 3px rgba(22,142,201,.09); }
.wecom-form button { height: 46px; padding: 0 22px; border: 0; border-radius: 4px; background: #087fda; color: #fff; font: inherit; font-size: 14px; font-weight: 650; cursor: pointer; }
.wecom-form-message { grid-column: 1 / -1; min-height: 18px; margin: 0; color: #087baf; font-size: 12px; }

@media (max-width: 1100px) {
  .wecom-hero { grid-template-columns: 1fr; min-height: 760px; padding-left: 48px; }
  .wecom-hero-copy { max-width: 620px; }
  .wecom-hero-visual { width: 60%; opacity: .54; }
  .wecom-capability-list { grid-template-columns: repeat(2, 1fr); }
  .wecom-capability-list article:nth-child(3) { border-left: 0; border-top: 1px solid rgba(14,103,158,.14); }
  .wecom-capability-list article:nth-child(4) { border-top: 1px solid rgba(14,103,158,.14); }
  .wecom-flow { grid-template-columns: 170px 40px 1fr 40px 170px; padding-inline: 26px; }
  .wecom-contact { grid-template-columns: 1fr; }
}

@media (max-width: 820px) {
  .wecom-wrap { width: min(100% - 36px, 680px); }
  .wecom-hero { min-height: auto; padding: 112px 20px 42px; }
  .wecom-hero-copy { padding: 0; }
  .wecom-hero h1 { font-size: 39px; }
  .wecom-hero-visual { position: relative; top: auto; right: auto; bottom: auto; width: calc(100% + 40px); height: 360px; margin: 28px -20px -42px; opacity: 1; }
  .wecom-hero-visual::before { background: linear-gradient(180deg, #f8fcff, transparent 28%), linear-gradient(0deg, #edf7fc, transparent 18%); }
  .wecom-section-intro,
  .wecom-title-row,
  .wecom-trust-inner { grid-template-columns: 1fr; gap: 22px; }
  .wecom-problem { padding-block: 70px; }
  .wecom-problem-list { grid-template-columns: 1fr; margin-top: 38px; }
  .wecom-problem-list article { min-height: 0; padding: 25px 4px; }
  .wecom-problem-list article + article { border-left: 0; border-top: 1px solid var(--wecom-line); }
  .wecom-flow { grid-template-columns: 1fr; gap: 18px; padding: 26px 20px 88px; }
  .wecom-flow > i { width: 1px; height: 26px; margin: auto; background: linear-gradient(#51c4d9, #0784d4); }
  .wecom-flow > i::after { right: -4px; top: auto; bottom: -1px; transform: rotate(135deg); }
  .wecom-interface-row,
  .wecom-interface-row.reverse { grid-template-columns: 1fr; gap: 28px; }
  .wecom-interface-row.reverse .wecom-interface-copy,
  .wecom-interface-row.reverse figure { grid-column: 1; grid-row: auto; }
  .wecom-interface-row.reverse .wecom-interface-copy { order: 1; }
  .wecom-interface-row.reverse figure { order: 2; }
  .wecom-extension-list { grid-template-columns: repeat(2, 1fr); }
  .wecom-trust-points { margin-top: 12px; }
  .wecom-form { grid-template-columns: 1fr 1fr; }
  .wecom-form button { grid-column: 1 / -1; }
}

@media (max-width: 560px) {
  .wecom-product-name { margin-bottom: 16px; font-size: 15px; }
  .wecom-hero h1 { font-size: 34px; line-height: 1.23; }
  .wecom-hero-lead { margin-top: 20px; font-size: 16px; line-height: 1.75; }
  .wecom-actions { flex-direction: column; gap: 10px; margin-top: 26px; }
  .wecom-actions .button { width: 100%; }
  .wecom-proof { display: grid; gap: 12px; margin-top: 24px; }
  .wecom-proof span { padding-left: 14px; }
  .wecom-hero-visual { height: 280px; }
  .wecom-section-intro h2,
  .wecom-title-row h2 { font-size: 30px; }
  .wecom-capabilities,
  .wecom-architecture,
  .wecom-interfaces,
  .wecom-extension { padding-block: 68px; }
  .wecom-capability-list { grid-template-columns: 1fr; margin-top: 36px; }
  .wecom-capability-list article { min-height: 255px; }
  .wecom-capability-list article + article { border-left: 0; border-top: 1px solid rgba(14,103,158,.14); }
  .wecom-flow-core { padding-inline: 16px; }
  .wecom-flow-core strong { font-size: 19px; }
  .wecom-flow-core div { grid-template-columns: 1fr; }
  .wecom-flow-result { left: 14px; right: 14px; grid-template-columns: repeat(4, auto); }
  .wecom-interface-row { margin-top: 38px; padding-bottom: 40px; }
  .wecom-interface-copy h3 { font-size: 25px; }
  .wecom-interface-row figure { padding: 5px; }
  .wecom-extension-list { grid-template-columns: 1fr; margin-top: 36px; }
  .wecom-extension-list article { min-height: 0; }
  .wecom-trust { padding-block: 68px; }
  .wecom-trust-points { grid-template-columns: 1fr; }
  .wecom-trust-points span:nth-child(even) { border-left: 0; }
  .wecom-contact { width: calc(100% - 28px); margin-block: 40px; padding: 28px 20px; }
  .wecom-contact-copy h2 { font-size: 27px; }
  .wecom-form { grid-template-columns: 1fr; }
  .wecom-form button { grid-column: auto; }
}

/* WeCom product heading rhythm */
@media (min-width: 821px) {
  .wecom-product-page .wecom-title-row {
    grid-template-columns: minmax(600px, 1.1fr) minmax(0, .9fr);
    gap: 42px;
  }

  .wecom-product-page .wecom-title-row h2 {
    font-size: 38px;
    white-space: nowrap;
  }
}

@media (min-width: 821px) and (max-width: 1100px) {
  .wecom-product-page .wecom-title-row {
    grid-template-columns: minmax(520px, 1.1fr) minmax(0, .9fr);
    gap: 30px;
  }

  .wecom-product-page .wecom-title-row h2 {
    font-size: 34px;
  }
}

/* WeCom detailed capability visuals */
.wecom-feature-visual {
  position: relative;
  display: grid;
  align-items: center;
  min-height: 356px;
  padding: 42px;
  overflow: hidden;
  background: #f8fcfe !important;
}
.wecom-feature-visual::before {
  content: "";
  position: absolute;
  inset: 18px;
  border: 1px solid rgba(18, 124, 179, .09);
  pointer-events: none;
}

.wecom-feature-visual.automation { grid-template-columns: 1fr 1.1fr .8fr; gap: 24px; }
.wecom-auto-queue { display: grid; gap: 10px; }
.wecom-auto-queue span { position: relative; padding: 12px 14px 12px 28px; border-bottom: 1px solid rgba(11, 119, 174, .16); color: #315e76; font-size: 13px; }
.wecom-auto-queue span::before { content: ""; position: absolute; left: 10px; top: 17px; width: 6px; height: 6px; background: #18b8d1; }
.wecom-auto-core { position: relative; display: grid; place-content: center; width: 174px; height: 174px; margin: auto; border: 1px solid rgba(8, 128, 200, .3); border-radius: 50%; background: rgba(230, 248, 253, .75); box-shadow: inset 0 0 36px rgba(21, 174, 211, .12), 0 18px 45px rgba(16, 102, 151, .1); text-align: center; }
.wecom-auto-core::before,
.wecom-auto-core::after { content: ""; position: absolute; inset: 12px; border: 1px solid rgba(9, 138, 200, .14); border-radius: 50%; }
.wecom-auto-core::after { inset: -15px; border-style: dashed; }
.wecom-auto-core b { font-size: 23px; font-weight: 620; }
.wecom-auto-core small { margin-top: 7px; color: #1384b2; font-size: 12px; }
.wecom-auto-core i { position: absolute; left: 50%; bottom: 24px; width: 34px; height: 2px; background: #18b7d0; transform: translateX(-50%); }
.wecom-auto-status { display: grid; justify-items: center; gap: 6px; color: #58768a; }
.wecom-auto-status span { padding: 7px 10px; border: 1px solid rgba(14, 134, 190, .16); color: #0b80b5; font-size: 11px; }
.wecom-auto-status strong { color: #087dcc; font-size: 38px; font-weight: 540; }
.wecom-auto-status small { font-size: 12px; }

.wecom-feature-visual.routing { grid-template-columns: 1fr 190px 1fr; gap: 36px; }
.wecom-route-input,
.wecom-route-output { display: grid; gap: 14px; }
.wecom-route-input span,
.wecom-route-output span { padding: 14px 10px; border: 1px solid rgba(11, 115, 172, .15); background: rgba(255,255,255,.74); color: #365f76; font-size: 13px; text-align: center; }
.wecom-route-input span { border-left: 3px solid #24b9d0; }
.wecom-route-output span { border-right: 3px solid #087fd2; }
.wecom-route-engine { position: relative; display: grid; place-content: center; min-height: 190px; border: 1px solid rgba(10, 126, 190, .27); background: rgba(231,248,253,.76); text-align: center; box-shadow: inset 0 0 35px rgba(21,171,208,.1); }
.wecom-route-engine::before,
.wecom-route-engine::after { content: ""; position: absolute; top: 50%; width: 36px; height: 1px; background: #25b7ce; }
.wecom-route-engine::before { left: -36px; }
.wecom-route-engine::after { right: -36px; background: #0a83cf; }
.wecom-route-engine b { margin: 8px 0; color: #07598a; font-size: 22px; }
.wecom-route-engine small { color: #5b7b8e; font-size: 11px; }

.wecom-feature-visual.collaboration { grid-template-columns: 1fr 170px 1fr; gap: 24px; }
.wecom-collab-node { display: grid; place-content: center; min-height: 190px; padding: 24px; border: 1px solid rgba(10, 118, 178, .17); background: rgba(255,255,255,.72); text-align: center; }
.wecom-collab-node small { color: #1492bd; font-size: 11px; }
.wecom-collab-node b { margin-top: 12px; font-size: 21px; }
.wecom-collab-node span { margin-top: 10px; color: #607b8c; font-size: 12px; }
.wecom-collab-order { position: relative; display: grid; place-content: center; justify-items: center; gap: 12px; }
.wecom-collab-order::before { content: ""; position: absolute; left: -24px; right: -24px; top: 50%; height: 1px; background: linear-gradient(90deg, #1db4cc, #0a81ce); }
.wecom-collab-order span,
.wecom-collab-order strong { position: relative; z-index: 1; padding: 7px 12px; background: #eef9fc; font-size: 11px; }
.wecom-collab-order span { color: #54788b; }
.wecom-collab-order strong { color: #087fbd; }
.wecom-collab-order i { position: relative; z-index: 1; width: 11px; height: 11px; border-radius: 50%; background: #10aecf; box-shadow: 0 0 0 8px rgba(16,174,207,.1); }

.wecom-feature-visual.voice { grid-template-columns: 1fr 1.35fr 1fr; gap: 28px; }
.wecom-voice-person,
.wecom-voice-seat { display: grid; place-content: center; min-height: 170px; text-align: center; }
.wecom-voice-person i { position: relative; width: 62px; height: 62px; margin: 15px auto 0; border: 1px solid rgba(8, 127, 198, .25); border-radius: 50%; }
.wecom-voice-person i::before { content: ""; position: absolute; left: 21px; top: 13px; width: 18px; height: 18px; border: 2px solid #129cc4; border-radius: 50%; }
.wecom-voice-person i::after { content: ""; position: absolute; left: 14px; bottom: 10px; width: 32px; height: 16px; border: 2px solid #129cc4; border-bottom: 0; border-radius: 24px 24px 0 0; }
.wecom-voice-person span { color: #3f687e; font-size: 14px; }
.wecom-voice-wave { display: flex; align-items: center; justify-content: center; gap: 8px; height: 120px; }
.wecom-voice-wave i { display: block; width: 3px; height: 28px; background: #16b4cf; animation: wecomVoice 1.4s ease-in-out infinite alternate; }
.wecom-voice-wave i:nth-child(2), .wecom-voice-wave i:nth-child(6) { height: 52px; animation-delay: -.35s; }
.wecom-voice-wave i:nth-child(3), .wecom-voice-wave i:nth-child(5) { height: 78px; animation-delay: -.7s; }
.wecom-voice-wave i:nth-child(4) { height: 104px; animation-delay: -1s; background: #087fd2; }
.wecom-voice-seat { padding: 20px; border-left: 1px solid rgba(11, 121, 177, .17); }
.wecom-voice-seat small { color: #5a7789; font-size: 11px; }
.wecom-voice-seat b { margin-top: 10px; color: #07598a; font-size: 19px; }
.wecom-voice-seat span { margin-top: 12px; color: #0a9cc4; font-size: 26px; font-variant-numeric: tabular-nums; }
@keyframes wecomVoice { from { transform: scaleY(.45); opacity: .55; } to { transform: scaleY(1); opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .wecom-voice-wave i { animation: none; } }

@media (max-width: 820px) {
  .wecom-feature-visual { min-height: 300px; padding: 28px 20px; }
  .wecom-feature-visual.automation,
  .wecom-feature-visual.routing,
  .wecom-feature-visual.collaboration,
  .wecom-feature-visual.voice { grid-template-columns: 1fr; gap: 16px; }
  .wecom-auto-queue { grid-template-columns: repeat(2, 1fr); }
  .wecom-auto-core { width: 140px; height: 140px; }
  .wecom-auto-status { grid-template-columns: repeat(3, auto); align-items: center; }
  .wecom-route-input,
  .wecom-route-output { grid-template-columns: repeat(3, 1fr); gap: 7px; }
  .wecom-route-engine { min-height: 120px; }
  .wecom-route-engine::before,
  .wecom-route-engine::after { display: none; }
  .wecom-feature-visual.collaboration { grid-template-columns: 1fr 80px 1fr; }
  .wecom-collab-node { min-height: 150px; padding: 14px; }
  .wecom-collab-order::before { left: -10px; right: -10px; }
  .wecom-feature-visual.voice { grid-template-columns: 1fr 1fr; }
  .wecom-voice-wave { grid-column: 1 / -1; grid-row: 2; height: 70px; }
  .wecom-voice-seat { border-left: 1px solid rgba(11,121,177,.17); }
}

@media (max-width: 520px) {
  .wecom-feature-visual.collaboration { grid-template-columns: 1fr; }
  .wecom-collab-order { min-height: 70px; }
  .wecom-collab-order::before { left: 50%; right: auto; top: -16px; bottom: -16px; width: 1px; height: auto; }
  .wecom-route-input span,
  .wecom-route-output span { padding-inline: 5px; font-size: 11px; }
}

/* Unified presentation for real WeCom product screenshots */
.wecom-real-ui {
  position: relative;
  min-height: 356px;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(11, 94, 146, .15);
  border-radius: 8px;
  background: #f6fafc;
  box-shadow: 0 26px 70px rgba(23, 83, 118, .13);
}
.wecom-real-ui::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(255,255,255,.78), rgba(231,244,250,.52));
}
.wecom-real-ui img {
  position: absolute;
  display: block;
  height: auto;
  object-fit: contain;
  border: 1px solid rgba(17, 92, 138, .17);
  border-radius: 5px;
  background: #fff;
  box-shadow: 0 18px 44px rgba(18, 70, 101, .16);
}
.wecom-real-ui .ui-main { z-index: 1; left: 4%; top: 8%; width: 75%; }
.wecom-real-ui .ui-detail { z-index: 2; right: 3.5%; bottom: 12%; width: 42%; }
.wecom-real-ui figcaption {
  position: absolute;
  z-index: 4;
  left: 18px;
  right: 18px;
  bottom: 13px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  color: #577488;
  font-size: 11px;
}
.wecom-real-ui figcaption b { color: #087eb5; font-size: 11px; font-weight: 650; }
.wecom-real-ui.auto-ui .ui-main { left: 16%; top: 7%; width: 68%; }
.wecom-real-ui.auto-ui .ui-detail { right: 2.5%; bottom: 14%; width: 34%; }
.wecom-real-ui.auto-ui .ui-detail.secondary { z-index: 3; left: 2.5%; right: auto; bottom: 15%; width: 27%; }
.wecom-real-ui.route-ui .ui-main { left: 3%; top: 7%; width: 69%; }
.wecom-real-ui.route-ui .ui-detail { right: 3%; bottom: 15%; width: 47%; }
.wecom-real-ui.collab-ui .ui-main { left: 3%; top: 7%; width: 77%; }
.wecom-real-ui.collab-ui .ui-detail.mobile { right: 5%; top: 8%; bottom: auto; width: auto; height: 76%; }
.wecom-real-ui.voice-ui .ui-main { left: 3%; top: 8%; width: 70%; }
.wecom-real-ui.voice-ui .ui-detail { right: 3%; bottom: 14%; width: 53%; }

@media (max-width: 820px) {
  .wecom-real-ui { min-height: 310px; }
  .wecom-real-ui figcaption { font-size: 10px; }
}

@media (max-width: 520px) {
  .wecom-real-ui { min-height: 248px; }
  .wecom-real-ui figcaption span { display: none; }
  .wecom-real-ui.auto-ui .ui-main { left: 12%; width: 76%; }
  .wecom-real-ui.auto-ui .ui-detail { width: 38%; }
  .wecom-real-ui.auto-ui .ui-detail.secondary { width: 31%; }
}

.wecom-real-ui figcaption {
  left: 0;
  right: 0;
  bottom: 0;
  min-height: 38px;
  padding: 9px 16px;
  border-top: 1px solid rgba(13, 99, 150, .11);
  background: rgba(255, 255, 255, .94);
  backdrop-filter: blur(8px);
}

/* Smart service AI SIM product */
.ai-sim-page { --sim-ink:#06243a; --sim-copy:#4d6d80; --sim-blue:#087fda; --sim-cyan:#15b6d1; --sim-line:rgba(13,98,151,.15); background:#f7fbfe; color:var(--sim-ink); }
.ai-sim-page main { overflow:hidden; }
.sim-wrap { width:min(1180px,calc(100% - 64px)); margin-inline:auto; }
.ai-sim-page h1,.ai-sim-page h2,.ai-sim-page h3 { letter-spacing:0; }
.sim-hero { position:relative; display:grid; grid-template-columns:minmax(520px,.92fr) minmax(600px,1.08fr); align-items:center; width:min(1440px,100%); min-height:720px; margin:auto; padding:120px 48px 70px max(48px,calc((100vw - 1180px)/2)); background:#f8fcff; }
.sim-hero-copy { position:relative; z-index:2; padding-right:28px; }
.sim-product-name { margin:0 0 22px; color:#0878bd; font-size:17px; font-weight:700; }
.sim-hero h1 { margin:0; font-size:clamp(44px,4.15vw,64px); font-weight:520; line-height:1.16; }
.sim-hero-lead { max-width:640px; margin:28px 0 0; color:#3e6177; font-size:18px; line-height:1.9; }
.sim-actions { display:flex; gap:14px; margin-top:34px; }
.sim-actions .button { min-width:148px; justify-content:center; }
.sim-proof { display:flex; gap:26px; margin-top:32px; color:#496a7f; font-size:13px; }
.sim-proof span { position:relative; padding-left:15px; }
.sim-proof span::before { content:""; position:absolute; left:0; top:6px; width:5px; height:5px; border-radius:50%; background:#13b4d0; box-shadow:0 0 0 5px rgba(19,180,208,.09); }
.sim-hero-visual { position:absolute; top:88px; right:0; bottom:0; width:59%; margin:0; overflow:hidden; }
.sim-hero-visual::before { content:""; position:absolute; z-index:1; inset:0; background:linear-gradient(90deg,#f8fcff 0%,rgba(248,252,255,.35) 18%,transparent 42%),linear-gradient(0deg,#f8fcff 0%,transparent 18%); }
.sim-hero-visual img { width:100%; height:100%; object-fit:cover; object-position:56% center; }
.sim-section-intro,.sim-title-row { display:grid; grid-template-columns:minmax(560px,1.06fr) minmax(0,.94fr); gap:60px; align-items:end; }
.sim-section-intro h2,.sim-title-row h2 { margin:0; font-size:38px; font-weight:520; line-height:1.3; }
.sim-section-intro>p,.sim-title-row>p { margin:0; color:var(--sim-copy); font-size:16px; line-height:1.85; }
.sim-problem { padding:96px 0 88px; }
.sim-problem-list { display:grid; grid-template-columns:repeat(3,1fr); margin-top:54px; border-top:1px solid var(--sim-line); border-bottom:1px solid var(--sim-line); }
.sim-problem-list article { min-height:180px; padding:32px 34px; }
.sim-problem-list article+article { border-left:1px solid var(--sim-line); }
.sim-problem-list strong { font-size:21px; font-weight:650; }
.sim-problem-list p { margin:16px 0 0; color:#587487; font-size:15px; line-height:1.8; }
.sim-capabilities { padding:92px 0 96px; background:#eef7fb; }
.sim-capability-list { display:grid; grid-template-columns:repeat(4,1fr); margin-top:52px; border:1px solid var(--sim-line); background:rgba(255,255,255,.7); }
.sim-capability-list article { min-height:260px; padding:30px 27px; }
.sim-capability-list article+article { border-left:1px solid var(--sim-line); }
.sim-capability-list b { color:rgba(7,126,194,.45); font-size:13px; }
.sim-capability-list h3 { margin:38px 0 0; font-size:21px; font-weight:650; }
.sim-capability-list p { margin:16px 0 0; color:#527084; font-size:14px; line-height:1.8; }
.sim-workflow { padding:96px 0 104px; }
.sim-workflow-visual { display:grid; grid-template-columns:310px 1fr; gap:42px; align-items:stretch; margin-top:52px; padding:34px; border:1px solid var(--sim-line); background:#f4fafc; }
.sim-workflow-visual ol { display:grid; align-content:center; gap:0; margin:0; padding:0; list-style:none; }
.sim-workflow-visual li { display:grid; grid-template-columns:38px 1fr; gap:12px; align-items:center; min-height:58px; border-bottom:1px solid var(--sim-line); color:#395f75; font-size:14px; }
.sim-workflow-visual li b { color:#0790c4; font-size:12px; }
.sim-phone-stack { position:relative; min-height:420px; overflow:hidden; border:1px solid rgba(13,98,151,.12); background:#fff; }
.sim-phone-stack img { position:absolute; display:block; height:auto; border:1px solid rgba(8,79,124,.16); border-radius:6px; background:#fff; box-shadow:0 20px 50px rgba(12,68,104,.15); }
.sim-phone-stack .task { left:7%; top:8%; width:31%; }
.sim-phone-stack .call { left:39%; top:12%; width:22%; }
.sim-phone-stack .incoming { right:8%; top:12%; width:22%; }
.sim-details { padding:94px 0 104px; background:#eff7fb; }
.sim-detail-row { display:grid; grid-template-columns:360px minmax(0,1fr); gap:64px; align-items:center; margin-top:54px; padding-bottom:58px; border-bottom:1px solid var(--sim-line); }
.sim-detail-row.reverse { grid-template-columns:minmax(0,1fr) 360px; }
.sim-detail-row.reverse>div { grid-column:2; grid-row:1; }
.sim-detail-row.reverse figure { grid-column:1; grid-row:1; }
.sim-detail-row>div>span { color:#0b8dbd; font-size:13px; font-weight:700; }
.sim-detail-row h3 { margin:15px 0 0; font-size:28px; font-weight:560; line-height:1.4; }
.sim-detail-row p { margin:17px 0 0; color:#527184; font-size:15px; line-height:1.85; }
.sim-detail-row ul { display:grid; gap:10px; margin:23px 0 0; padding:0; list-style:none; color:#315e76; font-size:14px; }
.sim-detail-row li { position:relative; padding-left:15px; }
.sim-detail-row li::before { content:""; position:absolute; left:0; top:8px; width:5px; height:5px; background:#16b5cf; }
.sim-real-ui { position:relative; min-height:390px; margin:0; overflow:hidden; border:1px solid var(--sim-line); border-radius:8px; background:#fff; box-shadow:0 24px 65px rgba(21,82,116,.13); }
.sim-real-ui img { position:absolute; inset:28px 28px 45px; width:calc(100% - 56px); height:calc(100% - 73px); object-fit:contain; }
.sim-real-ui figcaption { position:absolute; left:0; right:0; bottom:0; min-height:38px; padding:10px 16px; border-top:1px solid var(--sim-line); color:#087eb5; background:#fff; font-size:11px; }
.sim-difference { padding:96px 0; }
.sim-compare { margin-top:48px; border-top:1px solid var(--sim-line); }
.sim-compare>div { display:grid; grid-template-columns:290px 1fr 1fr; }
.sim-compare span,.sim-compare strong { padding:22px 24px; border-right:1px solid var(--sim-line); border-bottom:1px solid var(--sim-line); font-size:14px; line-height:1.7; }
.sim-compare strong { border-left:1px solid var(--sim-line); font-size:16px; }
.sim-compare .head { color:#537184; background:#eef7fb; }
.sim-compare .head span:first-child { border-left:1px solid var(--sim-line); }
.sim-trust { padding:86px 0 92px; color:#fff; background:#062b43; }
.sim-trust-inner { display:grid; grid-template-columns:.9fr 1.1fr; gap:86px; align-items:center; }
.sim-trust-copy h2 { margin:0; font-size:44px; font-weight:520; line-height:1.3; }
.sim-trust-copy p { margin:22px 0 0; color:rgba(226,244,251,.75); font-size:16px; line-height:1.9; }
.sim-trust-list { display:grid; grid-template-columns:repeat(2,1fr); }
.sim-trust-list span { min-height:110px; padding:22px; border-top:1px solid rgba(135,218,235,.2); color:rgba(218,240,248,.68); font-size:13px; line-height:1.65; }
.sim-trust-list span:nth-child(even) { border-left:1px solid rgba(135,218,235,.2); }
.sim-trust-list b { display:block; margin-bottom:7px; color:#fff; font-size:16px; }
.sim-scenes { padding:90px 0; }
.sim-scene-list { display:grid; grid-template-columns:repeat(3,1fr); margin-top:46px; border-top:1px solid var(--sim-line); border-left:1px solid var(--sim-line); }
.sim-scene-list span { padding:24px; border-right:1px solid var(--sim-line); border-bottom:1px solid var(--sim-line); color:#315e76; font-size:15px; text-align:center; }
.sim-contact { display:grid; grid-template-columns:.85fr 1.15fr; gap:70px; align-items:center; margin-top:0; margin-bottom:72px; padding:42px 44px; border:1px solid var(--sim-line); background:#fff; box-shadow:0 24px 70px rgba(21,83,118,.09); }
.sim-contact-copy h2 { margin:0; font-size:30px; font-weight:560; }
.sim-contact-copy p { margin:15px 0 0; color:#587487; font-size:14px; line-height:1.8; }
.sim-form { display:grid; grid-template-columns:1fr .78fr 1fr auto; gap:10px; align-items:end; }
.sim-form label { display:grid; gap:7px; }
.sim-form label span { color:#547185; font-size:12px; }
.sim-form input { width:100%; height:46px; padding:0 13px; border:1px solid rgba(13,95,145,.2); border-radius:4px; background:#f8fbfd; font:inherit; font-size:14px; outline:none; }
.sim-form input:focus { border-color:#168ec9; box-shadow:0 0 0 3px rgba(22,142,201,.09); }
.sim-form button { height:46px; padding:0 22px; border:0; border-radius:4px; background:#087fda; color:#fff; font:inherit; font-size:14px; font-weight:650; }
.sim-form-message { grid-column:1/-1; min-height:18px; margin:0; color:#087baf; font-size:12px; }
@media(max-width:1100px){.sim-hero{grid-template-columns:1fr;}.sim-hero-copy{max-width:620px}.sim-hero-visual{width:62%;opacity:.55}.sim-capability-list{grid-template-columns:repeat(2,1fr)}.sim-capability-list article:nth-child(3){border-left:0;border-top:1px solid var(--sim-line)}.sim-capability-list article:nth-child(4){border-top:1px solid var(--sim-line)}.sim-contact{grid-template-columns:1fr}}
@media(max-width:820px){.sim-wrap{width:min(100% - 36px,680px)}.sim-hero{min-height:auto;padding:112px 20px 42px}.sim-hero-copy{padding:0}.sim-hero h1{font-size:39px}.sim-hero-visual{position:relative;top:auto;right:auto;bottom:auto;width:calc(100% + 40px);height:350px;margin:28px -20px -42px;opacity:1}.sim-section-intro,.sim-title-row,.sim-trust-inner{grid-template-columns:1fr;gap:22px}.sim-problem-list{grid-template-columns:1fr}.sim-problem-list article{min-height:0;padding:25px 4px}.sim-problem-list article+article{border-left:0;border-top:1px solid var(--sim-line)}.sim-workflow-visual{grid-template-columns:1fr}.sim-detail-row,.sim-detail-row.reverse{grid-template-columns:1fr;gap:28px}.sim-detail-row.reverse>div,.sim-detail-row.reverse figure{grid-column:1;grid-row:auto}.sim-detail-row.reverse>div{order:1}.sim-detail-row.reverse figure{order:2}.sim-compare>div{grid-template-columns:1fr}.sim-compare span,.sim-compare strong{border-left:1px solid var(--sim-line)}.sim-form{grid-template-columns:1fr 1fr}.sim-form button{grid-column:1/-1}}
@media(max-width:560px){.sim-hero h1{font-size:34px}.sim-hero-lead{font-size:16px;line-height:1.75}.sim-actions{flex-direction:column}.sim-actions .button{width:100%}.sim-proof{display:grid;gap:12px}.sim-hero-visual{height:270px}.sim-section-intro h2,.sim-title-row h2{font-size:30px}.sim-capability-list{grid-template-columns:1fr}.sim-capability-list article{min-height:220px}.sim-capability-list article+article{border-left:0;border-top:1px solid var(--sim-line)}.sim-workflow-visual{padding:18px}.sim-phone-stack{min-height:300px}.sim-phone-stack .task{left:3%;width:40%}.sim-phone-stack .call{left:41%;width:27%}.sim-phone-stack .incoming{right:3%;width:27%}.sim-real-ui{min-height:260px}.sim-detail-row h3{font-size:25px}.sim-trust-copy h2{font-size:34px}.sim-trust-list{grid-template-columns:1fr}.sim-trust-list span:nth-child(even){border-left:0}.sim-scene-list{grid-template-columns:repeat(2,1fr)}.sim-contact{width:calc(100% - 28px);padding:28px 20px}.sim-form{grid-template-columns:1fr}.sim-form button{grid-column:auto}}

/* AI SIM real mobile UI v2 */
.sim-details .sim-title-row h2{font-size:34px}
.sim-phone-stack figure{position:absolute;margin:0;border:1px solid rgba(8,79,124,.15);border-radius:12px;background:#fff;box-shadow:0 22px 52px rgba(12,68,104,.16);overflow:hidden}
.sim-phone-stack figure img{position:static;display:block;width:100%;height:auto;border:0;border-radius:0;box-shadow:none}
.sim-phone-stack figure figcaption{position:absolute;right:8px;bottom:8px;padding:6px 9px;border:1px solid rgba(255,255,255,.72);border-radius:5px;background:rgba(255,255,255,.84);color:#164f70;font-size:11px;font-weight:700;backdrop-filter:blur(8px)}
.sim-phone-stack .task{left:8%;top:9%;width:24%;transform:rotate(-2deg)}
.sim-phone-stack .home{left:38.5%;top:4%;z-index:2;width:23%}
.sim-phone-stack .assist{right:8%;top:9%;width:24%;transform:rotate(2deg)}
.sim-real-ui.mobile-ui{display:flex;justify-content:center;padding:28px}
.sim-real-ui.mobile-ui img{position:static;inset:auto;width:min(100%,290px);height:auto;max-height:520px;object-fit:contain;filter:drop-shadow(0 18px 28px rgba(13,79,115,.15))}
.sim-dual-ui{display:flex;align-items:flex-end;justify-content:center;gap:20px;padding:28px 28px 48px}
.sim-dual-ui img{position:static;inset:auto;width:min(43%,245px);height:auto;max-height:500px;object-fit:contain;border:1px solid rgba(13,98,151,.12);border-radius:8px;box-shadow:0 18px 34px rgba(13,79,115,.13)}
.sim-dual-ui img+img{transform:translateY(20px)}
@media(max-width:560px){.sim-details .sim-title-row h2{font-size:30px}.sim-phone-stack .task{left:1%;top:15%;width:31%}.sim-phone-stack .home{left:34%;top:5%;width:32%}.sim-phone-stack .assist{right:1%;top:15%;width:31%}.sim-phone-stack figure figcaption{display:none}.sim-real-ui.mobile-ui{padding:18px}.sim-dual-ui{gap:10px;padding:18px 12px 38px}.sim-dual-ui img{width:46%}}

/* AI SIM privacy UI */
.sim-privacy-ui{display:flex;align-items:center;justify-content:center;min-height:500px;padding:26px 36px 54px}
.sim-privacy-phones{display:flex;align-items:center;justify-content:center;gap:34px;width:100%;height:100%}
.sim-privacy-phones img{position:static;inset:auto;width:min(39%,210px);height:auto;max-height:410px;object-fit:contain;border:1px solid rgba(13,98,151,.12);border-radius:10px;box-shadow:0 20px 38px rgba(13,79,115,.15)}
.sim-privacy-phones img:first-child{transform:translateY(-12px) rotate(-1.5deg)}
.sim-privacy-phones img:last-child{transform:translateY(12px) rotate(1.5deg)}
.sim-privacy-badge{position:absolute;left:50%;bottom:58px;z-index:2;display:grid;gap:3px;min-width:230px;padding:12px 18px;border:1px solid rgba(70,184,219,.3);border-radius:7px;background:rgba(255,255,255,.9);box-shadow:0 12px 28px rgba(12,78,113,.12);text-align:center;transform:translateX(-50%);backdrop-filter:blur(12px)}
.sim-privacy-badge strong{color:#075f8f;font-size:14px}
.sim-privacy-badge span{color:#5f8193;font-size:11px}
@media(max-width:560px){.sim-privacy-ui{min-height:380px;padding:20px 12px 50px}.sim-privacy-phones{gap:10px}.sim-privacy-phones img{width:46%;max-height:300px}.sim-privacy-badge{bottom:50px;min-width:205px;padding:10px 12px}}


/* Full-site final polish 2026-07-26 */
/* Subpages use content-led headings; blue guide labels remain exclusive to the homepage. */
.product-card,
.solution {
  color: inherit;
  text-decoration: none;
}
.product-card:focus-visible,
.solution:focus-visible,
.subpage-card:focus-visible {
  outline: 2px solid #0b91c7;
  outline-offset: 4px;
}
.wecom-product-name,
.sim-product-name {
  color: #536f80;
  font-weight: 650;
}
.wecom-capability-list article > span,
.wecom-interface-copy > span,
.sim-detail-row > div > span,
.sim-capability-list b,
.subpage-card > span {
  color: #718795;
}

@media (min-width: 901px) {
  .subpage-hero {
    min-height: 350px;
    padding-top: 124px;
    padding-bottom: 54px;
  }
  .subpage-hero h1 {
    max-width: none;
    font-size: 52px;
    white-space: nowrap;
  }
  .subpage-section {
    padding-top: 72px;
    padding-bottom: 82px;
  }

  .recording-hero {
    min-height: 680px;
    padding-top: 112px;
    padding-bottom: 58px;
  }
  .recording-hero h1 {
    max-width: 680px;
    font-size: 54px;
    white-space: nowrap;
  }
  .recording-problem { padding-top: 80px; padding-bottom: 86px; }
  .recording-capabilities { padding-top: 82px; padding-bottom: 88px; }
  .recording-workflow { padding-top: 82px; padding-bottom: 88px; }
  .recording-comparison { padding-top: 82px; padding-bottom: 82px; }
  .recording-scenes { padding-top: 82px; padding-bottom: 76px; }
  .recording-capability-grid { margin-top: 48px; }
  .recording-steps { margin-top: 50px; }
  .recording-scene-list { margin-top: 42px; }
  .recording-contact { margin-bottom: 76px; }

  .wecom-hero,
  .sim-hero {
    min-height: 680px;
    padding-top: 106px;
    padding-bottom: 58px;
  }
  .sim-hero h1 {
    font-size: 56px;
    white-space: nowrap;
  }
  .wecom-problem,
  .sim-problem { padding-top: 76px; padding-bottom: 72px; }
  .wecom-capabilities,
  .sim-capabilities { padding-top: 74px; padding-bottom: 78px; }
  .wecom-architecture,
  .sim-workflow { padding-top: 76px; padding-bottom: 80px; }
  .wecom-interfaces,
  .sim-details { padding-top: 76px; padding-bottom: 80px; }
  .wecom-interface-row,
  .sim-detail-row { margin-top: 42px; padding-bottom: 46px; }
  .wecom-extension,
  .sim-difference { padding-top: 76px; padding-bottom: 80px; }
  .wecom-trust,
  .sim-trust { padding-top: 72px; padding-bottom: 76px; }
  .sim-scenes { padding-top: 72px; padding-bottom: 72px; }
  .wecom-contact,
  .sim-contact { margin-bottom: 72px; }
  .sim-section-intro h2,
  .sim-title-row h2,
  .sim-details .sim-title-row h2 { font-size: 34px; }
}

@media (max-width: 900px) {
  .subpage-hero { padding-top: 104px; padding-bottom: 42px; }
  .subpage-section { padding-top: 52px; padding-bottom: 62px; }
  .recording-problem,
  .recording-capabilities,
  .recording-workflow,
  .recording-comparison,
  .recording-scenes,
  .wecom-problem,
  .wecom-capabilities,
  .wecom-architecture,
  .wecom-interfaces,
  .wecom-extension,
  .wecom-trust,
  .sim-problem,
  .sim-capabilities,
  .sim-workflow,
  .sim-details,
  .sim-difference,
  .sim-trust,
  .sim-scenes {
    padding-top: 58px;
    padding-bottom: 62px;
  }
}


/* Mobile boundary corrections 2026-07-26 */
@media (max-width: 640px) {
  .recording-hero {
    grid-template-columns: minmax(0, 1fr);
  }
  .recording-hero-copy,
  .recording-hero-visual {
    min-width: 0;
  }
  .recording-hero-copy {
    width: 100%;
    max-width: 100%;
  }
  .recording-hero h1 {
    font-size: 36px;
  }
  .recording-hero h1,
  .recording-hero-lead,
  .recording-actions,
  .recording-proof {
    width: 100%;
    max-width: 100%;
  }
}

@media (max-width: 560px) {
  .technology-gallery .gallery-hero .gallery-heading {
    width: 100%;
    min-width: 0;
  }
  .technology-gallery .gallery-hero .technology-pillars-title {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    gap: 7px;
    font-size: 19px;
  }
  .technology-gallery .gallery-hero .technology-pillars-title i {
    flex: 0 0 1px;
  }
  .technology-gallery .gallery-hero .technology-hero-summary {
    width: 100%;
    max-width: 330px;
  }
}


/* Balanced subpage typography */
.subpage h1,
.subpage h2,
.subpage h3,
.wecom-page main h1,
.wecom-page main h2,
.wecom-page main h3,
.recording-page main h1,
.recording-page main h2,
.recording-page main h3,
.ai-sim-page main h1,
.ai-sim-page main h2,
.ai-sim-page main h3,
.industry-page main h1,
.industry-page main h2,
.industry-page main h3 {
  text-wrap: balance;
}
.subpage p,
.wecom-page main p,
.recording-page main p,
.ai-sim-page main p,
.industry-page main p {
  text-wrap: pretty;
}


.mobile-break { display: none; }
@media (max-width: 560px) { .mobile-break { display: block; } }


/* Conversion and rhythm audit 2026-07-26 */
.lead-mobile-toggle { display: none; }

.site-conversion {
  width: min(var(--max), calc(100% - 48px));
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 48px;
  margin: 58px auto 18px;
  padding: 34px 38px;
  border: 1px solid rgba(7, 95, 155, .12);
  border-radius: 8px;
  background: linear-gradient(135deg, rgba(255,255,255,.94), rgba(235,248,252,.8));
  box-shadow: 0 18px 48px rgba(20, 58, 80, .06);
}
.site-conversion h2 { margin: 0 0 8px; color: #0b2d43; font-size: 25px; line-height: 1.3; letter-spacing: 0; }
.site-conversion p { max-width: 650px; margin: 0; color: #617481; font-size: 14px; line-height: 1.75; }
.site-conversion-actions { display: flex; flex: 0 0 auto; gap: 10px; }
.site-conversion-actions .button { height: 46px; min-width: 132px; border-radius: 6px; }
.industry-conversion { margin-top: 26px; margin-bottom: 82px; }

@media (min-width: 1121px) {
  .products.section { padding-top: 84px; padding-bottom: 84px; }
  .solutions.section { padding-top: 80px; padding-bottom: 80px; }
  .case.section, .trust.section { padding-top: 80px; padding-bottom: 80px; }
  .contact.section { padding-top: 76px; padding-bottom: 84px; }
}

@media (max-width: 820px) {
  .site-conversion { width: min(100% - 32px, var(--max)); align-items: flex-start; flex-direction: column; gap: 22px; margin-top: 38px; padding: 28px 24px; }
  .site-conversion-actions { width: 100%; }
  .site-conversion-actions .button { flex: 1; }
}

@media (max-width: 720px) {
  body { padding-bottom: 82px !important; }
  body:has(.lead-capture.is-open) { padding-bottom: 326px !important; }
  .lead-capture {
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center;
    gap: 10px !important;
    padding: 10px 10px 10px 16px !important;
    border-radius: 14px !important;
  }
  .lead-capture::before { border-radius: 13px !important; }
  .lead-capture-copy span { display: none; }
  .lead-capture-copy strong { overflow: hidden; font-size: 14px !important; line-height: 1.3; white-space: nowrap; text-overflow: ellipsis; }
  .lead-mobile-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 40px;
    padding: 0 15px;
    border: 0;
    border-radius: 6px;
    color: #fff;
    background: #087fda;
    font: inherit;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
  }
  .lead-capture .lead-form { display: none !important; grid-column: 1 / -1; }
  .lead-capture .lead-message { display: none; grid-column: 1 / -1; }
  .lead-capture.is-open { padding: 14px !important; }
  .lead-capture.is-open .lead-form { display: grid !important; }
  .lead-capture.is-open .lead-message:not(:empty) { display: block; }
  .site-conversion { margin-bottom: 58px; }
  .site-conversion h2 { font-size: 22px; }
  .site-conversion-actions { flex-direction: column; }
  .site-conversion-actions .button { width: 100%; }
}


/* Keep the fixed lead bar centered after reveal animation completes */
@media (min-width: 721px) {
  .lead-capture.reveal,
  .lead-capture.reveal.is-visible { opacity: 1; transform: translateX(-50%); }
  .lead-capture.reveal:hover,
  .lead-capture.reveal.is-visible:hover { transform: translateX(-50%) translateY(-2px); }
}
@media (max-width: 720px) {
  .lead-capture.reveal,
  .lead-capture.reveal.is-visible { opacity: 1; transform: none; }
}


/* Mobile hero readability: keep the concept visual below the message */
@media (max-width: 720px) {
  .hero-bg-mode::before {
    background: linear-gradient(180deg, rgba(255,255,255,.99) 0%, rgba(255,255,255,.95) 56%, rgba(255,255,255,.28) 76%, rgba(255,255,255,.72) 100%) !important;
  }
  .hero-concept-overlay {
    left: 73% !important;
    top: 78% !important;
    width: 118px !important;
    height: 118px !important;
    opacity: .9;
  }
  .hero-concept-overlay::before { width: 146px !important; height: 146px !important; }
  .hero-concept-overlay::after { inset: 10px !important; }
  .hero-concept-overlay span { margin-bottom: 4px !important; font-size: 5px !important; }
  .hero-concept-overlay strong { margin-bottom: 3px !important; font-size: 14px !important; }
  .hero-concept-overlay small { width: 88px !important; font-size: 6px !important; line-height: 1.35 !important; }
}

@media (max-width: 720px) { body:has(.lead-capture.is-open) { padding-bottom: 220px !important; } }

/* Unified product typography and technology hero alignment 2026-07-26 */
.recording-page main,
.wecom-product-page main,
.ai-sim-page main {
  font-family: Inter, "Segoe UI", "Microsoft YaHei", "PingFang SC", Arial, sans-serif;
}

.recording-hero h1,
.wecom-hero h1,
.sim-hero h1 {
  font-size: clamp(46px, 4.1vw, 58px);
  font-weight: 700;
  line-height: 1.14;
  letter-spacing: 0;
}

.recording-section-head h2,
.recording-title-row h2,
.wecom-section-intro h2,
.wecom-title-row h2,
.sim-section-intro h2,
.sim-title-row h2,
.sim-details .sim-title-row h2 {
  font-size: clamp(35px, 3.1vw, 44px);
  font-weight: 700;
  line-height: 1.24;
  letter-spacing: 0;
}

.wecom-trust-copy h2,
.sim-trust-copy h2 {
  font-size: clamp(35px, 3.1vw, 44px);
  font-weight: 700;
  line-height: 1.24;
}

.recording-contact h2,
.wecom-contact-copy h2,
.sim-contact-copy h2 {
  font-size: 34px;
  font-weight: 700;
  line-height: 1.3;
}

.wecom-interface-copy h3,
.sim-detail-row h3 {
  font-size: 28px;
  font-weight: 650;
  line-height: 1.35;
}

.technology-gallery .gallery-hero .technology-pillars-title {
  display: grid;
  grid-template-columns: repeat(4, max-content);
  justify-content: center;
  align-items: center;
  gap: 18px;
  white-space: nowrap;
  text-wrap: nowrap;
}

@media (max-width: 900px) {
  .recording-hero h1,
  .wecom-hero h1,
  .sim-hero h1 { font-size: 40px; }

  .recording-section-head h2,
  .recording-title-row h2,
  .wecom-section-intro h2,
  .wecom-title-row h2,
  .sim-section-intro h2,
  .sim-title-row h2,
  .sim-details .sim-title-row h2,
  .wecom-trust-copy h2,
  .sim-trust-copy h2 { font-size: 34px; }

  .technology-gallery .gallery-hero .technology-pillars-title {
    gap: 11px;
    font-size: 30px;
  }
}

@media (max-width: 560px) {
  .recording-hero h1,
  .wecom-hero h1,
  .sim-hero h1 {
    font-size: 34px;
    line-height: 1.2;
  }

  .recording-section-head h2,
  .recording-title-row h2,
  .wecom-section-intro h2,
  .wecom-title-row h2,
  .sim-section-intro h2,
  .sim-title-row h2,
  .sim-details .sim-title-row h2,
  .wecom-trust-copy h2,
  .sim-trust-copy h2 {
    font-size: 29px;
    line-height: 1.28;
  }

  .recording-contact h2,
  .wecom-contact-copy h2,
  .sim-contact-copy h2 { font-size: 28px; }

  .wecom-interface-copy h3,
  .sim-detail-row h3 { font-size: 25px; }

  .technology-gallery .gallery-hero .technology-pillars-title {
    grid-template-columns: repeat(4, max-content);
    gap: 6px;
    font-size: clamp(14px, 4.1vw, 18px);
  }

  .technology-gallery .gallery-hero .technology-pillars-title i {
    width: 1px;
    min-width: 1px;
  }
}
/* Final specificity corrections for unified product headings */
@media (min-width: 901px) {
  .recording-hero h1,
  .wecom-hero h1,
  .sim-hero h1 {
    font-size: 54px;
  }

  .wecom-product-page .wecom-title-row h2 {
    font-size: clamp(35px, 3.1vw, 44px);
    font-weight: 700;
    line-height: 1.24;
  }
}

.technology-gallery .gallery-hero .technology-pillars-title {
  display: flex;
  flex-wrap: nowrap;
  width: max-content;
  max-width: none;
}

@media (max-width: 560px) {
  .technology-gallery .gallery-hero .technology-pillars-title {
    display: flex;
    flex-wrap: nowrap;
    width: max-content;
    max-width: none;
  }
}
/* Cross-page product consistency refinements */
.wecom-product-name,
.sim-product-name {
  display: none;
}

@media (min-width: 1101px) {
  .wecom-product-page .wecom-title-row,
  .ai-sim-page .sim-title-row,
  .ai-sim-page .sim-section-intro {
    grid-template-columns: minmax(680px, 1.2fr) minmax(0, .8fr);
    gap: 44px;
  }

  .wecom-product-page .wecom-title-row h2,
  .ai-sim-page .sim-title-row h2,
  .ai-sim-page .sim-section-intro h2 {
    white-space: normal;
  }
}
/* WeCom contact heading line balance */
@media (min-width: 1101px) {
  .wecom-contact {
    grid-template-columns: minmax(480px, .95fr) minmax(0, 1.05fr);
    gap: 52px;
  }

  .wecom-contact-copy h2 {
    white-space: nowrap;
  }
}
/* Unified product hero composition 2026-07-27 */
.recording-hero,
.wecom-hero,
.sim-hero {
  display: flex;
  align-items: center;
  width: 100%;
  max-width: none;
  min-height: clamp(720px, 50vw, 880px);
  box-sizing: border-box;
  overflow: hidden;
}
.recording-hero { background: #fbfdff; }
.wecom-hero,
.sim-hero { background: #f8fcff; }
.recording-hero-copy,
.wecom-hero-copy,
.sim-hero-copy {
  z-index: 3;
  width: min(650px, 48vw);
  max-width: 650px;
  padding-right: 0;
}
.recording-hero-visual,
.wecom-hero-visual,
.sim-hero-visual {
  position: absolute;
  z-index: 1;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  margin: 0;
  overflow: hidden;
  opacity: 1;
  pointer-events: none;
}
.recording-hero-visual img,
.wecom-hero-visual img,
.sim-hero-visual img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: right center;
  mix-blend-mode: normal;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 15%, #000 100%);
  mask-image: linear-gradient(90deg, transparent 0%, #000 15%, #000 100%);
}
.recording-hero-visual::before,
.wecom-hero-visual::before,
.sim-hero-visual::before {
  content: "";
  position: absolute;
  z-index: 2;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, #fbfdff 0%, rgba(251, 253, 255, .98) 27%, rgba(251, 253, 255, .82) 39%, rgba(251, 253, 255, .24) 54%, transparent 68%),
    linear-gradient(0deg, #fbfdff 0%, rgba(251, 253, 255, 0) 16%);
}
.wecom-hero-visual::before,
.sim-hero-visual::before {
  background:
    linear-gradient(90deg, #f8fcff 0%, rgba(248, 252, 255, .98) 27%, rgba(248, 252, 255, .82) 39%, rgba(248, 252, 255, .24) 54%, transparent 68%),
    linear-gradient(0deg, #f8fcff 0%, rgba(248, 252, 255, 0) 16%);
}
.recording-hero .reveal,
.wecom-hero .reveal,
.sim-hero .reveal {
  opacity: 1;
  transform: none;
  transition: none;
}
@media (min-width: 1101px) {
  .recording-hero h1,
  .wecom-hero h1,
  .sim-hero h1 { white-space: nowrap; }
}
@media (max-width: 820px) {
  .recording-hero,
  .wecom-hero,
  .sim-hero {
    display: block;
    min-height: auto;
    padding: 112px 20px 0;
  }
  .recording-hero-copy,
  .wecom-hero-copy,
  .sim-hero-copy {
    width: 100%;
    max-width: 680px;
    padding: 0;
  }
  .recording-hero-visual,
  .wecom-hero-visual,
  .sim-hero-visual {
    position: relative;
    inset: auto;
    width: calc(100% + 40px);
    height: clamp(250px, 66vw, 340px);
    margin: 24px -20px 0;
    opacity: 1;
  }
  .recording-hero-visual img,
  .wecom-hero-visual img,
  .sim-hero-visual img {
    object-fit: contain;
    object-position: center;
    -webkit-mask-image: none;
    mask-image: none;
  }
  .recording-hero-visual::before,
  .wecom-hero-visual::before,
  .sim-hero-visual::before {
    background:
      linear-gradient(180deg, #fbfdff 0%, rgba(251, 253, 255, 0) 20%),
      linear-gradient(0deg, #fbfdff 0%, rgba(251, 253, 255, 0) 14%);
  }
  .wecom-hero-visual::before,
  .sim-hero-visual::before {
    background:
      linear-gradient(180deg, #f8fcff 0%, rgba(248, 252, 255, 0) 20%),
      linear-gradient(0deg, #f8fcff 0%, rgba(248, 252, 255, 0) 14%);
  }
}

/* Product hero copy-image clearance 2026-07-27 */
@media (min-width: 821px) {
  .wecom-hero-lead,
  .sim-hero-lead { max-width: 580px; }
}

/* Homepage digital-workforce reframing 2026-07-28 */
.hero-bg-mode .hero-copy {
  max-width: 720px;
}
.hero-bg-mode .hero-copy h1 {
  max-width: 720px;
  line-height: 1.12;
}
.hero-bg-mode .hero-lead {
  max-width: 650px;
}
.digital-worker-section .problem-bridge {
  max-width: 1080px;
}
.digital-worker-section .problem-bridge p {
  max-width: 900px;
}
.digital-worker-section .issue span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(0, 140, 207, .18);
  border-radius: 50%;
  color: #087fae;
  background: rgba(255, 255, 255, .72);
  font-size: 22px;
  font-weight: 650;
  letter-spacing: 0;
  box-shadow: 0 8px 24px rgba(0, 84, 136, .08);
}
.digital-worker-section .issue h3 {
  margin-top: 20px;
}
.digital-worker-section .issue-icon svg {
  overflow: visible;
}
.digital-worker-section .issue-icon svg * {
  fill: none;
  stroke: currentColor;
  stroke-width: 2.1;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.section-link-row {
  display: flex;
  justify-content: flex-end;
  margin-top: 26px;
}
.text-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #087fae;
  font-size: 15px;
  font-weight: 650;
  text-decoration: none;
}
.text-link::after {
  content: "\2192";
  font-size: 18px;
  transition: transform .2s ease;
}
.text-link:hover::after {
  transform: translateX(4px);
}
.future {
  position: relative;
  overflow: hidden;
  background: #f7fbfd;
}
.future::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(120deg, rgba(0, 140, 207, .055), transparent 42%),
    linear-gradient(rgba(9, 90, 128, .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(9, 90, 128, .045) 1px, transparent 1px);
  background-size: auto, 72px 72px, 72px 72px;
  mask-image: linear-gradient(90deg, transparent, #000 22%, #000 78%, transparent);
}
.future-layout {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(320px, .82fr) minmax(600px, 1.18fr);
  gap: clamp(48px, 7vw, 104px);
  align-items: start;
}
.future .section-title {
  margin: 0;
}
.future .section-title h2 {
  white-space: normal;
  max-width: 520px;
}
.future .section-title p {
  max-width: 520px;
}
.future-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid rgba(8, 78, 111, .14);
  border-left: 1px solid rgba(8, 78, 111, .14);
  background: rgba(255, 255, 255, .48);
}
.future-item {
  min-height: 220px;
  padding: 30px 30px 32px;
  border-right: 1px solid rgba(8, 78, 111, .14);
  border-bottom: 1px solid rgba(8, 78, 111, .14);
  background: rgba(255, 255, 255, .64);
  transition: background .2s ease, transform .2s ease;
}
.future-item:hover {
  z-index: 1;
  background: rgba(255, 255, 255, .94);
  transform: translateY(-2px);
}
.future-item span {
  color: #1595bf;
  font-size: 12px;
  font-weight: 750;
}
.future-item h3 {
  margin: 34px 0 12px;
  color: #153746;
  font-size: 22px;
  font-weight: 650;
}
.future-item p {
  margin: 0;
  color: #637985;
  font-size: 15px;
  line-height: 1.8;
}
@media (max-width: 1100px) {
  .future-layout {
    grid-template-columns: 1fr;
    gap: 38px;
  }
  .future .section-title h2,
  .future .section-title p {
    max-width: 820px;
  }
}
@media (max-width: 720px) {
  .hero-bg-mode .hero-copy h1 {
    line-height: 1.16;
  }
  .digital-worker-section .issue span {
    width: 38px;
    height: 38px;
    font-size: 20px;
  }
  .section-link-row {
    justify-content: flex-start;
  }
  .future-grid {
    grid-template-columns: 1fr;
  }
  .future-item {
    min-height: 0;
    padding: 26px 24px 28px;
  }
  .future-item h3 {
    margin-top: 22px;
  }
}

/* Keep the homepage slogan and LINSEE name intact on narrow screens. */
@media (max-width: 720px) {
  .hero-bg-mode #hero-title {
    font-size: clamp(34px, 9.2vw, 38px);
  }
  .hero-bg-mode #hero-title .linsee-mark {
    display: block;
    margin-left: 0;
  }
}
/* Homepage hero line-balance refinement */
@media (min-width: 1121px) {
  .hero-bg-mode {
    grid-template-columns: minmax(590px, .92fr) minmax(440px, 1.08fr);
  }
  .hero-bg-mode .hero-copy h1 {
    font-size: clamp(54px, 4.4vw, 64px);
    white-space: nowrap;
  }
}
@media (min-width: 1480px) {
  .hero-bg-mode {
    grid-template-columns: minmax(650px, .9fr) minmax(520px, 1.1fr);
  }
}
@media (min-width: 721px) and (max-width: 1120px) {
  .hero-bg-mode .hero-copy h1 {
    font-size: clamp(48px, 5.7vw, 58px);
  }
}
/* Three-layer digital workforce architecture and AI foundation product 2026-07-28 */
.capability-triad {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin-top: 44px;
  border-top: 1px solid rgba(8, 91, 135, .16);
  border-left: 1px solid rgba(8, 91, 135, .16);
  background: rgba(255,255,255,.54);
}
.triad-layer {
  position: relative;
  min-height: 380px;
  padding: 30px 30px 32px;
  border-right: 1px solid rgba(8, 91, 135, .16);
  border-bottom: 1px solid rgba(8, 91, 135, .16);
  background: rgba(255,255,255,.72);
  overflow: hidden;
}
.triad-layer::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background: #1399c4;
}
.triad-layer.layer-act::before { background: #087fc0; }
.triad-layer.layer-think { background: linear-gradient(150deg, rgba(235,250,253,.96), rgba(255,255,255,.86)); }
.triad-layer.layer-think::before { background: #04a7a2; }
.triad-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.triad-head span { color: #64808e; font-size: 11px; font-weight: 750; letter-spacing: .08em; }
.triad-head strong { color: #0a80ae; font-size: 36px; font-weight: 620; line-height: 1; }
.triad-layer h3 { max-width: 270px; margin: 64px 0 15px; color: #102f3e; font-size: 22px; line-height: 1.35; font-weight: 650; }
.triad-layer p { margin: 0; color: #607784; font-size: 14.5px; line-height: 1.75; }
.triad-layer ul { display: grid; gap: 9px; margin: 25px 0 0; padding: 0; list-style: none; color: #2e596b; font-size: 13px; }
.triad-layer li { position: relative; padding-left: 14px; }
.triad-layer li::before { content: ""; position: absolute; left: 0; top: .65em; width: 4px; height: 4px; border-radius: 50%; background: #10a1c4; }
.ai-foundation-callout {
  display: grid;
  grid-template-columns: minmax(320px, 1.05fr) minmax(400px, 1fr) auto;
  gap: 36px;
  align-items: center;
  margin-top: 24px;
  padding: 30px 32px;
  border: 1px solid rgba(5, 105, 151, .18);
  border-radius: 6px;
  background: #082f45;
  color: #fff;
}
.ai-foundation-callout > div:first-child > span { color: #67d3e6; font-size: 10px; font-weight: 750; letter-spacing: .12em; }
.ai-foundation-callout h3 { margin: 8px 0 8px; font-size: 25px; font-weight: 620; }
.ai-foundation-callout p { margin: 0; color: rgba(225,242,248,.68); font-size: 13px; line-height: 1.7; }
.ai-foundation-tags { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px 18px; }
.ai-foundation-tags span { padding: 7px 0; border-bottom: 1px solid rgba(135,218,235,.16); color: rgba(235,249,252,.86); font-size: 12px; }
.ai-foundation-callout .button { white-space: nowrap; }
.product-card-foundation { border-color: rgba(5,145,174,.22); background: linear-gradient(135deg, rgba(233,249,252,.9), rgba(255,255,255,.96)); }
.product-card-foundation .product-index { color: #077fa7; border-color: rgba(5,145,174,.24); }
.subpage-card-foundation { grid-column: 1 / -1; min-height: 210px; background: linear-gradient(135deg, rgba(233,249,252,.92), rgba(255,255,255,.98)); }
.subpage-card-foundation h2 { font-size: 30px; }

.ai-foundation-page { background: #f8fbfd; color: #102c3a; }
.ai-foundation-wrap { width: min(1180px, calc(100% - 48px)); margin-inline: auto; }
.ai-foundation-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(440px,.9fr) minmax(520px,1.1fr);
  align-items: center;
  min-height: 760px;
  padding: 126px max(24px, calc((100vw - 1180px)/2)) 72px;
  background: linear-gradient(135deg, #fbfdff 0%, #eef8fc 50%, #f7fbfd 100%);
  overflow: hidden;
}
.ai-foundation-hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(rgba(6,97,139,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(6,97,139,.045) 1px, transparent 1px); background-size: 72px 72px; mask-image: linear-gradient(90deg, transparent 4%, #000 52%, transparent 100%); pointer-events: none; }
.ai-foundation-hero-copy { position: relative; z-index: 2; max-width: 620px; }
.ai-foundation-eyebrow { margin: 0 0 22px; color: #0c8db9; font-size: 12px; font-weight: 760; letter-spacing: .12em; }
.ai-foundation-hero h1 { margin: 0; color: #092436; font-size: clamp(54px,5vw,72px); line-height: 1.06; font-weight: 620; letter-spacing: 0; }
.ai-foundation-lead { max-width: 580px; margin: 26px 0 0; color: #4d6978; font-size: 18px; line-height: 1.8; }
.ai-foundation-actions { display: flex; gap: 14px; margin-top: 34px; }
.ai-core-visual { position: relative; z-index: 1; width: min(570px, 46vw); aspect-ratio: 1; justify-self: end; }
.ai-core-ring { position: absolute; left: 50%; top: 50%; border: 1px solid rgba(11,139,182,.22); border-radius: 50%; transform: translate(-50%,-50%); }
.ring-one { width: 68%; height: 68%; box-shadow: inset 0 0 70px rgba(7,162,196,.06); }
.ring-two { width: 94%; height: 94%; border-style: dashed; opacity: .62; }
.ai-core-center { position: absolute; left: 50%; top: 50%; display: grid; place-content: center; width: 215px; height: 215px; border: 1px solid rgba(8,145,181,.3); border-radius: 50%; background: radial-gradient(circle at 38% 30%, rgba(255,255,255,.98), rgba(208,244,249,.84) 54%, rgba(68,184,213,.25)); box-shadow: 0 30px 90px rgba(12,91,128,.18), inset 0 0 0 12px rgba(255,255,255,.35); text-align: center; transform: translate(-50%,-50%); }
.ai-core-center span { color: #148eae; font-size: 10px; font-weight: 760; letter-spacing: .16em; }
.ai-core-center strong { margin-top: 8px; color: #0c4058; font-size: 31px; font-weight: 650; }
.ai-core-center small { margin-top: 8px; color: #567988; font-size: 11px; }
.ai-orbit-node { position: absolute; display: grid; place-content: center; width: 118px; height: 78px; border: 1px solid rgba(9,125,168,.18); border-radius: 6px; background: rgba(255,255,255,.82); box-shadow: 0 18px 42px rgba(22,83,111,.1); text-align: center; backdrop-filter: blur(12px); }
.ai-orbit-node b { color: #0b5977; font-size: 17px; }
.ai-orbit-node span { margin-top: 5px; color: #738893; font-size: 10px; }
.node-analysis { left: 2%; top: 19%; }.node-service { right: 2%; top: 18%; }.node-assist { left: 4%; bottom: 17%; }.node-govern { right: 2%; bottom: 18%; }
.ai-lingxi-visual { width: min(620px,49vw); aspect-ratio: 1.1; overflow: hidden; border: 1px solid rgba(14,125,169,.12); border-radius: 8px; background: #eef9fd; box-shadow: 0 30px 80px rgba(13,84,118,.12); }
.ai-lingxi-visual::after { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(90deg,rgba(242,250,253,.94) 0%,rgba(242,250,253,.38) 34%,transparent 57%); }
.ai-lingxi-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 57% center; }
.ai-lingxi-identity { position: absolute; z-index: 3; left: 30px; top: 30px; display: grid; max-width: 210px; }
.ai-lingxi-identity span { color: #178fb3; font-size: 9px; font-weight: 760; letter-spacing: .1em; }
.ai-lingxi-identity strong { margin-top: 7px; color: #0a3d56; font-size: 32px; line-height: 1; font-weight: 650; }
.ai-lingxi-identity small { margin-top: 8px; color: #587684; font-size: 12px; }
.ai-work-status { position: absolute; z-index: 3; right: 22px; top: 22px; display: flex; gap: 7px; align-items: center; padding: 8px 10px; border: 1px solid rgba(255,255,255,.7); border-radius: 4px; color: #0f637e; background: rgba(255,255,255,.72); box-shadow: 0 8px 24px rgba(10,83,116,.08); font-size: 10px; backdrop-filter: blur(10px); }
.ai-work-status i { width: 6px; height: 6px; border-radius: 50%; background: #18b69a; box-shadow: 0 0 0 4px rgba(24,182,154,.12); }
.ai-work-item { position: absolute; z-index: 3; display: grid; grid-template-columns: 24px 1fr; gap: 10px; align-items: center; width: 190px; min-height: 66px; padding: 12px 14px; border: 1px solid rgba(13,126,169,.15); border-radius: 5px; background: rgba(255,255,255,.78); box-shadow: 0 14px 34px rgba(13,83,113,.1); backdrop-filter: blur(12px); }
.ai-work-item > b { color: #1b9abb; font-size: 10px; }.ai-work-item div { display: grid; gap: 4px; }.ai-work-item strong { color: #123e52; font-size: 13px; font-weight: 650; }.ai-work-item span { color: #708791; font-size: 9px; }
.work-perception { left: 28px; top: 132px; }.work-knowledge { left: 28px; top: 213px; }.work-decision { left: 28px; top: 294px; }.work-governance { left: 28px; top: 375px; }
.ai-engine-visual { position: absolute; z-index: 1; right: 0; top: 0; width: min(820px,62vw); height: 100%; aspect-ratio: auto; overflow: hidden; }
.ai-engine-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 54% center; opacity: .98; mix-blend-mode: multiply; -webkit-mask-image: linear-gradient(90deg,transparent 0,rgba(0,0,0,.62) 18%,#000 38%,#000 100%); mask-image: linear-gradient(90deg,transparent 0,rgba(0,0,0,.62) 18%,#000 38%,#000 100%); }


.ai-domain-heading { display: grid; grid-template-columns: .9fr 1.1fr; gap: 48px; align-items: end; margin-top: 72px; padding-top: 42px; border-top: 1px solid rgba(9,91,131,.14); }
.ai-domain-heading span { color: #1293b7; font-size: 10px; font-weight: 760; letter-spacing: .1em; }.ai-domain-heading h3 { margin: 10px 0 0; font-size: 28px; }.ai-domain-heading p { margin: 0; color: #647b87; font-size: 14px; line-height: 1.75; }
.ai-foundation-overview,.ai-foundation-architecture,.ai-foundation-contact { padding-block: 88px; }
.ai-foundation-title { display: grid; grid-template-columns: minmax(360px,.9fr) minmax(460px,1.1fr); gap: 72px; align-items: start; }
.ai-foundation-title h2 { margin: 0; color: #102c3a; font-size: clamp(36px,3.6vw,48px); line-height: 1.16; font-weight: 620; letter-spacing: 0; }
.ai-foundation-title p { margin: 4px 0 0; color: #617884; font-size: 16px; line-height: 1.85; }
.ai-value-strip { display: grid; grid-template-columns: repeat(3,1fr); margin-top: 54px; border-top: 1px solid rgba(9,91,131,.15); border-left: 1px solid rgba(9,91,131,.15); }
.ai-value-strip article { min-height: 180px; padding: 28px; border-right: 1px solid rgba(9,91,131,.15); border-bottom: 1px solid rgba(9,91,131,.15); background: rgba(255,255,255,.7); }
.ai-value-strip span,.ai-capability-grid span { color: #1293b7; font-size: 10px; font-weight: 760; letter-spacing: .1em; }
.ai-value-strip h3 { margin: 34px 0 10px; font-size: 22px; }.ai-value-strip p { margin: 0; color: #69808b; font-size: 14px; line-height: 1.7; }
.ai-foundation-capabilities,.ai-foundation-products { padding-block: 88px; background: #eef7fa; }
.ai-capability-grid { display: grid; grid-template-columns: repeat(3,1fr); margin-top: 52px; border-top: 1px solid rgba(9,91,131,.14); border-left: 1px solid rgba(9,91,131,.14); }
.ai-capability-grid article { min-height: 250px; padding: 28px; border-right: 1px solid rgba(9,91,131,.14); border-bottom: 1px solid rgba(9,91,131,.14); background: rgba(255,255,255,.72); }
.ai-capability-grid h3 { margin: 48px 0 12px; font-size: 21px; }.ai-capability-grid p { margin: 0; color: #647b87; font-size: 14px; line-height: 1.75; }
.ai-module-catalog { margin-top: 42px; padding-top: 34px; border-top: 1px solid rgba(9,91,131,.14); }
.ai-module-catalog-heading { display: grid; grid-template-columns: .9fr 1.1fr; gap: 48px; align-items: end; margin-bottom: 24px; }
.ai-module-catalog-heading span { color: #1293b7; font-size: 10px; font-weight: 760; letter-spacing: .1em; }
.ai-module-catalog-heading h3 { margin: 10px 0 0; font-size: 28px; }
.ai-module-catalog-heading p { margin: 0; color: #647b87; font-size: 14px; line-height: 1.75; }
.ai-module-matrix { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid rgba(9,91,131,.14); border-left: 1px solid rgba(9,91,131,.14); }
.ai-module-matrix article { min-height: 116px; padding: 20px 22px; border-right: 1px solid rgba(9,91,131,.14); border-bottom: 1px solid rgba(9,91,131,.14); background: rgba(255,255,255,.62); }
.ai-module-matrix b { display: block; color: #1597bd; font-size: 10px; }
.ai-module-matrix strong { display: block; margin-top: 14px; font-size: 16px; }
.ai-module-matrix small { display: block; margin-top: 7px; color: #6b818c; font-size: 12px; line-height: 1.55; }
.ai-process { display: grid; grid-template-columns: 1fr 30px 1fr 30px 1fr 30px 1fr 30px 1fr; align-items: stretch; margin-top: 54px; }
.ai-process > div { min-height: 170px; padding: 24px 20px; border: 1px solid rgba(9,98,139,.16); background: #fff; }.ai-process > i { position: relative; align-self: center; height: 1px; background: rgba(12,135,177,.34); }.ai-process > i::after { content: ""; position: absolute; right: 0; top: -3px; border-left: 6px solid #1597bd; border-top: 3px solid transparent; border-bottom: 3px solid transparent; }
.ai-process span { color: #1492b5; font-size: 11px; font-weight: 750; }.ai-process strong { display: block; margin-top: 40px; font-size: 18px; }.ai-process p { margin: 8px 0 0; color: #71858e; font-size: 11px; line-height: 1.6; }
.ai-product-links { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; margin-top: 52px; }.ai-product-links a { min-height: 230px; padding: 28px; border: 1px solid rgba(8,95,137,.14); border-radius: 6px; background: rgba(255,255,255,.78); color: inherit; text-decoration: none; }.ai-product-links span { color: #118eb4; font-size: 11px; }.ai-product-links h3 { margin: 54px 0 12px; font-size: 21px; }.ai-product-links p { margin: 0; color: #667e89; font-size: 14px; line-height: 1.7; }
.ai-difference { padding-block: 86px; }
.ai-compare { display: grid; grid-template-columns: minmax(0,1fr) 132px minmax(0,1fr); align-items: stretch; margin-top: 48px; }
.ai-compare article { min-height: 330px; padding: 36px 38px; border: 1px solid rgba(9,91,131,.14); border-radius: 6px; }
.ai-compare article > span { font-size: 11px; font-weight: 760; letter-spacing: .08em; }
.ai-compare article h3 { margin: 58px 0 24px; font-size: 30px; line-height: 1.2; }
.ai-compare article ul { display: grid; gap: 13px; margin: 0; padding: 0; list-style: none; }
.ai-compare article li { position: relative; padding-left: 18px; font-size: 14px; line-height: 1.6; }
.ai-compare article li::before { content: ""; position: absolute; left: 0; top: .7em; width: 6px; height: 1px; background: currentColor; opacity: .55; }
.ai-compare-general { color: #526a76; background: rgba(255,255,255,.72); }
.ai-compare-general > span { color: #758a94; }
.ai-compare-enterprise { color: rgba(239,250,252,.86); border-color: rgba(50,185,211,.28) !important; background: linear-gradient(145deg,#0a3348,#0a5265); box-shadow: 0 24px 60px rgba(8,55,76,.14); }
.ai-compare-enterprise > span { color: #73d7e7; }.ai-compare-enterprise h3 { color: #fff; }
.ai-compare-shift { display: grid; place-content: center; justify-items: center; gap: 18px; color: #158fb4; text-align: center; }
.ai-compare-shift i { position: relative; width: 60px; height: 1px; background: rgba(21,143,180,.45); }
.ai-compare-shift i::after { content: ""; position: absolute; right: 0; top: -4px; border-left: 7px solid #1593b7; border-top: 4px solid transparent; border-bottom: 4px solid transparent; }
.ai-compare-shift strong { font-size: 13px; line-height: 1.55; font-weight: 650; }
.ai-business-section { padding-block: 86px; background: #fff; }
.ai-business-loop { display: grid; grid-template-columns: repeat(4,1fr); margin-top: 48px; border-top: 1px solid rgba(9,91,131,.16); border-left: 1px solid rgba(9,91,131,.16); }
.ai-business-loop article { position: relative; min-height: 210px; padding: 27px 26px; border-right: 1px solid rgba(9,91,131,.16); border-bottom: 1px solid rgba(9,91,131,.16); }
.ai-business-loop article:not(:last-child)::after { content: ""; position: absolute; z-index: 2; right: -5px; top: 49%; width: 9px; height: 9px; border-top: 1px solid #1495b8; border-right: 1px solid #1495b8; background: #fff; transform: rotate(45deg); }
.ai-business-loop b { color: #1495b8; font-size: 11px; }.ai-business-loop h3 { margin: 48px 0 11px; font-size: 21px; }.ai-business-loop p { margin: 0; color: #667d88; font-size: 14px; line-height: 1.7; }
.ai-capability-groups { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; margin-top: 48px; }
.ai-capability-groups article { min-height: 380px; padding: 32px 30px; border: 1px solid rgba(9,91,131,.14); border-radius: 6px; background: rgba(255,255,255,.78); }
.ai-capability-groups article > span { color: #118fb5; font-size: 11px; font-weight: 760; letter-spacing: .06em; }
.ai-capability-groups article > h3 { margin: 54px 0 14px; font-size: 24px; }.ai-capability-groups article > p { min-height: 52px; margin: 0; color: #657c87; font-size: 14px; line-height: 1.75; }
.ai-capability-groups article > div { display: grid; margin-top: 30px; border-top: 1px solid rgba(9,91,131,.13); }
.ai-capability-groups article b { padding: 13px 0; border-bottom: 1px solid rgba(9,91,131,.13); color: #244654; font-size: 13px; font-weight: 600; }
.ai-foundation-trust { padding-block: 82px; color: #fff; background: #082f45; }.ai-trust-layout { display: grid; grid-template-columns: .95fr 1.05fr; gap: 80px; }.ai-trust-layout h2 { margin: 0; font-size: 42px; line-height: 1.16; font-weight: 620; }.ai-trust-layout p { margin: 20px 0 0; color: rgba(224,241,247,.66); line-height: 1.8; }.ai-trust-points { display: grid; grid-template-columns: repeat(2,1fr); border-top: 1px solid rgba(136,218,235,.18); border-left: 1px solid rgba(136,218,235,.18); }.ai-trust-points span { min-height: 104px; padding: 23px; border-right: 1px solid rgba(136,218,235,.18); border-bottom: 1px solid rgba(136,218,235,.18); color: rgba(237,249,252,.84); font-size: 13px; line-height: 1.6; }
.ai-foundation-contact { display: grid; grid-template-columns: .85fr 1.15fr; gap: 72px; align-items: center; }.ai-foundation-contact h2 { margin: 0; font-size: 40px; line-height: 1.18; }.ai-foundation-contact > div > p { margin: 18px 0 0; color: #627985; line-height: 1.8; }.ai-foundation-form { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }.ai-foundation-form label { display: grid; gap: 7px; }.ai-foundation-form label span { color: #607785; font-size: 11px; }.ai-foundation-form input { width: 100%; height: 46px; padding: 0 13px; border: 1px solid rgba(9,91,131,.2); border-radius: 4px; background: #fff; font: inherit; }.ai-foundation-form button { height: 46px; border: 0; border-radius: 4px; color: #fff; background: #087fbd; font: inherit; font-weight: 650; }.ai-foundation-form button,.ai-foundation-form p { grid-column: 1 / -1; }.ai-foundation-form p { margin: 0; font-size: 12px; }
@media (max-width: 980px) { .capability-triad { grid-template-columns: 1fr; }.triad-layer { min-height: 0; }.ai-foundation-callout { grid-template-columns: 1fr; }.ai-foundation-hero { grid-template-columns: 1fr; }.ai-core-visual { width: min(560px,92vw); justify-self: center; }.ai-engine-visual { width: min(680px,94vw); }.ai-foundation-title,.ai-trust-layout,.ai-foundation-contact { grid-template-columns: 1fr; gap: 30px; }.ai-process { grid-template-columns: 1fr; gap: 10px; }.ai-process > i { width: 1px; height: 22px; justify-self: center; }.ai-process > i::after { right: -3px; top: auto; bottom: 0; border-left: 3px solid transparent; border-right: 3px solid transparent; border-top: 6px solid #1597bd; border-bottom: 0; }.ai-capability-grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 720px) { .ai-foundation-wrap { width: min(100% - 32px,680px); }.triad-layer { padding: 25px 22px; }.triad-layer h3 { margin-top: 42px; }.ai-foundation-callout { padding: 26px 22px; }.ai-foundation-tags { grid-template-columns: 1fr; }.subpage-card-foundation { grid-column: auto; }.ai-foundation-hero { min-height: auto; padding: 112px 20px 54px; }.ai-foundation-hero h1 { font-size: 44px; }.ai-foundation-lead { font-size: 16px; }.ai-foundation-actions { flex-direction: column; }.ai-core-visual { margin-top: 34px; }.ai-engine-visual { position: relative; right: auto; top: auto; width: 100%; height: auto; aspect-ratio: 1.26; }.ai-engine-image { inset: -2% -18% -2% -20%; width: 138%; height: 104%; object-position: 60% center; -webkit-mask-image: radial-gradient(ellipse 72% 68% at 58% 50%,#000 45%,rgba(0,0,0,.7) 70%,transparent 100%); mask-image: radial-gradient(ellipse 72% 68% at 58% 50%,#000 45%,rgba(0,0,0,.7) 70%,transparent 100%); }.ai-domain-heading { grid-template-columns: 1fr; gap: 16px; margin-top: 54px; padding-top: 32px; }.ai-lingxi-visual { width: 100%; aspect-ratio: .88; }.ai-lingxi-image { object-position: 62% center; }.ai-lingxi-identity { left: 18px; top: 18px; }.ai-lingxi-identity strong { font-size: 27px; }.ai-work-status { right: 14px; top: 14px; }.ai-work-item { left: 16px; width: 168px; min-height: 58px; padding: 10px 12px; }.work-perception { top: 114px; }.work-knowledge { top: 184px; }.work-decision { top: 254px; }.work-governance { top: 324px; }.ai-core-center { width: 150px; height: 150px; }.ai-core-center strong { font-size: 23px; }.ai-orbit-node { width: 92px; height: 62px; }.ai-orbit-node b { font-size: 15px; }.ai-foundation-overview,.ai-foundation-architecture,.ai-foundation-capabilities,.ai-foundation-products,.ai-foundation-contact { padding-block: 64px; }.ai-foundation-title { display: block; }.ai-foundation-title h2 { font-size: 32px; }.ai-foundation-title p { margin-top: 20px; }.ai-value-strip,.ai-capability-grid,.ai-product-links { grid-template-columns: 1fr; }.ai-module-catalog-heading { grid-template-columns: 1fr; gap: 16px; }.ai-module-matrix { grid-template-columns: 1fr; }.ai-value-strip article,.ai-capability-grid article { min-height: 0; }.ai-capability-grid h3 { margin-top: 34px; }.ai-trust-layout h2,.ai-foundation-contact h2 { font-size: 32px; }.ai-trust-points { grid-template-columns: 1fr; }.ai-foundation-form { grid-template-columns: 1fr; }.ai-foundation-form button,.ai-foundation-form p { grid-column: auto; } }
/* Homepage product hierarchy: products above, AI foundation below */
.product-foundation-band {
  position: relative;
  display: grid;
  grid-template-columns: 154px minmax(0, 1fr) auto;
  gap: 30px;
  align-items: center;
  margin-top: 28px;
  padding: 30px 34px;
  border: 1px solid rgba(83, 204, 224, .2);
  border-radius: 24px;
  color: #fff;
  background:
    radial-gradient(circle at 85% 15%, rgba(28, 183, 209, .2), transparent 25rem),
    linear-gradient(135deg, #092d42, #0b4055);
  box-shadow: 0 22px 54px rgba(8, 47, 69, .14);
  text-decoration: none;
  overflow: visible;
}
.product-foundation-band::before {
  content: "";
  position: absolute;
  left: 50%;
  top: -29px;
  width: 1px;
  height: 28px;
  background: linear-gradient(rgba(10, 128, 166, .1), rgba(10, 128, 166, .48));
}
.product-foundation-mark {
  display: grid;
  align-content: center;
  min-height: 92px;
  padding-right: 26px;
  border-right: 1px solid rgba(189, 235, 243, .18);
}
.product-foundation-mark span {
  color: rgba(184, 234, 242, .7);
  font-size: 10px;
  font-weight: 760;
  letter-spacing: .12em;
}
.product-foundation-mark strong {
  margin-top: 8px;
  color: #fff;
  font-size: 22px;
  font-weight: 620;
}
.product-foundation-copy .product-meta { color: #7ed9e9; }
.product-foundation-copy h3 {
  margin: 0 0 8px;
  color: #fff;
  font-size: 28px;
  font-weight: 620;
}
.product-foundation-copy > p:last-child {
  max-width: 760px;
  margin: 0;
  color: rgba(224, 242, 246, .72);
  font-size: 15px;
  line-height: 1.75;
}
.product-foundation-link {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 0 18px;
  border: 1px solid rgba(177, 229, 238, .24);
  border-radius: 999px;
  color: rgba(242, 252, 254, .9);
  font-size: 13px;
  font-weight: 650;
  white-space: nowrap;
}
.product-foundation-band:hover .product-foundation-link {
  border-color: rgba(177, 229, 238, .48);
  background: rgba(255, 255, 255, .08);
}
@media (max-width: 840px) {
  .product-foundation-band { grid-template-columns: 1fr; gap: 18px; padding: 28px; }
  .product-foundation-mark { min-height: 0; padding: 0 0 18px; border-right: 0; border-bottom: 1px solid rgba(189, 235, 243, .18); }
  .product-foundation-link { justify-self: start; }
}
/* Hero concept convergence light streams */
.hero-light-streams {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  overflow: hidden;
}

.hero-light-streams svg {
  display: block;
  width: 100%;
  height: 100%;
}

.hero-light-streams path {
  fill: none;
  stroke: url(#heroStreamBlue);
  stroke-linecap: round;
}

.hero-light-streams .stream-glow {
  filter: url(#heroStreamGlow);
  opacity: .62;
}

.hero-light-streams .stream-glow path {
  stroke-width: 11;
}

.hero-light-streams .stream-lines path {
  stroke-width: 2.15;
  opacity: .86;
}

.hero-light-streams .stream-pulses path {
  stroke: rgba(255,255,255,.96);
  stroke-width: 3.2;
  stroke-dasharray: 4 34;
  opacity: .9;
  animation: hero-stream-travel 5.8s linear infinite;
}

.hero-light-streams .stream-pulses path:nth-child(2) { animation-delay: -1.8s; }
.hero-light-streams .stream-pulses path:nth-child(3) { animation-delay: -3.4s; }

@keyframes hero-stream-travel {
  to { stroke-dashoffset: -152; }
}

@media (prefers-reduced-motion: reduce) {
  .hero-light-streams .stream-pulses path { animation: none; }
}

@media (max-width: 1120px) {
  .hero-light-streams { display: none; }
}
/* Embed the concept label into the chest light core */
@media (min-width: 1121px) {
  .hero-concept-overlay {
    left: 63.4% !important;
    top: 54.2% !important;
    width: 178px !important;
    height: 126px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: radial-gradient(circle, rgba(255,255,255,.82) 0%, rgba(255,255,255,.44) 42%, rgba(255,255,255,0) 76%) !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
  }

  .hero-concept-overlay::before,
  .hero-concept-overlay::after {
    display: none !important;
  }

  .hero-concept-overlay span {
    margin-bottom: 5px !important;
    color: rgba(7,55,82,.48) !important;
    font-size: 6px !important;
    letter-spacing: .14em !important;
  }

  .hero-concept-overlay strong {
    margin-bottom: 5px !important;
    color: rgba(5,48,73,.90) !important;
    font-size: 20px !important;
    text-shadow: 0 1px 8px rgba(255,255,255,.94) !important;
  }

  .hero-concept-overlay small {
    width: 126px !important;
    color: rgba(7,55,82,.58) !important;
    font-size: 9px !important;
    text-shadow: 0 1px 7px rgba(255,255,255,.9) !important;
  }
}

@media (min-width: 1460px) {
  .hero-concept-overlay { left: 63.2% !important; top: 54.4% !important; }
}

@media (min-width: 1121px) and (max-width: 1280px) {
  .hero-concept-overlay { left: 64.2% !important; top: 54.2% !important; }
}
/* Routed hero streams: touchpoints in, processed flow behind */
.hero-light-streams .stream-input.stream-glow path {
  stroke-width: 9;
  opacity: .72;
}

.hero-light-streams .stream-input.stream-lines path {
  stroke-width: 2.25;
  opacity: .9;
}

.hero-light-streams .stream-input.stream-pulses path {
  stroke-width: 3.1;
  stroke-dasharray: 4 31;
}

.hero-light-streams .stream-input.stream-pulses path:nth-child(2) { animation-delay: -1.2s; }
.hero-light-streams .stream-input.stream-pulses path:nth-child(3) { animation-delay: -2.5s; }
.hero-light-streams .stream-input.stream-pulses path:nth-child(4) { animation-delay: -3.8s; }

.hero-light-streams .stream-output-glow,
.hero-light-streams .stream-output-lines {
  opacity: .62;
}

.hero-light-streams .stream-output-glow {
  filter: url(#heroStreamGlow);
}

.hero-light-streams .stream-output-glow path,
.hero-light-streams .stream-output-lines path {
  fill: none;
  stroke: url(#heroStreamBlue);
  stroke-linecap: round;
  stroke-dasharray: 0 235 765;
}

.hero-light-streams .stream-output-glow path { stroke-width: 8; }
.hero-light-streams .stream-output-lines path { stroke-width: 1.75; }

.hero-light-streams .stream-output-pulses path {
  fill: none;
  stroke: rgba(255,255,255,.92);
  stroke-width: 2.7;
  stroke-linecap: round;
  stroke-dasharray: 4 38;
  opacity: .62;
  animation: hero-stream-travel 6.4s linear infinite reverse;
}

.hero-light-streams .stream-output-pulses path:nth-child(2) { animation-delay: -2s; }
.hero-light-streams .stream-output-pulses path:nth-child(3) { animation-delay: -4s; }
/* Hero two-band refinement */
.hero-light-streams .stream-input.stream-glow path {
  stroke-width: 16;
  opacity: .64;
}

.hero-light-streams .stream-input.stream-lines path {
  stroke-width: 3.2;
  opacity: .82;
}

.hero-light-streams .stream-input.stream-pulses path {
  stroke-width: 4;
  stroke-dasharray: 5 42;
  opacity: .92;
  animation-duration: 6.8s;
}

.hero-light-streams .stream-input.stream-pulses path:nth-child(2) {
  animation-delay: -3.2s;
}

.d2.droplet-app {
  left: 9.8% !important;
  top: 74.5% !important;
}

.d3.droplet-wecom {
  left: 35% !important;
  top: 64% !important;
}

.d4.droplet-sms {
  left: 45% !important;
  top: 56.8% !important;
}

.d5.droplet-phone {
  left: 53% !important;
  top: 55.6% !important;
}

.d6 { display: none !important; }
/* Hero two-band final ribbon weight */
.hero-light-streams .stream-input.stream-glow {
  filter: url(#heroStreamGlow);
  opacity: .82;
}

.hero-light-streams .stream-input.stream-glow path {
  stroke-width: 26;
  opacity: .38;
}

.hero-light-streams .stream-input.stream-lines path {
  stroke-width: 5.2;
  opacity: .50;
}

.hero-light-streams .stream-input.stream-pulses path {
  stroke-width: 3.4;
  opacity: .84;
}
/* Hero flowing ribbon surfaces */
.hero-ribbon-streams .ribbon-glow {
  filter: url(#heroRibbonGlow);
  opacity: .62;
}

.hero-ribbon-streams .ribbon-glow path,
.hero-ribbon-streams .stream-ribbons path {
  fill: url(#heroRibbonFill) !important;
  stroke: none !important;
}

.hero-ribbon-streams .ribbon-glow path {
  opacity: .62;
}

.hero-ribbon-streams .stream-ribbons path {
  opacity: .88;
}

.hero-ribbon-streams .ribbon-edges path {
  fill: none !important;
  stroke: url(#heroRibbonEdge) !important;
  stroke-width: 1.35;
  stroke-linecap: round;
  opacity: .72;
}

.hero-ribbon-streams .ribbon-pulses path {
  fill: none !important;
  stroke: rgba(255,255,255,.94) !important;
  stroke-width: 4.2;
  stroke-linecap: round;
  stroke-dasharray: 7 46;
  opacity: .82;
  animation: hero-ribbon-flow 7.2s linear infinite;
}

.hero-ribbon-streams .ribbon-pulses path:nth-child(2) {
  animation-delay: -3.5s;
}

@keyframes hero-ribbon-flow {
  to { stroke-dashoffset: -212; }
}

@media (prefers-reduced-motion: no-preference) {
  .hero-ribbon-streams .stream-ribbons path:first-child {
    animation: hero-ribbon-breathe 7s ease-in-out infinite alternate;
  }
  .hero-ribbon-streams .stream-ribbons path:last-child {
    animation: hero-ribbon-breathe 8.5s ease-in-out -2s infinite alternate-reverse;
  }
}

@keyframes hero-ribbon-breathe {
  from { opacity: .72; }
  to { opacity: .96; }
}

.d2.droplet-app { left: 9.2% !important; top: 74.6% !important; }
.d3.droplet-wecom { left: 34.5% !important; top: 63.3% !important; }
.d4.droplet-sms { left: 44.2% !important; top: 56.2% !important; }
.d5.droplet-phone { left: 52.6% !important; top: 54.8% !important; }
/* Animate the existing background flows without drawing new bands */
.hero-flow-glints {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  overflow: hidden;
}

.hero-flow-glints svg {
  display: block;
  width: 100%;
  height: 100%;
}

.hero-flow-glints .flow-glint {
  fill: rgba(255,255,255,.96);
  opacity: .88;
}

.d2.droplet-app { left: 9.8% !important; top: 75.5% !important; }
.d3.droplet-wecom { left: 34.2% !important; top: 67.5% !important; }
.d4.droplet-sms { left: 44.8% !important; top: 59.6% !important; }
.d5.droplet-phone { left: 54.2% !important; top: 55.8% !important; }
.d6 { display: none !important; }

@media (max-width: 1120px), (prefers-reduced-motion: reduce) {
  .hero-flow-glints { display: none; }
}
/* Place four touchpoints on the four native hero ribbons */
.d2.droplet-app {
  left: 29.5% !important;
  top: 70.5% !important;
}

.d3.droplet-wecom {
  left: 52.2% !important;
  top: 69.2% !important;
}

.d4.droplet-sms {
  left: 75.6% !important;
  top: 37.8% !important;
}

.d5.droplet-phone {
  left: 67.4% !important;
  top: 67.2% !important;
}
/* Organic variation for the four native-flow droplets */
.d2.droplet-app {
  --s: 48px !important;
  left: 31.8% !important;
  top: 67.8% !important;
  animation: native-droplet-float-a 6.6s ease-in-out -1.1s infinite alternate;
}

.d3.droplet-wecom {
  --s: 62px !important;
  left: 52.6% !important;
  top: 66.2% !important;
  animation: native-droplet-float-b 7.8s ease-in-out -3.4s infinite alternate;
}

.d4.droplet-sms {
  --s: 40px !important;
  left: 74.6% !important;
  top: 38.8% !important;
  animation: native-droplet-float-a 5.9s ease-in-out -2.2s infinite alternate-reverse;
}

.d5.droplet-phone {
  --s: 54px !important;
  left: 68.8% !important;
  top: 63.8% !important;
  animation: native-droplet-float-b 7.1s ease-in-out -.7s infinite alternate-reverse;
}

@keyframes native-droplet-float-a {
  from { translate: 0 -3px; }
  to { translate: 5px 5px; }
}

@keyframes native-droplet-float-b {
  from { translate: -3px 4px; }
  to { translate: 4px -5px; }
}

@media (prefers-reduced-motion: reduce) {
  .hero-droplet-field .droplet { animation: none !important; translate: none !important; }
}
/* Final hero composition: complete figure and directional touchpoint flow */
@media (min-width: 1121px) {
  .hero-bg-mode .hero-bg-visual {
    inset: 8% 0 auto 0 !important;
    width: 100% !important;
    height: 86% !important;
    object-fit: contain !important;
    object-position: right top !important;
  }

  .d2.droplet-app {
    --s: 44px !important;
    left: 40.5% !important;
    top: 72.5% !important;
  }

  .d3.droplet-wecom {
    --s: 58px !important;
    left: 54.5% !important;
    top: 68.5% !important;
  }

  .d4.droplet-sms {
    --s: 36px !important;
    left: 79.5% !important;
    top: 41.5% !important;
  }

  .d5.droplet-phone {
    --s: 50px !important;
    left: 71.5% !important;
    top: 65% !important;
  }
}

.hero-concept-overlay {
  display: none !important;
}
/* Responsive hero art stage: image, glints and droplets share one coordinate system */
.hero-art-stage {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

@media (min-width: 1121px) {
  .hero-art-stage {
    inset: 8% 0 auto auto;
    width: auto;
    height: 86%;
    aspect-ratio: 1672 / 941;
  }

  .hero-art-stage .hero-bg-visual {
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: fill !important;
    object-position: center !important;
    transform: none !important;
    -webkit-mask-image:
      linear-gradient(90deg, transparent 0%, rgba(0,0,0,.42) 7%, #000 19%),
      linear-gradient(180deg, #000 0%, #000 84%, transparent 100%);
    -webkit-mask-composite: source-in;
    mask-image:
      linear-gradient(90deg, transparent 0%, rgba(0,0,0,.42) 7%, #000 19%),
      linear-gradient(180deg, #000 0%, #000 84%, transparent 100%);
    mask-composite: intersect;
  }

  .hero-art-stage .hero-flow-glints,
  .hero-art-stage .hero-droplet-field {
    inset: 0 !important;
    width: 100%;
    height: 100%;
  }

  .hero-art-stage .d2.droplet-app {
    left: 30.5% !important;
    top: 77.5% !important;
  }

  .hero-art-stage .d3.droplet-wecom {
    left: 47.5% !important;
    top: 73.5% !important;
  }

  .hero-art-stage .d4.droplet-sms {
    left: 75.8% !important;
    top: 40.5% !important;
  }

  .hero-art-stage .d5.droplet-phone {
    left: 67% !important;
    top: 69.5% !important;
  }
}

@media (min-width: 1121px) and (max-width: 1280px) {
  .hero-art-stage {
    height: 78%;
    inset-block-start: 11%;
  }
}
/* Glass LINKEY N embedded in the digital-worker core */
.hero-chest-mark {
  position: absolute;
  left: 65.5%;
  top: 59%;
  z-index: 4;
  width: clamp(58px, 5.4vw, 82px);
  aspect-ratio: 1;
  transform: translate(-50%, -50%);
  display: grid;
  place-items: center;
  pointer-events: none;
  filter: drop-shadow(0 10px 18px rgba(0, 104, 174, .18));
}

.hero-chest-mark::before {
  content: "";
  position: absolute;
  inset: -24%;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,255,255,.72) 0%, rgba(91,204,242,.18) 38%, transparent 72%);
  filter: blur(5px);
}

.hero-chest-mark img {
  position: relative;
  z-index: 1;
  display: block;
  width: 82%;
  height: 82%;
  object-fit: contain;
  opacity: .88;
  filter:
    saturate(1.18)
    brightness(1.10)
    contrast(1.06)
    drop-shadow(0 2px 1px rgba(255,255,255,.75))
    drop-shadow(0 7px 9px rgba(0,91,174,.30));
}

.hero-chest-mark::after {
  content: "";
  position: absolute;
  z-index: 2;
  inset: 9%;
  background: linear-gradient(145deg, rgba(255,255,255,.88) 8%, rgba(255,255,255,.12) 38%, transparent 56%);
  -webkit-mask: url("./assets/hero/linkey-n-mark-transparent.png") center / contain no-repeat;
  mask: url("./assets/hero/linkey-n-mark-transparent.png") center / contain no-repeat;
  opacity: .62;
  mix-blend-mode: screen;
}

@media (max-width: 1120px) {
  .hero-chest-mark { display: none; }
}
/* Refined optical-glass N: generated material, aligned to the real chest light core */
.hero-chest-mark {
  left: 63.5% !important;
  top: 56.2% !important;
  width: clamp(54px, 4.6vw, 72px) !important;
  filter: drop-shadow(0 8px 14px rgba(0, 116, 187, .14)) !important;
}

.hero-chest-mark::before {
  inset: -20% !important;
  background: radial-gradient(circle, rgba(255,255,255,.48) 0%, rgba(70,191,234,.10) 42%, transparent 72%) !important;
  filter: blur(6px) !important;
}

.hero-chest-mark img {
  width: 100% !important;
  height: 100% !important;
  opacity: .86 !important;
  mix-blend-mode: multiply;
  filter: saturate(1.06) brightness(1.04) contrast(1.02) drop-shadow(0 5px 7px rgba(0,102,178,.16)) !important;
}

.hero-chest-mark::after {
  display: none !important;
}
/* Transparent glass emblem polish and final optical-center alignment */
.hero-chest-mark {
  left: 63.5% !important;
  top: 58.2% !important;
  width: clamp(52px, 4.4vw, 68px) !important;
}

.hero-chest-mark img {
  opacity: .92 !important;
  mix-blend-mode: normal !important;
  filter: saturate(1.02) brightness(1.08) drop-shadow(0 5px 8px rgba(0,111,183,.18)) !important;
}
/* Keep the core product term intact across desktop browser widths. */
.hero-term { white-space: nowrap; }
@media (max-width: 560px) { .hero-term { white-space: normal; } }

/* Product family signature styling. */
.product-family-key { color: #078fca; font: inherit; text-shadow: 0 6px 18px rgba(0, 143, 202, .12); }

/* Product identity labels */
.wecom-product-name,
.sim-product-name,
.recording-product-name {
  display: block;
  margin: 0 0 18px;
  color: #17384b;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: 0;
}
@media (max-width: 560px) {
  .wecom-product-name,
  .sim-product-name,
  .recording-product-name { margin-bottom: 14px; font-size: 14px; }
}
/* Product mega-menu refinement */
.nav-menu-toggle:focus-visible {
  border-radius: 6px;
  outline: 2px solid rgba(7, 143, 202, .48);
  outline-offset: -2px;
}
@media (min-width: 1121px) {
  .nav-dropdown-products {
    grid-template-columns: 240px minmax(0, 1fr);
    width: min(840px, calc(100vw - 80px));
    padding: 20px;
    background: #fff;
    backdrop-filter: none;
  }
  .nav-dropdown-products .nav-dropdown-intro {
    padding: 16px 18px 14px 12px;
  }
  .nav-dropdown-products .nav-dropdown-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 10px;
  }
  .nav-dropdown-products .nav-dropdown-item {
    min-height: 76px;
    padding: 12px 14px;
    border: 1px solid transparent;
  }
  .nav-dropdown-products .nav-dropdown-item:hover,
  .nav-dropdown-products .nav-dropdown-item:focus-visible {
    border-color: rgba(7, 143, 202, .10);
    background: #f2f9fc;
  }
  .nav-dropdown-products .nav-dropdown-item strong {
    font-size: 14px;
    line-height: 1.45;
    white-space: nowrap;
  }
}
/* Keep product family keywords typographically identical inside menus. */
.main-nav .nav-dropdown-item strong .product-family-key {
  display: inline;
  margin: 0;
  overflow: visible;
  color: #078fca;
  font: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  text-overflow: clip;
  white-space: inherit;
  text-shadow: 0 5px 16px rgba(0, 143, 202, .14);
}
/* Product-family words inside card titles inherit the title typography. */
.subpage-card h2 .product-family-key,
.subpage-card h3 .product-family-key {
  display: inline;
  margin: 0;
  color: #078fca;
  font: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  letter-spacing: inherit;
}

/* AI foundation eyebrow follows the no-subpage-kicker rule. */
.ai-foundation-eyebrow { display: none; }

@media (max-width: 720px) { .ai-foundation-page .ai-foundation-hero { background: #fbfdff; }.ai-foundation-page .ai-foundation-hero::before { display: none; }.ai-difference,.ai-business-section { padding-block: 62px; }.ai-compare { grid-template-columns: 1fr; gap: 14px; margin-top: 34px; }.ai-compare article { min-height: 0; padding: 27px 24px; }.ai-compare article h3 { margin: 34px 0 20px; font-size: 25px; }.ai-compare-shift { min-height: 78px; transform: rotate(90deg); }.ai-compare-shift strong { transform: rotate(-90deg); }.ai-business-loop,.ai-capability-groups { grid-template-columns: 1fr; }.ai-business-loop { margin-top: 34px; }.ai-business-loop article { min-height: 0; }.ai-business-loop article:not(:last-child)::after { right: 50%; top: auto; bottom: -5px; transform: rotate(135deg); }.ai-business-loop h3 { margin-top: 28px; }.ai-capability-groups { margin-top: 34px; }.ai-capability-groups article { min-height: 0; padding: 27px 24px; }.ai-capability-groups article > h3 { margin-top: 34px; }.ai-capability-groups article > p { min-height: 0; } }

/* Homepage high-bionic Agent narrative refinement 2026-07-31 */
@media (min-width: 1121px) {
  .digital-worker-section,
  .platform,
  .products,
  .solutions,
  .case,
  .future,
  .contact { padding-top: 72px; padding-bottom: 72px; }

  .digital-worker-section .problem-bridge { margin-bottom: 34px; }
  .digital-worker-section .issue-grid { gap: 14px; }
  .digital-worker-section .issue { min-height: 246px; padding: 26px 24px; }
  .digital-worker-section .issue p { max-width: 260px; }

  .platform .section-title,
  .products .section-title,
  .solutions .section-title { margin-bottom: 34px; }

  .platform .triad-layer { min-height: 410px; padding: 30px 28px; }
  .platform .triad-layer h3 { margin-top: 34px; }
  .platform .triad-layer p { min-height: 76px; }

  .products .product-card { min-height: 278px; padding: 28px 26px; }
  .products .product-card h3 { min-height: 62px; margin-top: 16px; }
  .product-foundation-band { margin-top: 18px; }

  .solutions .solution { min-height: 228px; padding: 26px 24px; }
  .solutions .solution h3 { margin-top: 28px; }

  .future-item { min-height: 178px; padding: 24px 26px; }
  .future-item h3 { margin-top: 22px; }
}

.hero-bg-mode .hero-lead { max-width: 600px; }
.digital-worker-section .problem-bridge h2,
.platform .section-title h2,
.products .section-title h2,
.solutions .section-title h2,
.future .section-title h2,
.case-copy h2 { text-wrap: balance; }
.digital-worker-section .problem-bridge p,
.platform .section-title p,
.products .section-title p,
.solutions .section-title p,
.future .section-title p,
.case-copy p { text-wrap: pretty; }

.proof-section { background: #f5fafc; }
.proof-section .case-panel { margin-bottom: 16px; }
.proof-trust-row {
  width: 100%;
  gap: 16px;
}
.proof-trust-row .trust-item {
  min-height: 174px;
  padding: 26px 28px;
  border-color: rgba(7, 95, 155, .11);
  background: rgba(255,255,255,.82);
  box-shadow: 0 14px 34px rgba(17, 61, 84, .045);
}
.proof-trust-row .trust-item h3 { margin: 0 0 12px; font-size: 20px; }
.proof-trust-row .trust-item p { margin: 0; font-size: 14px; line-height: 1.72; }

@media (max-width: 1120px) {
  .digital-worker-section,
  .platform,
  .products,
  .solutions,
  .case,
  .future,
  .contact { padding-top: 68px; padding-bottom: 68px; }
  .proof-trust-row { grid-template-columns: 1fr; }
  .proof-trust-row .trust-item { min-height: 0; }
}

@media (max-width: 720px) {
  .digital-worker-section,
  .platform,
  .products,
  .solutions,
  .case,
  .future,
  .contact { padding-top: 56px; padding-bottom: 56px; }
  .digital-worker-section .problem-bridge,
  .platform .section-title,
  .products .section-title,
  .solutions .section-title { margin-bottom: 28px; }
  .digital-worker-section .issue { min-height: 0; }
  .platform .triad-layer { min-height: 0; }
  .products .product-card { min-height: 0; }
  .solutions .solution { min-height: 0; }
  .proof-section .case-panel { margin-bottom: 12px; }
  .proof-trust-row { gap: 10px; }
  .proof-trust-row .trust-item { padding: 22px 20px; }
}
/* Homepage proof and future compact composition */
@media (min-width: 1121px) {
  .proof-section .case-panel { padding: 42px 48px; }
  .proof-section .metric-grid div { min-height: 112px; padding: 18px 22px; }
  .future-layout { display: block; }
  .future .section-title { max-width: 900px; margin: 0 0 32px; }
  .future .section-title h2,
  .future .section-title p { max-width: 900px; }
  .future-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .future-item { min-height: 180px; }
}
/* Homepage one-viewport desktop rhythm */
@media (min-width: 1121px) {
  .platform { padding-top: 64px; padding-bottom: 64px; }
  .products,
  .solutions { padding-top: 56px; padding-bottom: 56px; }
  .platform .section-title,
  .products .section-title,
  .solutions .section-title { margin-bottom: 28px; }
  .platform .triad-layer { min-height: 380px; }
  .products .product-card { min-height: 250px; }
  .solutions .solution { min-height: 205px; }
  .proof-section .case-panel { grid-template-columns: 1.12fr .88fr; gap: 34px; }
  .proof-section .case-copy h2 { font-size: 36px; }
}
/* Homepage compact mobile fundamentals */
@media (max-width: 560px) {
  .digital-worker-section .digital-worker-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }
  .digital-worker-section .issue {
    padding: 20px 16px;
    border-radius: 14px;
  }
  .digital-worker-section .issue-icon { width: 58px; height: 58px; }
  .digital-worker-section .issue span { width: 34px; height: 34px; font-size: 18px; }
  .digital-worker-section .issue h3 { margin: 16px 0 10px; font-size: 18px; }
  .digital-worker-section .issue p { font-size: 13px; line-height: 1.65; }
  .products .product-foundation-copy h3 { font-size: 24px; line-height: 1.3; }
}
/* Homepage final section-specific spacing */
@media (min-width: 1121px) {
  .products.section,
  .solutions.section { padding-top: 56px; padding-bottom: 56px; }
  .case.section { padding-top: 64px; padding-bottom: 64px; }
  .contact.section { padding-top: 64px; padding-bottom: 68px; }
}
/* Technology page: three-layer architecture */
.technology-architecture {
  overflow: hidden;
  padding-top: 118px;
  background: linear-gradient(180deg, #f7fbfd 0%, #eef6f9 48%, #f7fafc 100%);
}
.tech-architecture-hero,
.tech-layer-detail,
.tech-production-proof,
.technology-architecture .tech-credentials,
.technology-architecture .technology-cta {
  width: min(1180px, calc(100% - 48px));
  margin-right: auto;
  margin-left: auto;
}
.tech-architecture-hero { padding: 58px 0 84px; }
.tech-architecture-intro { max-width: 900px; margin: 0 auto; text-align: center; }
.tech-architecture-intro h1 {
  margin: 0;
  color: #071d2a;
  font-size: 54px;
  font-weight: 670;
  line-height: 1.16;
  letter-spacing: 0;
}
.tech-architecture-intro p {
  max-width: 820px;
  margin: 22px auto 0;
  color: #5b707d;
  font-size: 17px;
  line-height: 1.85;
}
.tech-stack { display: grid; gap: 10px; margin: 52px auto 0; }
.tech-stack-layer {
  position: relative;
  display: grid;
  grid-template-columns: 104px minmax(280px, 1fr) auto;
  align-items: center;
  min-height: 112px;
  gap: 30px;
  margin-right: auto;
  margin-left: auto;
  padding: 22px 34px;
  overflow: hidden;
  border: 1px solid rgba(12, 100, 142, .12);
  border-radius: 6px;
  background: rgba(255, 255, 255, .82);
  box-shadow: 0 18px 48px rgba(15, 60, 82, .055);
}
.tech-stack-layer::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: #1698bf;
}
.tech-stack-touch { width: 84%; }
.tech-stack-agent { width: 92%; background: rgba(242, 250, 252, .92); }
.tech-stack-agent::before { background: #087fc0; }
.tech-stack-ai { width: 100%; background: rgba(234, 248, 247, .84); }
.tech-stack-ai::before { background: #13a39f; }
.tech-stack-index { display: flex; flex-direction: column; align-items: flex-start; }
.tech-stack-index span { color: #0b81ae; font-size: 36px; font-weight: 650; line-height: 1; }
.tech-stack-index small { margin-top: 7px; color: #7a909b; font-size: 9px; font-weight: 750; letter-spacing: .08em; }
.tech-stack-copy h2 { margin: 0; color: #113342; font-size: 25px; font-weight: 660; letter-spacing: 0; }
.tech-stack-copy p { margin: 8px 0 0; color: #667c87; font-size: 14px; line-height: 1.55; }
.tech-stack-layer ul { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px 18px; max-width: 340px; margin: 0; padding: 0; list-style: none; }
.tech-stack-layer li { position: relative; padding-left: 11px; color: #335d6e; font-size: 12px; white-space: nowrap; }
.tech-stack-layer li::before { content: ""; position: absolute; top: .6em; left: 0; width: 4px; height: 4px; border-radius: 50%; background: #17a3c4; }

.tech-layer-detail {
  display: grid;
  grid-template-columns: minmax(330px, .78fr) minmax(0, 1.22fr);
  gap: 64px;
  align-items: center;
  min-height: 570px;
  padding: 66px 0;
  border-top: 1px solid rgba(7, 95, 155, .07);
}
.tech-layer-agent { grid-template-columns: minmax(0, 1.22fr) minmax(330px, .78fr); }
.tech-layer-agent .tech-layer-copy { grid-column: 2; grid-row: 1; }
.tech-layer-agent .tech-layer-visual { grid-column: 1; grid-row: 1; }
.tech-layer-copy { position: relative; z-index: 2; }
.tech-layer-number {
  display: inline-block;
  margin-bottom: 18px;
  color: #0c8db6;
  font-size: 14px;
  font-weight: 760;
  line-height: 1;
}
.tech-layer-copy h2 { margin: 0; color: #0d3040; font-size: 18px; font-weight: 650; letter-spacing: 0; }
.tech-layer-copy h3 { max-width: 520px; margin: 15px 0 18px; color: #071d2a; font-size: 38px; font-weight: 660; line-height: 1.28; letter-spacing: 0; }
.tech-layer-copy > p { max-width: 520px; margin: 0; color: #5c717d; font-size: 15.5px; line-height: 1.85; }
.tech-capability-list { display: flex; flex-wrap: wrap; gap: 10px 18px; margin-top: 26px; }
.tech-capability-list span { position: relative; padding-left: 13px; color: #275669; font-size: 13px; font-weight: 620; }
.tech-capability-list span::before { content: ""; position: absolute; top: .55em; left: 0; width: 5px; height: 5px; border-radius: 50%; background: #14a5c5; }
.tech-text-link { display: inline-flex; align-items: center; gap: 8px; margin-top: 28px; color: #087ead; font-size: 13px; font-weight: 700; }
.tech-text-link::after { content: "\2192"; font-size: 17px; }
.tech-layer-visual { position: relative; min-width: 0; margin: 0; }
.tech-layer-visual img { display: block; width: 100%; height: auto; object-fit: contain; }
.tech-ai-visual img { max-height: 510px; object-position: center; -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 12%, #000 100%); mask-image: linear-gradient(90deg, transparent 0, #000 12%, #000 100%); }
.tech-agent-visual img { max-height: 500px; -webkit-mask-image: radial-gradient(ellipse 88% 92% at 50% 50%, #000 62%, rgba(0,0,0,.82) 78%, transparent 100%); mask-image: radial-gradient(ellipse 88% 92% at 50% 50%, #000 62%, rgba(0,0,0,.82) 78%, transparent 100%); }
.tech-agent-visual figcaption { margin-top: -6px; color: #58717e; font-size: 11px; font-weight: 650; text-align: center; }
.tech-touch-visual img { max-height: 470px; filter: drop-shadow(0 24px 38px rgba(25, 105, 139, .08)); }

.tech-production-proof { padding: 74px 0 76px; border-top: 1px solid rgba(7, 95, 155, .08); }
.tech-proof-heading { max-width: 780px; margin: 0 auto; text-align: center; }
.tech-proof-heading h2 { margin: 0; color: #071d2a; font-size: 38px; font-weight: 660; line-height: 1.28; letter-spacing: 0; }
.tech-proof-heading p { margin: 17px auto 0; color: #607581; font-size: 15px; line-height: 1.8; }
.tech-proof-metrics { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 42px; border-top: 1px solid rgba(7, 95, 155, .12); border-bottom: 1px solid rgba(7, 95, 155, .12); }
.tech-proof-metrics > div { padding: 28px 18px; text-align: center; border-right: 1px solid rgba(7, 95, 155, .1); }
.tech-proof-metrics > div:last-child { border-right: 0; }
.tech-proof-metrics strong, .tech-proof-metrics span { display: block; }
.tech-proof-metrics strong { color: #0785b1; font-size: 31px; font-weight: 660; line-height: 1; }
.tech-proof-metrics span { margin-top: 8px; color: #617984; font-size: 12px; }
.tech-proof-principles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; margin-top: 42px; }
.tech-proof-principles article { padding-left: 20px; border-left: 2px solid rgba(13, 150, 183, .24); }
.tech-proof-principles h3 { margin: 0; color: #143d4f; font-size: 18px; font-weight: 660; }
.tech-proof-principles p { margin: 10px 0 0; color: #657b86; font-size: 13px; line-height: 1.75; }
.technology-architecture .tech-credentials { display: grid; grid-template-columns: minmax(0, 1.22fr) minmax(330px, .78fr); gap: 58px; align-items: center; padding: 66px 0 72px; }
.technology-architecture .tech-credentials .technology-section-heading { grid-column: 2; grid-row: 1; margin: 0; text-align: left; }
.technology-architecture .tech-credentials .technology-section-heading h2 { margin: 0; color: #071d2a; font-size: 34px; font-weight: 660; line-height: 1.3; }
.technology-architecture .tech-credentials .technology-section-heading > p { margin: 16px 0 0; color: #607581; font-size: 14px; line-height: 1.8; }
.technology-architecture .tech-credentials .credential-composite { grid-column: 1; grid-row: 1; }
.technology-architecture .technology-cta { margin-top: 8px; }

/* EAI: enterprise semantic model system */
.eai-model-section {
  margin-top: 28px;
  padding: 34px 36px 36px;
  border: 1px solid rgba(7, 126, 173, .15);
  background: linear-gradient(135deg, rgba(244, 251, 254, .96), rgba(255, 255, 255, .98));
}
.eai-model-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 36px; }
.eai-model-heading h3 { max-width: 470px; margin: 0; color: #082b3d; font-size: 27px; font-weight: 680; line-height: 1.3; letter-spacing: 0; }
.eai-model-heading p { max-width: 470px; margin: 0; color: #627985; font-size: 13px; line-height: 1.75; }
.eai-model-grid { display: grid; grid-template-columns: repeat(5, 1fr); margin-top: 27px; border-top: 1px solid rgba(7, 126, 173, .16); border-bottom: 1px solid rgba(7, 126, 173, .16); }
.eai-model-grid article { min-width: 0; padding: 23px 18px 25px; border-right: 1px solid rgba(7, 126, 173, .13); }
.eai-model-grid article:last-child { border-right: 0; }
.eai-model-grid span { display: block; color: #0b92c0; font-size: 10px; font-weight: 760; }
.eai-model-grid b { display: block; margin-top: 14px; color: #0c3142; font-size: 16px; font-weight: 680; }
.eai-model-grid p { margin: 9px 0 0; color: #647b87; font-size: 12px; line-height: 1.7; }
.eai-output-grid { margin-top: 28px; }

@media (max-width: 900px) {
  .eai-model-heading { display: block; }
  .eai-model-heading p { margin-top: 12px; }
  .eai-model-grid { grid-template-columns: repeat(2, 1fr); }
  .eai-model-grid article { border-bottom: 1px solid rgba(7, 126, 173, .13); }
  .eai-model-grid article:nth-child(2n) { border-right: 0; }
  .eai-model-grid article:last-child { grid-column: 1 / -1; border-bottom: 0; }
}

@media (max-width: 560px) {
  .eai-model-section { margin-top: 22px; padding: 26px 20px 24px; }
  .eai-model-heading h3 { font-size: 23px; }
  .eai-model-grid { grid-template-columns: 1fr; margin-top: 21px; }
  .eai-model-grid article, .eai-model-grid article:nth-child(2n) { padding: 19px 4px 20px; border-right: 0; border-bottom: 1px solid rgba(7, 126, 173, .13); }
  .eai-model-grid article:last-child { grid-column: auto; border-bottom: 0; }
}

@media (max-width: 900px) {
  .tech-architecture-intro h1 { font-size: 44px; }
  .tech-stack-layer { grid-template-columns: 82px minmax(220px, 1fr); gap: 22px; }
  .tech-stack-layer ul { grid-column: 2; justify-content: flex-start; max-width: none; }
  .tech-layer-detail,
  .tech-layer-agent { grid-template-columns: 1fr; gap: 30px; min-height: auto; padding: 60px 0; }
  .tech-layer-agent .tech-layer-copy,
  .tech-layer-agent .tech-layer-visual { grid-column: 1; grid-row: auto; }
  .tech-layer-agent .tech-layer-copy { grid-row: 1; }
  .tech-layer-copy { max-width: 720px; margin: 0 auto; text-align: center; }
  .tech-layer-copy h3, .tech-layer-copy > p { margin-right: auto; margin-left: auto; }
  .tech-capability-list { justify-content: center; }
  .tech-layer-visual { max-width: 760px; margin-right: auto; margin-left: auto; }
  .technology-architecture .tech-credentials { grid-template-columns: 1fr; gap: 36px; }
  .technology-architecture .tech-credentials .technology-section-heading,
  .technology-architecture .tech-credentials .credential-composite { grid-column: 1; grid-row: auto; }
  .technology-architecture .tech-credentials .technology-section-heading { text-align: center; }
  .technology-architecture .tech-credentials .credential-composite { grid-row: 2; }
}

@media (max-width: 560px) {
  .technology-architecture { padding-top: 104px; }
  .tech-architecture-hero,
  .tech-layer-detail,
  .tech-production-proof,
  .technology-architecture .tech-credentials,
  .technology-architecture .technology-cta { width: min(100% - 32px, 1180px); }
  .tech-architecture-hero { padding: 38px 0 58px; }
  .tech-architecture-intro h1 { font-size: 34px; line-height: 1.22; }
  .tech-architecture-intro p { margin-top: 17px; font-size: 14px; line-height: 1.75; }
  .tech-stack { gap: 8px; margin-top: 34px; }
  .tech-stack-touch, .tech-stack-agent, .tech-stack-ai { width: 100%; }
  .tech-stack-layer { grid-template-columns: 48px 1fr; gap: 14px; min-height: 0; padding: 18px 16px; }
  .tech-stack-index span { font-size: 25px; }
  .tech-stack-index small { display: none; }
  .tech-stack-copy h2 { font-size: 19px; }
  .tech-stack-copy p { margin-top: 5px; font-size: 12px; line-height: 1.5; }
  .tech-stack-layer ul { grid-column: 1 / -1; justify-content: flex-start; gap: 6px 14px; padding-left: 62px; }
  .tech-stack-layer li { font-size: 10px; }
  .tech-layer-detail, .tech-layer-agent { gap: 24px; padding: 50px 0; }
  .tech-layer-number { margin-bottom: 13px; }
  .tech-layer-copy h2 { font-size: 16px; }
  .tech-layer-copy h3 { margin: 12px 0 15px; font-size: 29px; line-height: 1.3; }
  .tech-layer-copy > p { font-size: 14px; line-height: 1.78; }
  .tech-capability-list { gap: 8px 14px; margin-top: 21px; }
  .tech-capability-list span { font-size: 11px; }
  .tech-text-link { margin-top: 22px; }
  .tech-ai-visual { margin-right: -18%; margin-left: -18%; }
  .tech-agent-visual { margin-right: -12%; margin-left: -12%; }
  .tech-touch-visual { margin-right: -18%; margin-left: -18%; }
  .tech-agent-visual figcaption { font-size: 10px; }
  .tech-production-proof { padding: 54px 0 56px; }
  .tech-proof-heading h2 { font-size: 29px; }
  .tech-proof-heading p { font-size: 13px; line-height: 1.75; }
  .tech-proof-metrics { grid-template-columns: repeat(2, 1fr); margin-top: 30px; }
  .tech-proof-metrics > div { padding: 20px 8px; }
  .tech-proof-metrics > div:nth-child(2) { border-right: 0; }
  .tech-proof-metrics > div:nth-child(-n+2) { border-bottom: 1px solid rgba(7, 95, 155, .1); }
  .tech-proof-metrics strong { font-size: 25px; }
  .tech-proof-principles { grid-template-columns: 1fr; gap: 24px; margin-top: 32px; }
  .tech-proof-principles article { padding-left: 16px; }
  .technology-architecture .tech-credentials { gap: 28px; padding: 50px 0 54px; }
  .technology-architecture .tech-credentials .technology-section-heading h2 { font-size: 29px; }
}
/* Three-layer technology page finishing refinements */
@media (min-width: 901px) {
  .tech-architecture-intro { max-width: 1040px; }
  .tech-architecture-intro h1 { max-width: none; white-space: nowrap; }
}
.tech-touch-visual img {
  filter: saturate(1.14) contrast(1.06) drop-shadow(0 24px 38px rgba(25, 105, 139, .1));
  -webkit-mask-image: radial-gradient(ellipse 96% 92% at 52% 50%, #000 62%, rgba(0, 0, 0, .9) 78%, transparent 100%);
  mask-image: radial-gradient(ellipse 96% 92% at 52% 50%, #000 62%, rgba(0, 0, 0, .9) 78%, transparent 100%);
}


/* Technology detail visuals: edge-to-background blend */
@media (min-width: 901px) {
  .tech-agent-visual,
  .tech-touch-visual {
    width: 112%;
    max-width: none;
    margin-left: -6%;
  }
  .tech-agent-visual img,
  .tech-touch-visual img {
    width: 100%;
    max-width: none;
    -webkit-mask-image: radial-gradient(ellipse 94% 92% at 50% 50%, #000 56%, rgba(0, 0, 0, .9) 72%, transparent 100%);
    mask-image: radial-gradient(ellipse 94% 92% at 50% 50%, #000 56%, rgba(0, 0, 0, .9) 72%, transparent 100%);
  }
}

/* Technology visuals: true background integration */
.tech-agent-visual img,
.tech-touch-visual img {
  background: transparent;
  mix-blend-mode: multiply;
}
@media (min-width: 901px) {
  .tech-agent-visual,
  .tech-touch-visual {
    width: 118%;
    margin-left: -9%;
    overflow: visible;
  }
  .tech-agent-visual img {
    -webkit-mask-image: radial-gradient(ellipse 82% 88% at 48% 50%, #000 38%, rgba(0, 0, 0, .96) 54%, rgba(0, 0, 0, .58) 72%, transparent 96%);
    mask-image: radial-gradient(ellipse 82% 88% at 48% 50%, #000 38%, rgba(0, 0, 0, .96) 54%, rgba(0, 0, 0, .58) 72%, transparent 96%);
  }
  .tech-touch-visual img {
    -webkit-mask-image: radial-gradient(ellipse 82% 88% at 52% 50%, #000 38%, rgba(0, 0, 0, .96) 54%, rgba(0, 0, 0, .58) 72%, transparent 96%);
    mask-image: radial-gradient(ellipse 82% 88% at 52% 50%, #000 38%, rgba(0, 0, 0, .96) 54%, rgba(0, 0, 0, .58) 72%, transparent 96%);
  }
}
@media (max-width: 900px) {
  .tech-agent-visual img,
  .tech-touch-visual img {
    -webkit-mask-image: radial-gradient(ellipse 88% 88% at 50% 50%, #000 42%, rgba(0, 0, 0, .88) 62%, transparent 96%);
    mask-image: radial-gradient(ellipse 88% 88% at 50% 50%, #000 42%, rgba(0, 0, 0, .88) 62%, transparent 96%);
  }
}

/* Technology visuals: directional text-image fade */
@media (min-width: 901px) {
  .tech-agent-visual img {
    -webkit-mask-image: linear-gradient(90deg, #000 0%, #000 58%, rgba(0, 0, 0, .9) 68%, rgba(0, 0, 0, .52) 82%, transparent 100%);
    mask-image: linear-gradient(90deg, #000 0%, #000 58%, rgba(0, 0, 0, .9) 68%, rgba(0, 0, 0, .52) 82%, transparent 100%);
  }
  .tech-touch-visual img {
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, .52) 18%, rgba(0, 0, 0, .9) 32%, #000 42%, #000 100%);
    mask-image: linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, .52) 18%, rgba(0, 0, 0, .9) 32%, #000 42%, #000 100%);
  }
}

/* Technology visuals: match AI layer treatment */
@media (min-width: 901px) {
  .tech-agent-visual,
  .tech-touch-visual {
    width: auto;
    max-width: none;
    margin: 0;
    overflow: visible;
  }
  .tech-agent-visual img,
  .tech-touch-visual img {
    width: 100%;
    max-width: 100%;
    margin: 0;
    background: transparent;
    mix-blend-mode: normal;
    object-position: center;
  }
  .tech-agent-visual img {
    -webkit-mask-image: linear-gradient(90deg, #000 0%, #000 88%, transparent 100%);
    mask-image: linear-gradient(90deg, #000 0%, #000 88%, transparent 100%);
  }
  .tech-touch-visual img {
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 12%, #000 100%);
    mask-image: linear-gradient(90deg, transparent 0%, #000 12%, #000 100%);
  }
}

/* Product platform hub hierarchy */
.products-hub-page .subpage-hero {
  padding-bottom: 64px;
}
.product-platform-overview {
  width: 100%;
  padding: 76px 0 82px;
  border-top: 1px solid rgba(11, 48, 68, .07);
  border-bottom: 1px solid rgba(11, 48, 68, .07);
  background: linear-gradient(180deg, rgba(238, 247, 251, .78), rgba(249, 252, 254, .96));
}
.product-platform-inner,
.product-systems-section {
  width: min(1180px, calc(100% - 64px));
  margin-inline: auto;
}
.product-platform-heading {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(420px, 1.1fr);
  gap: 24px 72px;
  align-items: end;
}
.product-platform-heading > span,
.product-system-heading > span {
  grid-column: 1 / -1;
  color: #078fca;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0;
}
.product-platform-heading h2,
.product-system-heading h2 {
  margin: 0;
  color: #071d2c;
  font-size: clamp(34px, 3.2vw, 50px);
  line-height: 1.16;
  letter-spacing: 0;
}
.product-platform-heading p,
.product-system-heading p {
  margin: 0;
  color: #536775;
  font-size: 17px;
  line-height: 1.9;
}
.product-platform-architecture {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 50px;
  border-top: 1px solid rgba(9, 83, 119, .14);
  border-bottom: 1px solid rgba(9, 83, 119, .14);
  background: rgba(255, 255, 255, .72);
}
.product-platform-architecture article {
  position: relative;
  min-height: 240px;
  padding: 30px 26px 28px;
}
.product-platform-architecture article + article {
  border-left: 1px solid rgba(9, 83, 119, .12);
}
.product-platform-architecture b {
  color: #13a8c7;
  font-size: 13px;
}
.product-platform-architecture h3 {
  margin: 38px 0 14px;
  color: #09283a;
  font-size: 23px;
  line-height: 1.3;
}
.product-platform-architecture p {
  margin: 0;
  color: #60727f;
  font-size: 15px;
  line-height: 1.75;
}
.product-platform-architecture span {
  position: absolute;
  right: 24px;
  bottom: 24px;
  color: #718590;
  font-size: 12px;
  font-weight: 700;
}
.product-systems-section {
  padding-top: 82px;
}
.product-system-heading {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(380px, 1.08fr);
  gap: 22px 68px;
  align-items: end;
  margin-bottom: 44px;
}
.products-hub-page .subpage-section {
  width: min(1180px, calc(100% - 64px));
}
.products-hub-page .subpage-card h2 {
  font-size: clamp(24px, 2.1vw, 31px);
  line-height: 1.34;
}
@media (max-width: 900px) {
  .product-platform-heading,
  .product-system-heading { grid-template-columns: 1fr; gap: 18px; }
  .product-platform-architecture { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .product-platform-architecture article:nth-child(3) { border-left: 0; border-top: 1px solid rgba(9, 83, 119, .12); }
  .product-platform-architecture article:nth-child(4) { border-top: 1px solid rgba(9, 83, 119, .12); }
}
@media (max-width: 600px) {
  .product-platform-overview { padding: 58px 0 62px; }
  .product-platform-inner,
  .product-systems-section,
  .products-hub-page .subpage-section { width: min(100% - 32px, 680px); }
  .product-platform-heading h2,
  .product-system-heading h2 { font-size: 31px; }
  .product-platform-heading p,
  .product-system-heading p { font-size: 15px; line-height: 1.78; }
  .product-platform-architecture { grid-template-columns: 1fr; margin-top: 36px; }
  .product-platform-architecture article { min-height: 194px; }
  .product-platform-architecture article + article { border-left: 0; border-top: 1px solid rgba(9, 83, 119, .12); }
  .product-systems-section { padding-top: 62px; }
  .product-system-heading { margin-bottom: 32px; }
}
/* Semantic Chinese wrapping for formal product names */
.product-name-domain,
.product-name-suffix,
.product-family-key {
  display: inline-block !important;
  white-space: nowrap !important;
}
.products-hub-page h1,
.products-hub-page h2,
.products-hub-page h3,
.wecom-product-page h1,
.wecom-product-page h2,
.wecom-product-page h3,
.ai-sim-page h1,
.ai-sim-page h2,
.ai-sim-page h3,
.recording-page h1,
.recording-page h2,
.recording-page h3 {
  text-wrap: balance;
}
.products-hub-page p,
.wecom-hero-lead,
.sim-hero-lead,
.recording-hero-lead {
  text-wrap: pretty;
}
/* Reset contextual span styles inside segmented product names. */
.subpage-card h2 .product-name-domain,
.subpage-card h2 .product-name-suffix,
.subpage-card h2 .product-family-key,
.subpage-card h3 .product-name-domain,
.subpage-card h3 .product-name-suffix,
.subpage-card h3 .product-family-key,
.main-nav .nav-dropdown-item strong .product-name-domain,
.main-nav .nav-dropdown-item strong .product-name-suffix,
.main-nav .nav-dropdown-item strong .product-family-key {
  display: inline-block !important;
  margin: 0 !important;
  padding: 0 !important;
  font: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  letter-spacing: inherit !important;
  white-space: nowrap !important;
}
.subpage-card h2 .product-name-domain,
.subpage-card h2 .product-name-suffix,
.subpage-card h3 .product-name-domain,
.subpage-card h3 .product-name-suffix {
  color: inherit !important;
}
/* Three-system product mega menu */
@media (min-width: 1121px) {
  .nav-dropdown-products {
    grid-template-columns: 240px minmax(0, 1fr);
    gap: 16px;
    left: calc(50% + 20px);
    width: min(980px, calc(100vw - 48px));
  }
  .nav-dropdown-products .nav-dropdown-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
  }
  .nav-dropdown-products .nav-dropdown-item {
    min-height: 88px;
    padding: 14px 10px;
  }
  .nav-dropdown-products .nav-dropdown-item strong {
    font-size: 14px;
    line-height: 1.45;
    white-space: nowrap;
  }
  .nav-dropdown-products .nav-dropdown-item > span {
    margin-top: 7px;
    font-size: 11.5px;
  }
}
/* Keep the formal platform name intact in the product menu. */
.nav-dropdown-products .nav-dropdown-intro > strong {
  max-width: none;
  font-size: 17px;
  line-height: 1.45;
  white-space: nowrap;
}

/* Align the segmented product name on one typographic baseline. */
.main-nav .nav-dropdown-item strong .product-name-domain,
.main-nav .nav-dropdown-item strong .product-name-suffix,
.main-nav .nav-dropdown-item strong .product-family-key {
  display: inline !important;
  position: static !important;
  top: auto !important;
  vertical-align: baseline !important;
  transform: none !important;
  text-shadow: none !important;
}

/* Technology tabs architecture 2026-08-05 */
.technology-tabs-page {
  padding-top: 118px;
  background: linear-gradient(180deg, #f7fafc 0%, #eef5f9 48%, #f7fafc 100%);
}
.technology-tabs-hero,
.technology-tabs-shell,
.technology-credentials-fixed,
.technology-tabs-page .technology-cta {
  width: min(1180px, calc(100% - 48px));
  margin-right: auto;
  margin-left: auto;
}
.technology-tabs-hero {
  padding: 58px 0 46px;
  text-align: center;
}
.technology-tabs-hero h1 {
  max-width: 900px;
  margin: 0 auto;
  color: #071d2a;
  font-size: clamp(38px, 4.1vw, 54px);
  font-weight: 680;
  line-height: 1.18;
  letter-spacing: 0;
}
.technology-tabs-hero p {
  max-width: 820px;
  margin: 22px auto 0;
  color: #536b78;
  font-size: 16px;
  line-height: 1.9;
}
.technology-tabs-shell {
  overflow: hidden;
  border: 1px solid rgba(9, 83, 119, .10);
  border-radius: 8px;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 24px 64px rgba(22, 75, 103, .09);
}
.technology-tablist {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-bottom: 1px solid rgba(9, 83, 119, .10);
  background: #f8fbfd;
}
.technology-formula {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  margin: 30px auto 0;
  color: #071d2a;
  font-style: normal;
  line-height: 1;
}
.technology-formula strong,
.technology-formula em {
  font-size: clamp(28px, 3vw, 42px);
  font-style: normal;
  font-weight: 760;
  letter-spacing: 0;
}
.technology-formula strong span { color: #071d2a; }
.technology-formula strong b,
.technology-formula em { color: #078fca; }
.technology-formula i {
  color: #8da2ae;
  font-size: clamp(22px, 2.2vw, 32px);
  font-style: normal;
  font-weight: 500;
}
.technology-layer-heading {
  display: flex;
  align-items: center;
  gap: 24px;
  padding: 28px 34px;
  border-bottom: 1px solid rgba(9, 83, 119, .10);
  background: #fff;
}
.technology-layer-heading > span {
  flex: 0 0 auto;
  color: #078fca;
  font-size: 12px;
  font-weight: 760;
  letter-spacing: .08em;
}
.technology-layer-heading h2 {
  margin: 0;
  color: #071d2a;
  font-size: 22px;
  line-height: 1.35;
}
.technology-layer-heading p {
  margin: 5px 0 0;
  color: #6c818c;
  font-size: 13px;
  line-height: 1.6;
}
.technology-connection-layer {
  overflow: hidden;
  width: min(1180px, calc(100% - 48px));
  margin: 30px auto 0;
  border: 1px solid rgba(9, 83, 119, .10);
  border-radius: 8px;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 24px 64px rgba(22, 75, 103, .07);
}
.technology-layer-heading-second {
  background: #f2f8fb;
}
@media (max-width: 700px) {
  .technology-formula { gap: 9px; }
  .technology-formula strong,
  .technology-formula em { font-size: 24px; }
  .technology-formula i { font-size: 18px; }
  .technology-layer-heading {
    align-items: flex-start;
    gap: 14px;
    padding: 22px 20px;
  }
  .technology-layer-heading h2 { font-size: 19px; }
  .technology-connection-layer {
    width: min(1180px, calc(100% - 28px));
  }
}
.technology-tab {
  position: relative;
  display: flex;
  min-height: 124px;
  align-items: center;
  gap: 14px;
  padding: 14px 24px 20px;
  border: 0;
  border-right: 1px solid rgba(9, 83, 119, .08);
  background: transparent;
  color: #607581;
  text-align: left;
  cursor: pointer;
}
.technology-tab-icon {
  width: 72px;
  height: 72px;
  flex: 0 0 72px;
  object-fit: contain;
  transform: translateY(-2px);
  transition: transform .25s ease;
}
.technology-tab:hover .technology-tab-icon,
.technology-tab.is-active .technology-tab-icon { transform: translateY(-4px); }
.technology-tab:last-child { border-right: 0; }
.technology-tab::after {
  position: absolute;
  right: 22px;
  bottom: 0;
  left: 22px;
  height: 3px;
  background: #078fca;
  content: "";
  opacity: 0;
  transform: scaleX(.35);
  transition: opacity .25s ease, transform .25s ease;
}
.technology-tab-copy {
  display: grid;
  min-width: 0;
  gap: 3px;
  color: inherit;
  transform: translateY(-2px);
}
.technology-tab strong {
  color: inherit;
  font-size: 30px;
  font-weight: 760;
  line-height: 1.08;
}
.technology-tab small {
  overflow: hidden;
  color: #7b929f;
  font-size: 12px;
  font-weight: 560;
  line-height: 1.35;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.technology-tab:hover,
.technology-tab.is-active { color: #075f94; background: #fff; }
.technology-tab.is-active::after { opacity: 1; transform: scaleX(1); }
.technology-panel {
  padding: 66px 58px 48px;
}
.technology-panel[hidden] { display: none; }
.technology-panel-lead {
  display: grid;
  grid-template-columns: minmax(300px, .82fr) minmax(0, 1.18fr);
  gap: 54px;
  align-items: center;
}
.technology-panel-index {
  display: block;
  margin-bottom: 14px;
  color: #078fca;
  font-size: 12px;
  font-weight: 760;
  letter-spacing: .12em;
}
.technology-panel-copy h2 {
  margin: 0;
  color: #071d2a;
  font-size: clamp(30px, 3.1vw, 42px);
  font-weight: 680;
  line-height: 1.22;
}
.technology-panel-copy h3 {
  margin: 18px 0 0;
  color: #173c50;
  font-size: 20px;
  font-weight: 620;
  line-height: 1.55;
}
.technology-panel-copy p {
  margin: 18px 0 0;
  color: #5b707c;
  font-size: 15px;
  line-height: 1.9;
}
.technology-upgrade-path {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-top: 22px;
  padding: 10px 14px;
  border: 1px solid rgba(7, 143, 202, .16);
  background: rgba(7, 143, 202, .05);
  color: #647a86;
  font-size: 13px;
}
.technology-upgrade-path i {
  color: #8ea6b2;
  font-style: normal;
}
.technology-upgrade-path strong {
  color: #0785bd;
  font-weight: 720;
}
.technology-detail-link {
  display: inline-flex;
  margin-top: 24px;
  color: #0785bd;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
}
.technology-detail-link::after { margin-left: 8px; content: "→"; }
.technology-panel-visual {
  position: relative;
  overflow: hidden;
  margin: 0;
  border-radius: 6px;
  background: #eaf3f8;
}
.technology-visual-upgrade {
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 18px;
  padding: 16px 22px 18px;
  border-top: 1px solid rgba(7, 143, 202, .10);
  color: #496878;
  background: rgba(247, 251, 253, .96);
  font-size: 20px;
  font-weight: 780;
  pointer-events: none;
}
.technology-visual-upgrade span,
.technology-visual-upgrade strong {
  display: inline-flex;
  min-width: 82px;
  min-height: 38px;
  align-items: center;
  justify-content: center;
  padding: 0 8px;
  border: 0;
  background: transparent;
}
.technology-visual-upgrade strong {
  color: #007fbd;
  font-size: 24px;
}
.technology-visual-upgrade i {
  position: relative;
  overflow: hidden;
  color: transparent;
  font-style: normal;
}
.technology-visual-upgrade i::before {
  position: absolute;
  top: 50%;
  right: 0;
  left: 0;
  height: 1px;
  background: linear-gradient(90deg, rgba(0, 140, 207, .20), #008ccf);
  content: "";
}
.technology-visual-upgrade i::after {
  position: absolute;
  top: 50%;
  right: 0;
  width: 8px;
  height: 8px;
  border-top: 1px solid #008ccf;
  border-right: 1px solid #008ccf;
  content: "";
  transform: translateY(-50%) rotate(45deg);
}
.technology-panel-visual img,
.technology-panel-visual video {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}
.technology-panel-visual-eai img {
  aspect-ratio: 2 / 1;
  object-position: center;
}
.technology-video-visual video { background: #06141d; }
.technology-panel-visual figcaption {
  padding: 10px 14px;
  color: #70848f;
  font-size: 11px;
  text-align: right;
}
.technology-compatibility-note {
  display: grid;
  grid-template-columns: minmax(260px, .82fr) minmax(0, 1.18fr);
  gap: 38px;
  align-items: center;
  margin-top: 34px;
  padding: 24px 28px;
  border-left: 3px solid #0798cf;
  background: linear-gradient(90deg, rgba(228, 245, 252, .82), rgba(247, 251, 253, .92));
}
.technology-compatibility-note strong {
  display: block;
  color: #08283a;
  font-size: 20px;
  line-height: 1.35;
}
.technology-compatibility-note p {
  margin: 8px 0 0;
  color: #5b727f;
  font-size: 14px;
  line-height: 1.75;
}
.technology-compatibility-note ul {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.technology-compatibility-note li {
  min-width: 0;
}
.technology-compatibility-note b,
.technology-compatibility-note span {
  display: block;
}
.technology-compatibility-note b {
  color: #0787bf;
  font-size: 15px;
}
.technology-compatibility-note span {
  margin-top: 5px;
  color: #607783;
  font-size: 12px;
  line-height: 1.55;
}
.technology-capability-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 48px;
  border-top: 1px solid rgba(9, 83, 119, .10);
  border-bottom: 1px solid rgba(9, 83, 119, .10);
}
.technology-pipeline {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 46px;
  border: 1px solid rgba(9, 83, 119, .11);
  background: #f7fbfd;
}
.technology-pipeline > div {
  position: relative;
  min-height: 150px;
  padding: 24px 22px;
  border-right: 1px solid rgba(9, 83, 119, .09);
}
.technology-pipeline > div:last-child { border-right: 0; }
.technology-pipeline > div:not(:last-child)::after {
  position: absolute;
  z-index: 2;
  top: 50%;
  right: -8px;
  width: 16px;
  height: 16px;
  border-top: 1px solid rgba(7, 143, 202, .35);
  border-right: 1px solid rgba(7, 143, 202, .35);
  background: #f7fbfd;
  content: "";
  transform: translateY(-50%) rotate(45deg);
}
.technology-pipeline span {
  display: block;
  margin-bottom: 12px;
  color: #078fca;
  font-size: 11px;
  font-weight: 760;
}
.technology-pipeline strong {
  display: block;
  color: #0b2b3d;
  font-size: 15px;
  line-height: 1.5;
}
.technology-pipeline p {
  margin: 9px 0 0;
  color: #617783;
  font-size: 13px;
  line-height: 1.7;
}
.technology-capability-grid-six { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.technology-capability-grid-eight { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.technology-capability-grid article {
  min-height: 148px;
  padding: 26px 24px 24px;
  border-right: 1px solid rgba(9, 83, 119, .08);
}
.technology-capability-grid article:last-child { border-right: 0; }
.technology-capability-grid-six article:nth-child(3n) { border-right: 0; }
.technology-capability-grid-six article:nth-child(n+4) { border-top: 1px solid rgba(9, 83, 119, .08); }
.technology-capability-grid-eight article:nth-child(4n) { border-right: 0; }
.technology-capability-grid-eight article:nth-child(n+5) { border-top: 1px solid rgba(9, 83, 119, .08); }
.technology-capability-grid b {
  display: block;
  color: #12384b;
  font-size: 16px;
  line-height: 1.5;
}
.technology-capability-grid p {
  margin: 10px 0 0;
  color: #71838d;
  font-size: 13px;
  line-height: 1.75;
}
.technology-credentials-fixed {
  display: grid;
  grid-template-columns: minmax(0, .82fr) minmax(460px, 1.18fr);
  gap: 62px;
  align-items: center;
  padding: 76px 0 70px;
}
.technology-credentials-copy h2 {
  margin: 0;
  color: #071d2a;
  font-size: 34px;
  font-weight: 660;
  line-height: 1.3;
}
.technology-credentials-copy > p {
  margin: 18px 0 0;
  color: #607581;
  font-size: 14px;
  line-height: 1.85;
}
.technology-proof-lines { margin-top: 28px; }
.technology-proof-lines > div {
  display: grid;
  grid-template-columns: 132px 1fr;
  gap: 16px;
  padding: 13px 0;
  border-top: 1px solid rgba(9, 83, 119, .09);
}
.technology-proof-lines strong { color: #183c4e; font-size: 13px; }
.technology-proof-lines span { color: #71838d; font-size: 12px; line-height: 1.6; }
.technology-credentials-fixed .credential-composite {
  position: relative;
  overflow: hidden;
  margin: 0;
  border-radius: 6px;
}
.technology-credentials-fixed .credential-composite img {
  display: block;
  width: 100%;
}
.credential-text-obscure {
  position: absolute;
  z-index: 2;
  pointer-events: none;
  background: rgba(239, 247, 250, .08);
  -webkit-backdrop-filter: blur(3.2px);
  backdrop-filter: blur(3.2px);
  -webkit-mask-image: radial-gradient(ellipse at center, #000 70%, transparent 100%);
  mask-image: radial-gradient(ellipse at center, #000 70%, transparent 100%);
}
.obscure-cert-1 { left: 10%; top: 16%; width: 11.5%; height: 17%; }
.obscure-cert-2 { left: 34%; top: 16%; width: 11.5%; height: 17%; }
.obscure-cert-3 { left: 57.5%; top: 16%; width: 11.5%; height: 17%; }
.obscure-cert-4 { left: 80.5%; top: 18%; width: 11%; height: 20%; }
.obscure-cert-5 { left: 20%; top: 51%; width: 12%; height: 21%; }
.obscure-cert-6 { left: 44%; top: 51%; width: 12%; height: 20%; }
.obscure-cert-7 { left: 68.5%; top: 51%; width: 12%; height: 21%; }

/* Chinese typesetting: avoid orphaned one- or two-character final lines. */
.cn-keep {
  white-space: nowrap;
}

/* Release QA: keep compact headers and hero copy inside narrow viewports. */
.about-page .about-hero-copy {
  min-width: 0;
  width: 100%;
}

@media (max-width: 480px) {
  .site-header .nav-actions {
    display: none;
  }

  .site-header {
    padding-right: 12px;
  }

  .about-page .about-hero-copy,
  .about-page .about-hero-copy > *,
  .about-page .about-hero-actions {
    max-width: 100%;
  }
}

:where(h1, h2, h3, h4) {
  text-wrap: balance;
  word-break: normal;
  line-break: strict;
}

:where(p, li, address, figcaption) {
  text-wrap: pretty;
  word-break: normal;
  overflow-wrap: break-word;
  line-break: strict;
}
.technology-tabs-page .technology-cta { margin-bottom: 88px; }

@media (max-width: 900px) {
  .technology-tab { padding: 18px 14px 24px; }
  .technology-tab-icon { width: 58px; height: 58px; flex-basis: 58px; }
  .technology-tab strong { font-size: 24px; }
  .technology-tab small { font-size: 10px; }
  .technology-panel { padding: 44px 34px 40px; }
  .technology-panel-lead { grid-template-columns: 1fr; gap: 32px; }
  .technology-compatibility-note { grid-template-columns: 1fr; gap: 20px; }
  .technology-capability-grid,
  .technology-capability-grid-six,
  .technology-capability-grid-eight { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .technology-pipeline { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .technology-pipeline > div:nth-child(2n) { border-right: 0; }
  .technology-pipeline > div:nth-child(n+3) { border-top: 1px solid rgba(9, 83, 119, .09); }
  .technology-pipeline > div:nth-child(2)::after { display: none; }
  .technology-capability-grid article:nth-child(2n) { border-right: 0; }
  .technology-capability-grid article:nth-child(n+3) { border-top: 1px solid rgba(9, 83, 119, .08); }
  .technology-credentials-fixed { grid-template-columns: 1fr; gap: 38px; }
}
@media (max-width: 600px) {
  .technology-tabs-page { padding-top: 98px; }
  .technology-tabs-hero,
  .technology-tabs-shell,
  .technology-credentials-fixed,
  .technology-tabs-page .technology-cta { width: min(100% - 32px, 1180px); }
  .technology-tabs-hero { padding: 38px 0 34px; }
  .technology-tabs-hero h1 { font-size: 32px; }
  .technology-tabs-hero p { margin-top: 16px; font-size: 14px; line-height: 1.75; }
  .technology-tablist {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
  }
  .technology-tab {
    min-width: 224px;
    min-height: 104px;
    flex: 0 0 224px;
    scroll-snap-align: start;
  }
  .technology-tab-icon { width: 50px; height: 50px; flex-basis: 50px; }
  .technology-tab strong { font-size: 22px; }
  .technology-panel { padding: 34px 20px 28px; }
  .technology-panel-copy h2 { font-size: 29px; }
  .technology-panel-copy h3 { font-size: 17px; }
  .technology-panel-copy p { font-size: 14px; line-height: 1.8; }
  .technology-compatibility-note { padding: 20px; }
  .technology-compatibility-note ul { grid-template-columns: 1fr; gap: 14px; }
  .technology-capability-grid,
  .technology-capability-grid-six,
  .technology-capability-grid-eight { grid-template-columns: 1fr; margin-top: 34px; }
  .technology-pipeline { grid-template-columns: 1fr; margin-top: 34px; }
  .technology-pipeline > div {
    min-height: 0;
    border-right: 0;
    border-top: 1px solid rgba(9, 83, 119, .09);
  }
  .technology-pipeline > div:first-child { border-top: 0; }
  .technology-pipeline > div::after { display: none; }
  .technology-capability-grid article,
  .technology-capability-grid-six article,
  .technology-capability-grid-eight article {
    min-height: auto;
    padding: 22px 4px;
    border-right: 0;
    border-top: 1px solid rgba(9, 83, 119, .08);
  }
  .technology-capability-grid article:first-child { border-top: 0; }
  .technology-credentials-fixed { padding: 54px 0 50px; }
  .technology-credentials-copy h2 { font-size: 28px; }
  .technology-proof-lines > div { grid-template-columns: 1fr; gap: 6px; }
}
/* Technology mega menu 2026-08-05 */
@media (min-width: 1121px) {
  .nav-dropdown-technology {
    grid-template-columns: 230px minmax(0, 1fr);
    gap: 16px;
    left: calc(50% + 92px);
    width: min(860px, calc(100vw - 48px));
  }
  .nav-dropdown-technology .nav-dropdown-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }
  .nav-dropdown-technology .nav-dropdown-item {
    min-height: 82px;
    padding: 14px 16px;
  }
  .nav-dropdown-technology .nav-dropdown-item strong {
    font-size: 14px;
    line-height: 1.45;
    white-space: nowrap;
  }
  .nav-dropdown-technology .nav-dropdown-item > span {
    margin-top: 7px;
    font-size: 11.5px;
  }
}
.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.product-brand-lockup {
  display: block;
  width: min(100%, 236px);
  height: 64px;
  object-fit: contain;
  object-position: left center;
  margin: 2px 0 12px;
}

.product-detail-brand {
  width: max-content;
  max-width: 100%;
  margin: 0 0 12px;
}

.product-detail-brand img {
  display: block;
  width: auto;
  height: 84px;
  max-width: 100%;
  object-fit: contain;
  object-position: left center;
}

.product-detail-brand p {
  margin: 3px 0 0;
  color: #486173;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0;
}

.product-positioning {
  display: block;
  margin: 2px 0 8px;
  color: #0b2740;
  font-size: 17px;
  font-weight: 650;
  line-height: 1.55;
}

.product-card .product-positioning + .product-meta {
  margin: 0 0 10px;
}

.nav-product-brand {
  display: block;
  width: 178px;
  height: 48px;
  object-fit: contain;
  object-position: left center;
}

@media (max-width: 720px) {
  .product-brand-lockup {
    width: min(100%, 210px);
    height: 58px;
  }

  .product-detail-brand {
    width: max-content;
    max-width: 100%;
  }

  .product-detail-brand img {
    height: 68px;
  }
}

/* Navigation context: active primary section and scroll-aware page chapters */
.section-progress-nav {
  position: fixed;
  z-index: 18;
  top: 94px;
  left: 50%;
  width: min(1100px, calc(100% - 72px));
  min-height: 46px;
  display: flex;
  align-items: center;
  gap: 28px;
  padding: 7px 12px 7px 20px;
  border: 1px solid rgba(6, 24, 38, .08);
  border-radius: 8px;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 12px 32px rgba(20, 45, 70, .1);
  backdrop-filter: blur(18px);
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, -10px);
  transition: opacity .2s ease, transform .2s ease;
}
.section-progress-nav.is-visible {
  opacity: 1;
  pointer-events: auto;
  transform: translate(-50%, 0);
}
.section-progress-nav > strong {
  flex: 0 0 auto;
  padding-right: 24px;
  border-right: 1px solid rgba(6, 24, 38, .1);
  color: #061826;
  font-size: 13px;
  font-weight: 750;
  white-space: nowrap;
}
.section-progress-nav > div {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 8px;
  overflow-x: auto;
  scrollbar-width: none;
}
.section-progress-nav > div::-webkit-scrollbar { display: none; }
.section-progress-nav a {
  position: relative;
  flex: 0 0 auto;
  padding: 8px 12px;
  color: #617482;
  font-size: 12px;
  font-weight: 650;
  white-space: nowrap;
  transition: color .18s ease, background .18s ease;
}
.section-progress-nav a:hover,
.section-progress-nav a.is-active {
  color: #007fbd;
  background: rgba(0, 140, 207, .06);
}
.section-progress-nav a.is-active::after {
  content: "";
  position: absolute;
  right: 12px;
  bottom: 3px;
  left: 12px;
  height: 2px;
  border-radius: 2px;
  background: #00a7d8;
}

.industry-tabs-page .industry-tabbar {
  position: sticky;
  z-index: 12;
  top: 96px;
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 10px 28px rgba(20, 45, 70, .08);
  backdrop-filter: blur(18px);
}

.technology-tabs-page .technology-tablist {
  position: relative;
  z-index: 2;
  top: auto;
  background: rgba(255, 255, 255, .96);
}

@media (max-width: 760px) {
  .section-progress-nav {
    top: 84px;
    width: calc(100% - 24px);
    gap: 10px;
    min-height: 42px;
    padding: 5px 7px 5px 12px;
  }
  .section-progress-nav > strong {
    max-width: 116px;
    padding-right: 10px;
    overflow: hidden;
    font-size: 11px;
    text-overflow: ellipsis;
  }
  .section-progress-nav a { padding: 7px 9px; font-size: 11px; }
  .section-progress-nav a.is-active::after { right: 9px; left: 9px; }
  .industry-tabs-page .industry-tabbar { top: 84px; }
}

/* Streamlined homepage conversion path */
[hidden] { display: none !important; }
.home-contact-options {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
  margin: 24px 0 28px;
}
.home-contact-options button {
  min-height: 42px;
  padding: 0 18px;
  border: 1px solid rgba(0, 140, 207, .2);
  border-radius: 999px;
  color: #075f9b;
  background: rgba(255, 255, 255, .78);
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  transition: border-color .18s ease, background .18s ease, transform .18s ease;
}
.home-contact-options button:hover {
  border-color: rgba(0, 140, 207, .42);
  background: #fff;
  transform: translateY(-2px);
}
@media (min-width: 1121px) {
  .proof-trust-row { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .proof-trust-row .trust-item { min-height: 166px; padding: 24px 22px; }
  .proof-trust-row .trust-item h3 { font-size: 18px; }
}
@media (max-width: 560px) {
  .home-contact-options { display: grid; grid-template-columns: 1fr; width: 100%; margin: 20px 0 24px; }
  .home-contact-options button { width: 100%; }
}

/* Homepage digital employee: three immediately understandable capabilities */
.digital-worker-section .digital-worker-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

/* Homepage LINSEE work map */
.linsee-work-map {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 58px minmax(0, 1fr) 58px minmax(0, 1fr);
  width: min(1240px, 100%);
  margin: 0 auto;
  border: 1px solid rgba(8, 91, 132, .14);
  background: #fff;
  box-shadow: 0 26px 70px rgba(19, 67, 94, .08);
}
.linsee-work-stage { display: flex; flex-direction: column; min-width: 0; padding: 34px 30px 30px; color: inherit; background: linear-gradient(180deg, #fff, #f8fcfe); text-decoration: none; transition: background .2s ease; }
.linsee-work-stage:hover { background: #f1faff; }
.linsee-work-stage header { display: flex; align-items: center; gap: 14px; min-height: 62px; }
.linsee-work-stage header img { width: 54px; height: 54px; flex: 0 0 54px; object-fit: contain; }
.linsee-work-stage header span { display: block; margin-bottom: 7px; color: #008ccf; font-size: 11px; font-weight: 800; }
.linsee-work-stage header span { font-size: 14px; }
.linsee-work-stage h3 { margin: 0; color: #08283a; font-size: 20px; font-weight: 720; line-height: 1.35; }
.linsee-work-stage h3 b { color: #008ccf; font-weight: 900; }
.linsee-work-stage > p { margin: auto 0 0; padding-top: 23px; color: #496775; font-size: 13px; line-height: 1.75; }
.linsee-work-stage > p b { color: #008ccf; font-weight: 850; }
.linsee-flow-arrow { display: flex; flex-direction: column; align-items: center; justify-content: center; border-right: 1px solid rgba(8, 91, 132, .09); border-left: 1px solid rgba(8, 91, 132, .09); background: #f2f9fc; }
.linsee-flow-arrow span { color: #008ccf; font-size: 14px; font-weight: 850; line-height: 1.2; white-space: nowrap; writing-mode: vertical-rl; }
.linsee-flow-arrow i { margin-top: 12px; color: #00a4d6; font-size: 28px; font-style: normal; }
.dcr-scene-grid { display: grid; grid-template-columns: repeat(3, 1fr); align-content: center; gap: 8px; min-height: 252px; margin-top: 18px; }
.dcr-scene-grid > div { min-width: 0; padding: 6px 6px 9px; overflow: hidden; border: 1px solid rgba(8, 91, 132, .11); background: rgba(242, 249, 252, .8); text-align: center; }
.dcr-scene-grid img { display: block; width: 100%; aspect-ratio: 8 / 5; margin: 0 auto 7px; padding: 2px; object-fit: contain; }
.dcr-scene-grid i { position: relative; display: block; width: 46px; height: 33px; margin: 0 auto 8px; border: 1px solid #8bcce4; border-radius: 3px; background: #fff; }
.dcr-scene-grid strong { display: block; overflow: hidden; color: #284d60; font-size: 11px; font-weight: 700; white-space: nowrap; text-overflow: ellipsis; }
.scene-video i::before { content: "▶"; position: absolute; inset: 7px 0 0; color: #079bd0; font-size: 15px; }
.scene-chat i::before, .scene-chat i::after { content: ""; position: absolute; width: 21px; height: 7px; border-radius: 7px; background: #7dd4ed; }
.scene-chat i::before { top: 7px; left: 5px; }.scene-chat i::after { right: 5px; bottom: 7px; background: #c1e9f5; }
.scene-app i { width: 23px; border-radius: 6px; }.scene-app i::after { content: ""; position: absolute; right: 5px; bottom: 4px; left: 5px; height: 2px; background: #8bcce4; }
.scene-audio i::before { content: "▂▅▇▃▆▂"; position: absolute; inset: 7px 0 0; color: #079bd0; font-size: 13px; letter-spacing: 1px; }
.scene-image i::before { content: ""; position: absolute; right: 6px; bottom: 6px; left: 6px; height: 14px; clip-path: polygon(0 100%, 33% 35%, 52% 70%, 72% 15%, 100% 100%); background: #63c6e6; }
.scene-text i::before { content: "≡\A≡"; white-space: pre; position: absolute; inset: 1px 0 0; color: #56b8da; font-size: 18px; line-height: 12px; }
.eai-model-list { display: grid; align-content: center; gap: 9px; min-height: 252px; margin-top: 18px; }
.eai-model-list > div { position: relative; min-height: 72px; padding: 14px 78px 12px 43px; overflow: hidden; border-left: 3px solid #12a8d5; background: #f1f9fc; }
.eai-model-list > div::before { content: ""; position: absolute; top: 18px; left: 15px; width: 13px; height: 13px; border: 2px solid #19a6d2; border-radius: 50%; box-shadow: 0 0 0 4px rgba(25,166,210,.12); }
.eai-model-list strong, .eai-model-list span { display: block; }
.eai-model-list strong { color: #123a4d; font-size: 13px; }
.eai-model-list span { margin-top: 5px; color: #647d89; font-size: 11px; line-height: 1.5; }
.eai-model-list img { position: absolute; top: 50%; right: 10px; width: 62px; height: 56px; object-fit: contain; transform: translateY(-50%); }
.vpa-visual-stack { display: flex; flex-direction: column; justify-content: center; min-height: 252px; margin-top: 18px; }
.vpa-action-demo { display: grid; grid-template-columns: 1.25fr .75fr; gap: 10px; align-items: stretch; }
.vpa-screen { position: relative; min-height: 132px; padding: 5px 6px 29px; overflow: hidden; border: 1px solid #9bd4e8; background: linear-gradient(145deg, #f7fdff, #e9f7fc); }
.vpa-screen > img { display: block; width: 100%; height: 98px; padding: 2px; object-fit: contain; }
.vpa-screen span { display: block; width: 74%; height: 7px; margin-bottom: 9px; background: #c2e8f4; }.vpa-screen span:nth-child(2) { width: 52%; }.vpa-screen span:nth-child(3) { width: 64%; }
.vpa-screen i { position: absolute; right: 18px; bottom: 37px; width: 25px; height: 31px; border: 2px solid #069fd1; border-radius: 45% 45% 30% 30%; transform: rotate(-18deg); }
.vpa-screen b { position: absolute; right: 12px; bottom: 9px; left: 12px; color: #174457; font-size: 11px; }
.vpa-feedback { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 8px 7px; border: 1px solid #9bd4e8; background: linear-gradient(145deg, #f7fdff, #e9f7fc); color: #174457; text-align: center; }
.vpa-feedback img { display: block; width: 64px; height: 64px; object-fit: contain; }.vpa-feedback span { margin-top: 6px; color: #17617f; font-size: 10px; font-weight: 750; line-height: 1.5; }
.vpa-output-list { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.vpa-output-list span { padding: 6px 9px; border: 1px solid rgba(8, 91, 132, .14); color: #26566b; background: #fff; font-size: 10px; font-weight: 700; }
@media (max-width: 980px) {
  .linsee-work-map { grid-template-columns: 1fr; }
  .linsee-work-stage { padding: 30px; }
  .linsee-flow-arrow { min-height: 56px; flex-direction: row; gap: 12px; border: 0; border-top: 1px solid rgba(8,91,132,.09); border-bottom: 1px solid rgba(8,91,132,.09); }
  .linsee-flow-arrow span { writing-mode: initial; }.linsee-flow-arrow i { margin: 0; transform: rotate(90deg); }
}
@media (max-width: 560px) {
  .linsee-work-stage { padding: 26px 20px; }
  .linsee-work-stage h3 { font-size: 18px; }
  .dcr-scene-grid { grid-template-columns: repeat(2, 1fr); }
}
.digital-worker-section .issue > span {
  width: auto;
  min-width: 38px;
  padding: 0 9px;
  font-size: 12px;
  letter-spacing: 0;
}
@media (max-width: 720px) {
  .digital-worker-section .digital-worker-grid { grid-template-columns: 1fr; }
  .digital-worker-section .issue { display: grid; grid-template-columns: 58px 1fr; column-gap: 16px; align-items: center; }
  .digital-worker-section .issue-icon { grid-row: 1 / 4; }
  .digital-worker-section .issue > span,
  .digital-worker-section .issue h3,
  .digital-worker-section .issue p { grid-column: 2; }
  .digital-worker-section .issue > span { justify-self: start; margin: 0 0 6px; }
  .digital-worker-section .issue h3 { margin: 0 0 6px; }
  .digital-worker-section .issue p { margin: 0; }
}

/* SEE homepage narrative */
.linsee-mark {
  display: inline-flex;
  color: #061826;
  font-family: inherit;
  font-size: inherit;
  font-style: normal;
  font-weight: 900;
  line-height: inherit;
  letter-spacing: 0;
  white-space: nowrap;
}
.linsee-mark span,
.linsee-mark b {
  font: inherit;
  letter-spacing: inherit;
  color: #008ccf;
}
.linsee-mark span { color: #061826; }
.case-panel .linsee-mark,
.case-panel .linsee-mark span { color: #fff; }
.see-definition-head {
  max-width: 920px;
  margin: 0 auto 54px;
  text-align: center;
}
.see-definition-head h2 {
  margin: 0;
  color: #061826;
  font-size: clamp(38px, 4.5vw, 68px);
  line-height: 1.08;
  letter-spacing: 0;
}
.see-definition-head h2 strong {
  color: #008ccf;
  font-weight: 900;
}
.see-definition-head p {
  margin: 22px 0 0;
  color: #526a79;
  font-size: clamp(20px, 2vw, 28px);
  line-height: 1.5;
}
.see-definition-head p b {
  color: #008ccf;
  font-weight: 850;
}
.see-definition-head .linsee-employee-line { white-space: nowrap; }
.see-initial { display: inline-flex; align-items: baseline; font: inherit; }
.see-initial small { font-size: .58em; font-weight: 800; }
@media (max-width: 720px) {
  .see-definition-head .linsee-employee-line { white-space: normal; }
}
.see-definition-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: min(1120px, 100%);
  margin: 0 auto;
  border-top: 1px solid rgba(6, 24, 38, .12);
  border-bottom: 0;
}
.see-definition-item {
  position: relative;
  display: block;
  min-width: 0;
  padding: 46px 42px 44px;
  color: inherit;
  text-decoration: none;
  transition: background .2s ease, transform .2s ease;
}
.see-definition-item::after {
  position: absolute;
  right: 28px;
  bottom: 22px;
  color: #008ccf;
  font-size: 18px;
  content: "→";
  opacity: 0;
  transform: translateX(-6px);
  transition: opacity .2s ease, transform .2s ease;
}
.see-definition-item:hover,
.see-definition-item:focus-visible {
  background: rgba(231, 247, 253, .62);
  outline: none;
}
.see-definition-item:hover::after,
.see-definition-item:focus-visible::after {
  opacity: 1;
  transform: translateX(0);
}
.see-definition-item .see-definition-action {
  margin: 0 0 12px;
  color: #008ccf;
  font-size: 13px;
  font-weight: 850;
  line-height: 1.2;
}
.see-definition-item + .see-definition-item {
  border-left: 1px solid rgba(6, 24, 38, .12);
}
.see-definition-word {
  display: flex;
  align-items: baseline;
  gap: 18px;
  margin-bottom: 30px;
}
.see-definition-word strong {
  color: #008ccf;
  font-size: clamp(62px, 7vw, 100px);
  font-weight: 900;
  line-height: .85;
}
.see-definition-word span {
  display: grid;
  gap: 4px;
  color: #061826;
  font-size: clamp(25px, 2.5vw, 36px);
  font-weight: 800;
}
.see-definition-word span b {
  color: #008ccf;
  font-size: 12px;
  font-weight: 850;
  line-height: 1;
}
.see-definition-item h3 {
  margin: 0 0 12px;
  color: #061826;
  font-size: 25px;
  line-height: 1.35;
}
.see-definition-item h3 b {
  display: inline-block;
  color: #007fbd;
  font-size: .96em;
  font-weight: 900;
  letter-spacing: .02em;
  white-space: nowrap;
}
.see-definition-item p {
  margin: 0;
  color: #5b7180;
  font-size: 15px;
  line-height: 1.8;
}
.see-definition-item .see-definition-tech {
  display: grid;
  gap: 2px;
  margin: 0 0 14px;
  line-height: 1.35;
}
.see-definition-tech b {
  color: #008ccf;
  font-size: 19px;
  font-weight: 900;
}
.see-definition-tech span {
  color: #778b98;
  font-size: 11px;
  white-space: nowrap;
}
.see-definition-tech strong {
  color: #18384d;
  font-size: 14px;
  font-weight: 750;
}
.see-conclusion {
  margin: 26px 0 0;
  color: #536b7b;
  font-size: clamp(17px, 1.45vw, 22px);
  text-align: center;
}
.see-conclusion strong {
  color: #008ccf;
  font-weight: 850;
}
.see-vision-section {
  width: min(1240px, calc(100% - 72px));
  display: grid;
  grid-template-columns: minmax(360px, .82fr) minmax(520px, 1.18fr);
  align-items: stretch;
  gap: 0;
  min-height: 610px;
  margin: 0 auto;
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(0, 140, 207, .12);
  border-radius: 8px;
  background: #f7fbfe;
}
.see-vision-copy {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(42px, 5vw, 76px);
  background: linear-gradient(90deg, #f7fbfe 0%, #f7fbfe 82%, rgba(247, 251, 254, 0) 100%);
}
.see-vision-copy .section-kicker { margin-bottom: 22px; }
.see-vision-label {
  margin: 0 0 22px !important;
  color: #008ccf !important;
  font-size: 13px !important;
  font-weight: 800;
  line-height: 1.2 !important;
}
.see-vision-copy h2 {
  max-width: 560px;
  margin: 0;
  color: #061826;
  font-size: clamp(32px, 3.3vw, 52px);
  line-height: 1.16;
  letter-spacing: 0;
}
.see-vision-copy > p {
  max-width: 560px;
  margin: 24px 0 0;
  color: #536b7b;
  font-size: 17px;
  line-height: 1.9;
}
.dcr-inline-name {
  color: #061826;
  font-weight: 850;
}
.see-vision-copy ul {
  display: grid;
  gap: 12px;
  margin: 28px 0 24px;
  padding: 0;
  list-style: none;
}
.see-vision-scope {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  margin: 30px 0 26px;
}
.see-vision-scope span {
  padding: 0 18px;
  color: #173749;
  font-size: 14px;
  font-weight: 750;
  line-height: 1.2;
}
.see-vision-scope span:first-child { padding-left: 0; }
.see-vision-scope span + span { border-left: 1px solid rgba(6, 24, 38, .16); }
.see-vision-capabilities {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 28px 0 26px;
  border-top: 1px solid rgba(6, 24, 38, .12);
  border-left: 1px solid rgba(6, 24, 38, .12);
}
.see-vision-capabilities > div {
  min-width: 0;
  padding: 16px 16px 15px;
  border-right: 1px solid rgba(6, 24, 38, .12);
  border-bottom: 1px solid rgba(6, 24, 38, .12);
}
.see-vision-capabilities strong,
.see-vision-capabilities span {
  display: block;
}
.see-vision-capabilities strong {
  color: #0b6eaa;
  font-size: 14px;
  line-height: 1.4;
}
.see-vision-capabilities span {
  margin-top: 7px;
  color: #617482;
  font-size: 12px;
  line-height: 1.65;
}
.see-vision-copy li {
  display: grid;
  grid-template-columns: 96px 1fr;
  gap: 14px;
  align-items: baseline;
  padding-top: 12px;
  border-top: 1px solid rgba(6, 24, 38, .09);
}
.see-vision-copy li strong { color: #0b6eaa; font-size: 14px; }
.see-vision-copy li span { color: #617482; font-size: 14px; line-height: 1.65; }
.see-vision-copy .text-link {
  align-self: flex-start;
  color: #007fbd;
  font-size: 14px;
  font-weight: 750;
}
.see-vision-copy .text-link::after { content: "  →"; }
.see-vision-media {
  position: relative;
  min-width: 0;
}
.see-vision-media::before {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0 auto 0 0;
  width: 22%;
  background: linear-gradient(90deg, #f7fbfe, rgba(247, 251, 254, 0));
  pointer-events: none;
}
.see-vision-media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: 54% center;
}

@media (max-width: 980px) {
  .see-definition-head { margin-bottom: 38px; }
  .see-definition-item { padding: 36px 26px; }
  .see-vision-section {
    width: min(100% - 40px, 760px);
    grid-template-columns: 1fr;
  }
  .see-vision-copy { padding: 48px 38px 34px; background: #f7fbfe; }
  .see-vision-media { aspect-ratio: 16 / 8.8; }
  .see-vision-media::before {
    inset: 0 0 auto;
    width: auto;
    height: 18%;
    background: linear-gradient(180deg, #f7fbfe, rgba(247, 251, 254, 0));
  }
}
@media (max-width: 560px) {
  .see-definition-head { margin-bottom: 28px; text-align: left; }
  .see-definition-head h2 { font-size: 38px; }
  .see-definition-head p { margin-top: 14px; font-size: 19px; }
  .see-definition-grid { grid-template-columns: 1fr; }
  .see-definition-item { padding: 30px 6px; }
  .see-definition-item + .see-definition-item { border-top: 1px solid rgba(6, 24, 38, .12); border-left: 0; }
  .see-definition-word { gap: 16px; margin-bottom: 20px; }
  .see-definition-word strong { font-size: 68px; }
  .see-definition-word span { font-size: 28px; }
  .see-conclusion { margin-top: 20px; font-size: 16px; }
  .see-vision-section { width: calc(100% - 24px); min-height: 0; }
  .see-vision-copy { padding: 36px 24px 24px; }
  .see-vision-copy h2 { font-size: 30px; }
  .see-vision-copy > p { margin-top: 18px; font-size: 15px; line-height: 1.8; }
  .see-vision-label { margin-bottom: 16px !important; }
  .see-vision-scope { display: grid; grid-template-columns: repeat(3, 1fr); width: 100%; margin: 22px 0; }
  .see-vision-scope span { padding: 0 8px; font-size: 12px; text-align: center; }
  .see-vision-scope span:first-child { padding-left: 0; text-align: left; }
  .see-vision-capabilities { grid-template-columns: 1fr; margin: 22px 0; }
  .see-vision-capabilities > div { padding: 14px; }
  .see-vision-copy li { grid-template-columns: 78px 1fr; gap: 10px; }
  .see-vision-media { aspect-ratio: 4 / 3; }
}

/* Homepage core products: direct, unframed product index */
.products .section-title {
  max-width: none;
  margin-bottom: 54px;
  text-align: center;
}
.products::before {
  display: none;
}
.products .product-list-primary {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  width: min(1120px, 100%);
  margin: 0 auto;
  border-top: 0;
  border-bottom: 1px solid rgba(6, 24, 38, .12);
}
.products .product-list-primary .product-card {
  min-height: 0;
  display: block;
  padding: 42px 40px 40px;
  overflow: visible;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.products .product-list-primary .product-card + .product-card {
  border-left: 1px solid rgba(6, 24, 38, .12) !important;
}
.products .product-list-primary .product-card::before,
.products .product-list-primary .product-card::after {
  display: none !important;
}
.products .product-list-primary .product-card > div {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.products .product-list-primary .product-brand-lockup {
  height: 58px;
  margin-bottom: 28px;
}
.products .product-list-primary .product-positioning {
  min-height: 0;
  margin: 0 0 18px;
  color: #173749;
  font-size: 18px !important;
  font-weight: 700;
  line-height: 1.65;
}
.products .product-list-primary .product-meta {
  margin: 0;
  color: #708492;
  font-size: 13px !important;
  font-weight: 650;
  letter-spacing: 0;
}
@media (max-width: 900px) {
  .products .product-list-primary { grid-template-columns: 1fr; }
  .products .product-list-primary .product-card { padding: 34px 24px; }
  .products .product-list-primary .product-card + .product-card {
    border-top: 1px solid rgba(6, 24, 38, .12) !important;
    border-left: 0 !important;
  }
}
