.platform-stack{
  position:relative;
  height:235vh;
  min-height:1700px;
  color:#0a1830;
  background:#fff;
  border-top:1px solid #eef2f8;
}
.platform-stack__sticky{
  position:absolute;
  inset:0 0 auto;
  min-height:100vh;
  padding:92px clamp(32px,7vw,120px) 38px;
  overflow:hidden;
  background:#fff;
}
.platform-stack.is-fixed .platform-stack__sticky{position:fixed;z-index:4}
.platform-stack.is-complete .platform-stack__sticky{top:auto;bottom:0}
.platform-stack__head{position:relative;z-index:2;width:min(100%,1400px);margin:0 auto}
.platform-stack__index{
  position:absolute;z-index:-1;top:-54px;left:-8px;color:#0b1726;opacity:.045;
  font-size:clamp(7rem,10vw,10rem);font-weight:320;line-height:1;letter-spacing:-.08em;
  pointer-events:none;user-select:none;
}
.platform-stack__head .eyebrow{margin-bottom:13px}
.platform-stack__head h2{
  max-width:950px;margin:0;font-size:clamp(2.7rem,4.25vw,4.85rem);
  line-height:1.02;letter-spacing:-.05em;
}
.platform-stack__head h2 span{color:#1764ff}
.platform-stack__hint{display:flex;align-items:center;gap:13px;margin-top:20px;color:#647186;font-size:.82rem;font-weight:670}
.platform-stack__hint b{
  display:grid;place-items:center;width:38px;height:28px;border:1px solid #cfd9e8;
  border-radius:999px;color:#1764ff;font-size:1rem;
}
.platform-stack__frame{
  position:relative;width:min(900px,68vw);min-height:650px;margin:-30px auto 0;
  padding:18px clamp(36px,5vw,78px) 0;border-left:1px solid #1764ff;border-right:1px solid #1764ff;
}
.platform-stack__frame:before,.platform-stack__frame:after{
  content:"";position:absolute;top:0;bottom:0;width:1px;background:#1764ff;opacity:.28;
}
.platform-stack__frame:before{left:9px}.platform-stack__frame:after{right:9px}
.platform-stack__copy{
  position:relative;z-index:2;display:block;width:min(100%,560px);margin:0 auto;
}
.platform-stack__copy p{margin:0;color:#344052;font-size:1rem;line-height:1.62}
.platform-stack__copy p+p{margin-top:42px}
.platform-stack__visual{
  position:relative;width:min(100%,720px);height:min(50vh,520px);min-height:380px;margin:4px auto 0;
}
.platform-stack__diagram{
  display:block;width:100%;height:100%;overflow:visible;
  filter:drop-shadow(0 22px 25px rgba(35,75,160,.08));
}
.stack-slab-link{cursor:pointer;outline:none}
.stack-slab-link .stack-slab{
  --hover-scale:1;--hover-lift:0px;
  transition:filter .32s ease,transform .34s cubic-bezier(.2,.75,.2,1);
}
.stack-slab-link:hover .stack-slab,.stack-slab-link:focus .stack-slab{
  --hover-scale:1.055;--hover-lift:-8px;
  filter:brightness(1.045) drop-shadow(0 20px 24px rgba(23,100,255,.24)) drop-shadow(0 8px 11px rgba(23,100,255,.18));
}
.stack-slab{
  --entry-y:90px;--entry-scale:.97;--layer-opacity:0;
  opacity:var(--layer-opacity);
  transform:translateY(calc(var(--rest-y) + var(--entry-y) + var(--hover-lift,0px))) scale(var(--entry-scale)) scale(var(--hover-scale,1));
  transform-origin:360px 76px;transform-box:view-box;will-change:transform,opacity;
}
.stack-slab polygon{vector-effect:non-scaling-stroke;stroke-width:1.35}
.stack-slab__top{fill:rgba(255,255,255,.93);stroke:#1764ff}
.stack-slab__front{fill:rgba(23,100,255,.055);stroke:#1764ff}
.stack-slab__side{fill:rgba(23,100,255,.11);stroke:#1764ff}
.stack-slab__name{fill:#1764ff;font-size:22px;font-weight:750;letter-spacing:-.02em}
.stack-slab__meta{fill:#306bc8;font-size:8.4px;font-weight:690;letter-spacing:.055em}
.stack-slab__name--compact{font-size:18px}
.stack-slab--mobile .stack-slab__top{fill:rgba(23,100,255,.18)}
.stack-slab--mobile .stack-slab__front{fill:url(#labioLayer1);stroke:#1764ff}
.stack-slab--mobile .stack-slab__side{fill:#0f72ec;stroke:#1764ff}
.stack-slab--mobile text{fill:#fff}
.stack-slab--desktop .stack-slab__top{fill:rgba(71,116,245,.15)}
.stack-slab--desktop .stack-slab__front{fill:url(#labioLayer2);stroke:#5274ee}
.stack-slab--desktop .stack-slab__side{fill:#586fe8;stroke:#5274ee}
.stack-slab--desktop text{fill:#fff}
.stack-slab--server .stack-slab__top{fill:rgba(102,108,232,.14)}
.stack-slab--server .stack-slab__front{fill:url(#labioLayer3);stroke:#7174e5}
.stack-slab--server .stack-slab__side{fill:#7772dc;stroke:#7174e5}
.stack-slab--server text{fill:#fff}
.stack-slab--scheduler .stack-slab__top{fill:rgba(123,93,221,.09);stroke:#8066dd}
.stack-slab--scheduler .stack-slab__front{fill:rgba(122,93,222,.2);stroke:#8066dd}
.stack-slab--scheduler .stack-slab__side{fill:rgba(122,93,222,.28);stroke:#8066dd}
.stack-slab--scheduler .stack-slab__name,.stack-slab--scheduler .stack-slab__meta{fill:#7550d8}
.stack-slab--workspace .stack-slab__top,.stack-slab--workspace .stack-slab__front,.stack-slab--workspace .stack-slab__side{fill:rgba(255,255,255,.9);stroke:#1764ff}
.stack-slab--ai polygon{stroke:#079f89;stroke-width:1.35}
.stack-pyramid__back-left{fill:#dff8f3}
.stack-pyramid__back-right{fill:#bcefe5}
.stack-pyramid__front-left{fill:#079f89}
.stack-pyramid__front-right{fill:#10bda1}
.stack-pyramid__name,.stack-pyramid__meta{fill:#fff;font-weight:780}
.stack-pyramid__name{font-size:23px;letter-spacing:-.02em}
.stack-pyramid__meta{font-size:8px;letter-spacing:.045em}
.platform-stack__layer-links{
  position:absolute;inset:0;z-index:3;pointer-events:none;
}
.platform-stack__layer-links a{
  position:absolute;left:calc(50% + 262px);top:50%;display:inline-flex;align-items:center;gap:8px;
  color:#1764ff;font-size:.86rem;font-weight:650;text-decoration:none;white-space:nowrap;
  opacity:0;transform:translate(14px,-50%);pointer-events:none;
  transition:opacity .3s ease,transform .34s cubic-bezier(.2,.75,.2,1),filter .3s ease;
}
.platform-stack__leader{
  position:absolute;right:calc(100% + 9px);top:50%;width:108px;height:30px;
  overflow:visible;transform:translateY(-50%);transition:transform .34s cubic-bezier(.2,.75,.2,1);
}
.platform-stack__leader path{fill:none;stroke:#1764ff;stroke-width:1;stroke-dasharray:3 4;vector-effect:non-scaling-stroke}
.platform-stack__leader circle{fill:#1764ff}
.platform-stack__external{
  width:35px;height:22px;overflow:visible;opacity:.62;transform:translateX(-2px);
  transition:opacity .3s ease,transform .34s cubic-bezier(.2,.75,.2,1);
}
.platform-stack__external path{fill:none;stroke:#1764ff;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.platform-stack__external .bracket{opacity:.72}
.platform-stack__layer-links a.is-active{opacity:.68;transform:translate(0,-50%);pointer-events:auto}
.platform-stack__layer-links a.is-hovered,.platform-stack__layer-links a:hover,.platform-stack__layer-links a:focus-visible{
  opacity:1;transform:translate(6px,-50%);filter:drop-shadow(0 8px 12px rgba(23,100,255,.15));
}
.platform-stack__layer-links a.is-hovered .platform-stack__leader,.platform-stack__layer-links a:hover .platform-stack__leader,.platform-stack__layer-links a:focus-visible .platform-stack__leader{transform:translate(-6px,-50%)}
.platform-stack__layer-links a.is-hovered .platform-stack__external,.platform-stack__layer-links a:hover .platform-stack__external,.platform-stack__layer-links a:focus-visible .platform-stack__external{opacity:1;transform:translateX(2px)}
.platform-stack__layer-links a:hover span{text-decoration:underline;text-underline-offset:4px}
.platform-stack__progress{position:absolute;right:-2px;bottom:0;width:2px;height:100%;overflow:hidden}
.platform-stack__progress i{
  display:block;width:100%;height:100%;background:linear-gradient(180deg,#1764ff,#825ae2);
  transform:scaleY(var(--stack-progress,0));transform-origin:top;
}
@media(max-width:1120px){
  .platform-stack{height:220vh}
  .platform-stack__sticky{padding:90px 6vw 30px}
  .platform-stack__frame{width:min(900px,86vw);margin:28px auto 0}
  .platform-stack__head h2{max-width:850px}
  .platform-stack__layer-links a{left:calc(50% + 232px)}
}
@media(max-width:900px){.platform-stack__layer-links{display:none}}
@media(max-width:720px){
  .platform-stack{height:195vh;min-height:1350px}
  .platform-stack__sticky{padding:76px 5vw 24px}
  .platform-stack__index{top:-38px;font-size:6.5rem}
  .platform-stack__head h2{font-size:clamp(2.45rem,12vw,3.6rem)}
  .platform-stack__hint{display:none}
  .platform-stack__frame{width:100%;min-height:600px;margin:28px auto 0;padding:16px 17px 0}
  .platform-stack__frame:before{left:6px}.platform-stack__frame:after{right:6px}
  .platform-stack__copy{padding:0 12px}
  .platform-stack__copy p{font-size:.9rem;line-height:1.52}
  .platform-stack__copy p+p{display:none}
  .platform-stack__visual{height:400px;min-height:0;margin-top:8px}
  .platform-stack__diagram{transform:scale(1.13);transform-origin:center top}
  .stack-slab__name{font-size:20px}.stack-slab__meta{font-size:7.5px}
}
@media(prefers-reduced-motion:reduce){
  .platform-stack{height:auto;min-height:0}
  .platform-stack__sticky{position:relative;min-height:940px}
  .platform-stack.is-fixed .platform-stack__sticky,.platform-stack.is-complete .platform-stack__sticky{position:relative;top:auto;bottom:auto}
  .stack-slab{--entry-y:0px!important;--entry-scale:1!important;--layer-opacity:1!important}
  .stack-slab-link .stack-slab{transition:none}
}
