/* Homepage depth and motion — decorative, compositor-friendly, reduced-motion safe. */
#hero { isolation:isolate;perspective:1400px; }
.hero-inner,.hero-dots { position:relative;z-index:2; }
.hero-ambient { position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none; }
.hero-ambient__orb { position:absolute;border-radius:50%;filter:blur(2px);opacity:.58;will-change:transform; }
.hero-ambient__orb--one { width:42vw;height:42vw;right:-12vw;top:-18vw;background:radial-gradient(circle at 35% 35%,rgba(92,169,255,.3),rgba(111,205,229,.1) 48%,transparent 70%);animation:ambient-drift-one 16s ease-in-out infinite alternate; }
.hero-ambient__orb--two { width:32vw;height:32vw;left:32%;bottom:-24vw;background:radial-gradient(circle,rgba(108,92,231,.1),transparent 68%);animation:ambient-drift-two 19s ease-in-out infinite alternate; }
.hero-ambient__grid { position:absolute;inset:0;background-image:linear-gradient(rgba(20,54,91,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(20,54,91,.035) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(90deg,transparent 18%,#000 65%,transparent); }
@keyframes ambient-drift-one { to { transform:translate3d(-5vw,7vh,0) scale(1.08); } }
@keyframes ambient-drift-two { to { transform:translate3d(4vw,-6vh,0) scale(.94); } }

.hero-visual { --rx:0deg;--ry:0deg;--px:50%;--py:50%;position:relative;transform:rotateX(var(--rx)) rotateY(var(--ry)) translate3d(0,var(--parallax-y,0),0);transform-style:preserve-3d;will-change:transform;transition:transform 420ms cubic-bezier(.23,1,.32,1); }
.hero-visual.is-tracking { transition:transform 90ms linear; }
.hero-visual__frame { position:relative;height:100%;overflow:hidden;border-radius:30px;background:#dfe5ec;box-shadow:0 2px 4px rgba(0,0,0,.03),0 35px 90px rgba(18,42,70,.16),inset 0 1px 0 rgba(255,255,255,.8);transform:translateZ(0); }
.hero-visual__frame:after { content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.55);border-radius:inherit;pointer-events:none; }
.hero-visual__frame img { border-radius:0!important;transform:scale(1.04) translate3d(0,var(--image-parallax,0),0);will-change:transform;transition:opacity 220ms cubic-bezier(.23,1,.32,1),filter 220ms ease,transform 700ms cubic-bezier(.23,1,.32,1)!important; }
.hero-visual.is-changing img { opacity:.58;filter:blur(3px) saturate(.8);transform:scale(1.055) translate3d(0,var(--image-parallax,0),0); }
.hero-visual__sheen { position:absolute;inset:0;background:radial-gradient(circle at var(--px) var(--py),rgba(255,255,255,.34),transparent 34%);mix-blend-mode:soft-light;opacity:.75;pointer-events:none; }
.hero-visual__scan { position:absolute;left:7%;right:7%;top:22%;height:1px;background:linear-gradient(90deg,transparent,rgba(157,218,255,.9),transparent);box-shadow:0 0 14px rgba(105,191,255,.55);opacity:.65;animation:lab-scan 6.5s cubic-bezier(.77,0,.175,1) infinite;pointer-events:none; }
@keyframes lab-scan { 0%,14% { transform:translateY(-90px);opacity:0; } 26% { opacity:.65; } 70% { opacity:.45; } 84%,100% { transform:translateY(290px);opacity:0; } }
.hero-card { transform:translateZ(42px);box-shadow:0 22px 48px rgba(14,42,70,.18)!important;backdrop-filter:blur(22px) saturate(155%); }
.hero-card>span { display:flex!important;align-items:center;gap:7px; }
.hero-card i { width:6px;height:6px;border-radius:50%;background:#34c759;box-shadow:0 0 0 0 rgba(52,199,89,.35);animation:status-pulse 2.4s ease-out infinite; }
@keyframes status-pulse { 55%,100% { box-shadow:0 0 0 7px rgba(52,199,89,0); } }

.hud-stat { position:relative;overflow:hidden;transform:translateZ(0); }
.hud-stat:after { content:"";position:absolute;inset:-100% -45%;background:linear-gradient(105deg,transparent 42%,rgba(255,255,255,.7) 50%,transparent 58%);transform:translateX(-55%) rotate(7deg);transition:transform 650ms cubic-bezier(.23,1,.32,1);pointer-events:none; }
.hud-stat:hover:after { transform:translateX(55%) rotate(7deg); }
.hud-value { transition:transform 180ms cubic-bezier(.23,1,.32,1),color 180ms ease; }
.hud-stat:hover .hud-value { transform:translateY(-2px);color:#0755c7; }

.metric-card,.cat-card,.service-item,.process-step,.resource-card { position:relative;isolation:isolate;overflow:hidden;--spot-x:50%;--spot-y:50%; }
.metric-card:after,.service-item:after,.process-step:after { content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(280px circle at var(--spot-x) var(--spot-y),rgba(87,157,245,.13),transparent 65%);opacity:0;transition:opacity 220ms ease;pointer-events:none; }
.metric-card:hover:after,.service-item:hover:after,.process-step:hover:after { opacity:1; }
.metric-card:before { content:"";position:absolute;left:0;bottom:0;width:100%;height:2px;background:linear-gradient(90deg,#1769e0,#69b8f5);transform:scaleX(0);transform-origin:left;transition:transform 420ms cubic-bezier(.23,1,.32,1); }
.metric-card:hover:before { transform:scaleX(1); }
.cat-img-wrap { position:relative; }
.cat-img-wrap:after { content:"↗";position:absolute;right:18px;bottom:18px;width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.82);color:#1d1d1f;font-size:17px;box-shadow:0 8px 30px rgba(0,0,0,.13);backdrop-filter:blur(12px);opacity:0;transform:translateY(6px) scale(.96);transition:opacity 180ms ease,transform 240ms cubic-bezier(.23,1,.32,1); }
.cat-card:hover .cat-img-wrap:after { opacity:1;transform:none; }
.cat-card .cat-img-wrap img,.featured-img-wrap img,.resource-card img { will-change:transform;transition:transform 700ms cubic-bezier(.23,1,.32,1)!important; }
.cat-card:hover .cat-img-wrap img,.resource-card:hover img { transform:scale(1.035)!important; }
.featured-img-wrap { --parallax-y:0px;transform:translate3d(0,var(--parallax-y),0);will-change:transform; }
.featured-badge { backdrop-filter:blur(20px) saturate(160%);box-shadow:0 18px 45px rgba(0,0,0,.14); }

#stats { position:relative;overflow:hidden;background:radial-gradient(ellipse at 75% 20%,#203e63 0%,#14213d 48%,#101827 100%)!important; }
#stats:before { content:"";position:absolute;width:45vw;height:45vw;right:-12vw;top:-28vw;border-radius:50%;background:radial-gradient(circle,rgba(60,147,255,.24),transparent 66%);animation:stats-breathe 9s ease-in-out infinite alternate; }
@keyframes stats-breathe { to { transform:scale(1.13) translate3d(-2vw,4vh,0);opacity:.7; } }
.stat-val { font-variant-numeric:tabular-nums; }
.ind-panel.active { animation:panel-materialize 360ms cubic-bezier(.23,1,.32,1) both; }
@keyframes panel-materialize { from { opacity:0;transform:translateY(8px) scale(.992);filter:blur(3px); } to { opacity:1;transform:none;filter:none; } }

#cta { overflow:hidden; }
#cta .cta-bg { transform:scale(1.08) translate3d(0,var(--cta-parallax,0),0);will-change:transform; }
#cta:after { content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 25%,rgba(98,172,255,.12) 48%,transparent 68%);transform:translateX(-100%);animation:cta-light 9s ease-in-out infinite;pointer-events:none; }
@keyframes cta-light { 0%,28% { transform:translateX(-100%); } 66%,100% { transform:translateX(100%); } }

@media (hover:none),(pointer:coarse) {
  .hero-visual { transform:translate3d(0,var(--parallax-y,0),0); }
  .cat-img-wrap:after { opacity:1;transform:none; }
}
@media (max-width:1023px) {
  .hero-ambient__orb--one { width:75vw;height:75vw; }
  .hero-visual__frame { border-radius:24px; }
}
@media (prefers-reduced-motion:reduce) {
  .hero-ambient__orb,.hero-visual__scan,.hero-card i,#stats:before,#cta:after { animation:none!important; }
  .hero-visual,.featured-img-wrap,#cta .cta-bg,.hero-visual__frame img { transform:none!important; }
  .ind-panel.active { animation:home-fade 160ms ease both; }
  @keyframes home-fade { from { opacity:.65; } }
}

/* Cinematic hero v2 */
#hero { background:#091017 url('../images/hero-lab-v2.png') center/cover no-repeat!important;min-height:100svh!important;padding:10rem 0 5rem!important;color:#fff; }
#hero:before { content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,rgba(3,8,13,.94) 0%,rgba(3,8,13,.78) 38%,rgba(3,8,13,.17) 72%,rgba(3,8,13,.14) 100%),linear-gradient(0deg,rgba(3,8,13,.64),transparent 45%,rgba(3,8,13,.18)); }
#hero:after { content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(115deg,transparent 20%,rgba(103,173,255,.09) 48%,transparent 66%);mix-blend-mode:screen; }
#hero .hero-inner { grid-template-columns:minmax(0,820px) 1fr!important;align-items:end!important;min-height:calc(100svh - 15rem); }
#hero .hero-tag { color:#8fc4ff!important; }
#hero .hero-title { display:block;height:3.68em;overflow:hidden;color:#fff!important;font-size:clamp(3.6rem,6.2vw,6.4rem)!important;line-height:.92!important;letter-spacing:-.06em!important;text-shadow:0 2px 30px rgba(0,0,0,.15); }
#hero .hero-desc { color:rgba(255,255,255,.7)!important;max-width:680px;font-size:clamp(1.08rem,1.55vw,1.34rem)!important; }
#hero .btn-primary { background:#fff!important;border-color:#fff!important;color:#101820!important;box-shadow:0 10px 32px rgba(0,0,0,.18)!important; }
#hero .btn-primary:hover { background:#eaf3ff!important; }
#hero .btn-outline { background:rgba(255,255,255,.1)!important;color:#fff!important;border-color:rgba(255,255,255,.28)!important;backdrop-filter:blur(18px); }
#hero .btn-outline:hover { background:rgba(255,255,255,.17)!important;border-color:rgba(255,255,255,.48)!important; }
#hero .hero-visual { position:absolute!important;right:0;bottom:1.5rem;width:min(350px,26vw);min-height:0!important;display:block!important; }
.hero-spec-panel { padding:17px;border:1px solid rgba(255,255,255,.22);border-radius:22px;background:rgba(10,20,29,.42);box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 28px 70px rgba(0,0,0,.26);backdrop-filter:blur(24px) saturate(150%); }
.hero-spec-panel__top { display:flex;justify-content:space-between;font:600 9px 'IBM Plex Mono',monospace;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.65); }
.hero-spec-panel__top>span:first-child { display:flex;align-items:center;gap:7px; }
.hero-spec-panel__top i { width:5px;height:5px;border-radius:50%;background:#52d273;box-shadow:0 0 0 5px rgba(82,210,115,.1); }
.hero-spec-panel__diagram { position:relative;height:128px;margin:16px 0;border-radius:14px;overflow:hidden;background:radial-gradient(circle at center,rgba(43,123,217,.18),rgba(255,255,255,.025) 58%),linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:auto,22px 22px,22px 22px; }
.diagram-line { position:absolute;background:linear-gradient(90deg,transparent,rgba(123,190,255,.65),transparent);animation:diagram-scan 4s cubic-bezier(.77,0,.175,1) infinite; }.diagram-line--x{left:0;right:0;top:50%;height:1px}.diagram-line--y{top:0;bottom:0;left:50%;width:1px;transform:rotate(90deg)}
.diagram-ring,.diagram-core { position:absolute;left:50%;top:50%;border-radius:50%;transform:translate(-50%,-50%); }.diagram-ring{width:72px;height:72px;border:1px solid rgba(126,194,255,.5);box-shadow:0 0 30px rgba(50,135,226,.14);animation:diagram-ring 3.2s ease-in-out infinite}.diagram-core{width:8px;height:8px;background:#9fd0ff;box-shadow:0 0 18px #4da0ef}
@keyframes diagram-scan { 50% { opacity:.3;transform:scaleX(.65); } } @keyframes diagram-ring { 50% { transform:translate(-50%,-50%) scale(1.12);opacity:.45; } }
.hero-spec-panel__data { display:grid;grid-template-columns:repeat(3,1fr);gap:8px; }.hero-spec-panel__data span{padding-top:11px;border-top:1px solid rgba(255,255,255,.12)}.hero-spec-panel__data small,.hero-spec-panel__data strong{display:block}.hero-spec-panel__data small{font:500 8px 'IBM Plex Mono';letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.42);margin-bottom:4px}.hero-spec-panel__data strong{font-size:11px;color:#fff}
#hero .hero-card { position:relative!important;left:auto!important;bottom:auto!important;width:88%!important;margin:-2px auto 0;padding:14px 17px!important;border:1px solid rgba(255,255,255,.2)!important;border-left:1px solid rgba(255,255,255,.2)!important;border-radius:0 0 18px 18px!important;background:rgba(245,249,255,.84)!important;transform:translateZ(36px);box-shadow:0 22px 48px rgba(0,0,0,.2)!important; }
#hero .hero-card strong { font-size:12px; }
#hero .hero-hud { max-width:660px; }
#hero .hud-stat { background:rgba(7,17,26,.44);border-color:rgba(255,255,255,.13);box-shadow:inset 0 1px 0 rgba(255,255,255,.09); }
#hero .hud-label { color:rgba(255,255,255,.42); } #hero .hud-value { color:#fff; }
#hero .hero-dots { left:var(--px);transform:none;bottom:2.2rem; }
#hero .hero-dot { background:rgba(255,255,255,.25);height:3px;transition:width 260ms cubic-bezier(.23,1,.32,1),background 180ms ease; }
#hero .hero-dot.active { width:54px;background:#fff; }
@media(min-width:1281px){#hero .hero-content{max-width:min(800px,calc(100% - 360px))}}
@media(min-width:1024px) and (max-width:1280px){#hero .hero-inner{grid-template-columns:1fr!important}#hero .hero-content{max-width:700px}#hero .hero-title{font-size:clamp(3.6rem,6vw,5.2rem)!important}#hero .hero-visual{display:none!important}}
@media(max-width:1023px){#hero{min-height:auto!important;padding-bottom:7rem!important;background-position:62% center!important}#hero .hero-inner{grid-template-columns:1fr!important;min-height:760px;align-items:center!important}#hero .hero-visual{display:none!important}}
@media(max-width:620px){#hero{background-position:66% center!important}#hero:before{background:linear-gradient(90deg,rgba(3,8,13,.94),rgba(3,8,13,.7)),linear-gradient(0deg,rgba(3,8,13,.72),transparent 55%)}#hero .hero-title{height:4.6em;font-size:clamp(3.1rem,13vw,4.2rem)!important}#hero .hero-inner{min-height:760px}#hero .hero-hud{grid-template-columns:1fr 1fr!important}#hero .hud-stat:last-child{display:none}#hero .hero-dots{bottom:1.6rem}}
@media(prefers-reduced-motion:reduce){.diagram-line,.diagram-ring{animation:none!important}}

/* Why choose us — evidence bento */
#value-props { position:relative;padding:clamp(6rem,9vw,9rem) 0!important;background:linear-gradient(180deg,#f7f8fa 0%,#eef2f6 100%)!important;overflow:hidden; }
#value-props:before { content:"";position:absolute;width:42vw;height:42vw;left:-22vw;top:-28vw;border-radius:50%;background:radial-gradient(circle,rgba(73,145,234,.13),transparent 68%);pointer-events:none; }
#value-props .section-kicker { position:relative;display:grid;grid-template-columns:minmax(260px,.75fr) minmax(420px,1.25fr);column-gap:clamp(2rem,8vw,8rem);row-gap:12px;align-items:end;max-width:none;margin:0 0 3.5rem;text-align:left; }
#value-props .section-kicker .label { grid-column:1/-1;margin-bottom:0; }
#value-props .section-kicker h2 { margin:0;font-size:clamp(2.6rem,3.8vw,4rem);line-height:.98;letter-spacing:-.048em;font-weight:630; }
#value-props .section-kicker p { max-width:610px;margin:0 0 .45rem;font-size:clamp(1rem,1.35vw,1.18rem);line-height:1.65;color:#60666e; }
#value-props .metric-grid { position:relative;display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:repeat(2,minmax(205px,auto));gap:14px;border:0;background:transparent; }
#value-props .metric-card { min-height:0;padding:28px;border:1px solid rgba(19,38,58,.09);border-radius:26px!important;background:rgba(255,255,255,.78);box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 12px 45px rgba(26,53,82,.045);backdrop-filter:blur(16px);display:flex;flex-direction:column; }
#value-props .metric-card:nth-child(1) { grid-column:span 5;grid-row:span 2;padding:34px;background:radial-gradient(circle at 88% 15%,rgba(63,143,238,.27),transparent 34%),linear-gradient(145deg,#111c29,#172c42 65%,#183d62);border-color:rgba(255,255,255,.1);color:#fff; }
#value-props .metric-card:nth-child(2) { grid-column:span 4; }
#value-props .metric-card:nth-child(3) { grid-column:span 3; }
#value-props .metric-card:nth-child(4) { grid-column:span 7; }
#value-props .metric-card>span { width:auto;height:auto;margin:0 0 auto;justify-content:flex-start;background:transparent;color:#1769e0;font-size:10px;letter-spacing:.12em; }
#value-props .metric-card:nth-child(1)>span { color:#8fc4ff; }
#value-props .metric-card strong { margin-top:38px;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Inter",sans-serif;font-size:clamp(2rem,3.3vw,3.9rem);line-height:.98;letter-spacing:-.055em;font-weight:620; }
#value-props .metric-card:nth-child(1) strong { margin-top:auto;color:#fff;font-size:clamp(3.2rem,4.5vw,4.8rem); }
#value-props .metric-card p { max-width:390px;margin-top:14px;font-size:14px;line-height:1.65; }
#value-props .metric-card:nth-child(1) p { color:rgba(255,255,255,.64);font-size:15px; }
.metric-proof { display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:auto;padding-top:20px;border-top:1px solid rgba(29,29,31,.1);font-family:'IBM Plex Mono',monospace;text-transform:uppercase; }
.metric-proof small { color:#888e95;font-size:8px;letter-spacing:.11em; }.metric-proof b { color:#434a52;font-size:9px;letter-spacing:.05em;font-weight:600;text-align:right; }
#value-props .metric-card:nth-child(1) .metric-proof { margin-top:30px;border-color:rgba(255,255,255,.15); }
#value-props .metric-card:nth-child(1) .metric-proof small { color:rgba(255,255,255,.4); }#value-props .metric-card:nth-child(1) .metric-proof b { color:rgba(255,255,255,.8); }
#value-props .metric-card:nth-child(1):after { opacity:.5;background:radial-gradient(380px circle at var(--spot-x) var(--spot-y),rgba(89,171,255,.25),transparent 66%); }
@media(max-width:900px){#value-props .section-kicker{grid-template-columns:1fr;gap:1.4rem}#value-props .section-kicker .label{grid-column:auto;margin-bottom:0}#value-props .metric-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto}#value-props .metric-card:nth-child(n){grid-column:auto;grid-row:auto;min-height:240px}#value-props .metric-card:nth-child(1){grid-column:1/-1;min-height:390px}}
@media(max-width:580px){#value-props{padding:5rem 0!important}#value-props .section-kicker h2{font-size:2.7rem}#value-props .metric-grid{grid-template-columns:1fr}#value-props .metric-card:nth-child(n){grid-column:auto;min-height:225px}#value-props .metric-card:nth-child(1){min-height:340px}#value-props .metric-card:nth-child(1) strong{font-size:3.4rem}}

/* Homepage section harmonization */
#categories,#services,#industries,#factory,#process,#news {
  position:relative;
  overflow:hidden;
  padding:7rem 0!important;
}
#categories,#industries,#process {
  background:linear-gradient(180deg,#eef2f6 0%,#f6f7f9 100%)!important;
}
#services,#factory,#news {
  background:#fbfbfd!important;
}
#categories:before,#services:before,#industries:before,#factory:before,#process:before,#news:before {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(17,32,48,.035) 1px,transparent 1px),linear-gradient(rgba(17,32,48,.025) 1px,transparent 1px);
  background-size:86px 86px;
  mask-image:linear-gradient(180deg,transparent,#000 18%,#000 78%,transparent);
}
#categories .container,#services .container,#industries .container,#factory .container,#process .container,#news .container {
  position:relative;
  z-index:1;
}
#categories .section-header,#process .section-header {
  align-items:flex-start;
  margin-bottom:2.6rem;
}
#value-props .section-kicker .label,#categories .section-header .label,#process .section-header .label,.service-intro .label,.featured-content .label,#industries .section-kicker .label,#news .resources-heading .label,#cta .label {
  display:block;
  margin:0 0 12px!important;
}
#categories .section-header h2,#process .section-header h2,.service-intro h2,.featured-content h2,.resources-heading h2,#industries .section-kicker h2,#cta .cta-inner h2 {
  max-width:720px;
  margin-top:0!important;
  font-size:3.25rem!important;
  line-height:1.02!important;
  letter-spacing:0!important;
  font-weight:630!important;
}
#categories .section-header .label,#process .section-header .label,.service-intro .label,.featured-content .label,#industries .section-kicker .label,#news .resources-heading .label,#cta .label {
  color:#1769e0!important;
}
.link-btn {
  min-height:38px;
  padding:.2rem .2rem .2rem .75rem;
  border-radius:999px;
  color:#1769e0!important;
  transition:background 180ms ease,color 180ms ease,transform 140ms cubic-bezier(.23,1,.32,1);
}
.link-btn:hover {
  background:rgba(23,105,224,.08);
}
.link-btn:active {
  transform:scale(.97);
}

#categories .cat-grid {
  grid-template-columns:1.08fr .96fr .96fr;
  gap:14px;
  align-items:stretch;
}
#categories .cat-card {
  min-height:520px;
  border:1px solid rgba(29,29,31,.09)!important;
  border-radius:28px!important;
  background:rgba(255,255,255,.72)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.76),0 16px 55px rgba(19,37,58,.055)!important;
  backdrop-filter:blur(18px) saturate(150%);
  transform:translateZ(0);
}
#categories .cat-card:first-child {
  min-height:590px;
}
#categories .cat-img-wrap {
  aspect-ratio:auto;
  height:270px;
  border-radius:22px;
  margin:12px;
}
#categories .cat-card:first-child .cat-img-wrap {
  height:340px;
}
#categories .cat-body {
  padding:1.15rem 1.35rem 1.5rem;
}
#categories .cat-body span {
  color:#6e7781;
}
#categories .cat-body h3 {
  margin-top:.7rem;
  font-size:1.45rem;
  line-height:1.1;
  letter-spacing:0;
  font-weight:630;
}
#categories .cat-body p {
  color:#666d76;
  font-size:14px;
}
#categories .cat-card:before,.resource-card:before,.ind-panel:before {
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:radial-gradient(340px circle at var(--spot-x) var(--spot-y),rgba(87,157,245,.13),transparent 66%);
  opacity:0;
  transition:opacity 220ms ease;
  pointer-events:none;
}
#categories .cat-card:hover:before,.resource-card:hover:before,.ind-panel:hover:before {
  opacity:1;
}

#services .service-layout {
  grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);
  gap:clamp(2rem,6vw,6rem);
}
#services .service-intro {
  top:120px;
  padding:1rem 0;
}
#services .service-intro p,.featured-content p {
  max-width:620px;
  color:#646b74;
  font-size:1.05rem;
}
#services .service-grid {
  gap:14px;
}
#services .service-item {
  min-height:220px;
  padding:1.45rem;
  border:1px solid rgba(29,29,31,.09)!important;
  border-radius:24px!important;
  background:rgba(255,255,255,.78)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.82),0 12px 42px rgba(19,37,58,.045)!important;
}
#services .service-item:before {
  height:2px;
  background:linear-gradient(90deg,#1769e0,rgba(111,191,222,.8));
}
#services .service-item span,#process .process-step span {
  border-radius:11px;
  background:rgba(23,105,224,.08);
  color:#1769e0;
}
#services .service-item h3,#process .process-step h3 {
  font-size:1.1rem;
  letter-spacing:0;
  font-weight:630;
}

#stats {
  padding:4.4rem 0!important;
}
#stats .stats-grid {
  gap:10px;
  border:0;
  background:transparent;
}
#stats .stat-item {
  min-height:160px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:22px;
  background:rgba(255,255,255,.075);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter:blur(18px);
}
#stats .stat-val {
  font-size:3.2rem;
  letter-spacing:0;
}

#industries .section-kicker {
  max-width:none;
  margin:0 0 2.7rem;
  text-align:left;
}
#industries .industry-layout {
  grid-template-columns:minmax(220px,300px) minmax(0,1fr);
  gap:14px;
}
#industries .industry-tabs {
  padding:10px;
  border:1px solid rgba(29,29,31,.08);
  border-radius:26px;
  background:rgba(255,255,255,.62);
  backdrop-filter:blur(18px) saturate(150%);
}
#industries .ind-tab {
  min-height:52px;
  border:0;
  border-radius:16px;
  background:transparent;
  color:#626b75;
  font-weight:610;
  transition:background 180ms ease,color 180ms ease,transform 140ms cubic-bezier(.23,1,.32,1),box-shadow 180ms ease;
}
#industries .ind-tab:hover {
  background:rgba(23,105,224,.08);
  color:#1769e0;
}
#industries .ind-tab.active {
  background:#fff;
  color:#111820;
  box-shadow:0 10px 30px rgba(19,37,58,.08);
}
#industries .ind-tab:active {
  transform:scale(.97);
}
#industries .ind-panel {
  position:relative;
  isolation:isolate;
  min-height:360px;
  padding:2.4rem;
  border:1px solid rgba(29,29,31,.09);
  border-radius:30px;
  background:linear-gradient(145deg,rgba(255,255,255,.84),rgba(245,248,252,.7));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 18px 60px rgba(19,37,58,.06);
  overflow:hidden;
}
#industries .ind-panel h3 {
  font-size:2.55rem;
  line-height:1;
  letter-spacing:0;
  font-weight:630;
}
#industries .ind-panel p {
  max-width:720px;
  color:#5f6771;
  font-size:1.04rem;
}
#industries .ind-products {
  margin-top:2.4rem;
  padding:1.2rem;
  border:1px solid rgba(29,29,31,.08);
  border-radius:18px;
  background:rgba(255,255,255,.58);
}

#factory .featured-grid {
  grid-template-columns:minmax(0,.82fr) minmax(420px,1.18fr);
}
#factory .feature-list {
  gap:.85rem;
  margin-top:1.7rem;
}
#factory .feature-list li {
  padding:.9rem 1rem;
  border:1px solid rgba(29,29,31,.08);
  border-radius:18px;
  background:rgba(255,255,255,.64);
}
#factory .check-icon {
  background:rgba(23,105,224,.09);
}
#factory .check-icon:after {
  border-color:#1769e0;
}
#factory .featured-img-wrap {
  padding:12px;
  border:1px solid rgba(29,29,31,.09);
  border-radius:30px;
  background:rgba(255,255,255,.72);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.78),0 20px 70px rgba(19,37,58,.08);
}
#factory .featured-img-wrap img {
  height:520px;
  border-radius:22px;
}
#factory .featured-badge {
  right:2rem;
  bottom:2rem;
  border:1px solid rgba(255,255,255,.38);
  border-left:1px solid rgba(255,255,255,.38);
  border-radius:20px;
  background:rgba(255,255,255,.78);
}

#process .process-grid {
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:10px;
}
#process .process-step {
  grid-template-columns:1fr;
  min-height:250px;
  padding:1.25rem;
  border:1px solid rgba(29,29,31,.09)!important;
  border-radius:22px!important;
  background:rgba(255,255,255,.72)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.78),0 12px 42px rgba(19,37,58,.045)!important;
}
#process .process-step:before {
  top:36px;
  left:calc(100% - 10px);
  width:20px;
  height:1px;
  bottom:auto;
  background:linear-gradient(90deg,rgba(23,105,224,.28),transparent);
}
#process .process-step:nth-child(6):before {
  display:none;
}
#process .process-step span {
  width:36px;
  height:36px;
  margin-bottom:1.7rem;
  box-shadow:none;
}
#process .process-step p {
  grid-column:auto;
  color:#666d76;
  font-size:13px;
}

#news.resources-section {
  border-bottom:0;
}
#news .resources-heading {
  max-width:780px;
  margin:0 0 2rem;
  text-align:left;
}
#news .resources-heading h2:after {
  display:none;
}
#news .resources-heading p {
  margin-left:0;
  color:#666d76;
  font-size:1rem;
}
#news .resource-tabs {
  justify-content:flex-start;
  gap:6px;
  margin-bottom:12px;
  padding:6px;
  width:max-content;
  max-width:100%;
  border:1px solid rgba(29,29,31,.08);
  border-radius:999px;
  background:rgba(255,255,255,.68);
  backdrop-filter:blur(18px) saturate(150%);
}
#news .resource-tab {
  min-width:auto;
  min-height:36px;
  padding:0 1rem;
  border:0!important;
  border-radius:999px!important;
  background:transparent;
  color:#69727d;
  font-weight:610;
}
#news .resource-tab.active {
  background:#111820;
  color:#fff;
}
#news .resource-panel {
  gap:14px;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
}
#news .resource-card {
  min-height:220px;
  padding:12px;
  border:1px solid rgba(29,29,31,.09)!important;
  border-radius:26px!important;
  background:rgba(255,255,255,.78)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.78),0 12px 42px rgba(19,37,58,.045)!important;
}
#news .resource-card img {
  height:196px;
  border-radius:18px;
}
#news .resource-copy {
  padding-right:.8rem;
}
#news .resource-copy h3 {
  color:#111820;
  font-size:1.08rem;
  letter-spacing:0;
}

#cta {
  min-height:520px;
  display:flex;
  align-items:center;
  padding:6.5rem 0!important;
  background:#090f16!important;
}
#cta .cta-overlay {
  background:linear-gradient(90deg,rgba(3,8,13,.92),rgba(3,8,13,.68) 48%,rgba(3,8,13,.2));
}
#cta .cta-inner {
  max-width:760px;
}
#cta .cta-inner h2 {
  color:#fff;
}
#cta .cta-inner p {
  max-width:650px;
  color:rgba(255,255,255,.68);
  font-size:1.08rem;
}
#cta .btn-outline {
  background:rgba(255,255,255,.08)!important;
  backdrop-filter:blur(16px);
}

@media(max-width:1180px){
  #categories .cat-grid,#services .service-layout,#factory .featured-grid,#industries .industry-layout{grid-template-columns:1fr}
  #categories .cat-card,#categories .cat-card:first-child{min-height:auto}
  #categories .cat-card:first-child .cat-img-wrap,#categories .cat-img-wrap{height:280px}
  #services .service-intro{position:relative;top:auto}
  #process .process-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  #process .process-step:nth-child(3):before{display:none}
}
@media(max-width:760px){
  #categories,#services,#industries,#factory,#process,#news{padding:5rem 0!important}
  #value-props .section-kicker .label,#categories .section-header .label,#process .section-header .label,.service-intro .label,.featured-content .label,#industries .section-kicker .label,#news .resources-heading .label,#cta .label{margin-bottom:10px!important}
  #categories .section-header,#process .section-header{display:block}
  #categories .section-header h2,#process .section-header h2,.service-intro h2,.featured-content h2,.resources-heading h2,#industries .section-kicker h2,#cta .cta-inner h2{font-size:2.45rem!important}
  #categories .cat-grid,#services .service-grid,#stats .stats-grid,#news .resource-panel{grid-template-columns:1fr}
  #industries .industry-tabs{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}
  #industries .ind-tab{flex:0 0 auto;scroll-snap-align:start}
  #industries .ind-panel{min-height:auto;padding:1.6rem}
  #industries .ind-panel h3{font-size:2rem}
  #factory .featured-img-wrap img{height:360px}
  #process .process-grid{grid-template-columns:1fr}
  #process .process-step{min-height:auto}
  #process .process-step:before{display:none}
  #news .resource-tabs{width:100%;overflow-x:auto;justify-content:flex-start}
  #news .resource-card{grid-template-columns:1fr}
  #news .resource-card img{height:220px}
  #cta{min-height:auto;padding:5.5rem 0!important}
}
@media(prefers-reduced-motion:reduce){
  #categories .cat-card:before,.resource-card:before,.ind-panel:before{display:none}
}
