.prod-row{position:relative;padding-block:clamp(var(--space-8), 9vw, var(--space-10));border-top:1px solid var(--border-subtle)}.prod-row--flip{background:var(--surface-raised)}.prod-row__inner{display:grid;gap:clamp(var(--space-6), 5vw, var(--space-9));align-items:center;grid-template-columns:repeat(auto-fit,minmax(min(100%, 400px),1fr))}@media (min-width:1001px){.prod-row--flip .prod-panel{order:-1}}.prod-row__copy{display:flex;flex-direction:column;gap:var(--space-5);align-items:flex-start}.prod-row__meta{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap}.prod-row__title{font-size:var(--text-2xl);letter-spacing:var(--track-2xl);line-height:var(--leading-display)}.prod-row__prose{color:var(--text-secondary);max-width:56ch}.prod-row__prose p+p{margin-top:var(--space-3)}.prod-links{display:flex;gap:var(--space-4) var(--space-5);flex-wrap:wrap;align-items:center}.prod-explore[hidden]{display:none!important}.prod-price{width:100%;padding-top:var(--space-4);border-top:1px solid var(--border-subtle)}.prod-price__flag{color:var(--accent-interactive);margin-bottom:var(--space-2)}.prod-price__line{margin:0;display:flex;align-items:baseline;gap:var(--space-3);flex-wrap:wrap}.prod-price__was{color:var(--text-muted);text-decoration:line-through;font-size:var(--text-sm)}.prod-price__now{font-family:var(--font-display);font-weight:var(--weight-displayHeavy);font-size:var(--text-2xl);letter-spacing:var(--track-2xl);line-height:1}.prod-price__unit{color:var(--text-secondary);font-size:var(--text-sm)}.prod-price__note{margin-top:var(--space-2);color:var(--text-secondary);font-size:var(--text-sm);max-width:46ch}.prod-panel{margin:0;display:flex;flex-direction:column;gap:var(--space-3);min-width:0}.prod-panel__stage{position:relative;padding:clamp(var(--space-3), 2.4vw, var(--space-5));border:1px solid var(--border-default);border-radius:var(--radius-lg);background-color:var(--surface-raised);background-image:radial-gradient(circle at 1px 1px,var(--border-subtle) 1px,transparent 0);background-size:18px 18px;overflow:hidden}.prod-row--flip .prod-panel__stage{background-color:var(--surface-base)}.prod-panel__caption{font-size:var(--text-xs);color:var(--text-muted);line-height:var(--leading-snug);max-width:56ch}.prod-panel__tag{display:inline-block;margin-right:var(--space-2);padding:2px 8px;border:1px solid var(--border-accent);border-radius:999px;color:var(--accent-interactive);font-size:var(--text-2xs);letter-spacing:.1em;text-transform:uppercase}.prod-svg{display:block;width:100%;height:auto;overflow:visible;--prod-step:calc(var(--duration-normal) / 5)}.prod-zone{fill:none;stroke:var(--border-default);stroke-width:1;opacity:.6}.prod-lab{fill:var(--text-muted);font-family:var(--font-mono);font-size:9px;letter-spacing:.12em}.prod-lab--node{fill:var(--text-secondary);font-size:10px;letter-spacing:.06em}.prod-lab--sm{font-size:8px}.prod-axis{stroke:var(--border-strong);stroke-width:1}.prod-stub{stroke:var(--border-strong);stroke-width:1}.prod-node{fill:color-mix(in srgb,var(--text-primary) 4%,transparent);stroke:var(--border-strong);stroke-width:1}.prod-box{fill:color-mix(in srgb,var(--text-primary) 4%,transparent);stroke:var(--border-strong);stroke-width:1}.prod-bus{fill:none;stroke:var(--border-strong);stroke-width:1}.prod-bus-flow{fill:none;stroke:var(--accent-interactive);stroke-width:1.5;stroke-linecap:round;stroke-dasharray:5 11}.prod-arrowhead{fill:none;stroke:var(--accent-interactive);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.prod-pulse{fill:var(--accent-decorative)}.prod-mark{fill:var(--surface-raised);stroke:var(--accent-interactive);stroke-width:1.5}.prod-tick{fill:color-mix(in srgb,var(--text-muted) 24%,transparent)}.prod-tick.prod-is-booked{fill:color-mix(in srgb,var(--accent-decorative) 60%,transparent)}.prod-now{stroke:var(--accent-decorative);stroke-width:1;opacity:.55}.prod-tooth{fill:none;stroke:var(--border-strong);stroke-width:1}.prod-tooth.prod-is-charted{fill:color-mix(in srgb,var(--accent-decorative) 38%,transparent);stroke:var(--accent-decorative)}.prod-spark{fill:none;stroke:var(--border-strong);stroke-width:1.5;stroke-linejoin:round}.prod-spark-run{fill:none;stroke:var(--accent-decorative);stroke-width:1.5;stroke-linecap:round;stroke-dasharray:6 94}.prod-arc{fill:none;stroke:var(--accent-interactive);stroke-width:5;stroke-linecap:butt;stroke-dasharray:92 208;stroke-dashoffset:calc(var(--arc-off, 0) * 1px)}.prod-ring-ghost{fill:none;stroke:var(--border-strong);stroke-width:1;stroke-dasharray:2 6;transform-box:view-box;transform-origin:112px 127px}.prod-heat{fill:var(--accent-decorative);fill-opacity:var(--h,.4)}.prod-progress{fill:none;stroke:var(--accent-interactive);stroke-width:2;stroke-linecap:round}.prod-screen{fill:color-mix(in srgb,var(--accent-decorative) 10%,transparent);stroke:var(--border-accent);stroke-width:1}.prod-key{fill:color-mix(in srgb,var(--text-primary) 8%,transparent)}.prod-ledger-line{stroke:var(--border-strong);stroke-width:2;stroke-linecap:round}.prod-ack{fill:none;stroke:var(--success);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.prod-link{stroke:var(--border-strong);stroke-width:1}.prod-link-live{stroke:var(--accent-interactive);stroke-width:2}.prod-link-dead{stroke:var(--text-muted);stroke-width:2;stroke-dasharray:4 7;opacity:0}.prod-link-flow{fill:none;stroke:var(--accent-decorative);stroke-width:2;stroke-linecap:round;stroke-dasharray:4 16}.prod-break{stroke:var(--warning);stroke-width:2;stroke-linecap:round;opacity:0}.prod-state{font-family:var(--font-mono);font-size:9px;letter-spacing:.14em}.prod-state--down{fill:var(--warning);opacity:0}.prod-state--up{fill:var(--accent-interactive)}.prod-receipt__sheet{fill:color-mix(in srgb,var(--text-primary) 6%,transparent);stroke:var(--border-strong);stroke-width:1}.prod-receipt__edge{fill:var(--accent-decorative)}:is(.prod-row[data-reveal-state='running'],.prod-modal[open]) .prod-tick{transform-box:fill-box;transform-origin:50% 100%;animation:prod-grow var(--duration-slow) var(--ease-entrance) both;animation-delay:calc(var(--i, 0) * var(--prod-step))}:is(.prod-row[data-reveal-state='running'],.prod-modal[open]) .prod-tooth,:is(.prod-row[data-reveal-state='running'],.prod-modal[open]) .prod-node,:is(.prod-row[data-reveal-state='running'],.prod-modal[open]) .prod-mark,:is(.prod-row[data-reveal-state='running'],.prod-modal[open]) .prod-heat,:is(.prod-row[data-reveal-state='running'],.prod-modal[open]) .prod-key{transform-box:fill-box;transform-origin:50% 50%;animation:prod-pop var(--duration-slow) var(--ease-entrance) both;animation-delay:calc(var(--i, 0) * var(--prod-step))}:is(.prod-row[data-reveal-state='running'],.prod-modal[open]) .prod-tooth.prod-is-charted{animation-delay:calc(var(--i, 0) * var(--prod-step) + var(--duration-slow))}:is(.prod-row[data-reveal-state='running'],.prod-modal[open]) .prod-spark,:is(.prod-row[data-reveal-state='running'],.prod-modal[open]) .prod-progress{animation:prod-draw-100 calc(var(--duration-deliberate) * 1.4) var(--ease-standard) both}:is(.prod-row[data-reveal-state='running'],.prod-modal[open]) .prod-arc{animation:prod-arc-in var(--duration-deliberate) var(--ease-standard) both;animation-delay:calc(var(--i, 0) * var(--duration-normal))}:is(.prod-row[data-reveal-state='running'],.prod-modal[open]) .prod-now{animation:prod-sweep calc(var(--duration-deliberate) * 9) var(--ease-standard) infinite}:is(.prod-row[data-reveal-state='running'],.prod-modal[open]) .prod-bus-flow{animation:prod-dash-16 calc(var(--duration-deliberate) * 2) linear infinite}:is(.prod-row[data-reveal-state='running'],.prod-modal[open]) .prod-pulse{animation:prod-fall calc(var(--duration-deliberate) * 3) var(--ease-standard) infinite}:is(.prod-row[data-reveal-state='running'],.prod-modal[open]) .prod-spark-run{animation:prod-run-100 calc(var(--duration-deliberate) * 5) linear infinite}:is(.prod-row[data-reveal-state='running'],.prod-modal[open]) .prod-ring-ghost{animation:prod-spin calc(var(--duration-deliberate) * 40) linear infinite}.prod-svg--retail-pos{--loop:calc(var(--duration-deliberate) * 16)}:is(.prod-row[data-reveal-state='running'],.prod-modal[open]) .prod-link-live,:is(.prod-row[data-reveal-state='running'],.prod-modal[open]) .prod-state--up{animation:prod-online var(--loop) step-end infinite}:is(.prod-row[data-reveal-state='running'],.prod-modal[open]) .prod-link-dead,:is(.prod-row[data-reveal-state='running'],.prod-modal[open]) .prod-break,:is(.prod-row[data-reveal-state='running'],.prod-modal[open]) .prod-state--down{animation:prod-offline var(--loop) step-end infinite}:is(.prod-row[data-reveal-state='running'],.prod-modal[open]) .prod-link-flow{animation:prod-dash-20 calc(var(--duration-deliberate) * 1.6) linear infinite,prod-online var(--loop) step-end infinite}:is(.prod-row[data-reveal-state='running'],.prod-modal[open]) .prod-ack{animation:prod-ack var(--loop) var(--ease-standard) infinite}:is(.prod-row[data-reveal-state='running'],.prod-modal[open]) .prod-receipt{transform-box:fill-box;transform-origin:50% 50%;animation:prod-receipt var(--loop) var(--ease-standard) infinite both;animation-delay:calc(var(--i, 0) * var(--duration-slow) * 1.1)}@keyframes prod-grow{from{opacity:0;transform:scaleY(0)}to{opacity:1;transform:none}}@keyframes prod-pop{from{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}@keyframes prod-draw-100{from{stroke-dasharray:100 100;stroke-dashoffset:100}to{stroke-dasharray:100 100;stroke-dashoffset:0}}@keyframes prod-run-100{from{stroke-dashoffset:0}to{stroke-dashoffset:-100}}@keyframes prod-arc-in{from{stroke-dasharray:0 300}to{stroke-dasharray:92 208}}@keyframes prod-dash-16{from{stroke-dashoffset:0}to{stroke-dashoffset:-16}}@keyframes prod-dash-20{from{stroke-dashoffset:0}to{stroke-dashoffset:-20}}@keyframes prod-sweep{0%{transform:translateX(0);opacity:0}10%,90%{opacity:.55}100%{transform:translateX(390px);opacity:0}}@keyframes prod-fall{0%{transform:translateY(0);opacity:0}12%{opacity:1}84%{opacity:1}100%{transform:translateY(86px);opacity:0}}@keyframes prod-spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}@keyframes prod-online{0%{opacity:1}13%{opacity:0}63%{opacity:1}100%{opacity:1}}@keyframes prod-offline{0%{opacity:0}13%{opacity:1}63%{opacity:0}100%{opacity:0}}@keyframes prod-ack{0%{opacity:0;transform:scale(.8)}13%{opacity:0;transform:scale(.8)}70%{opacity:0;transform:scale(.8)}76%{opacity:1;transform:scale(1)}100%{opacity:1;transform:scale(1)}}@keyframes prod-receipt{0%{opacity:0;transform:translate(0,0) scale(1)}17%{opacity:0;transform:translate(0,0) scale(1)}21%{opacity:1;transform:translate(0,0) scale(1)}63%{opacity:1;transform:translate(0,0) scale(1)}72%{opacity:0;transform:translate(268px,-104px) scale(.5)}100%{opacity:0;transform:translate(268px,-104px) scale(.5)}}.prod-modal{width:min(1060px, calc(100vw - var(--space-6)));max-width:none;max-height:min(92dvh, 920px);padding:0;border:1px solid var(--border-strong);border-radius:var(--radius-xl);background:var(--surface-raised);color:var(--text-primary);box-shadow:var(--elevation-3);overflow:hidden auto;overscroll-behavior:contain}.prod-modal::backdrop{background:rgb(0 0 0 / .7);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.prod-modal[open]{animation:prod-modal-in var(--duration-normal) var(--ease-entrance) both}.prod-modal[open]::backdrop{animation:prod-fade var(--duration-normal) var(--ease-standard) both}@keyframes prod-modal-in{from{opacity:0;transform:translateY(12px) scale(.99)}to{opacity:1;transform:none}}@keyframes prod-fade{from{opacity:0}to{opacity:1}}.prod-modal__inner{position:relative;display:flex;flex-direction:column;gap:var(--space-6);padding:clamp(var(--space-5), 4vw, var(--space-8))}.prod-modal__close{position:absolute;top:var(--space-4);right:var(--space-4);display:grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-overlay);color:var(--text-secondary);cursor:pointer}.prod-modal__close:hover{color:var(--accent-interactive);border-color:var(--border-accent)}.prod-modal__close svg{width:16px;height:16px}.prod-modal__head{display:flex;flex-direction:column;gap:var(--space-4);padding-right:56px}.prod-modal__title{font-size:var(--text-2xl);letter-spacing:var(--track-2xl);line-height:var(--leading-display)}.prod-modal__lede{color:var(--text-secondary);max-width:62ch}.prod-modal__grid{display:grid;gap:clamp(var(--space-5), 4vw, var(--space-7));grid-template-columns:repeat(auto-fit,minmax(min(100%, 320px),1fr));align-items:start}.prod-modal__body{display:flex;flex-direction:column;gap:var(--space-5)}.prod-feat{list-style:none;margin:0;padding:0}.prod-feat__item{display:grid;gap:2px;padding:var(--space-3) 0;border-top:1px solid var(--border-subtle)}.prod-feat__item:last-child{border-bottom:1px solid var(--border-subtle)}.prod-feat__label{font-family:var(--font-display);font-weight:var(--weight-display-medium);font-size:var(--text-base)}.prod-feat__note{color:var(--text-secondary);font-size:var(--text-sm)}.prod-modal__notice p{font-size:var(--text-sm)}.prod-modal__cta{display:flex;gap:var(--space-4);flex-wrap:wrap}.prod-cap{position:relative;display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-6);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--glass-tint);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(1.3);backdrop-filter:blur(var(--glass-blur)) saturate(1.3);overflow:hidden}.prod-cap::before{content:'';position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg,transparent,var(--border-accent),transparent);pointer-events:none}@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.prod-cap{background:var(--surface-overlay)}}.prod-cap__icon{background:color-mix(in srgb,var(--accent-decorative) 10%,transparent)}.prod-cap__glyph path{stroke-dasharray:220;stroke-dashoffset:0}.prod-caps[data-reveal-state='running'] .prod-cap__glyph path{animation:prod-trace calc(var(--duration-deliberate) * 1.6) var(--ease-standard) both;animation-delay:var(--phase-delay,0ms)}.prod-cap:hover .prod-cap__glyph path{animation:prod-trace calc(var(--duration-deliberate) * 1.2) var(--ease-standard) both}@keyframes prod-trace{from{stroke-dashoffset:220}to{stroke-dashoffset:0}}.prod-mini{display:block;width:100%;height:auto;max-height:116px;margin-block:calc(var(--space-1) * -1);overflow:visible}.prod-mini__quiet{fill:none;stroke:var(--border-strong);stroke-width:1.5;stroke-linecap:round}.prod-mini__solid{fill:color-mix(in srgb,var(--text-muted) 26%,transparent)}.prod-mini__charted{fill:color-mix(in srgb,var(--accent-decorative) 32%,transparent);stroke:var(--accent-decorative)}.prod-mini__arc{fill:none;stroke:var(--border-strong);stroke-width:4;stroke-linecap:butt;stroke-dasharray:92 208;stroke-dashoffset:calc(var(--arc-off, 0) * 1px)}.prod-mini__live{fill:none;stroke:var(--accent-interactive);stroke-width:2;stroke-linecap:round}.prod-mini__live--fill{fill:var(--accent-decorative);stroke:none}.prod-mini__ring{stroke-width:1.5;stroke-dasharray:4 6}.prod-mini__link{stroke-dasharray:4 6}.card--product:hover .prod-mini__live--dash,.card--product:focus-visible .prod-mini__live--dash{animation:prod-dash-20 calc(var(--duration-deliberate) * 1.4) linear infinite}.card--product:hover .prod-mini__live--pulse,.card--product:focus-visible .prod-mini__live--pulse{transform-box:fill-box;transform-origin:50% 50%;animation:prod-mini-pulse calc(var(--duration-deliberate) * 2) var(--ease-standard) infinite}@keyframes prod-mini-pulse{0%,100%{opacity:1;transform:none}50%{opacity:.45;transform:scale(.82)}}.sos-pull{margin-block:var(--space-5);padding-left:var(--space-5);border-left:2px solid var(--border-accent);color:var(--text-primary);font-size:var(--text-lg);line-height:var(--leading-snug);max-width:34ch}.sos-core{fill:color-mix(in srgb,var(--accent-decorative) 12%,transparent);stroke:var(--border-accent);stroke-width:1}.sos-core__mark{fill:var(--text-muted);font-size:8px;letter-spacing:.18em}.sos-core__name{fill:var(--accent-interactive);font-family:var(--font-display);font-weight:var(--weight-display-medium);font-size:15px;letter-spacing:.06em}.prod-lab--stop{font-size:8.5px;letter-spacing:.06em}@media (max-width:700px){.prod-lab--stop{font-size:11px}}.sos-connect{display:grid;gap:clamp(var(--space-6), 5vw, var(--space-9));align-items:start;margin-top:var(--space-8)}@media (min-width:1001px){.sos-connect{grid-template-columns:minmax(0,5fr) minmax(0,6fr)}.sos-connect__fig{position:sticky;top:calc(var(--header-h) + var(--space-5))}}.sos-journey{list-style:none;margin:0;padding:0;position:relative}.sos-journey__item{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-4) var(--space-5);padding-block:var(--space-5);border-top:1px solid var(--border-subtle)}.sos-journey__item:last-child{border-bottom:1px solid var(--border-subtle)}.sos-journey__index{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--accent-interactive);min-width:3ch;padding-top:2px}.sos-journey__title{font-size:var(--text-lg);letter-spacing:var(--track-xl);line-height:var(--leading-snug)}.sos-journey__body{margin-top:var(--space-2);color:var(--text-secondary);font-size:var(--text-sm);max-width:60ch}.sos-modules{list-style:none;margin:auto 0 0;padding:var(--space-4) 0 0;border-top:1px solid var(--border-subtle);display:flex;flex-wrap:wrap;gap:4px var(--space-3)}.sos-modules__item{position:relative;font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.04em;color:var(--text-muted);white-space:nowrap}.sos-modules__item+.sos-modules__item::before{content:'';position:absolute;left:calc(var(--space-3) / -2);top:50%;width:2px;height:2px;border-radius:999px;background:var(--border-strong)}.sos-domain .card__body{flex:0 0 auto;max-width:42ch}.sos-portals .ledger__row{grid-template-columns:auto minmax(0,1fr)}.sos-portals .ledger__title{font-size:var(--text-xl);letter-spacing:var(--track-xl)}.sos-roadmap__card .status{align-self:flex-start}.sos-fig[data-reveal-state='running'] .prod-node,.sos-fig[data-reveal-state='running'] .prod-mark{transform-box:fill-box;transform-origin:50% 50%;animation:prod-pop var(--duration-slow) var(--ease-entrance) both;animation-delay:calc(var(--i, 0) * var(--prod-step))}.sos-fig[data-reveal-state='running'] .prod-bus-flow{animation:prod-dash-16 calc(var(--duration-deliberate) * 2) linear infinite}.sos-fig[data-reveal-state='running'] .sos-flow{animation-delay:calc(var(--i, 0) * var(--duration-normal) * -0.7)}.sos-fig[data-reveal-state='running'] .sos-drop{animation:sos-drop calc(var(--duration-deliberate) * 6) var(--ease-standard) infinite}@keyframes sos-drop{0%{transform:translateY(0);opacity:0}8%{opacity:1}88%{opacity:1}100%{transform:translateY(270px);opacity:0}}@media (prefers-reduced-motion:reduce){.prod-svg *,.prod-mini *,.prod-cap__glyph path,.prod-modal[open],.prod-modal[open]::backdrop{animation:none!important}}