.tp-root.tp-platform{--sp-1:8px;--sp-2:16px;--sp-3:24px;--sp-4:40px;--sp-5:64px;--sp-6:96px;--section:clamp(96px, 10vw, 160px);--gutter:clamp(24px, 3.4vw, 56px);--t-h1:clamp(48px, 7.2vw, 108px);--t-l:clamp(36px, 4.6vw, 76px);--t-m:clamp(26px, 2.4vw, 38px);--line:color-mix(in srgb, var(--fg) 34%, transparent);--paper:color-mix(in srgb, var(--border) 40%, transparent);--hatch:repeating-linear-gradient(135deg, color-mix(in srgb, var(--fg) 9%, transparent) 0 1px, transparent 1px 7px);--ease:cubic-bezier(.2, .7, .1, 1);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}.tp-root.tp-platform ::selection{background:var(--accent);color:var(--fg)}.tp-root.tp-platform :where(a,.btn,.module):focus-visible{outline:2px solid var(--accent);outline-offset:4px}.tp-root.tp-platform h1,.tp-root.tp-platform h2,.tp-root.tp-platform h3{text-wrap:balance}.tp-root.tp-platform .btn{transition:background .25s var(--ease), color .25s var(--ease), border-color .25s var(--ease)}.tp-root.tp-platform .btn:hover{transform:none}.tp-root.tp-platform .btn-primary{box-shadow:none}.tp-root.tp-platform .btn-primary:hover{background:#fff;border-color:#fff}.tp-root.tp-platform .btn .arrow{transition:transform .25s var(--ease);display:inline-block}.tp-root.tp-platform .btn:hover .arrow{transform:translate(3px,-3px)}.tp-root.tp-platform .btn-quiet:hover .arrow{transform:translate(4px)}.tp-root.tp-platform .platform-hero{--stage-h:clamp(680px, calc(100svh - 76px), 960px);--sh:var(--stage-h);--cam:cubic-bezier(.7, 0, .15, 1);min-height:var(--stage-h);border-bottom:0;overflow:hidden;container-type:inline-size}.tp-root.tp-platform .platform-hero .inner{padding:0}.tp-root.tp-platform .platform-hero:before{content:"";z-index:1;pointer-events:none;background:linear-gradient(to right, var(--bg) 0, color-mix(in srgb, var(--bg) 90%, transparent) 26%, color-mix(in srgb, var(--bg) 40%, transparent) 46%, transparent 62%), linear-gradient(to top, var(--bg) 0, color-mix(in srgb, var(--bg) 70%, transparent) 14%, transparent 34%), linear-gradient(to bottom, var(--bg) 0, color-mix(in srgb, var(--bg) 70%, transparent) 7%, transparent 16%);position:absolute;inset:0}.tp-root.tp-platform .architecture-console{column-gap:var(--gutter);min-height:var(--stage-h);pointer-events:none;background:0 0;border:0;grid-template-rows:auto 1fr auto auto;grid-template-columns:repeat(12,minmax(0,1fr));row-gap:0;padding:clamp(24px,2.6vw,40px) 0 clamp(32px,3.6vw,52px);display:grid;position:static}.tp-root.tp-platform .architecture-console>*{z-index:2;position:relative}.tp-root.tp-platform .architecture-console :where(.module,.btn,a){pointer-events:auto}.tp-root.tp-platform .pf-top{justify-content:space-between;align-items:center;gap:var(--sp-1) var(--sp-3);flex-wrap:wrap;grid-area:1/1/auto/-1;display:flex}.tp-root.tp-platform .pf-top .product-kicker{gap:12px;margin:0}.tp-root.tp-platform .pf-top .product-kicker img{width:26px;height:26px}.tp-root.tp-platform .pf-top .product-kicker span{font:500 15px/1 var(--body);letter-spacing:-.005em;text-transform:none}.tp-root.tp-platform .platform-hero h1{max-width:9ch;margin:0 0 var(--sp-4);font-size:var(--t-h1);letter-spacing:-.06em;text-align:left;grid-area:2/1/auto/8;align-self:end;font-weight:400;line-height:.94}.tp-root.tp-platform .pf-brief{gap:var(--sp-3);margin-bottom:var(--sp-5);flex-direction:column;grid-area:3/1/auto/6;display:flex}.tp-root.tp-platform .platform-hero .platform-copy{max-width:38ch;color:color-mix(in srgb, var(--fg) 78%, transparent);letter-spacing:-.01em;text-align:left;margin:0;font-size:clamp(17px,1.4vw,20px);line-height:1.5}.tp-root.tp-platform .platform-hero .hero-actions{justify-content:flex-start;gap:var(--sp-1) var(--sp-2);flex-wrap:wrap;margin:0}.tp-root.tp-platform .architecture-console .module-stack{align-self:end;column-gap:var(--gutter);grid-area:4/1/auto/8;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;display:grid;position:relative;inset:auto}.tp-root.tp-platform .architecture-console .module{width:auto;min-height:0;padding:var(--sp-2) 0 0;color:var(--muted);cursor:pointer;text-align:left;transition:color .4s var(--ease);background:0 0;border:0;border-radius:0;margin:0;display:block;position:relative}.tp-root.tp-platform .architecture-console .module span{color:inherit;font:400 13px/1 var(--body);letter-spacing:0;text-transform:none;opacity:.75;margin:0 0 6px;display:block}.tp-root.tp-platform .architecture-console .module strong{font-family:var(--display);letter-spacing:-.045em;margin:0;font-size:clamp(22px,2.1vw,32px);font-weight:400;line-height:1.05;display:block}.tp-root.tp-platform .architecture-console .module[aria-pressed=true]{color:var(--fg)}.tp-root.tp-platform .architecture-console .module:before{content:"";background:var(--line);height:1px;position:absolute;top:0;left:0;right:0}.tp-root.tp-platform .architecture-console .module:after{content:"";background:var(--accent);transform-origin:0;height:3px;position:absolute;top:-1px;left:0;right:0;transform:scaleX(0)}.tp-root.tp-platform .architecture-console .module[aria-pressed=true]:after{transform:scaleX(1)}@media (hover:hover){.tp-root.tp-platform .architecture-console .module[aria-pressed=false]:hover{color:var(--fg)}}.tp-root.tp-platform .architecture-console .foundation-label{width:100%;font-family:var(--body);letter-spacing:0;text-align:left;text-transform:none;background:0 0;border:0;flex-direction:column-reverse;grid-area:4/9/auto/13;align-self:end;gap:6px;margin:0;padding:0;display:flex;position:relative;inset:auto}.tp-root.tp-platform .architecture-console .foundation-label strong{min-height:2.1em;padding-top:var(--sp-2);font:400 clamp(20px, 1.8vw, 26px)/1.05 var(--display);letter-spacing:-.04em}.tp-root.tp-platform .architecture-console .foundation-label span{max-width:34ch;color:var(--muted);font-size:14px;line-height:1.45}.tp-root.tp-platform .pf-figure{display:contents}.tp-root.tp-platform .platform-hero .architecture-map{--lift:.14;--og:1;--os:.5;--ot:.3;--sheen:.35;--cs:1.05;--cy:-1%;--cx:0%;z-index:0;left:34cqw;top:calc(var(--sh) * .5);width:min(64cqw, calc(var(--sh) * 1.5));aspect-ratio:1497/905;cursor:default;pointer-events:none;background:0 0;border:0;height:auto;min-height:0;margin:0;position:absolute;overflow:visible;translate:0 -50%}.tp-root.tp-platform .platform-hero .architecture-map:before,.tp-root.tp-platform .platform-hero .architecture-map:after{content:none;display:none}.tp-root.tp-platform .platform-hero .architecture-map[data-plane=fabric]{--lift:.56;--og:.8;--os:.85;--ot:1;--sheen:.6;--cs:1;--cy:1%;--cx:-1%}.tp-root.tp-platform .platform-hero .architecture-map[data-plane=ai]{--lift:1;--og:.3;--os:1;--ot:.65;--sheen:1;--cs:1.12;--cy:8%;--cx:-3%}.tp-root.tp-platform .pf-cam{transform-origin:50%;scale:var(--cs);translate:var(--cx) var(--cy);transform:translate3d(calc(var(--px,0) * -1.1%), calc(var(--py,0) * -1.6%), 0);position:absolute;inset:0}.tp-root.tp-platform .pf-layer-art,.tp-root.tp-platform .pf-depth{position:absolute;inset:0}.tp-root.tp-platform .pf-depth img{object-fit:contain;width:100%;max-width:none;height:100%;display:block}.tp-root.tp-platform .pf-ground{opacity:var(--og)}.tp-root.tp-platform .pf-ground .pf-depth{clip-path:polygon(evenodd,0 0,100% 0,100% 100%,0 100%,0 0,12.69% 26.52%,72.01% .66%,83.23% 18.34%,83.23% 22.1%,25.52% 50.5%,12.69% 30.06%,12.69% 26.52%,0 0)}.tp-root.tp-platform .pf-slab{opacity:var(--os);translate:0 calc(var(--lift) * -13%)}.tp-root.tp-platform .pf-slab .pf-depth{clip-path:polygon(12.69% 26.52%,72.01% .66%,83.23% 18.34%,83.23% 22.1%,25.52% 50.5%,12.69% 30.06%)}.tp-root.tp-platform .pf-slab .pf-depth:after{content:"";pointer-events:none;opacity:var(--sheen);background:linear-gradient(104deg, transparent 36%, color-mix(in srgb, var(--accent) 70%, #fff) 50%, transparent 64%) 120% 0 / 260% 100% no-repeat;position:absolute;inset:0;-webkit-mask:url(/platform-architecture-transparent.png) 50%/100% 100% no-repeat;mask:url(/platform-architecture-transparent.png) 50%/100% 100% no-repeat}.tp-root.tp-platform .pf-ties{opacity:var(--ot);pointer-events:none;position:absolute;inset:0}.tp-root.tp-platform .pf-ties i{left:var(--x);top:var(--y);width:2px;height:calc(var(--lift) * 13%);background:repeating-linear-gradient(to top, var(--accent) 0 5px, transparent 5px 11px);background-size:100% 11px;margin-left:-1px;position:absolute}.tp-root.tp-platform .pf-ties i:first-child{--x:18.7%;--y:39.63%}.tp-root.tp-platform .pf-ties i:nth-child(2){--x:23.38%;--y:47.07%}.tp-root.tp-platform .pf-ties i:nth-child(3){--x:26.05%;--y:50.22%}.tp-root.tp-platform .pf-ties i:nth-child(4){--x:34.4%;--y:46.12%}.tp-root.tp-platform .pf-ties i:nth-child(5){--x:47.96%;--y:39.45%}.tp-root.tp-platform .pf-ties i:nth-child(6){--x:54.78%;--y:36.1%}.tp-root.tp-platform .pf-ties i:nth-child(7){--x:64.93%;--y:31.1%}.tp-root.tp-platform .pf-ties i:nth-child(8){--x:72.81%;--y:27.23%}.tp-root.tp-platform .pf-ties i:nth-child(9){--x:77.29%;--y:25.03%}.tp-root.tp-platform .foundation,.tp-root.tp-platform .access{border-bottom:0}.tp-root.tp-platform .foundation{padding:var(--section) 0 0}.tp-root.tp-platform .pf-fhead{column-gap:var(--gutter);grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;display:grid}.tp-root.tp-platform .foundation .chapter-code{margin:0 0 var(--sp-4);grid-column:1/-1;padding:0}.tp-root.tp-platform .foundation .chapter-copy{display:contents}.tp-root.tp-platform .foundation h2{max-width:15ch;font-size:var(--t-l);letter-spacing:-.05em;grid-column:1/9;margin:0;line-height:1}.tp-root.tp-platform .foundation .chapter-copy .copy{grid-column:9/13;max-width:36ch;margin:0 0 6px;font-size:17px}.tp-root.tp-platform .pf-section{margin-top:var(--sp-6)}.tp-root.tp-platform .pf-layers{column-gap:var(--gutter);row-gap:var(--sp-4);grid-template-rows:repeat(4,auto);grid-template-columns:repeat(3,minmax(0,1fr));display:grid;position:relative}.tp-root.tp-platform .pf-layer{grid-column:1/-1;grid-template-columns:subgrid;border:1px solid var(--line);background-color:var(--surface);background-image:var(--hatch);align-items:center;min-height:88px;display:grid}.tp-root.tp-platform .pf-layer strong{padding-left:var(--sp-4);font-family:var(--display);font-size:var(--t-m);letter-spacing:-.045em;grid-column:1;font-weight:400;line-height:1}.tp-root.tp-platform .pf-layer em{padding-left:var(--sp-4);color:var(--muted);font:normal 11px/1.5 var(--mono);letter-spacing:.08em;text-transform:uppercase;grid-column:2}.tp-root.tp-platform .pf-layer small{padding-left:var(--sp-4);color:var(--muted);font:normal 11px/1.5 var(--mono);letter-spacing:.09em;text-transform:uppercase;grid-column:3}.tp-root.tp-platform .pf-layer:first-of-type{grid-row:1}.tp-root.tp-platform .pf-layer:nth-of-type(2){grid-row:2}.tp-root.tp-platform .pf-layer:nth-of-type(3){grid-row:3}.tp-root.tp-platform .pf-layer:nth-of-type(4){grid-row:4}.tp-root.tp-platform .pf-layer.pf-base{isolation:isolate;border-color:var(--fg);background-image:none;min-height:120px;position:relative;overflow:hidden}.tp-root.tp-platform .pf-layer.pf-base:before,.tp-root.tp-platform .pf-cta:before{content:"";z-index:-1;pointer-events:none;background-image:repeating-linear-gradient(135deg, color-mix(in srgb, var(--fg) 24%, transparent) 0 1px, transparent 1px 7px);position:absolute;inset:-16px}.tp-root.tp-platform .pf-cta:before{background-image:var(--hatch)}.tp-root.tp-platform .pf-layer.pf-base strong{font-size:var(--t-m)}.tp-root.tp-platform .pf-layer.pf-base em,.tp-root.tp-platform .pf-layer.pf-base small{color:var(--fg)}.tp-root.tp-platform .pf-rod{z-index:2;grid-row:1/-1;grid-template-rows:subgrid;pointer-events:none;clip-path:inset(0 0 0 -8px);place-items:center start;display:grid;position:relative}.tp-root.tp-platform .pf-rod:first-of-type{grid-column:1}.tp-root.tp-platform .pf-rod:nth-of-type(2){grid-column:2}.tp-root.tp-platform .pf-rod:nth-of-type(3){grid-column:3}.tp-root.tp-platform .pf-rod:before{content:"";background:var(--fg);opacity:.7;transform-origin:top;width:1px;position:absolute;top:0;bottom:0;left:0}.tp-root.tp-platform .pf-rod:after{content:"";opacity:0;background:linear-gradient(to top, transparent, var(--accent) 60%, transparent);width:3px;height:96px;position:absolute;top:100%;left:-1px}.tp-root.tp-platform .pf-rod b{z-index:1;border:1px solid var(--fg);background:var(--bg);width:9px;height:9px;transition:background .3s var(--ease), border-color .3s var(--ease);border-radius:50%;margin-left:-4px;position:relative}.tp-root.tp-platform .foundation .primitive-grid{column-gap:var(--gutter);border:0;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.tp-root.tp-platform .foundation .primitive{min-height:0;padding:var(--sp-4) 0 0 var(--sp-4);border:0;position:relative}.tp-root.tp-platform .foundation .primitive:before{content:"";background:var(--fg);opacity:.7;transform-origin:top;width:1px;transition:background .3s var(--ease);position:absolute;top:0;bottom:0;left:0}.tp-root.tp-platform .foundation .primitive-code{margin:0 0 var(--sp-3);color:var(--muted);transition:color .3s var(--ease);display:block}.tp-root.tp-platform .foundation .primitive h3{max-width:14ch;margin:0 0 var(--sp-2);font-size:var(--t-m);letter-spacing:-.045em;font-weight:400;line-height:1.05}.tp-root.tp-platform .foundation .primitive p{max-width:36ch;color:var(--muted);margin:0;font-size:17px;line-height:1.6}:is(.tp-root.tp-platform .pf-section:has(.primitive:first-child:hover) .pf-rod:first-of-type b,.tp-root.tp-platform .pf-section:has(.primitive:nth-child(2):hover) .pf-rod:nth-of-type(2) b,.tp-root.tp-platform .pf-section:has(.primitive:nth-child(3):hover) .pf-rod:nth-of-type(3) b){background:var(--accent);border-color:var(--accent)}.tp-root.tp-platform .foundation .primitive:hover:before{background:var(--accent);opacity:1}.tp-root.tp-platform .pf-section:has(.primitive:first-child:hover) .pf-rod:first-of-type:before{background:var(--accent);opacity:1}.tp-root.tp-platform .pf-section:has(.primitive:nth-child(2):hover) .pf-rod:nth-of-type(2):before{background:var(--accent);opacity:1}.tp-root.tp-platform .pf-section:has(.primitive:nth-child(3):hover) .pf-rod:nth-of-type(3):before{background:var(--accent);opacity:1}.tp-root.tp-platform .foundation .primitive:hover .primitive-code{color:var(--accent)}.tp-root.tp-platform .access .inner{padding:var(--section) 0 calc(var(--section) * .7)}.tp-root.tp-platform .pf-close{border:1px solid var(--line);background:var(--bg);grid-template-columns:minmax(0,8fr) minmax(0,4fr);display:grid}.tp-root.tp-platform .pf-close-copy{justify-content:space-between;gap:var(--sp-5);min-height:clamp(320px,30vw,440px);padding:var(--sp-5) var(--sp-4) var(--sp-4);flex-direction:column;display:flex}.tp-root.tp-platform .pf-close-copy .eyebrow{margin:0}.tp-root.tp-platform .access h2{max-width:15ch;font-size:var(--t-l);letter-spacing:-.05em;margin:0;line-height:1}.tp-root.tp-platform .pf-cta{isolation:isolate;justify-content:space-between;gap:var(--sp-4);padding:var(--sp-4);border-left:1px solid var(--line);background-color:var(--surface);transition:background-color .45s var(--ease), color .45s var(--ease);flex-direction:column;display:flex;position:relative;overflow:hidden}.tp-root.tp-platform .pf-cta-arrow{font-family:var(--mono);transition:transform .6s var(--ease);align-self:flex-end;font-size:clamp(48px,5vw,80px);line-height:1}.tp-root.tp-platform .pf-cta-label{font-size:var(--t-m);letter-spacing:-.045em;max-width:9ch;line-height:1.05}@media (hover:hover){.tp-root.tp-platform .pf-cta:hover{background-color:var(--accent)}.tp-root.tp-platform .pf-cta:hover .pf-cta-arrow{transform:rotate(45deg)}}@media (prefers-reduced-motion:no-preference){.tp-root.tp-platform .pf-top,.tp-root.tp-platform .platform-hero h1,.tp-root.tp-platform .architecture-console .foundation-label,.tp-root.tp-platform .pf-brief,.tp-root.tp-platform .architecture-console .module{animation:pf-arrive .9s var(--ease) both}.tp-root.tp-platform .architecture-console .module:first-child{animation-delay:80ms}.tp-root.tp-platform .architecture-console .module:nth-child(2){animation-delay:.16s}.tp-root.tp-platform .architecture-console .module:nth-child(3){animation-delay:.24s}.tp-root.tp-platform .architecture-console .foundation-label{animation-delay:.5s}.tp-root.tp-platform .platform-hero h1{animation-delay:.32s}.tp-root.tp-platform .pf-brief{animation-delay:.42s}.tp-root.tp-platform .architecture-console .module:after{transform:scaleX(0)}.tp-root.tp-platform .architecture-console .module[aria-pressed=true]:after{animation:6s linear forwards pf-cycle}.tp-root.tp-platform .platform-hero:hover .module:after,.tp-root.tp-platform .platform-hero:focus-within .module:after{animation-play-state:paused}.tp-root.tp-platform .pf-cam{transition:scale 1.8s var(--cam), translate 1.8s var(--cam);animation:pf-fade 1.4s var(--ease) both}.tp-root.tp-platform .pf-ground{transition:opacity 1.4s var(--ease)}.tp-root.tp-platform .pf-slab{transition:translate 1.8s var(--cam), opacity 1.4s var(--ease)}.tp-root.tp-platform .pf-slab .pf-depth{animation:pf-drop 2.4s var(--cam) .2s backwards, pf-bob 6s ease-in-out 2.6s infinite alternate}.tp-root.tp-platform .pf-slab .pf-depth:after{transition:opacity 1.4s var(--ease);animation:7s ease-in-out 2.4s infinite pf-sheen}.tp-root.tp-platform .pf-ties{transition:opacity 1.4s var(--ease);animation:pf-fade 1s var(--ease) 1.8s backwards}.tp-root.tp-platform .pf-ties i{transition:height 1.8s var(--cam);animation:1.2s linear infinite pf-flow}.tp-root.tp-platform .platform-hero:has(.architecture-map[data-plane=fabric]) .pf-ties i{animation-duration:.7s}.tp-root.tp-platform .platform-hero:has(.architecture-map[data-plane=foundry]) .foundation-label strong{animation:pf-label-a .9s var(--ease) both}.tp-root.tp-platform .platform-hero:has(.architecture-map[data-plane=fabric]) .foundation-label strong{animation:pf-label-b .9s var(--ease) both}.tp-root.tp-platform .platform-hero:has(.architecture-map[data-plane=ai]) .foundation-label strong{animation:pf-label-c .9s var(--ease) both}.tp-root.tp-platform .pf-rod:after{opacity:1;animation:3.6s linear infinite pf-pulse}.tp-root.tp-platform .pf-rod:nth-of-type(2):after{animation-delay:-1.2s}.tp-root.tp-platform .pf-rod:nth-of-type(3):after{animation-delay:-2.4s}.tp-root.tp-platform .pf-section:has(.primitive:first-child:hover) .pf-rod:first-of-type:after{animation:1.7s linear infinite pf-pulse}.tp-root.tp-platform .pf-section:has(.primitive:nth-child(2):hover) .pf-rod:nth-of-type(2):after{animation:1.7s linear infinite pf-pulse}.tp-root.tp-platform .pf-section:has(.primitive:nth-child(3):hover) .pf-rod:nth-of-type(3):after{animation:1.7s linear infinite pf-pulse}.tp-root.tp-platform .pf-layer.pf-base:before,.tp-root.tp-platform .pf-cta:before{animation:9s linear infinite pf-hatch}@supports (animation-timeline:view()){.tp-root.tp-platform .pf-layer{animation:linear both pf-slab;animation-timeline:view();animation-range:entry entry 85%}.tp-root.tp-platform .pf-layer:nth-of-type(2n){--from:40px}.tp-root.tp-platform .pf-layer:nth-of-type(odd){--from:-40px}.tp-root.tp-platform .pf-rod:before{animation:linear both pf-draw;animation-timeline:view();animation-range:cover 5% cover 40%}.tp-root.tp-platform .pf-rod b{animation:linear both pf-pop;animation-timeline:view();animation-range:cover 18% cover 30%}.tp-root.tp-platform .foundation .primitive:before{animation:linear both pf-draw;animation-timeline:view();animation-range:entry}.tp-root.tp-platform .foundation .primitive>*{animation:linear both pf-rise;animation-timeline:view();animation-range:entry 10% entry 90%}.tp-root.tp-platform .pf-close{animation:linear both pf-rise;animation-timeline:view();animation-range:entry entry 55%}}}@keyframes pf-arrive{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@keyframes pf-cycle{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes pf-bob{0%{transform:translateY(-.4%)}to{transform:translateY(.4%)}}@keyframes pf-drop{0%{opacity:0;translate:0 -14%}to{opacity:1;translate:0}}@keyframes pf-sheen{0%{background-position:120% 0}70%,to{background-position:-20% 0}}@keyframes pf-flow{0%{background-position:0 0}to{background-position:0 -11px}}@keyframes pf-fade{0%{opacity:0}to{opacity:1}}@keyframes pf-label-a{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes pf-label-b{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes pf-label-c{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes pf-hatch{0%{transform:translate(0)}to{transform:translate(9.8995px)}}@keyframes pf-slab{0%{opacity:0;transform:translateX(var(--from,0))}to{opacity:1;transform:none}}@keyframes pf-draw{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes pf-pop{0%{transform:scale(0)}to{transform:scale(1)}}@keyframes pf-rise{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}@keyframes pf-pulse{0%{top:100%}to{top:-96px}}@property --x{syntax:"<percentage>";inherits:true;initial-value:50%}@property --y{syntax:"<percentage>";inherits:true;initial-value:50%}.tp-root.tp-platform .pf-manifesto{border-top:1px solid var(--line);overflow:hidden}.tp-root.tp-platform .pf-sr{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.tp-root.tp-platform .pf-m-stack{--r:clamp(130px, 16vw, 240px);--stroke:color-mix(in srgb, var(--fg) 58%, transparent);grid-column:1/-1;padding:clamp(56px,6vw,96px) 0;display:grid;position:relative;overflow-x:clip}.tp-root.tp-platform .pf-m-layer{align-content:start;row-gap:var(--sp-5);grid-area:1/1;min-width:0;display:grid}.tp-root.tp-platform .pf-m-row{overflow-x:clip}.tp-root.tp-platform .pf-m-track{will-change:transform;width:max-content;display:flex}.tp-root.tp-platform .pf-m-half{flex:none;display:flex}.tp-root.tp-platform .pf-m-unit{flex:none;align-items:center;display:flex}.tp-root.tp-platform .pf-m-a{font-family:var(--display);letter-spacing:-.07em;text-transform:uppercase;padding-right:.04em;font-size:min(31vw,460px);font-weight:500;line-height:.8;display:block}.tp-root.tp-platform .pf-m-logo{flex:none;width:clamp(56px,7vw,112px);height:auto;margin:0 clamp(28px,4.5vw,72px)}.tp-root.tp-platform .pf-m-b{white-space:nowrap;font-size:var(--t-l);letter-spacing:-.045em;line-height:1;display:block}.tp-root.tp-platform .pf-m-n{vertical-align:top;color:var(--muted);font:400 .3em/1.4 var(--body);letter-spacing:0;-webkit-text-fill-color:currentColor;-webkit-text-stroke:0;margin-right:.5em;display:inline-block}.tp-root.tp-platform .pf-m-arrow{color:var(--muted);font-family:var(--mono);font-size:var(--t-l);flex:none;margin:0 .55em;line-height:1}.tp-root.tp-platform .pf-m-ghost{pointer-events:none;-webkit-user-select:none;user-select:none}.tp-root.tp-platform .pf-m-ghost .pf-m-a,.tp-root.tp-platform .pf-m-ghost .pf-m-b{-webkit-text-fill-color:transparent;-webkit-text-stroke:1px var(--stroke);background-image:repeating-linear-gradient(135deg, color-mix(in srgb, var(--fg) 30%, transparent) 0 1px, transparent 1px 7px);-webkit-background-clip:text;background-clip:text}.tp-root.tp-platform .pf-m-ghost .pf-m-logo{opacity:.3}.tp-root.tp-platform .pf-m-solid{color:var(--fg)}.tp-root.tp-platform .pf-m-lens{display:none}@media (prefers-reduced-motion:no-preference){.tp-root.tp-platform .pf-m-track.pf-m-left{animation:60s linear infinite pf-m-left}.tp-root.tp-platform .pf-m-track.pf-m-right{animation:72s linear infinite pf-m-right}@media (hover:hover){.tp-root.tp-platform .pf-m-stack:hover .pf-m-track{animation-play-state:paused}}.tp-root.tp-platform .pf-m-stack[data-live] .pf-m-track{animation-play-state:paused}.tp-root.tp-platform .pf-m-solid{-webkit-mask-image:radial-gradient(circle var(--r) at var(--x) var(--y), #000 calc(100% - 1px), transparent 100%);-webkit-mask-image:radial-gradient(circle var(--r) at var(--x) var(--y), #000 calc(100% - 1px), transparent 100%);mask-image:radial-gradient(circle var(--r) at var(--x) var(--y), #000 calc(100% - 1px), transparent 100%)}.tp-root.tp-platform .pf-m-stack{animation:13s ease-in-out infinite alternate pf-m-x,8.5s ease-in-out infinite alternate pf-m-y}.tp-root.tp-platform .pf-m-stack[data-live]{transition:--x .35s var(--ease), --y .35s var(--ease);animation:none}.tp-root.tp-platform .pf-m-lens{z-index:2;left:var(--x);top:var(--y);width:calc(var(--r) * 2);aspect-ratio:1;border:1px solid var(--stroke);pointer-events:none;border-radius:50%;display:block;position:absolute;transform:translate(-50%,-50%)}}@keyframes pf-m-left{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes pf-m-right{0%{transform:translate(-50%)}to{transform:translate(0)}}@keyframes pf-m-x{0%{--x:9%}to{--x:91%}}@keyframes pf-m-y{0%{--y:12%}to{--y:88%}}@media (prefers-reduced-motion:reduce){.tp-root.tp-platform .pf-m-ghost,.tp-root.tp-platform .pf-m-lens,.tp-root.tp-platform .pf-m-logo,.tp-root.tp-platform .pf-m-half+.pf-m-half,.tp-root.tp-platform .pf-m-dup,.tp-root.tp-platform .pf-m-unit>.pf-m-arrow:last-child{display:none}.tp-root.tp-platform .pf-m-row{padding-inline:var(--gutter)}.tp-root.tp-platform .pf-m-track{width:auto}.tp-root.tp-platform .pf-m-half,.tp-root.tp-platform .pf-m-unit{flex-wrap:wrap;flex:auto;min-width:0}.tp-root.tp-platform .pf-m-b{white-space:normal}.tp-root.tp-platform .pf-m-a{font-size:min(calc((100vw - 2 * var(--gutter) - 24px) / 2.96), 472px)}}@media (max-width:900px){.tp-root.tp-platform .platform-hero{min-height:0}.tp-root.tp-platform .platform-hero:before{display:none}.tp-root.tp-platform .architecture-console{row-gap:var(--sp-3);min-height:0;padding-bottom:var(--sp-5);grid-template-rows:none;grid-template-columns:1fr}.tp-root.tp-platform .architecture-console>*{margin-bottom:0;grid-area:auto/1/auto/-1!important}.tp-root.tp-platform .pf-top{order:1}.tp-root.tp-platform .platform-hero h1{max-width:9ch;margin-top:var(--sp-3);order:2}.tp-root.tp-platform .pf-figure{order:3}.tp-root.tp-platform .architecture-console .module-stack{column-gap:var(--sp-2);order:4}.tp-root.tp-platform .architecture-console .foundation-label{order:5;max-width:none}.tp-root.tp-platform .architecture-console .foundation-label strong{min-height:0;padding-top:0}.tp-root.tp-platform .pf-brief{margin-top:var(--sp-2);order:6}.tp-root.tp-platform .architecture-console .module strong{font-size:20px}.tp-root.tp-platform .pf-figure{aspect-ratio:1/.78;--sh:100cqh;display:block;position:relative;overflow:hidden;-webkit-mask-image:radial-gradient(80% 80%,#000 55%,#0000 100%);mask-image:radial-gradient(80% 80%,#000 55%,#0000 100%);container-type:size}.tp-root.tp-platform .platform-hero .architecture-map{width:124%;left:-12%}.tp-root.tp-platform .foundation h2{grid-column:1/-1}.tp-root.tp-platform .foundation .chapter-copy .copy{margin-top:var(--sp-4);grid-column:1/-1}.tp-root.tp-platform .pf-section{margin-top:var(--sp-5)}.tp-root.tp-platform .pf-layers{row-gap:var(--sp-1);grid-template-rows:none;grid-template-columns:1fr}.tp-root.tp-platform .pf-rod{display:none}.tp-root.tp-platform .pf-layer:nth-of-type(n){grid-row:auto}.tp-root.tp-platform .pf-layer{padding:var(--sp-2) var(--sp-3);grid-template-columns:1fr auto;row-gap:4px;min-height:0}.tp-root.tp-platform .pf-layer strong,.tp-root.tp-platform .pf-layer em,.tp-root.tp-platform .pf-layer small{grid-column:1;padding-left:0}.tp-root.tp-platform .pf-layer small{grid-area:1/2;justify-self:end}.tp-root.tp-platform .foundation .primitive-grid{margin-top:var(--sp-4);row-gap:var(--sp-5);grid-template-columns:1fr}.tp-root.tp-platform .foundation .primitive{padding:0 0 0 var(--sp-3)}.tp-root.tp-platform .pf-close{grid-template-columns:1fr}.tp-root.tp-platform .pf-close-copy{min-height:0;padding:var(--sp-4) var(--sp-3)}.tp-root.tp-platform .pf-cta{border-left:0;border-top:1px solid var(--line);padding:var(--sp-3);flex-direction:row;align-items:flex-end}.tp-root.tp-platform .pf-cta-arrow{order:2;align-self:flex-end}.tp-root.tp-platform .pf-cta-label{max-width:none}.tp-root.tp-platform .pf-m-stack{--r:clamp(76px, 22vw, 120px)}.tp-root.tp-platform .pf-m-layer{row-gap:var(--sp-4)}@media (prefers-reduced-motion:no-preference){.tp-root.tp-platform .pf-m-track.pf-m-left{animation-duration:40s}.tp-root.tp-platform .pf-m-track.pf-m-right{animation-duration:50s}}}
.tp-root.tp-platform .st{--st-ease:cubic-bezier(.16, 1, .3, 1);min-height:max(660px,100svh - 82px);padding:clamp(20px, 3vh, 36px) var(--gutter) clamp(24px, 3.6vh, 40px);background:var(--bg);color:var(--fg);text-align:left;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:clamp(28px,4vw,72px);display:grid;position:relative}.tp-root.tp-platform .st .st-brief{flex-direction:column;justify-content:center;padding:8px 0;display:flex}.tp-root.tp-platform .st h1{font:400 clamp(52px, 6.4vw, 112px)/.9 var(--display);letter-spacing:-.058em;margin:0 0 clamp(20px,3vh,32px)}.tp-root.tp-platform .st .st-line{margin-bottom:-.08em;padding-bottom:.08em;display:block;overflow:hidden}.tp-root.tp-platform .st .st-line>span{display:block}.tp-root.tp-platform .st .st-copy{max-width:36ch;color:color-mix(in srgb, var(--fg) 68%, transparent);letter-spacing:0;margin:0 0 30px;font-size:clamp(16px,1.2vw,19px);line-height:1.5}.tp-root.tp-platform .st .hero-actions{flex-flow:wrap;align-items:center;gap:8px 16px;margin:0}.tp-root.tp-platform .st .btn-quiet{padding-left:4px}.tp-root.tp-platform .st .st-specimen{isolation:isolate;background:0 0;border-radius:clamp(14px,1.4vw,22px);min-height:560px;position:relative;overflow:hidden;container-type:size}.tp-root.tp-platform .st .st-canvas{z-index:0;opacity:0;width:100%;height:100%;transition:opacity .6s;inset:0;position:absolute!important}.tp-root.tp-platform .st[data-ready] .st-canvas{opacity:1}.tp-root.tp-platform .st .st-specimen:before{content:"";z-index:-1;opacity:0;background:linear-gradient(to bottom, #0f2a1d 0, #1f6b44 calc(var(--w0) * 60%), #0d100f calc(var(--w0) * 100%), #2b302e calc(var(--w0) * 100%), #4a524e calc((var(--w0) + var(--w1) * .5) * 100%), #222625 calc((var(--w0) + var(--w1)) * 100%), #d9ddd8 calc((var(--w0) + var(--w1)) * 100%), #a3aca6 100%);transition:opacity .6s;position:absolute;inset:0}.tp-root.tp-platform .st[data-flat] .st-specimen:before{opacity:1}.tp-root.tp-platform .st[data-flat] .st-column:before{-webkit-backdrop-filter:blur(6px)saturate(1.5)brightness(1.15);background:linear-gradient(90deg,#ffffff2e,#0000 40%,#ffffff1a)}.tp-root.tp-platform .st .st-bands{z-index:2;grid-template-rows:calc(var(--w0) * 100%) calc(var(--w1) * 100%) calc(var(--w2) * 100%);display:grid;position:absolute;inset:0}.tp-root.tp-platform .st .st-band{appearance:none;color:#f4f5f2;min-height:0;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:0;grid-template-rows:auto 1fr;grid-template-columns:auto 1fr;align-content:start;column-gap:14px;margin:0;padding:clamp(16px,2vw,26px) clamp(18px,2.2vw,30px);display:grid;position:relative;overflow:hidden}.tp-root.tp-platform .st .st-band:before{content:"";transform-origin:100%;background:#f4f5f24d;height:1px;position:absolute;top:0;left:0;right:0}.tp-root.tp-platform .st .st-band:first-child:before{display:none}.tp-root.tp-platform .st .st-band:nth-child(3){color:#1d2120}.tp-root.tp-platform .st .st-band:nth-child(3):before{background:#1d21204d}.tp-root.tp-platform .st .st-code{font:400 11px/1 var(--mono);letter-spacing:.12em;opacity:.7;grid-row:1/3;padding-top:6px}.tp-root.tp-platform .st .st-band strong{font:400 clamp(22px, 2.1vw, 34px)/1 var(--display);letter-spacing:-.045em;transition:font-size .9s var(--st-ease)}.tp-root.tp-platform .st .st-sub{opacity:0;filter:blur(4px);transition:opacity .6s var(--st-ease), transform .6s var(--st-ease), filter .6s var(--st-ease);margin-top:8px;font-size:13px;line-height:1.4;transform:translateY(8px)}.tp-root.tp-platform .st .st-band:is(:hover,:focus-visible,[aria-pressed=true],[data-lit]) .st-sub{opacity:.8;filter:none;transform:none}.tp-root.tp-platform .st .st-band:is(:hover,:focus-visible,[aria-pressed=true],[data-lit]) strong{font-size:clamp(30px,3.2vw,52px)}.tp-root.tp-platform .st .st-band:focus-visible{outline-offset:-8px;outline:2px solid}.tp-root.tp-platform .st .st-band[aria-pressed=true] strong:after{content:" ●";vertical-align:middle;color:var(--accent);font-size:.4em}.tp-root.tp-platform .st .st-column{z-index:3;top:0;bottom:0;left:calc(var(--st-x) * 100%);pointer-events:none;width:0;position:absolute}.tp-root.tp-platform .st .st-column:before{content:"";width:10cqh;rotate:var(--st-lean);border-radius:12px;position:absolute;top:-20%;bottom:-20%;left:-5cqh}.tp-root.tp-platform .st .st-column span{white-space:nowrap;color:#f4f5f2;font:400 10px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;-webkit-backdrop-filter:blur(8px);background:#0d100fb8;border-radius:999px;padding:6px 9px;position:absolute;bottom:clamp(52px,7cqh,72px);left:calc(5cqh + 12px)}.tp-root.tp-platform .st .st-caption{z-index:3;color:#1d2120b3;font:400 10px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;pointer-events:none;justify-content:space-between;margin:0;padding:14px clamp(18px,2.2vw,30px);display:flex;position:absolute;bottom:0;left:0;right:0}@media (prefers-reduced-motion:no-preference){.tp-root.tp-platform .st .st-line>span{animation:st-rise 1.3s var(--st-ease) both;animation-delay:calc(var(--i,0) * .12s + .1s)}.tp-root.tp-platform .st .st-copy,.tp-root.tp-platform .st .hero-actions{animation:st-up 1.2s var(--st-ease) both}.tp-root.tp-platform .st .st-copy{animation-delay:.45s}.tp-root.tp-platform .st .hero-actions{animation-delay:.58s}.tp-root.tp-platform .st .st-specimen{animation:st-open 1.2s var(--st-ease) both}.tp-root.tp-platform .st .st-band>*{animation:st-cut 1.1s var(--st-ease) both;animation-delay:calc(.25s + var(--i) * .16s)}.tp-root.tp-platform .st .st-band>.st-code{animation-delay:calc(.32s + var(--i) * .16s)}.tp-root.tp-platform .st .st-band:before{animation:st-hair 1.1s var(--st-ease) both;animation-delay:calc(.25s + var(--i) * .16s)}.tp-root.tp-platform .st .st-column span,.tp-root.tp-platform .st .st-caption{animation:.8s 2.2s both st-fade}.tp-root.tp-platform .st:not([data-ready]):not([data-flat]) :is(.st-band>*,.st-column span,.st-caption),.tp-root.tp-platform .st:not([data-ready]):not([data-flat]) .st-band:before{animation-play-state:paused}}@keyframes st-rise{0%{filter:blur(10px);opacity:0;transform:translateY(105%)skewY(4deg)}}@keyframes st-up{0%{opacity:0;transform:translateY(18px)}}@keyframes st-open{0%{clip-path:inset(48% 0 round 22px)}to{clip-path:inset(0 round 22px)}}@keyframes st-cut{0%{transform:translate(110cqw)}}@keyframes st-hair{0%{transform:scaleX(0)}}@keyframes st-fade{0%{opacity:0}}@media (max-width:900px){.tp-root.tp-platform .st{grid-template-columns:minmax(0,1fr);min-height:0}.tp-root.tp-platform .st .st-specimen{height:clamp(440px,120vw,620px);min-height:0}}
