.sf-hero{padding-bottom:0}.sf-hero__grid{gap:var(--kc-space-13);grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;display:grid}.sf-term__stages{gap:var(--kc-space-2);padding-inline:var(--kc-space-5);padding-top:var(--kc-space-5);display:flex}.sf-term__stage{width:var(--kc-space-8);height:var(--kc-space-8);border-radius:var(--kc-radius-pill);background:var(--kc-color-surface-inverse-raised);color:var(--kc-grey-500);transition:background var(--kc-duration) var(--kc-ease),color var(--kc-duration) var(--kc-ease);place-items:center;display:grid}.sf-term__stage .sf-ico{width:var(--kc-space-4);height:var(--kc-space-4)}.sf-term__stage.is-done{background:var(--kc-lime-green);color:var(--kc-deep-black)}.sf-hero__copy{gap:var(--kc-space-6);flex-direction:column;display:flex}.sf-hero__copy .kc-heading{max-width:920px;margin:0}.sf-hero__lead{max-width:640px;margin:0}.sf-loop{gap:var(--kc-space-13);grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;display:grid}.sf-ico{width:var(--kc-space-5);height:var(--kc-space-5);fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;flex:none}.sf-orbit{aspect-ratio:1;width:100%;max-width:560px;margin-inline:auto;position:relative}.sf-orbit__svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.sf-orbit__outer{fill:none;stroke:var(--kc-color-border);stroke-width:1px;stroke-dasharray:2 8}.sf-orbit__track{fill:none;stroke:var(--kc-grey-100);stroke-width:14px}.sf-orbit__dash{fill:none;stroke:var(--kc-grey-300);stroke-width:1.5px;stroke-dasharray:1 11;stroke-linecap:round;animation:9s linear infinite sf-dash}@keyframes sf-dash{to{stroke-dashoffset:-240px}}.sf-comet{fill:none;stroke-linecap:round}.sf-comet--1{stroke:var(--kc-orange-200);stroke-width:6px;opacity:.5}.sf-comet--2{stroke:var(--kc-orange-300);stroke-width:10px;opacity:.8}.sf-comet--3{stroke:var(--kc-vibrant-orange);stroke-width:14px}.sf-comet__glow{fill:var(--kc-vibrant-orange);opacity:.55}.sf-comet__head{fill:var(--kc-pure-white)}.sf-hub__spin{transform-origin:240px 240px;animation:40s linear infinite sf-spin}@keyframes sf-spin{to{transform:rotate(360deg)}}.sf-hub__ring{font-family:var(--kc-font-mono);letter-spacing:.22em;fill:var(--kc-color-fg-subtle);font-size:10px}.sf-hub__breath{fill:var(--kc-lime-green);opacity:.35;transform-origin:240px 240px;animation:sf-breath 3.2s var(--kc-ease) infinite}@keyframes sf-breath{0%,to{opacity:.2;transform:scale(.92)}50%{opacity:.45;transform:scale(1.08)}}.sf-hub__core{fill:var(--kc-color-surface-inverse)}.sf-hub__mark{pointer-events:none;width:16%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.sf-node{align-items:center;gap:var(--kc-space-1);padding-block:var(--kc-space-3);padding-inline:var(--kc-space-4);min-width:calc(var(--kc-space-16) + var(--kc-space-6));border-radius:var(--kc-radius-lg);border-style:solid;border-width:1px;border-color:var(--kc-color-border);background:var(--kc-color-bg);color:var(--kc-color-fg-muted);cursor:pointer;font-family:var(--kc-font-mono);font-size:var(--kc-text-xs);text-transform:uppercase;letter-spacing:var(--kc-tracking-wide);transition:transform var(--kc-duration) var(--kc-ease),background var(--kc-duration) var(--kc-ease),color var(--kc-duration) var(--kc-ease),box-shadow var(--kc-duration) var(--kc-ease),border-color var(--kc-duration) var(--kc-ease);flex-direction:column;display:flex;position:absolute;transform:translate(-50%,-50%)}.sf-node:hover,.sf-node[data-no-hover]:hover{color:var(--kc-color-fg);border-color:var(--kc-color-fg);transform:translate(-50%,-50%)}.sf-node__ico{width:var(--kc-space-8);height:var(--kc-space-8);border-radius:var(--kc-radius-pill);background:var(--kc-color-surface-soft);transition:background var(--kc-duration) var(--kc-ease);place-items:center;display:grid}.sf-node.is-active,.sf-node.is-active:hover{background:var(--kc-color-surface-inverse);border-color:var(--kc-color-surface-inverse);color:var(--kc-pure-white);box-shadow:var(--kc-shadow-menu);transform:translate(-50%,-50%)scale(1.12)}.sf-node.is-active .sf-node__ico{background:var(--kc-lime-green);color:var(--kc-deep-black);animation:sf-pulse 1.4s var(--kc-ease) infinite}@keyframes sf-pulse{0%{box-shadow:0 0 0 0 var(--kc-lime-green)}to{box-shadow:0 0 0 var(--kc-space-3) transparent}}.sf-node:focus-visible,.sf-loop__resume:focus-visible,.sf-stack__item:focus-visible{outline:2px solid var(--kc-color-focus);outline-offset:2px}.sf-loop__side{gap:var(--kc-space-6);flex-direction:column;min-width:0;display:flex}.sf-loop__panel{gap:var(--kc-space-4);min-height:calc(var(--kc-space-40) + var(--kc-space-16));animation:sf-in .48s var(--kc-ease);flex-direction:column;display:flex}.sf-loop__panel .kc-heading,.sf-loop__panel .kc-text{margin:0}.sf-loop__meta{align-items:center;gap:var(--kc-space-3);display:flex}.sf-loop__badge{width:var(--kc-space-10);height:var(--kc-space-10);border-radius:var(--kc-radius-pill);background:var(--kc-lime-green);color:var(--kc-deep-black);place-items:center;display:grid}@keyframes sf-in{0%{opacity:0;transform:translateY(var(--kc-space-3));filter:blur(4px)}}.sf-loop__link{align-items:center;gap:var(--kc-space-2);font-family:var(--kc-font-mono);font-size:var(--kc-text-xs);text-transform:uppercase;letter-spacing:var(--kc-tracking-wide);color:var(--kc-color-fg);display:inline-flex}.sf-loop__link svg{width:var(--kc-space-4);height:var(--kc-space-4)}.sf-loop__progress{gap:var(--kc-space-2);grid-template-columns:repeat(6,1fr);display:grid}.sf-loop__seg{height:var(--kc-space-1);border-radius:var(--kc-radius-pill);background:var(--kc-grey-100);overflow:hidden}.sf-loop__fill{background:var(--kc-color-fg);transform-origin:0;height:100%;display:block}.sf-loop__resume{color:var(--kc-color-fg-muted);font-size:var(--kc-text-md);cursor:pointer;background:0 0;border:0;align-self:flex-start;padding:0;text-decoration:underline}.sf-stack{flex-direction:column;width:100%;max-width:960px;margin-inline:auto;display:flex}.sf-stack__layer{gap:var(--kc-space-4);padding:var(--kc-space-6);border-radius:var(--kc-radius-lg);border-style:solid;border-width:1px;border-color:var(--kc-color-border);background:var(--kc-color-bg);transition:transform var(--kc-duration) var(--kc-ease),box-shadow var(--kc-duration) var(--kc-ease);flex-direction:column;display:flex;position:relative}.sf-stack__layer--top{margin-inline:var(--kc-space-10)}.sf-stack__layer--base{margin-inline:var(--kc-space-5);background:var(--kc-color-surface-warm)}.sf-stack__layer:hover{transform:translateY(calc(var(--kc-space-1) * -1));box-shadow:var(--kc-shadow-menu)}.sf-stack__layer--core{background:var(--kc-color-surface-inverse);border-color:var(--kc-color-surface-inverse);color:var(--kc-pure-white);padding:var(--kc-space-8);box-shadow:var(--kc-shadow-menu)}.sf-stack__layer--core .kc-heading{color:var(--kc-pure-white);margin:0}.sf-stack__core-head{align-items:center;gap:var(--kc-space-4);display:flex}.sf-stack__mark{width:var(--kc-space-10);height:var(--kc-space-10)}.sf-stack__live{align-items:center;gap:var(--kc-space-2);font-family:var(--kc-font-mono);font-size:var(--kc-text-xs);text-transform:uppercase;letter-spacing:var(--kc-tracking-wide);color:var(--kc-lime-green);margin-left:auto;display:inline-flex}.sf-stack__live span{width:var(--kc-space-2);height:var(--kc-space-2);border-radius:var(--kc-radius-pill);background:var(--kc-lime-green);animation:sf-pulse 1.6s var(--kc-ease) infinite}.sf-stack__tag{font-size:var(--kc-text-xs);text-transform:uppercase;letter-spacing:var(--kc-tracking-wide);color:var(--kc-color-fg-subtle)}.sf-stack__layer--core .sf-stack__tag{color:var(--kc-grey-400)}.sf-stack__items{gap:var(--kc-space-3);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.sf-stack__item{text-align:center;min-width:max-content;padding-block:var(--kc-space-3);padding-inline:var(--kc-space-4);border-radius:var(--kc-radius-sm);border-style:solid;border-width:1px;border-color:var(--kc-color-border);background:var(--kc-color-bg);font-size:var(--kc-text-md);cursor:default;transition:border-color var(--kc-duration) var(--kc-ease),background var(--kc-duration) var(--kc-ease),transform var(--kc-duration) var(--kc-ease);flex:1 1 0}.sf-stack__item:hover,.sf-stack__item.is-hover{border-color:var(--kc-color-fg);transform:translateY(calc(var(--kc-space-1) * -1))}.sf-stack__layer--core .sf-stack__item{background:var(--kc-color-surface-inverse-raised);border-color:var(--kc-color-border-inverse);color:var(--kc-pure-white)}.sf-stack.is-live .sf-stack__layer--core .sf-stack__item{border-color:var(--kc-soft-turquoise)}.sf-stack__layer--core .sf-stack__item.is-hover{background:var(--kc-lime-green);color:var(--kc-deep-black);border-color:var(--kc-lime-green)}.sf-stack__pipe{height:var(--kc-space-13);padding-inline:var(--kc-space-16);justify-content:space-around;display:flex;position:relative}.sf-stack__wire{background:var(--kc-grey-300);width:1px;height:100%;position:relative}.sf-stack__dot{width:var(--kc-space-2);height:var(--kc-space-2);border-radius:var(--kc-radius-pill);background:var(--kc-color-fg);animation:sf-drop 1.8s var(--kc-ease) infinite;position:absolute;top:0;left:50%;transform:translate(-50%)}.sf-stack__wire:nth-child(2) .sf-stack__dot{animation-delay:.4s}.sf-stack__wire:nth-child(3) .sf-stack__dot{background:var(--kc-soft-turquoise);animation-delay:.9s}.sf-stack__wire:nth-child(4) .sf-stack__dot{animation-delay:.2s}.sf-stack__wire:nth-child(5) .sf-stack__dot{animation-delay:1.2s}.sf-stack.is-live .sf-stack__dot{background:var(--kc-soft-turquoise);animation-duration:.9s}@keyframes sf-drop{0%{opacity:0;top:0}20%{opacity:1}80%{opacity:1}to{opacity:0;top:100%}}.sf-stack__pipe-label{padding-inline:var(--kc-space-3);background:var(--kc-color-surface-soft);font-size:var(--kc-text-xs);text-transform:uppercase;letter-spacing:var(--kc-tracking-wide);color:var(--kc-color-fg-subtle);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.sf-caps{overflow-x:auto}.sf-caps__table{border-collapse:collapse;width:100%;font-size:var(--kc-text-md)}.sf-caps__table code{font-size:var(--kc-text-xs);text-transform:uppercase;letter-spacing:var(--kc-tracking-wide)}.sf-caps__table thead th{text-align:left;vertical-align:bottom;padding:var(--kc-space-3);color:var(--kc-color-fg-muted);font-weight:var(--kc-weight-regular)}.sf-caps__plan{width:18%}.crk .sf-caps__plan code,.sf-caps__plan code{margin-bottom:var(--kc-space-2);display:block}.sf-caps__plan span{font-size:var(--kc-text-xs);display:block}.sf-caps__plan strong{font-size:var(--kc-text-h5);font-weight:var(--kc-weight-medium)}.sf-caps__table thead .sf-caps__plan--starter{background:var(--kc-color-surface-soft);border-top:3px solid var(--kc-color-fg);color:var(--kc-color-fg)}.sf-caps__table thead .sf-caps__plan--factory{background:var(--kc-color-surface-inverse);border-top:3px solid var(--kc-vibrant-orange);color:var(--kc-pure-white)}.sf-caps__plan--factory code{color:var(--kc-lime-green)}.sf-caps__group th{text-align:left;padding-top:var(--kc-space-8);padding-bottom:var(--kc-space-2);padding-inline:var(--kc-space-3);border-bottom:1px solid var(--kc-color-border)}.sf-caps__group code{color:var(--kc-color-fg)}.sf-soon{margin-left:var(--kc-space-3);padding-block:var(--kc-space-1);padding-inline:var(--kc-space-2);border-radius:var(--kc-radius-sm);background:var(--kc-lime-green);color:var(--kc-deep-black);font-family:var(--kc-font-mono);font-size:var(--kc-text-xs)}.sf-caps__row th,.sf-caps__row td{padding-block:var(--kc-space-3);padding-inline:var(--kc-space-3);border-bottom:1px solid var(--kc-color-border);text-align:left;font-weight:var(--kc-weight-regular);transition:opacity var(--kc-duration) var(--kc-ease),background var(--kc-duration) var(--kc-ease)}.sf-caps__row td[data-plan]{text-align:center}.sf-caps__row td[data-plan="Software Factory"]{background:var(--kc-color-surface-soft)}.sf-caps__row:hover th,.sf-caps__row:hover td{background:var(--kc-color-surface-warm)}.sf-caps__row.is-dim{opacity:.3}.sf-caps__row.is-hit th{box-shadow:inset var(--kc-space-1) 0 0 var(--kc-lime-green)}.sf-caps__desc,.is-soon .sf-caps__row th{color:var(--kc-color-fg-muted)}.sf-mark{justify-content:center;align-items:center;display:inline-flex}.sf-mark svg{width:var(--kc-space-4);height:var(--kc-space-4)}.sf-mark--yes{color:var(--kc-color-fg)}.sf-mark--soon,.sf-mark--no{color:var(--kc-color-fg-subtle)}.sf-mark--addon{font-family:var(--kc-font-mono);font-size:var(--kc-text-xs);text-transform:uppercase}.sf-caps__note{margin:0}.sf-run{gap:var(--kc-space-13);grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:center;display:grid}.sf-term{border-radius:var(--kc-radius-lg);background:var(--kc-color-surface-inverse);color:var(--kc-pure-white);overflow:hidden}.sf-term__bar{align-items:center;gap:var(--kc-space-2);padding:var(--kc-space-4);border-bottom:1px solid var(--kc-color-border-inverse);display:flex}.sf-term__bar span{width:var(--kc-space-3);height:var(--kc-space-3);border-radius:var(--kc-radius-pill);background:var(--kc-color-border-inverse)}.sf-term__bar code{margin-left:var(--kc-space-3);font-size:var(--kc-text-xs);color:var(--kc-grey-300)}.sf-term__body{padding:var(--kc-space-5);gap:var(--kc-space-3);flex-direction:column;min-height:300px;margin:0;list-style:none;display:flex}.sf-term__body li{gap:var(--kc-space-3);font-size:var(--kc-text-md);animation:sf-in var(--kc-duration) var(--kc-ease);grid-template-columns:80px 1fr auto;display:grid}.crk .sf-term__tag{color:var(--kc-soft-turquoise);text-transform:uppercase;font-size:var(--kc-text-xs)}.sf-term__ok{color:var(--kc-lime-green);font-family:var(--kc-font-mono);font-size:var(--kc-text-xs)}@media(max-width:900px){.sf-loop,.sf-run,.sf-hero__grid{grid-template-columns:1fr}.sf-node{min-width:0;padding-block:var(--kc-space-2);padding-inline:var(--kc-space-2)}.sf-node__label{font-size:var(--kc-text-xs)}.sf-node__ico{width:var(--kc-space-6);height:var(--kc-space-6)}.sf-stack__layer--top,.sf-stack__layer--base{margin-inline:0}.sf-stack__pipe{padding-inline:var(--kc-space-4)}.sf-stack__live,.sf-caps__table thead{display:none}.sf-caps__table,.sf-caps__table tbody,.sf-caps__row,.sf-caps__group{display:block}.sf-caps__row{padding-block:var(--kc-space-3);border-bottom:1px solid var(--kc-color-border);grid-template-columns:1fr 1fr;display:grid}.sf-caps__row th,.sf-caps__row td{padding-block:var(--kc-space-1);border:0}.sf-caps__row th,.sf-caps__desc{grid-column:1/-1}.sf-caps__row td[data-plan]{gap:var(--kc-space-2);text-align:left;font-size:var(--kc-text-xs);background:0 0;align-items:center;display:flex}.sf-caps__row td[data-plan]:before{content:attr(data-plan);font-family:var(--kc-font-mono);text-transform:uppercase;color:var(--kc-color-fg-subtle)}.sf-caps__group th{display:block}}@media(prefers-reduced-motion:reduce){.sf-orbit__dash,.sf-hub__spin,.sf-hub__breath,.sf-node__ico,.sf-loop__panel,.sf-stack__dot,.sf-stack__live span,.sf-term__body li{animation:none!important}}.sf-stack__groups{gap:var(--kc-space-6);grid-template-columns:1fr 1fr;display:grid}.sf-stack__sub{margin-bottom:var(--kc-space-2);font-size:var(--kc-text-xs);color:var(--kc-color-fg-muted);display:block}.sf-mode{padding:var(--kc-space-1);border-radius:var(--kc-radius-pill);background:var(--kc-color-surface-inverse-raised);border:1px solid var(--kc-color-border-inverse);margin-left:auto;display:inline-flex}.sf-mode button{appearance:none;cursor:pointer;font-family:var(--kc-font-sans);font-size:var(--kc-text-md);padding:var(--kc-space-2) var(--kc-space-4);border-radius:var(--kc-radius-pill);color:var(--kc-grey-400);transition:background var(--kc-duration) var(--kc-ease),color var(--kc-duration) var(--kc-ease);background:0 0;border:0}.sf-mode button.is-active{background:var(--kc-lime-green);color:var(--kc-deep-black)}.sf-mode button:focus-visible{outline:2px solid var(--kc-color-focus);outline-offset:2px}.sf-comps{gap:var(--kc-space-4);grid-template-columns:repeat(3,1fr);display:grid}.sf-comp{gap:var(--kc-space-3);padding:var(--kc-space-5);border-radius:var(--kc-radius-lg);background:var(--kc-color-surface-inverse-raised);border:1px solid var(--kc-color-border-inverse);transition:border-color var(--kc-duration) var(--kc-ease),background var(--kc-duration) var(--kc-ease),transform var(--kc-duration) var(--kc-ease);flex-direction:column;display:flex}.sf-comp .kc-heading{color:var(--kc-pure-white);margin:0}.sf-comp.is-hover{border-color:var(--kc-soft-turquoise);transform:translateY(calc(var(--kc-space-1) * -1))}.sf-comp .sf-stack__items{gap:var(--kc-space-2);flex:1;align-content:flex-start}.sf-comp__cap{align-items:center;gap:var(--kc-space-2);display:inline-flex}.sf-comp__soon{font-family:var(--kc-font-mono);font-size:var(--kc-text-xs);text-transform:uppercase;padding-inline:var(--kc-space-2);border-radius:var(--kc-radius-pill);background:var(--kc-lime-green);color:var(--kc-deep-black)}.sf-comp__runs{align-items:center;gap:var(--kc-space-2);font-family:var(--kc-font-mono);font-size:var(--kc-text-xs);text-transform:uppercase;letter-spacing:var(--kc-tracking-wide);color:var(--kc-lime-green);animation:sf-fade var(--kc-duration) var(--kc-ease);margin:0;display:flex}.sf-comp__runs span{width:var(--kc-space-2);height:var(--kc-space-2);border-radius:var(--kc-radius-pill);background:currentColor}.sf-plat.is-self .sf-comp{background:0 0;border-style:dashed}.sf-plat.is-self .sf-comp__runs{color:var(--kc-soft-turquoise)}.sf-plat__note{font-size:var(--kc-text-md);color:var(--kc-grey-400);margin:0}@keyframes sf-fade{0%{opacity:0;transform:translateY(var(--kc-space-1))}to{opacity:1;transform:none}}@media(max-width:900px){.sf-comps,.sf-stack__groups{grid-template-columns:1fr}.sf-stack__core-head{flex-wrap:wrap}.sf-mode{margin-left:0}}@media(prefers-reduced-motion:reduce){.sf-comp__runs{animation:none}}
