
/* ================= founders · iteration 2 ================= */

/* ---------- 01 hero: headline, then the raise as one working screen ---------- */
.fx-raise{display:grid;grid-template-columns:236px minmax(0,1fr)}
/* steps: a quiet vertical stepper */
.fx-steps{padding:18px 14px 18px 18px;box-shadow:inset -1px 0 0 var(--fx-rule)}
.fx-steps h4{margin:0 0 14px;font-size:12px;font-weight:600;color:#8A90A6}
.fx-steps ol{list-style:none;margin:0;padding:0}
.fx-st{position:relative;display:grid;grid-template-columns:20px minmax(0,1fr);gap:12px;padding:0 0 16px}
.fx-st:last-child{padding-bottom:0}
.fx-st::after{content:"";position:absolute;left:9.5px;top:24px;bottom:2px;width:1px;background:#DDE2EF;transition:background-color .3s ease}
.fx-st:last-child::after{content:none}
.fx-st.dn::after{background:var(--fx-blue)}
.fx-st .sd{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 1.5px #D5DAEA;color:#fff;font-size:11px;transition:background-color .3s ease,box-shadow .3s ease}
.fx-st .sd .ph{opacity:0;transform:scale(.5);transition:opacity .25s ease,transform .35s var(--ease)}
.fx-st.dn .sd{background:var(--fx-blue);box-shadow:none}
.fx-st.dn .sd .ph{opacity:1;transform:none}
.fx-st.cur .sd{box-shadow:inset 0 0 0 1.5px var(--fx-blue)}
.fx-st.cur .sd::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--fx-blue)}
.fx-st b{display:block;font-size:13px;line-height:20px;font-weight:500;color:#8A90A6;transition:color .3s ease}
.fx-st em{display:block;font-style:normal;font-size:11.5px;line-height:1.35;color:#9AA0B4}
.fx-st.dn b,.fx-st.cur b{color:var(--ink)}
.fx-st.cur em{color:var(--fx-blue)}
/* workspace */
.fx-ws{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);grid-template-rows:auto 1fr;gap:14px;padding:18px;background:var(--fx-soft);min-width:0}
.fx-card{border-radius:12px;background:#fff;box-shadow:0 0 0 1px rgba(17,22,43,.07);min-width:0}
.fx-card .hd{display:flex;align-items:center;gap:8px;height:44px;padding:0 16px;box-shadow:inset 0 -1px 0 var(--fx-rule)}
.fx-card .hd b{font-size:13px;font-weight:600}
.fx-card .hd .sp{flex:1}
.fx-card .hd em{font-style:normal;font-size:11.5px;color:#8A90A6;font-variant-numeric:tabular-nums}
.fx-rd{grid-column:1/-1}
.fx-areas{display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}
.fx-area{display:flex;flex-direction:column;gap:9px;padding:14px 16px 16px}
.fx-area+.fx-area{box-shadow:inset 1px 0 0 var(--fx-rule)}
.fx-area b{font-size:12.5px;font-weight:500}
.fx-area .kbar{height:4px}
.fx-area em{font-style:normal;font-size:11.5px;color:#6B7083;transition:opacity .3s ease}
.fx-area.warn em{color:var(--fx-warn);font-weight:500}
.fx-area.warn .kbar i{background:#C7862B}
.fx-area.wait em{opacity:0}
.fx-fit .row{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:12px;align-items:center;padding:11px 16px;box-shadow:inset 0 -1px 0 #F3F4F7}
.fx-fit .row:last-child{box-shadow:none}
.fx-fit .lm{width:28px;height:28px}
.fx-fit .fn{display:block;font-size:13.5px}
.fx-fit .fwhy{display:flex;align-items:center;gap:5px;margin-top:2px;font-size:11.5px;color:#6B7083;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fx-fit .fwhy .ph{flex:none;font-size:11px;color:var(--fx-blue)}
.fx-ev{display:grid;grid-template-columns:24px minmax(0,1fr);gap:10px;padding:11px 16px;box-shadow:inset 0 -1px 0 #F3F4F7;font-size:12.5px;line-height:1.4;color:var(--fx-ink2)}
.fx-ev:last-child{box-shadow:none}
.fx-ev img{width:24px;height:24px;border-radius:50%;object-fit:cover}
.fx-ev .lm{width:24px;height:24px;border-radius:7px}
.fx-ev em{display:block;margin-top:1px;font-style:normal;font-size:11.5px;color:#8A90A6}

/* ---------- 03 showcase: restored from iteration 1 ---------- */
/* deck */
.fo-dk{position:absolute;left:28px;right:28px;top:22px;bottom:22px;display:flex;gap:16px;justify-content:center}
.fo-dk ol{flex:none;width:150px;list-style:none;margin:0;padding:8px;border-radius:12px;background:#fff;box-shadow:0 0 0 1px rgba(17,22,43,.06);display:grid;gap:1px;align-content:start;font-size:12px}
.fo-dk li{display:flex;gap:8px;padding:3px 6px;line-height:17px;border-radius:7px;color:#6B7083}
.fo-dk li i{font-style:normal;color:#9AA0B4;width:10px}
.fo-dk li.on{background:#F1F4FF;color:var(--ink)}
.fo-dk li.on i{color:#3A5CC0}
.fo-sl{position:relative;height:100%;aspect-ratio:16/9;flex:none;border-radius:10px;overflow:hidden;display:grid;grid-template-columns:55% 45%;background:radial-gradient(120% 140% at 0% 100%,#22307A 0%,#0E1433 55%);box-shadow:0 0 0 1px rgba(17,22,43,.1),0 16px 30px -20px rgba(14,20,51,.6)}
.fo-sl .l{padding:16px 18px;display:flex;flex-direction:column;color:#fff}
.fo-sl .klg{display:flex;align-items:center;gap:6px;font-size:10px;font-weight:600}
.fo-sl .klg i{display:grid;place-items:center;width:15px;height:15px;border-radius:4px;background:#3B5BDB;font:600 9px/1 "Playfair Display",serif;font-style:normal}
.fo-sl h5{margin:auto 0 0;font-size:19px;line-height:1.08;letter-spacing:-.03em;font-weight:600}
.fo-sl p{margin:8px 0 2px;font-size:9.5px;color:rgba(255,255,255,.65)}
.fo-sl .kim{position:relative;background:url(/v2/demo/merchant.jpg) center/cover}
.fo-sl .kim::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0E1433 0%,rgba(14,20,51,0) 45%)}
.fo-sl .kgen{position:absolute;right:8px;top:8px;z-index:1;padding:2px 7px;border-radius:5px;background:rgba(255,255,255,.94);font-size:9px;font-weight:500;color:#3A5CC0}
/* connectors */
.fo-cn{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;gap:10px;padding:0 28px}
.fo-cn .kchip{height:38px;padding:0 14px 0 10px;border-radius:10px;font-size:13px;gap:10px}
.fo-cn .kchip svg{width:18px;height:18px;fill:currentColor}
.fo-cn .kchip .ok{margin-left:auto;font-size:11.5px;color:#3A5CC0;display:inline-flex;align-items:center;gap:4px}
/* registry */
.fo-rg{position:absolute;left:24px;right:24px;top:24px;border-radius:12px;background:#fff;box-shadow:0 0 0 1px rgba(17,22,43,.06);padding:4px 14px}
.fo-rg .krow{padding:10px 0}
/* outreach */
.fo-ot{position:absolute;left:24px;right:24px;top:24px;border-radius:12px;background:#fff;box-shadow:0 0 0 1px rgba(17,22,43,.06);padding:14px 16px;font-size:12px;line-height:1.5;color:#4D5265}
.fo-ot .to{display:flex;align-items:center;gap:8px;margin-bottom:8px;color:var(--ink);font-size:12.5px}
.fo-ot mark{background:#EAEEFF;color:var(--ink);border-radius:4px;padding:0 3px}
.fo-ot .kft{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:12px}
.fo-ot .kft em{font-style:normal;font-size:11px;color:#8A90A6;display:inline-flex;align-items:center;gap:5px}
/* pipeline */
.fo-pp{position:absolute;left:24px;right:24px;top:24px;display:grid;gap:6px}
.fo-pp div{display:flex;align-items:center;gap:10px;height:30px;padding:0 12px;border-radius:9px;background:#fff;box-shadow:0 0 0 1px rgba(17,22,43,.06);font-size:12.5px}
.fo-pp div b{font-weight:500;flex:1}
.fo-pp div em{font-style:normal;font-size:11.5px;color:#8A90A6;font-variant-numeric:tabular-nums}
.fo-pp div.on{box-shadow:0 0 0 1.5px #3A5CC0}
.fo-pp div.on em{color:#3A5CC0;font-weight:600}
@media (max-width:640px){.fo-dk ol{display:none}.fo-sl{height:auto;width:100%}}
/* feature showcase: tabs on the left, one big stage on the right (Heron / V7 / Maze pattern) */
.fshow{display:grid;grid-template-columns:minmax(0,380px) minmax(0,1fr);gap:24px;margin-top:48px;align-items:stretch}
.ftabs{display:flex;flex-direction:column;gap:2px}
.ftab{all:unset;position:relative;box-sizing:border-box;display:grid;grid-template-columns:36px minmax(0,1fr);gap:14px;padding:18px 16px;border-radius:14px;cursor:pointer;overflow:hidden;transition:background-color .25s ease}
.ftab .ic{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:#EEF0F5;color:#6B7083;font-size:17px;transition:background-color .25s ease,color .25s ease}
.ftab b{display:block;margin-top:7px;font-size:16px;font-weight:600;letter-spacing:-.01em;color:#6B7083;transition:color .25s ease}
.ftab em{display:grid;grid-template-rows:0fr;font-style:normal;font-size:14px;line-height:1.55;color:var(--body);opacity:0;transition:grid-template-rows .45s var(--ease),opacity .3s ease,margin .45s var(--ease)}
.ftab em>span{min-height:0;overflow:hidden}
.ftab .bar{position:absolute;left:0;right:0;bottom:0;height:2px;background:#3A5CC0;transform:scaleX(0);transform-origin:0 50%;opacity:0}
.ftab.on{background:#fff;box-shadow:inset 0 0 0 1px var(--line)}
.ftab.on .ic{background:var(--ice);color:var(--cobalt)}
.ftab.on b{color:var(--ink)}
.ftab.on em{grid-template-rows:1fr;opacity:1;margin-top:6px}
.ftab.on .bar{opacity:1;animation:fbar var(--dur,6s) linear forwards}
@keyframes fbar{to{transform:scaleX(1)}}
@media (hover:hover){.ftab:not(.on):hover b{color:var(--ink)}}
.fstage{position:relative;min-height:460px;border-radius:24px;background:linear-gradient(180deg,#EEF1FE 0%,#E3E8FD 100%);overflow:hidden}
.fvis{position:absolute;inset:0;display:grid;place-items:center;opacity:0;transform:translateY(10px);transition:opacity .35s ease,transform .5s var(--ease);pointer-events:none}
.fvis.on{opacity:1;transform:none}
.fcv{position:relative;width:520px;height:236px;transform:scale(1.24);transform-origin:50% 50%}
@media (max-width:1000px){.fshow{grid-template-columns:1fr}.fstage{min-height:300px}.fcv{transform:scale(1)}}
@media (max-width:560px){.fcv{transform:scale(.62)}}
/* showcase · deck */
.fo-dk li{transition:background-color .3s ease,color .3s ease}
.fo-dk li i{position:relative}
.fo-dk li.dn i{color:transparent}
.fo-dk li.dn i::after{content:"";position:absolute;left:1px;top:3px;width:4px;height:7px;border:solid #3A5CC0;border-width:0 1.6px 1.6px 0;transform:rotate(45deg)}
.fo-sl h5{min-height:60px}
.fo-sl h5.ty::after{content:"";display:inline-block;width:2px;height:.9em;margin-left:2px;vertical-align:-1px;background:#fff;animation:fobl 1s steps(1) infinite}
@keyframes fobl{50%{opacity:0}}
.fo-sl .kim{clip-path:inset(0 0 0 100%);transition:clip-path 1s cubic-bezier(.65,0,.35,1)}
.fo-sl.img .kim{clip-path:inset(0)}
.fo-sl .kgen{opacity:0;transition:opacity .35s ease .7s}
.fo-sl.img .kgen{opacity:1}
.fo-sl .shim{position:absolute;right:0;top:0;bottom:0;width:45%;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.14) 50%,transparent 70%) #1A2253;background-size:220% 100%;animation:foshim 1.1s linear infinite;opacity:0;transition:opacity .3s ease}
.fo-sl.gen .shim{opacity:1}
@keyframes foshim{to{background-position:-120% 0}}
/* showcase · numbers */
.fo-cn2{position:absolute;inset:18px 22px;display:grid;grid-template-columns:230px minmax(0,1fr);gap:14px;align-items:center}
.fo-cn2 .cl{display:flex;flex-direction:column;gap:8px}
.fo-cn2 .kchip{height:38px;padding:0 12px 0 10px;border-radius:10px;font-size:13px;gap:10px}
.fo-cn2 .kchip svg{width:18px;height:18px;fill:currentColor;flex:none}
.fo-cn2 .kchip .ok{margin-left:auto;font-size:11.5px;display:inline-flex;align-items:center;gap:4px;color:#8A90A6;white-space:nowrap}
.fo-cn2 .kchip[data-s="on"] .ok{color:#3A5CC0}
.fo-cn2 .kchip[data-s="on"] .ok::before{content:"";width:4px;height:8px;margin:0 3px 2px 0;border:solid currentColor;border-width:0 1.6px 1.6px 0;transform:rotate(45deg)}
.fo-cn2 .kchip[data-s="on"]{box-shadow:inset 0 0 0 1px rgba(58,92,192,.35)}
.fo-cn2 .kchip .spn{width:11px;height:11px;border-radius:50%;border:1.5px solid #DDE3FF;border-top-color:#3A5CC0;animation:faspin .8s linear infinite}
@keyframes faspin{to{transform:rotate(360deg)}}
.fo-mrr{border-radius:12px;background:#fff;box-shadow:0 0 0 1px rgba(17,22,43,.06),0 10px 24px -16px rgba(40,60,150,.4);padding:12px 14px 10px}
.fo-mrr .t{display:flex;justify-content:space-between;align-items:center;font-size:11.5px;color:#8A90A6}
.fo-mrr b{display:block;margin-top:4px;font-size:22px;font-weight:600;letter-spacing:-.02em;color:var(--ink)}
.fo-mrr b small{font-size:12px;font-weight:500;color:#3A5CC0;margin-left:6px}
.fo-mrr svg:not(.ph){display:block;width:100%;height:70px;margin-top:6px;overflow:visible}
.fo-mrr .src2 .ph{font-size:11px}
.fo-mrr .ln{fill:none;stroke:#3A5CC0;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:400;stroke-dashoffset:400;transition:stroke-dashoffset 1.2s cubic-bezier(.65,0,.35,1)}
.fo-mrr .ar{fill:url(#fogr);opacity:0;transition:opacity .6s ease .6s}
.fo-mrr.on .ln{stroke-dashoffset:0}.fo-mrr.on .ar{opacity:1}
.fo-mrr .src2{display:flex;align-items:center;gap:5px;margin-top:6px;font-size:10.5px;color:#8A90A6}
/* showcase · firms */
.fo-rg .krow em{transition:color .3s ease}
.fo-rg .krow .pill{transition:opacity .3s ease,transform .4s cubic-bezier(.34,1.56,.64,1)}
.fo-rg .krow.rd .pill{opacity:0;transform:scale(.7)}
.fo-rg .krow.rd em{color:#3A5CC0}
/* showcase · intro */
.fo-ot .body{min-height:54px}
.fo-ot .kft{margin-top:10px}
.fo-ot .mini-btn{transition:transform .14s ease,background-color .25s ease}
.fo-ot .mini-btn.press{transform:scale(.93)}
.fo-ot .sent{display:none;align-items:center;gap:6px;font-size:12px;font-weight:500;color:#3A5CC0}
.fo-ot.done .sent{display:inline-flex}.fo-ot.done .mini-btn{display:none}
/* showcase · pipeline */
.fo-kb{position:absolute;inset:16px 18px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.fo-kb .col{display:flex;flex-direction:column;gap:6px;padding:8px;border-radius:10px;background:rgba(255,255,255,.55)}
.fo-kb .col>b{display:flex;justify-content:space-between;font-size:11px;font-weight:600;color:#6B7083;padding:0 2px}
.fo-kb .col>b em{font-style:normal;font-weight:500;color:#8A90A6;font-variant-numeric:tabular-nums}
.fo-kb .cd{position:relative;display:flex;flex-direction:column;gap:3px;padding:8px 9px;border-radius:8px;background:#fff;box-shadow:0 0 0 1px rgba(17,22,43,.06);font-size:11.5px}
.fo-kb .cd .r1{display:flex;align-items:center;gap:7px;font-weight:600}
.fo-kb .cd .s{font-size:10.5px;color:#8A90A6}
.fo-kb .cd.me{box-shadow:0 0 0 1.5px #3A5CC0,0 8px 16px -10px rgba(58,92,192,.5)}
.fo-kb .cd.me .s{color:#3A5CC0;font-weight:500}
.fo-kb .cd .dot{position:absolute;right:8px;top:9px;width:7px;height:7px;border-radius:50%;background:#3A5CC0;opacity:0;transition:opacity .3s ease}
.fo-kb .cd.new .dot{opacity:1}

/* ---------- 04 readiness: the check, and the one thing to do next ---------- */
.fx-rc{border-radius:18px;background:#fff;box-shadow:0 0 0 1px rgba(17,22,43,.07);overflow:hidden;font-size:13px}
.fx-rc .hd{display:flex;align-items:center;gap:10px;height:56px;padding:0 22px;box-shadow:inset 0 -1px 0 var(--fx-rule)}
.fx-rc .hd .ph{color:var(--fx-blue);font-size:17px}
.fx-rc .hd b{font-size:15px;font-weight:600}
.fx-rc .hd .sp{flex:1}
.fx-rr{display:grid;grid-template-columns:104px minmax(0,1fr) 84px;gap:18px;align-items:center;height:50px;padding:0 22px;box-shadow:inset 0 -1px 0 #F3F4F7}
.fx-rr b{font-weight:500}
.fx-rr .kbar{height:6px;border-radius:3px}
.fx-rr .kbar i{border-radius:3px}
.fx-rr .s{justify-self:end;display:inline-flex;align-items:center;gap:5px;font-size:12px;color:#6B7083;transition:opacity .3s ease}
.fx-rr .s .ph{font-size:12px;color:var(--fx-blue)}
.fx-rr.wait .s{opacity:0}
.fx-rr.warn{background:#FFFCF6}
.fx-rr.warn .kbar i{background:#C7862B}
.fx-rr.warn .s{color:var(--fx-warn);font-weight:500}
.fx-nx{display:grid;grid-template-columns:52px minmax(0,1fr);gap:14px;align-items:start;padding:16px 22px 18px;background:#FFFCF6;box-shadow:inset 0 -1px 0 #F3F4F7}
.fx-nx .fa{display:grid;place-items:end center;width:52px;height:52px;border-radius:14px;background:#FFFFFF;box-shadow:0 0 0 1px rgba(17,22,43,.07);overflow:hidden}
.fx-nx .fa img{width:40px;height:auto;margin-bottom:-4px}
.fx-nx b{display:block;font-size:13.5px;font-weight:600;color:var(--ink)}
.fx-nx p{margin:3px 0 0;font-size:13px;line-height:1.55;color:#4D5265}
/* while the check runs, the next step is already there, faded, and comes forward once Numbers is checked */
.fx-nx .tx{display:block;transition:opacity .4s ease}
.fx-rc.wait .fx-nx .tx{opacity:.3}
.fx-rc .cost{display:flex;align-items:center;gap:8px;height:44px;padding:0 22px;font-size:12px;color:#8A90A6}
.fx-rc .cost .ph{font-size:13px}

/* ---------- responsive ---------- */
@media (max-width:1100px){
  .fx-show{grid-template-columns:300px minmax(0,1fr)}
  .fx-raise{grid-template-columns:200px minmax(0,1fr)}
}
@media (max-width:1000px){
  .fx-raise{grid-template-columns:1fr;min-height:0}
  .fx-steps{display:none}
  .fx-show{grid-template-columns:1fr;gap:20px}
  .fx-tabs{flex-direction:row;overflow-x:auto;gap:6px;padding:2px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .fx-tabs::-webkit-scrollbar{display:none}
  .fx-tab{flex:none;grid-template-columns:18px auto;align-items:center;padding:12px 14px;gap:10px;min-height:44px}
  .fx-tab>.ph{margin:0;font-size:16px}
  .fx-tab b{font-size:14.5px;white-space:nowrap}
  .fx-tab em{display:none}
  .fx-tab .bar{left:14px;right:14px}
  .fx-stage{min-height:0}
  .fx-vis{position:relative;inset:auto;display:none;padding:24px 16px}
  .fx-vis.on{display:grid}
}
.fx-mobdesc{display:none;margin:0 0 20px;font-size:15px;line-height:1.55;color:var(--body)}
@media (max-width:1000px){.fx-mobdesc{display:block}.fx-vis.on{display:block}}
@media (max-width:640px){
  .fx-ws{grid-template-columns:1fr;padding:12px;gap:10px}
  .fx-areas{grid-template-columns:repeat(3,minmax(0,1fr))}
  .fx-area{padding:12px}
  .fx-area:nth-child(n+4){box-shadow:inset 0 1px 0 var(--fx-rule),inset 1px 0 0 var(--fx-rule)}
  .fx-area:nth-child(4){box-shadow:inset 0 1px 0 var(--fx-rule)}
  .fx-dk{grid-template-columns:1fr}.fx-dk ol{display:none}
  .fx-cv{padding:12px}
  .fx-sl h5{font-size:19px}
  .fx-nm{grid-template-columns:1fr}
  .fx-mx th:first-child,.fx-mx td:first-child{display:none}
  .fx-mx td,.fx-mx th{padding-left:14px;padding-right:14px}
  .fx-kb,.fx-pp .stg{gap:6px;grid-template-columns:repeat(3,minmax(0,1fr))}
  .fx-ml .to .who em{display:none}
  .fx-ml .ft2{flex-wrap:wrap}
  .fx-ml .ft2 em{flex-basis:100%}
  .fx-crs .kcopy .ctas{flex-wrap:wrap}
  .fx-vis.on{display:block}
  .fx-vis .fx-mobdesc{margin:0 0 16px}
  .fx-kb .col{padding:5px}
  .fx-kb .cd{padding:9px;font-size:11.5px}
  .fx-kb .cd .r1 .lm{display:none}
  .fx-rr{grid-template-columns:86px minmax(0,1fr) auto;gap:12px;padding:0 16px}
  .fx-nx{padding:14px 16px;grid-template-columns:44px minmax(0,1fr)}
  .fx-nx .fa{width:44px;height:44px}
}
/* motion: shared reveal used by the scenes */
.ax{transition:opacity .4s ease,transform .55s var(--ease)}
.ax.hid{opacity:0;transform:translateY(8px)}
@media (prefers-reduced-motion:reduce){.fx-vis,.fx-tab em,.fx-sl .kim,.fx-mt .ln{transition:none!important}}

