/* Genyleap homepage v6 — interactive capability network */
.home-page-v6 .home-capability-section{
  position:relative;
  overflow:hidden;
  padding:92px 0 96px;
  background:
    radial-gradient(circle at 50% 42%,color-mix(in srgb,var(--primary) 7%,transparent),transparent 34%),
    var(--soft);
}
.home-page-v6 .home-capability-section:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.46;
  background:
    linear-gradient(90deg,transparent 0 8%,color-mix(in srgb,var(--ink) 3%,transparent) 8% 8.06%,transparent 8.06% 91.94%,color-mix(in srgb,var(--ink) 3%,transparent) 91.94% 92%,transparent 92%),
    linear-gradient(color-mix(in srgb,var(--ink) 2.3%,transparent) 1px,transparent 1px);
  background-size:auto,100% 68px;
}
.home-capability-head{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(260px,.55fr);
  gap:44px;
  align-items:end;
  margin-bottom:42px;
}
.home-capability-head h2{
  max-width:850px;
  margin:10px 0 0;
  font-size:clamp(3.2rem,5.2vw,5.7rem);
  line-height:.94;
  letter-spacing:-.064em;
}
.home-capability-head>p{
  max-width:42ch;
  margin:0 0 4px;
  color:var(--muted);
  font-size:14px;
  line-height:1.72;
}
html[dir="rtl"] .home-capability-head h2{
  max-width:820px;
  line-height:1.13;
  letter-spacing:-.012em;
}
html[dir="rtl"] .home-capability-head>p{line-height:1.9}
.home-cap-network{position:relative;z-index:2}
.home-cap-canvas{
  position:relative;
  min-height:590px;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:34px;
  background:
    radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--primary) 8%,transparent),transparent 28%),
    color-mix(in srgb,var(--paper) 93%,var(--soft));
  box-shadow:0 30px 80px rgba(8,18,14,.05);
  isolation:isolate;
}
.home-cap-grid{
  position:absolute;
  inset:0;
  z-index:0;
  background-image:
    linear-gradient(color-mix(in srgb,var(--ink) 3%,transparent) 1px,transparent 1px),
    linear-gradient(90deg,color-mix(in srgb,var(--ink) 3%,transparent) 1px,transparent 1px);
  background-size:34px 34px;
  mask-image:radial-gradient(circle at 50% 50%,#000 12%,transparent 82%);
}
.home-cap-lines{
  position:absolute;
  inset:0;
  z-index:1;
  width:100%;
  height:100%;
  overflow:visible;
  pointer-events:none;
}
.home-cap-lines path{
  fill:none;
  stroke:color-mix(in srgb,var(--primary) 26%,var(--line));
  stroke-width:1.5;
  stroke-linecap:round;
  stroke-dasharray:5 10;
  vector-effect:non-scaling-stroke;
  animation:homeCapFlow 11s linear infinite;
  transition:stroke .22s ease,stroke-width .22s ease,opacity .22s ease;
  opacity:.68;
}
.home-cap-lines path.is-active{
  stroke:color-mix(in srgb,var(--primary) 82%,var(--ink));
  stroke-width:2.15;
  opacity:1;
  animation-duration:5s;
}
.home-cap-core{
  position:absolute;
  z-index:3;
  left:50%;
  top:50%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  width:250px;
  height:250px;
  padding:26px;
  transform:translate(-50%,-50%);
  border:1px solid color-mix(in srgb,var(--primary) 26%,var(--line));
  border-radius:50%;
  background:color-mix(in srgb,var(--paper) 96%,transparent);
  box-shadow:
    0 26px 70px rgba(8,18,14,.08),
    0 0 0 18px color-mix(in srgb,var(--paper) 52%,transparent),
    0 0 0 19px color-mix(in srgb,var(--primary) 11%,transparent);
  text-align:center;
}
.home-cap-core:before,
.home-cap-core:after{
  content:"";
  position:absolute;
  inset:-42px;
  border:1px solid color-mix(in srgb,var(--primary) 18%,transparent);
  border-radius:50%;
  pointer-events:none;
}
.home-cap-core:after{
  inset:-78px;
  border-style:dashed;
  opacity:.6;
  animation:homeCapOrbit 34s linear infinite;
}
.home-cap-core>span{
  max-width:170px;
  color:var(--primary);
  font-size:9px;
  font-weight:800;
  line-height:1.4;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.home-cap-core>strong{
  margin-top:12px;
  font-size:2rem;
  line-height:1;
  letter-spacing:-.045em;
}
.home-cap-core>small{
  max-width:180px;
  margin-top:10px;
  color:var(--muted);
  font-size:10px;
  line-height:1.45;
}
.home-cap-core>i{
  position:absolute;
  width:9px;
  height:9px;
  right:24px;
  top:49px;
  border-radius:50%;
  background:var(--primary);
  box-shadow:0 0 0 7px color-mix(in srgb,var(--primary) 10%,transparent);
  animation:homeCapPulse 2.6s ease-in-out infinite;
}
.home-cap-node{
  --cap-x:0;
  --cap-y:0;
  position:absolute;
  z-index:4;
  display:grid;
  grid-template-columns:46px minmax(0,1fr) 8px;
  gap:11px;
  align-items:center;
  min-width:186px;
  max-width:222px;
  min-height:72px;
  padding:11px 13px;
  border:1px solid var(--line);
  border-radius:18px;
  background:color-mix(in srgb,var(--paper) 95%,transparent);
  color:var(--ink);
  box-shadow:0 14px 32px rgba(8,18,14,.045);
  text-decoration:none;
  backdrop-filter:blur(12px);
  transform:translate(var(--cap-x),var(--cap-y));
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease,background .2s ease;
}
.home-cap-node:focus-visible{
  outline:2px solid color-mix(in srgb,var(--primary) 60%,transparent);
  outline-offset:4px;
}
.home-cap-node:hover,
.home-cap-node.is-active{
  border-color:color-mix(in srgb,var(--primary) 44%,var(--line));
  background:var(--paper);
  box-shadow:0 20px 42px rgba(8,18,14,.085);
  transform:translate(var(--cap-x),calc(var(--cap-y) - 3px));
}
.home-cap-node-mark{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  color:var(--primary);
}
.home-cap-node-mark .home-sigil{width:42px;height:42px}
.home-cap-node-copy{display:grid;gap:3px;min-width:0}
.home-cap-node-copy b{
  color:var(--primary);
  font-size:9px;
  font-weight:800;
  font-variant-numeric:tabular-nums;
}
.home-cap-node-copy strong{
  overflow:hidden;
  font-size:12.5px;
  font-weight:750;
  line-height:1.24;
  text-overflow:ellipsis;
}
.home-cap-node>i{
  width:7px;
  height:7px;
  border-radius:50%;
  background:color-mix(in srgb,var(--primary) 48%,var(--line));
  box-shadow:0 0 0 0 color-mix(in srgb,var(--primary) 14%,transparent);
  transition:background .2s ease,box-shadow .2s ease;
}
.home-cap-node.is-active>i,
.home-cap-node:hover>i{
  background:var(--primary);
  box-shadow:0 0 0 6px color-mix(in srgb,var(--primary) 11%,transparent);
}
.home-cap-node-1{left:6.5%;top:13%;--cap-x:0;--cap-y:0}
.home-cap-node-2{left:50%;top:6.5%;--cap-x:-50%;--cap-y:0}
.home-cap-node-3{right:6.5%;top:13%;--cap-x:0;--cap-y:0}
.home-cap-node-4{left:6.5%;bottom:13%;--cap-x:0;--cap-y:0}
.home-cap-node-5{left:50%;bottom:6.5%;--cap-x:-50%;--cap-y:0}
.home-cap-node-6{right:6.5%;bottom:13%;--cap-x:0;--cap-y:0}
html[dir="rtl"] .home-cap-lines{transform:scaleX(-1)}
html[dir="rtl"] .home-cap-node-1{left:auto;right:6.5%}
html[dir="rtl"] .home-cap-node-3{right:auto;left:6.5%}
html[dir="rtl"] .home-cap-node-4{left:auto;right:6.5%}
html[dir="rtl"] .home-cap-node-6{right:auto;left:6.5%}
html[dir="rtl"] .home-cap-node{grid-template-columns:8px minmax(0,1fr) 46px}
html[dir="rtl"] .home-cap-node>i{grid-column:1}
html[dir="rtl"] .home-cap-node-copy{grid-column:2;text-align:right}
html[dir="rtl"] .home-cap-node-mark{grid-column:3;grid-row:1}
.home-cap-detail{
  display:grid;
  grid-template-columns:46px minmax(0,1fr) 42px;
  gap:15px;
  align-items:center;
  min-height:88px;
  margin-top:12px;
  padding:16px 18px;
  border:1px solid var(--line);
  border-radius:20px;
  background:var(--paper);
}
.home-cap-detail>span{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border:1px solid color-mix(in srgb,var(--primary) 26%,var(--line));
  border-radius:50%;
  color:var(--primary);
  font-size:11px;
  font-weight:800;
}
.home-cap-detail>div{min-width:0}
.home-cap-detail strong{display:block;font-size:14px;line-height:1.25}
.home-cap-detail p{
  margin:4px 0 0;
  color:var(--muted);
  font-size:12px;
  line-height:1.58;
  transition:opacity .14s ease,transform .14s ease;
}
.home-cap-detail.is-switching p{opacity:.25;transform:translateY(2px)}
.home-cap-detail>a{
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  justify-self:end;
  border:1px solid var(--line);
  border-radius:50%;
  color:var(--primary);
}
.home-cap-detail>a i{
  width:18px;
  height:18px;
  background:currentColor;
  -webkit-mask:url('/assets/site/ui-icons/gl-arrow-right.svg') center/contain no-repeat;
  mask:url('/assets/site/ui-icons/gl-arrow-right.svg') center/contain no-repeat;
}
html[dir="rtl"] .home-cap-detail{
  grid-template-columns:42px minmax(0,1fr) 46px;
}
html[dir="rtl"] .home-cap-detail>a{grid-column:1;grid-row:1;justify-self:start}
html[dir="rtl"] .home-cap-detail>div{grid-column:2;grid-row:1;text-align:right}
html[dir="rtl"] .home-cap-detail>span{grid-column:3;grid-row:1}
html[dir="rtl"] .home-cap-detail>a i{
  -webkit-mask-image:url('/assets/site/ui-icons/gl-arrow-left.svg');
  mask-image:url('/assets/site/ui-icons/gl-arrow-left.svg');
}
.home-capability-foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-top:20px;
}
.home-capability-foot>span{
  color:var(--muted);
  font-size:10px;
  font-weight:650;
}
.home-capability-foot .apple-text-link{
  display:inline-flex;
  align-items:center;
  gap:7px;
}
.home-capability-foot .apple-text-link i{
  width:15px;
  height:15px;
  background:currentColor;
  -webkit-mask:url('/assets/site/ui-icons/gl-arrow-right.svg') center/contain no-repeat;
  mask:url('/assets/site/ui-icons/gl-arrow-right.svg') center/contain no-repeat;
}
html[dir="rtl"] .home-capability-foot .apple-text-link i{
  -webkit-mask-image:url('/assets/site/ui-icons/gl-arrow-left.svg');
  mask-image:url('/assets/site/ui-icons/gl-arrow-left.svg');
}
html[data-theme="dark"] .home-cap-canvas{
  background:
    radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--primary) 8%,transparent),transparent 30%),
    #0a0e0c;
}
html[data-theme="dark"] .home-cap-node,
html[data-theme="dark"] .home-cap-detail{background:#0f1412}
html[data-theme="dark"] .home-cap-core{background:#0d120f}

@keyframes homeCapFlow{to{stroke-dashoffset:-150}}
@keyframes homeCapOrbit{to{transform:rotate(360deg)}}
@keyframes homeCapPulse{
  0%,100%{transform:scale(1);opacity:.85}
  50%{transform:scale(1.28);opacity:1}
}

@media(max-width:1050px){
  .home-capability-head{grid-template-columns:1fr;gap:16px}
  .home-capability-head>p{max-width:62ch}
  .home-cap-canvas{min-height:650px}
  .home-cap-core{width:220px;height:220px}
  .home-cap-node{min-width:172px;max-width:198px}
}
@media(max-width:760px){
  .home-page-v6 .home-capability-section{padding:72px 0}
  .home-capability-head{margin-bottom:30px}
  .home-capability-head h2{font-size:clamp(2.65rem,10vw,4rem)}
  .home-cap-canvas{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:9px;
    min-height:0;
    padding:16px;
    border-radius:26px;
  }
  .home-cap-grid,.home-cap-lines{display:none}
  .home-cap-core{
    position:relative;
    left:auto;
    top:auto;
    grid-column:1/-1;
    width:100%;
    height:auto;
    min-height:150px;
    margin-bottom:4px;
    transform:none;
    border-radius:22px;
  }
  .home-cap-core:before,.home-cap-core:after{display:none}
  .home-cap-node,
  .home-cap-node-1,.home-cap-node-2,.home-cap-node-3,
  .home-cap-node-4,.home-cap-node-5,.home-cap-node-6,
  html[dir="rtl"] .home-cap-node-1,html[dir="rtl"] .home-cap-node-3,
  html[dir="rtl"] .home-cap-node-4,html[dir="rtl"] .home-cap-node-6{
    position:relative;
    left:auto;
    right:auto;
    top:auto;
    bottom:auto;
    min-width:0;
    max-width:none;
    width:100%;
    min-height:74px;
    transform:none;
  }
  .home-cap-node:hover,.home-cap-node.is-active{transform:translateY(-2px)}
  .home-cap-detail{grid-template-columns:40px minmax(0,1fr) 38px}
  .home-cap-detail p{font-size:11.5px}
}
@media(max-width:520px){
  .home-cap-canvas{grid-template-columns:1fr}
  .home-cap-node{grid-template-columns:42px minmax(0,1fr) 8px}
  html[dir="rtl"] .home-cap-node{grid-template-columns:8px minmax(0,1fr) 42px}
  .home-cap-node-mark,.home-cap-node-mark .home-sigil{width:38px;height:38px}
  .home-cap-detail{
    grid-template-columns:36px minmax(0,1fr) 34px;
    padding:14px;
  }
  .home-cap-detail>span{width:36px;height:36px}
  .home-cap-detail>a{width:34px;height:34px}
  .home-capability-foot{align-items:flex-start;flex-direction:column}
}

@media(prefers-reduced-motion:reduce){
  .home-cap-lines path,.home-cap-core:after,.home-cap-core>i{animation:none!important}
}

/* v20260922.2 — fixed node geometry + stronger OpenProof graph contrast */
.home-cap-node{
  width:clamp(190px,15vw,220px)!important;
  min-width:0!important;
  max-width:none!important;
  min-height:76px!important;
  transform:translate(var(--cap-x),var(--cap-y))!important;
}
.home-cap-node:hover,
.home-cap-node.is-active,
.home-cap-node:focus-visible{
  transform:translate(var(--cap-x),var(--cap-y))!important;
}
.home-cap-node:hover,
.home-cap-node.is-active{
  border-color:color-mix(in srgb,var(--primary) 54%,var(--line))!important;
  box-shadow:
    0 18px 42px rgba(8,18,14,.09),
    0 0 0 3px color-mix(in srgb,var(--primary) 5%,transparent)!important;
}
.home-cap-node-1,.home-cap-node-4{left:7%!important}
.home-cap-node-3,.home-cap-node-6{right:7%!important}
.home-cap-node-2,.home-cap-node-5{
  left:50%!important;
  right:auto!important;
}
html[dir="rtl"] .home-cap-node-1,
html[dir="rtl"] .home-cap-node-4{
  left:auto!important;
  right:7%!important;
}
html[dir="rtl"] .home-cap-node-3,
html[dir="rtl"] .home-cap-node-6{
  right:auto!important;
  left:7%!important;
}
html[dir="rtl"] .home-cap-node-2,
html[dir="rtl"] .home-cap-node-5{
  left:50%!important;
  right:auto!important;
}
.home-cap-node-copy strong{
  font-size:13px!important;
  line-height:1.22!important;
}
.home-cap-node-copy b{font-size:9.5px!important}
.home-cap-node-mark,
.home-cap-node-mark .home-sigil{
  width:40px!important;
  height:40px!important;
}
.home-cap-lines path{
  opacity:.76!important;
  stroke:color-mix(in srgb,var(--primary) 34%,var(--line))!important;
}
.home-cap-lines path.is-active{
  opacity:1!important;
  stroke:color-mix(in srgb,var(--primary) 92%,var(--ink))!important;
  stroke-width:2.25!important;
}
.home-cap-core{
  box-shadow:
    0 24px 66px rgba(8,18,14,.075),
    0 0 0 16px color-mix(in srgb,var(--paper) 60%,transparent),
    0 0 0 17px color-mix(in srgb,var(--primary) 17%,transparent)!important;
}
.home-cap-core:before{border-color:color-mix(in srgb,var(--primary) 26%,transparent)!important}
.home-cap-core:after{border-color:color-mix(in srgb,var(--primary) 23%,transparent)!important;opacity:.78!important}

@media(max-width:1050px){
  .home-cap-node{width:clamp(170px,19vw,196px)!important}
}
@media(max-width:760px){
  .home-cap-node,
  .home-cap-node:hover,
  .home-cap-node.is-active,
  .home-cap-node:focus-visible{
    width:100%!important;
    transform:none!important;
  }
}

/* v20260922.3 — animated platform coverage */
.home-platform-spectrum{
  position:relative;
  isolation:isolate;
}
.home-platform-track{
  overflow:visible!important;
}
.home-platform-track>span{
  position:absolute;
  z-index:2;
  top:50%;
  left:0;
  width:86px;
  height:2px;
  margin-top:-1px;
  border-radius:999px;
  background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--primary) 88%,#fff),transparent);
  filter:drop-shadow(0 0 7px color-mix(in srgb,var(--primary) 28%,transparent));
  animation:platformSignal 7.6s cubic-bezier(.45,0,.55,1) infinite;
  opacity:.9;
}
html[dir="rtl"] .home-platform-track>span{
  left:auto;
  right:0;
  animation-name:platformSignalRtl;
}
.home-platform-track i{
  transition:background .2s ease,box-shadow .2s ease,transform .2s ease;
}
.home-platform-node{
  position:relative;
}
.home-platform-mark{
  transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;
}
.home-platform-mark:before{
  content:"";
  position:absolute;
  inset:-9px;
  border:1px solid color-mix(in srgb,var(--primary) 20%,transparent);
  border-radius:50%;
  opacity:.42;
  transform:scale(.9);
  animation:platformNodeBreath 4.8s ease-in-out infinite;
}
.home-platform-node:nth-of-type(2n) .home-platform-mark:before{animation-delay:-1.2s}
.home-platform-node:nth-of-type(3n) .home-platform-mark:before{animation-delay:-2.4s}
.home-platform-node:hover .home-platform-mark{
  box-shadow:
    0 0 0 1px color-mix(in srgb,var(--primary) 36%,var(--line)),
    0 0 0 8px var(--paper),
    0 14px 34px color-mix(in srgb,var(--primary) 8%,transparent)!important;
}
.home-platform-node:hover .home-platform-mark:before{
  border-color:color-mix(in srgb,var(--primary) 46%,transparent);
  opacity:.9;
}
.home-platform-node:hover .home-platform-sigil{
  transform:scale(1.035);
}
.home-platform-sigil{transition:transform .2s ease}
@keyframes platformSignal{
  0%{left:0;opacity:0}
  8%{opacity:1}
  92%{opacity:1}
  100%{left:calc(100% - 86px);opacity:0}
}
@keyframes platformSignalRtl{
  0%{right:0;opacity:0}
  8%{opacity:1}
  92%{opacity:1}
  100%{right:calc(100% - 86px);opacity:0}
}
@keyframes platformNodeBreath{
  0%,100%{opacity:.25;transform:scale(.92)}
  50%{opacity:.72;transform:scale(1.04)}
}
@media(prefers-reduced-motion:reduce){
  .home-platform-track>span,.home-platform-mark:before{animation:none!important}
}


/* v20260922.4 — mobile capability network: deterministic, non-overlapping geometry */
@media(max-width:760px){
  .home-cap-canvas{
    overflow:visible!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
    padding:14px!important;
  }
  .home-cap-core{
    grid-column:1/-1!important;
    min-height:156px!important;
    margin:0 0 2px!important;
  }
  .home-cap-node,
  .home-cap-node-1,.home-cap-node-2,.home-cap-node-3,
  .home-cap-node-4,.home-cap-node-5,.home-cap-node-6,
  html[dir="rtl"] .home-cap-node,
  html[dir="rtl"] .home-cap-node-1,html[dir="rtl"] .home-cap-node-2,
  html[dir="rtl"] .home-cap-node-3,html[dir="rtl"] .home-cap-node-4,
  html[dir="rtl"] .home-cap-node-5,html[dir="rtl"] .home-cap-node-6{
    position:relative!important;
    inset:auto!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    min-height:86px!important;
    margin:0!important;
    transform:none!important;
    justify-self:stretch!important;
    overflow:hidden!important;
  }
  .home-cap-node:hover,
  .home-cap-node.is-active,
  .home-cap-node:focus-visible{
    transform:none!important;
  }
  .home-cap-node-copy strong{
    overflow:visible!important;
    text-overflow:clip!important;
    white-space:normal!important;
    font-size:12.5px!important;
    line-height:1.28!important;
  }
  .home-cap-node-copy b{font-size:9px!important}
  .home-cap-node>i{justify-self:end}
  html[dir="rtl"] .home-cap-node>i{justify-self:start}
  .home-cap-detail{
    margin-top:10px!important;
    min-height:84px!important;
  }
}
@media(max-width:520px){
  .home-cap-canvas{
    grid-template-columns:1fr!important;
    gap:9px!important;
    padding:12px!important;
    border-radius:22px!important;
  }
  .home-cap-core{
    min-height:142px!important;
    padding:22px 18px!important;
    border-radius:18px!important;
  }
  .home-cap-core>strong{font-size:1.75rem!important}
  .home-cap-node,
  html[dir="rtl"] .home-cap-node{
    min-height:78px!important;
    padding:10px 12px!important;
    border-radius:16px!important;
  }
  .home-cap-node-mark,
  .home-cap-node-mark .home-sigil{
    width:36px!important;
    height:36px!important;
  }
  .home-cap-node{grid-template-columns:38px minmax(0,1fr) 8px!important}
  html[dir="rtl"] .home-cap-node{grid-template-columns:8px minmax(0,1fr) 38px!important}
  .home-cap-detail{
    grid-template-columns:34px minmax(0,1fr) 32px!important;
    gap:11px!important;
    padding:12px!important;
    border-radius:16px!important;
  }
  html[dir="rtl"] .home-cap-detail{
    grid-template-columns:32px minmax(0,1fr) 34px!important;
  }
  .home-cap-detail>span{width:34px!important;height:34px!important}
  .home-cap-detail>a{width:32px!important;height:32px!important}
  .home-capability-foot{
    gap:12px!important;
    margin-top:16px!important;
  }
}
