/* figures-more.css: the look of the extra layouts (same tokens as figures.css) */
.bf-sub{font-size:13.5px;font-weight:600;color:#57534E;margin-bottom:10px}
/* hub */
.bf-hub .hb-stage{position:relative;width:100%}
.hb-c,.hb-s{position:absolute}
.hb-c .bf-card{padding:14px 12px}
.hb-s .bf-card{padding:10px 10px 11px}
.hb-s .bf-thing{height:52px;margin-bottom:4px}
.hb-c .bf-thing{height:70px}
.hb-s .bf-ct{font-size:14px}.hb-s .bf-cs{font-size:13px}
.hb-frame{position:absolute;inset:0;border:1.5px dashed var(--t3);border-radius:18px}
.hb-frame span{position:absolute;left:14px;top:-11px;background:#FBFAF9;padding:0 8px;font-size:13px;font-weight:650;color:var(--ink)}
.bf-hub .hb-stage:has(.hb-frame){padding:0}
.hb-extra{display:flex;justify-content:center;margin-top:18px}
.hb-extra .bf-card{max-width:440px;border-style:dashed;flex-direction:row;gap:12px;text-align:left;padding:12px 16px}
.hb-extra .bf-thing{width:56px;height:52px;margin:0;flex:none}
/* split */
.sp-cols{display:grid;grid-template-columns:minmax(0,1fr) 64px minmax(0,1fr);align-items:stretch}
.sp-card{height:100%;padding:18px 16px 16px}
.sp-card .bf-thing{height:90px}
.sp-mid{display:grid;place-items:center}
.sp-vs{display:grid;place-items:center;min-width:40px;height:40px;padding:0 8px;border-radius:999px;background:#fff;border:1.5px solid var(--acc);font-size:13px;font-weight:650;color:var(--ink)}
.sp-big{font-size:28px;font-weight:650;letter-spacing:-.02em;color:var(--ink);margin:6px 0 2px}
.sp-big.long,.fl-big.long{font-size:19px;letter-spacing:-.01em;word-break:break-word}
.sp-items{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:6px;text-align:left;width:100%}
.sp-items li{font-size:14px;color:#44403C;line-height:1.35;padding-left:20px;position:relative}
.sp-items li:before{content:"";position:absolute;left:5px;top:7px;width:6px;height:6px;border-radius:50%;background:#A8A29E}
.sp-items li.g:before,.sp-items li.b:before{width:auto;height:auto;border-radius:0;background:none;left:0;top:0;font-weight:700;font-size:14px}
.sp-items li.g:before{content:"✓";color:var(--deep)}
.sp-items li.b:before{content:"✕";color:#B42323}
/* flow */
.fl-top{font-size:13.5px;font-weight:600;color:#57534E;margin-bottom:12px;text-align:center}
.fl-row{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:30px;align-items:stretch}
.fl-n .bf-card{height:100%;padding:12px 8px}
.fl-n .bf-thing{height:58px}
.fl-n .bf-ct{font-size:14px}.fl-n .bf-cs{font-size:13px}
.fl-big{font-size:22px;font-weight:650;letter-spacing:-.02em;color:var(--ink);margin:2px 0}
.fl-loop{height:54px}
/* timeline */
.bf-tl .tl-cards{position:relative}
.tl-ev{position:absolute;bottom:14px;transform:translateX(-50%);width:170px}
.tl-ev .bf-card{padding:16px 10px 12px}
.tl-ev .bf-thing{height:50px}
.tl-ev .bf-ct{font-size:14.5px}.tl-ev .bf-cs{font-size:13px}
.tl-axis{position:relative;height:3px;background:#D6D3D1;border-radius:2px;margin:0 6px}
.tl-dot{position:absolute;top:50%;width:13px;height:13px;border-radius:50%;background:#fff;border:2px solid #78716C;transform:translate(-50%,-50%)}
.tl-dot.hot{background:var(--deep);border-color:#fff;box-shadow:0 0 0 2px var(--deep)}
.tl-span{position:absolute;top:-4px;height:11px;background:var(--t2);border-radius:6px}
.tl-span span{position:absolute;left:50%;top:-24px;transform:translateX(-50%);font-size:12.5px;font-weight:600;color:var(--ink);white-space:nowrap}
.tl-ticks{position:relative;height:24px;margin:6px 6px 0}
.tl-tick{position:absolute;transform:translateX(-50%);font-size:12.5px;font-weight:500;color:#78716C}
.tl-states{position:relative;height:30px;margin:4px 6px 0}
.tl-st{position:absolute;height:26px;border-radius:7px;font-size:12.5px;font-weight:650;display:grid;place-items:center;white-space:nowrap}
.tl-st.on{background:var(--t2);color:var(--ink)}.tl-st.off{background:#F1EFEC;color:#57534E}
/* bars */
.br-wrap{position:relative;--labw:180px;--notew:0px;display:grid;gap:12px}
.br-wrap.has-notes{--notew:200px}
.br-row{display:grid;grid-template-columns:var(--labw) minmax(0,1fr) var(--notew);gap:12px;align-items:center}
.br-lab{display:flex;align-items:center;gap:8px}
.br-lab .bf-thing{width:38px;height:34px;flex:none;margin:0}
.br-lab b{display:block;font-size:14px;font-weight:650;color:#1C1917;line-height:1.25}
.br-lab small{display:block;font-size:12.5px;color:#57534E}
.br-track{position:relative;height:26px;background:#F1EFEC;border-radius:7px}
.br-track i{display:block;height:100%;border-radius:7px;background:#C9C3BC}
.br-row.hot .br-track i{background:var(--acc)}
.br-track em{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-style:normal;font-size:12.5px;font-weight:650;color:var(--ink);background:#fff;border-radius:999px;padding:1px 8px}
.br-note{font-size:13px;color:#44403C;line-height:1.35}
.br-ref{position:absolute;top:-6px;bottom:-6px;border-left:2px dashed #57534E}
.br-wrap.has-ref{padding-top:30px}.br-wrap.has-ref .br-ref{top:24px}
.br-ref span{position:absolute;top:-24px;left:-4px;font-size:12.5px;font-weight:650;color:#44403C;white-space:nowrap;background:#FBFAF9;padding:0 4px}
.bf.anim .br-track i{animation:brGrow .9s cubic-bezier(.22,1,.36,1) both;animation-delay:calc(var(--i) * .1s)}
@keyframes brGrow{from{transform:scaleX(0);transform-origin:left}to{transform:scaleX(1);transform-origin:left}}
/* curve */
.cv-wrap{position:relative}
.cv-svg{display:block;width:100%;height:auto}
.cv-z{position:absolute;top:8%;display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 8px}
.cv-z b{font-size:14px;font-weight:650;color:#1C1917}.cv-z.l b{color:var(--ink)}
.cv-z span{font-size:13px;color:#57534E}
.cv-mark{position:absolute;transform:translate(-105%,-150%);font-size:12.5px;font-weight:650;color:#1C1917;background:#fff;border:1px solid #D6D3D1;border-radius:999px;padding:2px 9px;white-space:nowrap}
.cv-axes{display:flex;justify-content:space-between;font-size:12.5px;color:#78716C;margin-top:4px}
/* rings */
.rg-wrap{display:grid;grid-template-columns:340px minmax(0,1fr);gap:22px;align-items:center}
.rg-disc{position:relative;margin:0 auto}
.rg-r{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;background:#F7F6F4;border:1.5px solid #E2DFDA}
.rg-r.alt{background:#FFFFFF}
.rg-r.hot{border-color:var(--acc);background:var(--t1)}
.rg-r.hot.alt{background:var(--t2)}
.rg-name{position:absolute;left:50%;transform:translate(-50%,-50%);font-size:12px;font-weight:650;color:#57534E;white-space:nowrap;line-height:1}
.rg-r.hot .rg-name{color:var(--ink)}
.rg-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;background:#fff;border:1.5px solid var(--acc);text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}
.rg-core .bf-thing{width:40px;height:34px;margin:0}
.rg-core b{font-size:13px;font-weight:650;color:var(--ink);line-height:1.2}.rg-core small{font-size:12px;color:#57534E}
.rg-labs{display:grid;gap:8px}
.rg-lh{font-size:13px;font-weight:650;color:#57534E;margin-bottom:2px}
.rg-lab{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #E7E5E4;border-radius:10px;padding:7px 10px}
.rg-lab.hot{border-color:var(--acc);box-shadow:0 0 0 3px var(--t2)}
.rg-k{flex:none;width:22px;height:22px;border-radius:50%;background:#F1EFEC;font-size:12px;font-weight:700;color:#57534E;display:grid;place-items:center}
.rg-lab.hot .rg-k{background:var(--acc);color:#fff}
.rg-lab .bf-thing{width:40px;height:34px;flex:none;margin:0}
.rg-lab b{display:block;font-size:14px;font-weight:650}.rg-lab small{display:block;font-size:13px;color:#57534E}
.rg-lab.hot b{color:var(--ink)}
/* rows */
.rw-head,.rw-row{display:grid;grid-template-columns:28px 46px 150px minmax(0,1fr) 130px;gap:10px;align-items:center}
.rw-head{font-size:12.5px;font-weight:650;color:#78716C;padding:0 12px 6px}
.rw-row{background:#fff;border:1px solid #E7E5E4;border-radius:12px;padding:9px 12px;margin-top:8px}
.rw-row.hot{border-color:var(--acc)}
.rw-n{width:24px;height:24px;border-radius:50%;background:var(--t2);color:var(--ink);font-size:12.5px;font-weight:700;display:grid;place-items:center}
.rw-row .bf-thing{height:38px;margin:0}
.rw-t{font-size:14.5px;font-weight:650;color:#1C1917}
.rw-s{font-size:14px;color:#44403C;line-height:1.35}
.rw-c em{font-style:normal;font-size:12.5px;font-weight:650;color:var(--ink);background:var(--t1);border:1px solid var(--t3);border-radius:999px;padding:2px 9px;white-space:nowrap}
/* scales */
.sc-row{background:#fff;border:1px solid #E7E5E4;border-radius:12px;padding:12px 16px;margin-top:10px}
.sc-row.hot{border-color:var(--acc)}
.sc-h b{font-size:14.5px;font-weight:650}.sc-h span{font-size:13.5px;color:#57534E;margin-left:8px}
.sc-bar{display:grid;grid-template-columns:70px minmax(0,1fr) 70px;gap:10px;align-items:center;margin-top:10px}
.sc-l,.sc-r{font-size:13px;color:#57534E;text-align:center}
.sc-track{position:relative;height:8px;border-radius:4px;background:linear-gradient(90deg,#E7E5E4,var(--t3))}
.sc-m{position:absolute;top:50%;transform:translate(-50%,-50%);width:46px;height:46px;border-radius:50%;background:#fff;border:2px solid var(--deep);display:grid;place-items:center}
.sc-m .bf-thing{width:30px;height:30px;margin:0}
.sc-v{margin-top:14px;text-align:right}
.sc-v em{font-style:normal;font-size:13px;font-weight:650;color:var(--ink);background:var(--t1);border:1px solid var(--t3);border-radius:999px;padding:3px 10px}
.sc-row:not(.hot) .sc-v em{color:#57534E;background:#F5F5F4;border-color:#E7E5E4}
/* stats */
.st-row{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:30px;align-items:stretch}
.st-card{height:100%;padding:18px 14px 14px}
.st-card .bf-thing{height:64px}
.st-big{font-size:30px;font-weight:650;letter-spacing:-.02em;color:var(--ink);line-height:1.1;margin:4px 0}
.st-units{display:grid;grid-template-columns:repeat(var(--c),1fr);gap:6px;width:100%;margin-top:12px}
.st-ct{margin-bottom:2px}
.st-units i{color:#C9C3BC;height:46px;display:grid;place-items:center;border-radius:10px;opacity:.55}
.st-units i svg{height:100%;width:auto}
.st-units i.on{color:var(--deep);background:var(--t2);opacity:1}
.st-bars{display:flex;gap:18px;align-items:flex-end;justify-content:center;height:130px;margin-top:10px}
.st-b{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;width:64px}
.st-b span{font-size:15px;font-weight:650;color:#44403C}
.st-b i{width:44px;border-radius:6px 6px 0 0;background:#C9C3BC;margin-top:4px}
.st-b.hot span{color:var(--ink)}.st-b.hot i{background:var(--acc)}
.st-b small{font-size:12.5px;color:#57534E;margin-top:4px}
.st-line svg{width:100%;height:auto;display:block;margin-top:8px}
.st-foot{font-size:13px;color:#57534E;margin-top:8px}
/* row of cards */
.rw2{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:26px;align-items:stretch}
.rw2 .bf-card{height:100%;padding:14px 10px}
.rw2 .bf-thing{height:96px}
/* two hubs */
.th-cols{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.th-p{background:#fff;border:1px solid #E7E5E4;border-radius:14px;padding:14px}
.th-h b{display:block;font-size:14.5px;font-weight:650}.th-h span{font-size:13px;color:#57534E}
.th-stage{position:relative;height:330px;margin-top:8px}
.th-c,.th-s{position:absolute;width:118px}
.th-c{left:50%;top:50%;transform:translate(-50%,-50%)}
.th-t{left:50%;top:0;transform:translateX(-50%)}
.th-b{left:50%;bottom:0;transform:translateX(-50%)}
.th-tl{left:0;top:0}.th-tr{right:0;top:0}
.th-bl{left:0;bottom:0}.th-br{right:0;bottom:0}
.th-card{padding:8px 6px!important;box-shadow:none!important}
.th-card .bf-thing{height:42px;margin:0 0 4px}
.th-card .bf-ct{font-size:13px;line-height:1.25}
.th-foot{font-size:13.5px;font-weight:600;color:var(--ink);text-align:center;margin-top:8px}
/* motion that performs each idea: the rings widen outward, the markers slide to where each scale puts the thing,
   the rows arrive in order, the lit unit lights last */
.bf.anim .rg-r{animation:rgIn .7s cubic-bezier(.22,1,.36,1) both;animation-delay:calc(var(--i) * .28s + .15s)}
@keyframes rgIn{from{opacity:0;transform:translate(-50%,-50%) scale(.82)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
.bf.anim .rg-lab{animation:bfRise .5s ease both;animation-delay:calc(var(--i) * .28s + .3s)}
.bf.anim .sc-m{animation:scSlide 1.3s cubic-bezier(.22,1,.36,1) both;animation-delay:calc(var(--i) * .6s + .3s)}
@keyframes scSlide{from{left:0}}
.bf.anim .rw-row{animation:bfRise .5s ease both;animation-delay:calc(var(--i) * .14s + .1s)}
.bf.anim .st-units i.on{animation:unitOn .6s ease both;animation-delay:1.1s}
@keyframes unitOn{from{background:transparent;color:#C9C3BC}}

/* tree */
.bf-tree .tr-top{display:flex;justify-content:center;margin-bottom:46px}
.bf-tree .tr-top .bf-card{width:200px}
.bf-tree .tr-row{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:16px}
.bf-tree .tr-c .bf-card{height:100%}
.tr-items{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:4px;width:100%}
.tr-items li{font-size:13px;color:#44403C;background:#FAFAF9;border:1px solid #F0EEEB;border-radius:7px;padding:3px 8px}
.sp-vs{white-space:nowrap}
.st-row[style*="--n:4"] .st-big{font-size:23px}

/* PHONE: a product listing on a phone, drawn inside a card (one kind of product, two sets of decisions) */
.bf-phone{width:218px;max-width:100%;margin:6px auto 0;border:6px solid #1C1917;border-radius:30px;background:#fff;overflow:hidden;text-align:left;font-family:Inter,sans-serif}
.bf-phone .ph-top{display:flex;align-items:center;justify-content:space-between;padding:6px 14px 4px;font-size:11px;font-weight:650;color:#1C1917}
.bf-phone .ph-top i{width:54px;height:12px;border-radius:99px;background:#1C1917}
.bf-phone .ph-bar{display:flex;align-items:center;gap:6px;padding:4px 12px 7px;border-bottom:1px solid #EEECE9;font-size:11px;color:#78716C}
.bf-phone .ph-bar b{flex:1;font-size:12px;color:#1C1917;white-space:nowrap}.bf-phone .ph-bar .bk{font-size:15px;line-height:1}
.bf-phone .ph-hero{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;height:112px;background:#F5F5F4}
.bf-phone .ph-hero svg{height:72px;width:auto;color:#A8A29E}
.bf-phone.brand .ph-hero{background:var(--t1)}.bf-phone.brand .ph-hero svg{color:var(--deep)}
.bf-phone .ph-lab{font-size:11px;font-weight:650;color:#78716C}.bf-phone.brand .ph-lab{color:var(--ink)}
.bf-phone .ph-body{padding:9px 12px 12px}
.bf-phone .ph-name{font-size:13.5px;font-weight:700;color:#1C1917}
.bf-phone .ph-by{font-size:11px;color:#78716C;margin-top:1px}
.bf-phone .ph-price{font-size:19px;font-weight:750;color:#1C1917;margin-top:6px;letter-spacing:-.01em}.bf-phone .ph-price small{font-size:11px;font-weight:500;color:#78716C;letter-spacing:0}
.bf-phone .ph-rev{font-size:11px;color:#57534E;margin-top:3px}.bf-phone .ph-rev .st{color:var(--acc);letter-spacing:1px}
.bf-phone .ph-btn{margin-top:8px;border-radius:8px;padding:6px;text-align:center;font-size:11.5px;font-weight:650;background:#EEECE9;color:#78716C}
.bf-phone.brand .ph-btn{background:var(--deep);color:#fff}
.bf-phone .ph-chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:7px}.bf-phone .ph-chips span{font-size:11px;font-weight:650;color:var(--ink);background:var(--t1);border-radius:99px;padding:2px 7px}
.bf-phone .ph-desc{font-size:11px;line-height:1.4;color:#78716C;margin-top:7px}
.sp-card .ph-say{margin-top:12px;text-align:center}
/* small helpers for cards that carry several drawings or a pair of actors */
.ph-three{display:flex;justify-content:center;gap:16px;margin-top:10px}.ph-three span{display:flex;flex-direction:column;align-items:center;gap:4px}
.ph-three svg{height:44px;width:auto;color:#44403C}.ph-three small{font-size:12.5px;color:#57534E}
.ph-duo{display:flex;align-items:center;justify-content:center;gap:8px;margin:4px 0 0;font-size:13px;font-weight:600;color:#44403C}
.ph-duo svg{height:40px;width:auto;color:#44403C}.ph-duo .vs{color:#A8A29E;font-weight:500;margin:0 8px}
.st-card .st-line{align-self:stretch;width:100%}
