/* Home: three-processes-stage.png rebuilt in HTML/SVG (markup in template-parts/fig-home.php). */
.fig-home .fg-home-root{container:fghome/inline-size;max-width:1120px;margin:0 auto;-webkit-font-smoothing:antialiased}
.fig-home .fg-home-root *{box-sizing:border-box}
.fig-home .fg-home-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
:where(.fig-home) a{text-decoration:none;color:inherit}
.fig-home a:focus-visible{outline:2px solid #ff5a1a;outline-offset:4px}

/* Desktop: a fixed 1200×486 canvas, sized from the column width */
.fg-home-stage{position:relative;aspect-ratio:1200/486;filter:drop-shadow(0 26px 28px rgba(17,24,47,.22))}
.fg-home-wires{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.fg-home-pipe path{fill:none;stroke-linecap:round}
.fg-home-pipe .glow{stroke:var(--c);stroke-width:26;opacity:.38;filter:url(#fg-home-blur)}
.fg-home-pipe .core{stroke:var(--c);stroke-width:13}
.fg-home-pipe .pulse{stroke:#fff;stroke-width:5;stroke-dasharray:7 93;stroke-dashoffset:100;opacity:.9;animation:fg-home-flow 3.2s linear infinite}
.fg-home-pipe:nth-of-type(2) .pulse{animation-delay:-1.1s}
.fg-home-pipe:nth-of-type(3) .pulse{animation-delay:-2.2s}
@keyframes fg-home-flow{to{stroke-dashoffset:0}}
.fg-home-node{animation:fg-home-beat 3.2s ease-in-out infinite}
@keyframes fg-home-beat{50%{opacity:.55}}

.fg-home-pod{position:absolute;top:.4%;width:32.6%;height:38.6%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2.2cqw;
  border-radius:3.4cqw;border:.42cqw solid var(--pc);background:linear-gradient(180deg,#1d212c,#0f1218 70%);
  box-shadow:0 0 1.4cqw var(--pg),inset 0 0 1.6cqw rgba(255,255,255,.05);transition:transform .25s,box-shadow .25s}
.fg-home-pod-p2p{left:0;--pc:#ff8a1a;--pg:rgba(255,138,26,.55);--a:#ff8a1a;--b:#c75f00;--c:#ffb866}
.fg-home-pod-o2c{left:33.7%;--pc:#ff2a3d;--pg:rgba(255,42,61,.55);--a:#ee2b3b;--b:#a8121f;--c:#ff7a85}
.fg-home-pod-log{left:67.4%;--pc:#ff2d9a;--pg:rgba(255,45,154,.55);--a:#ec2f8f;--b:#a3125f;--c:#ff8cc6}
.fg-home-pod:hover{transform:translateY(-.3cqw);box-shadow:0 0 2.4cqw var(--pg),inset 0 0 1.6cqw rgba(255,255,255,.07)}
.fg-home-pod-title{margin:0;font-size:1.7cqw;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:#fff;line-height:1}
.fg-home-pod-title a:hover{color:var(--c)}

.fg-home-steps{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:3.2cqw}
.fg-home-steps li{position:relative}
.fg-home-steps li+li::before{content:'';position:absolute;left:-2.55cqw;top:42%;width:1.9cqw;height:.22cqw;border-radius:2px;background:var(--pc)}
.fg-home-steps li+li::after{content:'';position:absolute;left:-1.05cqw;top:calc(42% - .45cqw);border:.55cqw solid transparent;border-left:.6cqw solid var(--pc);border-right:0;transform:translateY(.1cqw)}
.fg-home-step{position:relative;display:block;width:7.6cqw;padding-bottom:1.2cqw}
.fg-home-step::before{content:'';position:absolute;left:4%;right:4%;bottom:.2cqw;height:1.6cqw;border-radius:50%;
  background:radial-gradient(closest-side,#3a3f4f,#20232d 70%,transparent);box-shadow:0 .3cqw .6cqw rgba(0,0,0,.4)}
.fg-home-ic{position:relative;display:block;width:100%;height:auto;transition:transform .25s}
.fg-home-step:hover .fg-home-ic,.fg-home-step:focus-visible .fg-home-ic{transform:translateY(-.5cqw) scale(1.06)}
.fg-home-step::after{content:attr(data-label);position:absolute;left:50%;top:calc(100% + .6cqw);transform:translate(-50%,-.3cqw);white-space:nowrap;
  padding:.35cqw .8cqw;border-radius:99px;background:#fff;color:#141a2e;font-size:max(11px,1cqw);font-weight:700;box-shadow:0 4px 14px rgba(17,24,47,.25);
  opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:3}
.fg-home-step:hover::after,.fg-home-step:focus-visible::after{opacity:1;transform:translate(-50%,0)}

.fg-home-base{position:absolute;left:3.5%;right:3.5%;top:66%;height:18%;display:grid;place-items:center;border-radius:3cqw}
.fg-home-base span{font-size:2.9cqw;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#fff;transition:text-shadow .25s}
.fg-home-base:hover span,.fg-home-base:focus-visible span{text-shadow:0 0 1.4cqw rgba(140,100,255,.9)}

/* Phones and narrow columns: pods stack over the platform */
@container fghome (max-width:640px){
  .fg-home-stage{aspect-ratio:auto;display:flex;flex-direction:column;gap:14px;padding-bottom:4px}
  .fg-home-wires{display:none}
  .fg-home-pod{position:relative;left:auto;top:auto;width:100%;height:auto;padding:16px 12px 22px;gap:14px;border-width:3px;border-radius:22px;box-shadow:0 0 12px var(--pg)}
  .fg-home-pod-title{font-size:15px}
  .fg-home-steps{gap:30px}
  .fg-home-steps li+li::before{left:-24px;width:16px;height:2px}
  .fg-home-steps li+li::after{left:-11px;top:calc(42% - 5px);border-width:5px;border-left-width:6px}
  .fg-home-step{width:64px;padding-bottom:10px}
  .fg-home-step::before{height:12px}
  .fg-home-step::after{font-size:11px;padding:4px 9px;top:calc(100% + 4px)}
  .fg-home-pod::after{content:'';position:absolute;left:50%;bottom:-16px;width:6px;height:16px;margin-left:-3px;border-radius:3px;background:var(--pc);box-shadow:0 0 8px var(--pg)}
  .fg-home-base{position:relative;left:auto;right:auto;top:auto;height:auto;padding:24px 12px;border-radius:20px;
    background:linear-gradient(180deg,#2a3554,#18213b 25%,#0b1022);border:2px solid rgba(86,101,154,.55);box-shadow:0 14px 26px -8px rgba(80,90,255,.45)}
  .fg-home-base span{font-size:17px}
}
@media (prefers-reduced-motion:reduce){.fig-home .fg-home-pulse,.fig-home .pulse{display:none}.fig-home .fg-home-node{animation:none}.fig-home *{transition:none!important}}

/* Home dark band (2026-10-23): the platform graphic moves under the promise band, on navy */
.fig-home.dark{padding:76px 0 56px;background:radial-gradient(rgba(255,255,255,.05) 1px,transparent 1.2px) 0 0/26px 26px,radial-gradient(900px 420px at 50% 70%,rgba(110,90,255,.16),transparent 70%),linear-gradient(180deg,#0c1228,#121a35)}
.fig-home.dark::after{background:repeating-radial-gradient(circle,rgba(255,255,255,.05) 0 1px,transparent 1px 46px)}
.fig-home.dark .stage-glow{opacity:.55}
.fig-home .fg-home-head{margin:0 auto 40px;text-align:center;font-size:clamp(1.6rem,2.6vw,2.4rem);font-weight:700;letter-spacing:-.025em;line-height:1.15;color:#fff}
.fig-home .fg-home-head span{display:block;margin-bottom:8px;font-size:.5em;letter-spacing:.08em;text-transform:uppercase;color:#ffac5a}
.fig-home.dark .fg-home-stage{filter:drop-shadow(0 26px 34px rgba(0,0,0,.45))}
@media(max-width:680px){.fig-home.dark{padding:48px 0 32px}.fig-home .fg-home-head{margin-bottom:26px}}
