/* The homepage's three people pictures: the AI accountant's staff badge (hero), the overnight lock screen (how it
   works) and the finance team's org chart (the AI team). Scoped under .hv with hb-, hn- and ht- classes. The site clears
   every shadow with *{box-shadow:none!important}, so the shadows here carry !important. */
.hv{--ink:#111;--ink2:#5D5D5A;--ink3:#9A9A96;--line:#E7E7E4;--line2:#F0F0EE;--v:#6656E8;--v-s:#EFEDFD;--ok:#1E8556;--ok-s:#E3F3EA;--ease:cubic-bezier(.2,.7,.2,1);
  --grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .7 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  position:relative;color:var(--ink);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}
.hv p,.hv ol,.hv li{margin:0;padding:0;list-style:none}
.hv svg{display:block}
.hv .hv-n{font-variant-numeric:tabular-nums}
.hv .hv-z{display:inline-grid;place-items:center;flex:none;width:22px;height:22px;border-radius:6px;background:linear-gradient(160deg,#7A6BF2,#5546D8)}
.hv .hv-z svg{width:15px;height:15px}
.hv .hv-av{display:inline-grid;place-items:center;flex:none;width:32px;height:32px;border-radius:50%;background:linear-gradient(150deg,#F4D9C6,#E7B99C);color:#6B3F22;font-size:11px;font-weight:600}
.hv .hv-av.b2{background:linear-gradient(150deg,#CFE2F3,#9EC1E3);color:#1F4466}
.hv .hv-chk{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
html .hv .hv-shim{background:linear-gradient(90deg,#8A8A86 0 38%,#5A4ADF 50%,#8A8A86 62% 100%);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;color:transparent!important;animation:hv-shim 1.7s linear infinite}
@keyframes hv-shim{from{background-position:100% 0}to{background-position:0 0}}
.hv .hv-fade{transition:opacity .5s var(--ease),transform .5s var(--ease)}
.hv .hv-out{opacity:0!important;transform:translateY(8px)!important}
.hv .hv-card{background:#fff;border-radius:14px;box-shadow:0 0 0 1px rgb(17 17 17 / .05),0 1px 2px rgb(17 17 17 / .05),0 24px 48px -24px rgb(30 25 60 / .32)!important}

/* ================= the badge ================= */
.hb-w{position:relative;height:540px}
.hb{position:absolute;left:50%;top:0;width:480px;height:540px;margin-left:-240px;transform-origin:top center}
/* the wall it hangs against: a soft pool of light that fades into the page, with paper grain */
.hb-wall{position:absolute;left:-180px;right:-180px;top:-120px;bottom:-140px;pointer-events:none;
  background:radial-gradient(40% 40% at 50% 45%,rgb(233 230 244 / .95) 0%,rgb(238 236 246 / .7) 45%,rgb(244 243 249 / 0) 100%)}
.hb-wall::before{content:"";position:absolute;inset:0;background:radial-gradient(30% 34% at 40% 38%,rgb(255 255 255 / .85),transparent 70%)}
.hb-wall::after{content:"";position:absolute;inset:0;background:var(--grain);opacity:.12;mix-blend-mode:multiply;
  -webkit-mask-image:radial-gradient(40% 40% at 50% 45%,#000 30%,transparent 100%);mask-image:radial-gradient(40% 40% at 50% 45%,#000 30%,transparent 100%)}
.hb-bloom{position:absolute;left:110px;top:200px;width:300px;height:300px;border-radius:50%;background:radial-gradient(closest-side,rgb(150 134 255 / .30),transparent);filter:blur(30px);pointer-events:none}
/* shadows cast on the wall, from a light above and to the left */
.hb-cast{position:absolute;inset:0;pointer-events:none;opacity:0}
.hb-cast svg{position:absolute;left:0;top:0;width:480px;height:540px;overflow:visible}
.hb-cast i{position:absolute;left:120px;top:150px;width:240px;height:356px;border-radius:20px;background:rgb(40 30 90 / .2);filter:blur(16px);transform-origin:50% 0}
.hb-hang{position:absolute;inset:0;transform-origin:240px -420px;opacity:0;will-change:transform,opacity}
.hb-lan{position:absolute;left:0;top:0;width:480px;height:540px;overflow:visible;pointer-events:none}
.hb-lan text{font:500 6px "Geist",sans-serif;letter-spacing:1.5px;fill:rgb(255 255 255 / .82)}
.hb-bd{position:absolute;left:120px;top:150px;width:240px;height:356px;perspective:1100px;cursor:pointer;user-select:none;-webkit-user-select:none}
.hb-3d{position:relative;width:100%;height:100%;transform-style:preserve-3d}
.hb-flip{position:relative;width:100%;height:100%;transform-style:preserve-3d}
/* the clear holder, and the card inside it */
.hb-face{position:absolute;inset:0;border-radius:20px;backface-visibility:hidden;-webkit-backface-visibility:hidden;
  background:linear-gradient(170deg,rgb(255 255 255 / .62),rgb(244 243 250 / .45));
  box-shadow:inset 0 0 0 1px rgb(255 255 255 / .9),inset 0 1px 0 #fff,0 0 0 1px rgb(30 25 60 / .1),0 2px 3px rgb(30 25 60 / .06),0 18px 30px -18px rgb(30 25 60 / .35)!important}
.hb-back{transform:rotateY(180deg)}
.hb-slot{position:absolute;left:50%;top:9px;width:46px;height:8px;margin-left:-23px;border-radius:4px;background:rgb(255 255 255 / .2);box-shadow:inset 0 0 0 1px rgb(30 25 60 / .18),inset 0 1px 2px rgb(30 25 60 / .14)!important}
.hb-card{position:absolute;left:8px;right:8px;top:26px;bottom:8px;border-radius:13px;overflow:hidden;padding:18px 18px 14px;
  background:linear-gradient(180deg,#FFFFFF,#F9F9F7);box-shadow:0 0 0 1px rgb(17 17 17 / .06),0 1px 1px rgb(17 17 17 / .04)!important}
.hb-card::after{content:"";position:absolute;inset:0;background:var(--grain);opacity:.06;mix-blend-mode:multiply;pointer-events:none}
.hb-gloss{position:absolute;inset:0;border-radius:20px;pointer-events:none;
  background:linear-gradient(112deg,rgb(255 255 255 / 0) 34%,rgb(255 255 255 / .3) 44%,rgb(255 255 255 / .06) 50%,rgb(255 255 255 / 0) 58%) no-repeat;background-size:300% 100%;background-position:var(--gl,60%) 0}
.hb-gloss::before{content:"";position:absolute;left:14px;right:14px;top:2px;height:16px;border-radius:12px 12px 6px 6px;background:linear-gradient(180deg,rgb(255 255 255 / .9),rgb(255 255 255 / 0))}
.hb-edge{position:absolute;left:50%;top:0;width:4px;height:100%;margin-left:-2px;border-radius:2px;transform:rotateY(90deg);background:linear-gradient(180deg,#E9E8EF,#CFCDD8 50%,#E4E3EA)}
.hb-bh{display:flex;justify-content:space-between;font-size:8.5px;letter-spacing:.2em;color:var(--ink3);font-weight:600;text-transform:uppercase}
.hb-prow{display:flex;align-items:flex-start;justify-content:space-between;margin-top:13px}
.hb-photo{position:relative;width:60px;height:60px;border-radius:14px;overflow:hidden;display:grid;place-items:center;background:linear-gradient(160deg,#F1F0F6,#E1DFEB);box-shadow:inset 0 0 0 1px rgb(17 17 17 / .05)!important}
.hb-photo::after{content:"";position:absolute;inset:0;background:radial-gradient(circle,rgb(255 255 255 / .55) .8px,transparent 1.1px) 0 0 / 4px 4px;mix-blend-mode:soft-light}
.hb-orb{position:relative;width:36px;height:36px;border-radius:50%;animation:hb-breathe 5s ease-in-out infinite;
  background:radial-gradient(circle at 34% 30%,#FFFFFF 0 7%,#DCD5FF 22%,#9D8FF6 50%,#5F50E0 78%,#4436C3 100%);box-shadow:0 8px 16px -6px rgb(90 74 223 / .55)!important}
.hb-orb::after{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(from var(--hb-oa,0deg),rgb(255 210 190 / 0),rgb(255 210 190 / .5),rgb(150 220 255 / .4),rgb(255 210 190 / 0));mix-blend-mode:soft-light;animation:hb-orb 9s linear infinite}
@property --hb-oa{syntax:'<angle>';initial-value:0deg;inherits:false}
@keyframes hb-orb{to{--hb-oa:360deg}}
@keyframes hb-breathe{50%{transform:scale(1.045)}}
.hb-holo{width:28px;height:20px;border-radius:4px;opacity:.85;background:linear-gradient(115deg,#C9F1FF,#E5D3FF 30%,#FFD9E8 50%,#D8FFE9 70%,#C9E3FF);filter:hue-rotate(var(--hh,0deg)) saturate(1.05);box-shadow:inset 0 0 0 1px rgb(255 255 255 / .6)!important;position:relative;overflow:hidden}
.hb-holo::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(115deg,rgb(255 255 255 / .55) 0 1px,transparent 1px 3px)}
.hb-nm{margin-top:13px;font-size:23px;font-weight:500;letter-spacing:-.032em;line-height:1.08}
.hb-rl{font-size:12px;color:var(--ink2);margin-top:5px;line-height:1.4}
.hb-rp{font-size:10.5px;color:var(--ink3);margin-top:5px}
.hb-ink{position:relative;margin-top:11px;height:42px;padding:6px 9px;border-radius:6px;background:#E5E7E0;color:#23251F;transition:background .05s;
  box-shadow:inset 0 0 0 1px rgb(0 0 0 / .07),inset 0 1px 2px rgb(0 0 0 / .07)!important}
.hb-ink::after{content:"";position:absolute;inset:0;border-radius:6px;background:radial-gradient(rgb(0 0 0 / .05) .5px,transparent .7px) 0 0 / 2px 2px;pointer-events:none}
html .hv .hb-ink,html .hv .hb-ink *{font-family:"Geist Mono",ui-monospace,monospace!important}
.hb-l1{display:flex;justify-content:space-between;font-size:8px;letter-spacing:.08em;opacity:.6}
.hb-l1 span:first-child::before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:#23251F;margin-right:5px;vertical-align:1px}
.hb-t{position:relative;font-size:10px;letter-spacing:.04em;margin-top:5px;white-space:nowrap;font-weight:500;height:14px}
.hb-t span{position:absolute;left:0;top:0;transition:opacity .7s ease}
.hb-ink.flash{background:#55574F}
.hb-ink.blank .hb-l1,.hb-ink.blank .hb-cur{opacity:0}
.hb-bf{position:absolute;left:18px;right:18px;bottom:13px;display:flex;align-items:flex-end;justify-content:space-between}
.hb-bf svg{width:84px;height:14px}
.hb-iss{font-size:11px;font-weight:600;letter-spacing:-.04em;color:#B2B1AC}
.hb-stats{display:grid;grid-template-columns:1fr 1fr;margin-top:14px;border-top:1px solid var(--line2)}
.hb-stats div{padding:11px 0 9px;border-bottom:1px solid var(--line2)}
.hb-stats div:nth-child(odd){padding-right:10px;border-right:1px solid var(--line2)}
.hb-stats div:nth-child(even){padding-left:12px}
.hv .hb-stats b{display:block;font-size:24px;font-weight:400!important;letter-spacing:-.04em;line-height:1.1}
.hb-stats span{font-size:10.5px;color:var(--ink2);line-height:1.3;display:block;margin-top:2px}
.hb-stats .w b{color:var(--v)}
.hb-ret{margin-top:11px;font-size:10px;line-height:1.45;color:var(--ink2)}
.hb-ret i{display:block;font-style:normal;color:var(--ink3);margin-top:5px}

/* ================= overnight ================= */
.hn-w{position:relative;width:100%;max-width:480px;justify-self:end}
.hn-sz{position:relative}
.hn{position:absolute;left:0;top:0;width:480px;height:500px;border-radius:22px;overflow:hidden;isolation:isolate;transform-origin:top left;background:var(--sky,#1F2338)}
.hn::after{content:"";position:absolute;inset:0;background:var(--grain);opacity:.11;mix-blend-mode:multiply;pointer-events:none;z-index:9}
.hn-stars{position:absolute;inset:0 0 40%}
.hn-stars i{position:absolute;width:2px;height:2px;border-radius:50%;background:#fff}
.hn-hz{position:absolute;left:-10%;right:-10%;bottom:-32%;height:70%;border-radius:50%;background:radial-gradient(50% 50% at 50% 50%,rgb(255 200 160 / .85),rgb(255 210 180 / 0) 70%);opacity:var(--dawn,0);filter:blur(10px)}
.hn-clk{position:absolute;left:0;right:0;top:30px;text-align:center;color:var(--ck,#fff)}
.hn-clk span{display:block;font-size:13px;opacity:.7}
.hn-clk b{display:block;font-size:64px;font-weight:200!important;letter-spacing:-.045em;line-height:1.05;margin-top:2px}
.hn-ns{position:absolute;left:24px;right:24px;top:158px;height:320px}
.hn-nt{position:absolute;left:0;right:0;top:0;height:68px;padding:11px 14px;border-radius:16px;background:rgb(255 255 255 / .9);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  box-shadow:0 0 0 1px rgb(255 255 255 / .35),0 10px 30px -14px rgb(10 10 40 / .45)!important;transition:transform .5s var(--ease),opacity .5s var(--ease);display:grid;grid-template-columns:30px 1fr auto;column-gap:11px;align-items:center}
.hn-nt .hv-z,.hn-nt .hv-av{width:30px;height:30px;grid-row:span 2}
.hn-nt .hv-z{border-radius:8px}.hn-nt .hv-z svg{width:19px;height:19px}
.hn-nt .hv-av{font-size:10px}
.hn-nt b{font-size:13.5px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hn-nt time{font-size:11px;color:var(--ink3);align-self:start;padding-top:2px}
.hn-nt p{grid-column:2 / 4;font-size:12px;color:var(--ink2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hn-nt.ok p{color:var(--ok);font-weight:500}

/* ================= the team ================= */
.ht-w{position:relative;margin-top:8px}
.ht{position:relative;border-radius:22px;overflow:hidden;transform-origin:top left;
  background:radial-gradient(35% 45% at 62% 62%,rgb(160 146 255 / .14),transparent 70%),radial-gradient(circle at 1px 1px,rgb(17 17 17 / .075) 1px,transparent 1.2px) 0 0 / 20px 20px,#F7F7F5}
.ht::after{content:"";position:absolute;inset:0;background:var(--grain);opacity:.1;mix-blend-mode:multiply;pointer-events:none}
.ht svg.ht-ln{position:absolute;left:0;top:0}
.ht-ttl{position:absolute;left:24px;top:20px;font-size:12px;color:var(--ink3)}
.ht-ttl b{color:var(--ink2);font-weight:500}
.ht-nd{position:absolute;display:flex;align-items:center;gap:12px;height:68px;padding:0 14px;transition:box-shadow .6s var(--ease),background .6s}
.ht-nd b{display:flex;align-items:center;gap:7px;font-weight:500;font-size:13.5px;white-space:nowrap}
.ht-nd small{display:block;font-size:11.5px;color:var(--ink3);white-space:nowrap;margin-top:1px;line-height:1.4}
.ht-tg{display:inline-flex;align-items:center;height:16px;padding:0 5px;border-radius:4px;background:var(--v-s);color:#4E3FD0;font-size:9.5px;font-weight:600;letter-spacing:.06em}
.ht-nd .hv-z{width:32px;height:32px;border-radius:9px}.ht-nd .hv-z svg{width:20px;height:20px}
.ht-nd.ai{box-shadow:0 0 0 1px rgb(102 86 232 / .2),0 0 0 4px rgb(102 86 232 / .05),0 24px 48px -26px rgb(60 40 160 / .38)!important}
.ht-nd.empty{background:rgb(255 255 255 / .4);box-shadow:none!important;outline:1.5px dashed #CDCBD6;outline-offset:-1.5px}
.ht-nd.empty b,.ht-nd.empty small{color:var(--ink3)}
.ht-plus{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;outline:1.5px dashed #CDCBD6;outline-offset:-1.5px;font-size:17px;line-height:1;color:#A9A7B3}
.ht-nd.born{box-shadow:0 0 0 1px rgb(102 86 232 / .5),0 0 0 8px rgb(102 86 232 / .12),0 24px 48px -26px rgb(60 40 160 / .45)!important}
.ht-ap{position:absolute;right:12px;top:-11px;display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 8px;border-radius:7px;background:var(--ok-s);color:var(--ok);font-size:11px;font-weight:500;box-shadow:0 0 0 2px #fff!important}
.ht-st{position:absolute;height:24px;display:flex;align-items:center;gap:8px;font-size:11.5px;white-space:nowrap;color:var(--ink2)}
.ht-st i{width:6px;height:6px;border-radius:50%;background:var(--v);box-shadow:0 0 0 3px rgb(102 86 232 / .14)!important;flex:none}
.ht-pk{position:absolute;left:0;top:0;display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:8px;background:#fff;font-size:11.5px;font-weight:500;white-space:nowrap;
  box-shadow:0 0 0 1px rgb(102 86 232 / .3),0 8px 18px -8px rgb(60 40 160 / .5)!important;opacity:0;z-index:3}
.ht-pk i{width:6px;height:6px;border-radius:50%;background:var(--v)}
.ht-lgd{position:absolute;left:24px;bottom:20px;display:flex;gap:18px;font-size:11.5px;color:var(--ink2)}
.ht-lgd span{display:inline-flex;align-items:center;gap:7px}
.ht-lgd i{width:9px;height:9px;border-radius:3px;background:#E7B99C}
.ht-lgd i.v{background:var(--v)}

/* ================= placing them on the homepage ================= */
.dhero.home .zh-r.hv{animation:none}
.dhero.home{padding-bottom:72px!important}
.dhero.home .dh-top.zh{grid-template-columns:minmax(0,1fr) 520px}
#how .zrow .hn-w,#team .ht-w{grid-column:auto}
#team .ht-w + .aside{margin-top:24px}
@media (min-width:1001px){#team .wrap{display:block!important}#team .shead{position:static!important;margin-bottom:56px!important}}
@media (max-width:1100px){
  .dhero.home .dh-top.zh{grid-template-columns:minmax(0,1fr)}
  .hb-w{overflow:hidden;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 110px,#000 calc(100% - 50px),transparent 100%);mask-image:linear-gradient(180deg,transparent 0,#000 110px,#000 calc(100% - 50px),transparent 100%)}
  .dhero.home{padding-bottom:16px!important}
  .hb-wall{left:-10px;right:-10px;top:-60px;bottom:-20px}
  .hn-w{justify-self:stretch;max-width:none}
}
@media (prefers-reduced-motion:reduce){.hv *{animation:none!important;transition:none!important}.hb-hang,.hb-cast{opacity:1!important}}

/* the WebGL badge (hb3.js) takes over from the CSS one once it is running */
.hb3{position:absolute;z-index:2;touch-action:pan-y;opacity:0;transition:opacity .9s var(--ease,ease)}
.hb3-on .hb3{opacity:1}
.hb3-on .hb-hang,.hb3-on .hb-cast{visibility:hidden}
@media (max-width:1100px){.hb3{-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 110px,#000 calc(100% - 40px),transparent 100%);mask-image:linear-gradient(180deg,transparent 0,#000 110px,#000 calc(100% - 40px),transparent 100%)}}
