.sp-page{--sp-gap:clamp(20px, 3vw, 40px);--sp-accent:var(--primary);--sp-accent-soft:color-mix(in oklab, var(--sp-accent) 12%, var(--paper2));color:var(--ink)}.sp-page[data-product=construction]{--sp-accent:oklch(60% .12 70)}.sp-page[data-product=fsm]{--sp-accent:oklch(55% .09 215)}.sp-loading{min-height:70vh}.sp-kicker{font-family:var(--font-monospace);letter-spacing:.08em;text-transform:uppercase;color:var(--primary);margin-bottom:10px;font-size:12px;font-weight:700}[dir=rtl] .sp-kicker{font-family:var(--font-plex);letter-spacing:0;text-transform:none;font-size:13px}.sp-page h2{letter-spacing:-.01em;text-wrap:balance;font-size:clamp(25px,3vw,38px);font-weight:800;line-height:1.3}.sp-page h3{font-size:16px;font-weight:700;line-height:1.5}.sp-head{max-width:760px;margin-bottom:clamp(22px,3vw,34px)}.sp-lede{color:var(--body2);margin-top:12px;font-size:17px;line-height:1.85}.sp-status{border:1px solid var(--dline);background:var(--paper2);width:fit-content;color:var(--deep);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:3px 10px 3px 9px;font-size:12.5px;font-weight:700;display:inline-flex}.sp-status svg{flex:none;width:14px;height:14px}.sp-status[data-status=demonstrated]{border-color:color-mix(in oklab, var(--primary) 45%, transparent);background:color-mix(in oklab, var(--mint) 16%, var(--paper2))}.sp-status[data-status=demonstrated] svg{color:var(--primary)}.sp-status[data-status=documented] svg{color:var(--deep)}.sp-status[data-status=scoped]{color:var(--body2);border-style:dashed}.sp-legend{border-top:1px dashed var(--dline);grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 24px;margin-top:30px;padding-top:18px;display:grid}.sp-legend>div{align-content:start;gap:6px;display:grid}.sp-legend dd{color:var(--body2);font-size:13px;line-height:1.7}.sp-hero{border-bottom:1px solid var(--dline);background:radial-gradient(50% 60% at 92% 0%, color-mix(in oklab, var(--sp-accent) 16%, transparent), transparent 70%), linear-gradient(180deg, var(--paper2), var(--paper));padding:26px 0 36px;position:relative;overflow:hidden}.sp-hero-grid{align-items:center;gap:var(--sp-gap);grid-template-columns:minmax(0,5fr) minmax(0,6fr);margin-top:26px;display:grid}.sp-hero[data-signature=timeline] .sp-hero-grid,.sp-hero[data-signature=lanes] .sp-hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.sp-eyebrow{color:var(--primary);margin-bottom:12px;font-size:13px;font-weight:700}.sp-h1{letter-spacing:-.015em;text-wrap:balance;font-size:clamp(31px,4.2vw,52px);font-weight:800;line-height:1.22}.sp-hero-lede{max-width:54ch;color:var(--body2);margin-top:16px;font-size:clamp(16px,1.5vw,19px);line-height:1.85}.sp-hero-actions{flex-wrap:wrap;gap:12px;margin-top:26px;display:flex}.sp-evidence-note{border-inline-start:3px solid var(--sp-accent);max-width:56ch;color:var(--body2);margin-top:18px;padding-inline-start:12px;font-size:13.5px;line-height:1.75}.sp-hero-art{align-items:end;min-width:0;min-height:360px;display:grid;position:relative}.sp-hero-photo{object-fit:cover;width:100%;height:100%;box-shadow:var(--package-card-shadow);border-radius:22px;position:absolute;inset:0}.sp-hero-art:after{content:"";background:linear-gradient(180deg, transparent 35%, color-mix(in oklab, var(--deep) 55%, transparent));pointer-events:none;border-radius:22px;position:absolute;inset:0}.sp-hero-art[data-has-shot]{align-items:center;padding:34px 0}.sp-hero-art[data-has-shot] .sp-hero-photo{width:82%;inset-inline-start:18%}.sp-hero-art[data-has-shot]:after{background:linear-gradient(180deg, transparent, color-mix(in oklab, var(--deep) 30%, transparent));inset-inline-start:18%}.sp-hero-shot{z-index:2;width:92%;position:relative}.sp-hero-shot .pp-shot{margin:0}.sp-diagram{z-index:2;border:1px solid color-mix(in oklab, var(--paper2) 60%, transparent);background:color-mix(in oklab, var(--paper2) 93%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:var(--package-action-shadow);border-radius:16px;margin:18px;padding:18px 18px 12px;position:relative}.sp-diagram figcaption{border-top:1px dashed var(--dline);color:var(--body2);margin-top:12px;padding-top:8px;font-size:11.5px;font-weight:600}.sp-dg-timeline{grid-template-columns:repeat(var(--n,5), minmax(0, 1fr));gap:8px;display:grid;position:relative}.sp-dg-timeline:before{content:"";background:linear-gradient(90deg, var(--sp-accent), var(--mint));top:7px;height:2px;position:absolute;inset-inline:8%}[dir=rtl] .sp-dg-timeline:before{background:linear-gradient(270deg, var(--sp-accent), var(--mint))}.sp-dg-timeline li{text-align:center;justify-items:center;gap:6px;display:grid;position:relative}.sp-dg-dot{border:3px solid var(--paper2);background:var(--sp-accent);width:16px;height:16px;box-shadow:0 0 0 1px var(--sp-accent);border-radius:50%}.sp-dg-timeline strong{font-size:12.5px;line-height:1.45}.sp-dg-timeline span:last-child{color:var(--body2);font-size:11px;line-height:1.45}.sp-dg-ledger{gap:6px;display:grid}.sp-dg-ledger li{background:var(--paper);border-radius:10px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:7px 10px;font-size:13.5px;display:grid}.sp-dg-no{font-family:var(--font-monospace);color:var(--sp-accent);font-size:11px}.sp-dg-state{background:var(--sp-accent-soft);color:var(--deep);white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:11.5px;font-weight:700}.sp-dg-lanes{gap:8px;display:grid}.sp-dg-lane{border-bottom:1px solid var(--dline);grid-template-columns:34% minmax(0,1fr);align-items:center;gap:10px;padding-bottom:8px;display:grid}.sp-dg-lane:last-child{border-bottom:0;padding-bottom:0}.sp-dg-lane>span{color:var(--deep);font-size:12.5px;font-weight:800}.sp-dg-lane ul{flex-wrap:wrap;gap:6px;display:flex}.sp-dg-lane li{background:var(--sp-accent-soft);border-radius:8px;padding:4px 9px;font-size:12px;font-weight:600}.sp-dg-loop{position:relative}.sp-dg-loop ol{counter-reset:loop;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.sp-dg-loop li{border:1px solid var(--dline);background:var(--paper2);border-radius:10px;align-items:center;gap:8px;padding:8px 10px;font-size:12.5px;font-weight:700;line-height:1.4;display:flex}.sp-dg-loop li span{background:var(--sp-accent);width:22px;height:22px;font-family:var(--font-monospace);color:var(--paper2);border-radius:50%;flex:none;place-items:center;font-size:11px;display:grid}.sp-dg-loop li:nth-child(n+4){grid-row:2}.sp-dg-loop li:nth-child(4){grid-column:3}.sp-dg-loop li:nth-child(5){grid-column:2}.sp-dg-loop li:nth-child(6){grid-column:1}.sp-dg-return{background:var(--deep);width:22px;height:22px;color:var(--paper2);top:50%;border-radius:50%;padding:3px;position:absolute;inset-inline-start:-14px;translate:0 -50%}.sp-dg-matrix{gap:10px;display:grid;position:relative}.sp-dg-core{background:var(--deep);color:var(--paper2);border-radius:12px;justify-self:center;padding:8px 16px;font-size:13.5px;font-weight:800}.sp-dg-matrix ul{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.sp-dg-matrix li{border:1px solid var(--iconborder);border-top:3px solid var(--sp-accent);background:var(--paper2);text-align:center;border-radius:10px;padding:10px;font-size:12.5px;line-height:1.45}.sp-dg-stack{display:grid}.sp-dg-stack li{border:1px solid var(--dline);background:var(--paper2);box-shadow:var(--package-card-shadow);border-radius:12px;gap:4px;margin-inline-start:calc(var(--i) * 18px);padding:12px 14px;display:grid}.sp-dg-stack li+li{margin-top:-6px}.sp-dg-stack code{font-family:var(--font-monospace);color:var(--sp-accent);font-size:11px}.sp-dg-stack strong{font-size:13.5px}.sp-section{border-bottom:1px solid var(--dline);padding:clamp(48px,7vw,84px) 0}.sp-section[data-alt]{background:var(--paper2)}.sp-intro{gap:var(--sp-gap);grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start;display:grid}.sp-intro .sp-head{margin-bottom:0}.sp-points{gap:12px;display:grid}.sp-points li{border:1px solid var(--dline);background:var(--card);border-radius:16px;grid-template-columns:auto minmax(0,1fr);gap:4px 16px;padding:18px 20px;display:grid}.sp-points .sp-no{font-family:var(--font-monospace);color:var(--sp-accent);grid-row:span 2;font-size:13px;font-weight:700}.sp-points p{color:var(--body2);font-size:15px;line-height:1.8}.sp-flow{grid-template-columns:repeat(var(--n), minmax(0, 1fr));counter-reset:step;gap:12px;display:grid}.sp-flow li{border:1px solid var(--dline);border-top:3px solid var(--sp-accent);background:var(--card);border-radius:14px;align-content:start;gap:10px;padding:18px 16px;display:grid;position:relative}.sp-flow li+li:before{content:"";background:var(--sp-accent);top:28px;width:12px;height:2px;position:absolute;inset-inline-start:-13px}.sp-flow-no{font-family:var(--font-monospace);color:var(--sp-accent);font-size:12px;font-weight:700}.sp-flow dl{gap:8px;display:grid}.sp-flow dt{color:var(--body2);font-size:11.5px;font-weight:700}.sp-flow dd{font-size:13.5px;line-height:1.6}.sp-state{background:var(--sp-accent-soft);color:var(--deep);border-radius:999px;padding:1px 9px;font-size:12.5px;font-weight:700;display:inline-block}.sp-callout{background:color-mix(in oklab, var(--deep) 8%, var(--paper2));max-width:820px;color:var(--deep);border-radius:14px;align-items:flex-start;gap:10px;margin-top:22px;padding:14px 18px;font-size:15px;font-weight:600;line-height:1.75;display:flex}.sp-callout svg{width:18px;height:18px;color:var(--sp-accent);flex:none;margin-top:4px}.sp-records{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;display:grid}.sp-records li{border:1px solid var(--dline);background:var(--card);border-radius:16px;align-content:start;gap:10px;padding:18px 20px;display:grid}.sp-records-name{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 12px;display:flex}.sp-records code{font-family:var(--font-monospace);color:var(--body2);font-size:11.5px}.sp-records p{color:var(--body2);font-size:14.5px;line-height:1.75}.sp-distinct{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;display:grid}.sp-distinct li{background:var(--deep);color:var(--paper2);border-radius:16px;align-content:start;gap:10px;padding:20px;display:grid}.sp-distinct h3{color:var(--paper2);font-size:18px}.sp-distinct p{font-size:14.5px;line-height:1.7}.sp-distinct p span{color:var(--mint);font-size:11.5px;font-weight:700;display:block}.sp-distinct .sp-not{opacity:.85}.sp-distinct .sp-not span{color:color-mix(in oklab, var(--paper2) 70%, transparent)}.sp-roles{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;display:grid}.sp-roles li{border:1px solid var(--dline);border-inline-start:4px solid var(--sp-accent);background:var(--card);border-radius:16px;padding:20px}.sp-roles dl{gap:10px;margin-top:12px;display:grid}.sp-roles dt{color:var(--body2);font-size:11.5px;font-weight:700}.sp-roles dd{font-size:14.5px;line-height:1.7}.sp-decisions-grid,.sp-scope-grid{gap:var(--sp-gap);grid-template-columns:minmax(0,4fr) minmax(0,7fr);align-items:start;display:grid}.sp-decisions-grid .sp-head,.sp-scope-grid .sp-head{margin-bottom:0;position:sticky;top:96px}.sp-decisions{counter-reset:q;gap:12px;display:grid}.sp-decisions li{counter-increment:q;border:1px solid var(--dline);background:var(--card);border-radius:16px;padding:18px 20px;position:relative}.sp-decisions h3{font-size:17px}.sp-decisions h3:before{content:counter(q, decimal-leading-zero) "  ";font-family:var(--font-monospace);color:var(--sp-accent);font-size:12px}.sp-decisions p{color:var(--body2);margin-top:6px;font-size:15px;line-height:1.75}.sp-decisions dl{border-top:1px dashed var(--dline);flex-wrap:wrap;gap:6px 18px;margin-top:12px;padding-top:10px;display:flex}.sp-decisions dl div{gap:6px;font-size:13px;display:flex}.sp-decisions dt{color:var(--body2);font-weight:700}.sp-decisions dt:after{content:":"}.sp-reports{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;display:grid}.sp-reports li{border:1px solid var(--dline);background:var(--card);border-radius:14px;align-content:start;gap:8px;padding:18px;display:grid}.sp-reports p{color:var(--body2);font-size:14px;line-height:1.7}.sp-scope{gap:10px;display:grid}.sp-scope li{border:1px dashed var(--iconborder);background:var(--card);border-radius:14px;padding:16px 20px}.sp-scope li>div{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;display:flex}.sp-scope p{color:var(--body2);margin-top:6px;font-size:14.5px;line-height:1.75}.sp-screens{gap:18px;display:grid}.sp-screens[data-count="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}.sp-screens .pp-shot{margin:0}.sp-links{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.sp-links a,.sp-related-grid a{border:1px solid var(--dline);background:var(--card);border-radius:16px;gap:6px;height:100%;padding:18px 44px 18px 20px;transition:border-color .2s,transform .2s,box-shadow .2s;display:grid;position:relative}[dir=rtl] .sp-links a,[dir=rtl] .sp-related-grid a{padding:18px 20px 18px 44px}.sp-links a:hover,.sp-related-grid a:hover{border-color:var(--sp-accent);box-shadow:var(--package-card-shadow);transform:translateY(-2px)}.sp-links a:focus-visible,.sp-related-grid a:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.sp-links strong,.sp-related-grid strong{font-size:15.5px}.sp-links span,.sp-related-grid span{color:var(--body2);font-size:13.5px;line-height:1.65}.sp-links svg,.sp-related-grid svg{width:18px;height:18px;color:var(--sp-accent);top:20px;position:absolute;inset-inline-end:16px}.sp-cta{background:var(--deep);color:var(--paper2);padding:clamp(56px,8vw,96px) 0;position:relative;overflow:hidden}.sp-cta-photo{object-fit:cover;opacity:.28;width:100%;height:100%;position:absolute;inset:0}.sp-cta:after{content:"";background:linear-gradient(90deg, var(--deep) 30%, color-mix(in oklab, var(--deep) 60%, transparent));position:absolute;inset:0}[dir=rtl] .sp-cta:after{background:linear-gradient(270deg, var(--deep) 30%, color-mix(in oklab, var(--deep) 60%, transparent))}.sp-cta .dp-wrap{z-index:1;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;display:flex;position:relative}.sp-cta .dp-wrap>div{max-width:640px}.sp-cta .sp-kicker{color:var(--mint)}.sp-cta h2{color:var(--paper2)}.sp-cta p:not(.sp-kicker){color:color-mix(in oklab, var(--paper2) 86%, transparent);margin-top:10px;font-size:16.5px;line-height:1.85}.sp-related{padding:clamp(48px,7vw,80px) 0}.sp-related h2{margin-bottom:24px}.sp-related-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;display:grid}.sp-related-grid [data-overview] a{background:var(--sp-accent-soft)}@media (width<=1100px){.sp-flow{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.sp-flow li+li:before{content:none}}@media (width<=900px){.sp-hero-grid,.sp-hero[data-signature] .sp-hero-grid,.sp-intro,.sp-decisions-grid,.sp-scope-grid{grid-template-columns:minmax(0,1fr)}.sp-decisions-grid .sp-head,.sp-scope-grid .sp-head{margin-bottom:8px;position:static}.sp-hero-art{min-height:320px}.sp-legend,.sp-screens[data-count="2"]{grid-template-columns:minmax(0,1fr)}}@media (width<=560px){.sp-diagram{margin:10px;padding:14px 12px 10px}.sp-dg-timeline{grid-template-columns:minmax(0,1fr);gap:10px}.sp-dg-timeline:before{top:8px;bottom:8px;width:2px;height:auto;inset-inline:7px auto}.sp-dg-timeline li{text-align:start;grid-template-columns:auto minmax(0,1fr);justify-items:start;column-gap:10px}.sp-dg-timeline li span:last-child{grid-column:2}.sp-dg-loop ol,.sp-dg-matrix ul{grid-template-columns:minmax(0,1fr)}.sp-dg-loop li:nth-child(n){grid-area:auto}.sp-dg-return{display:none}.sp-dg-lane{grid-template-columns:minmax(0,1fr)}.sp-dg-ledger li{grid-template-columns:auto minmax(0,1fr)}.sp-dg-state{grid-column:2;justify-self:start}.sp-flow{grid-template-columns:minmax(0,1fr)}.sp-hero-art[data-has-shot] .sp-hero-photo,.sp-hero-art[data-has-shot]:after{width:92%;inset-inline-start:8%}.sp-hero-shot{width:100%}}@media (prefers-reduced-motion:reduce){.sp-links a,.sp-related-grid a{transition:none}.sp-links a:hover,.sp-related-grid a:hover{transform:none}}
