/* Nestbill public page: riso-print receipt. Paper, ink, tomato and cobalt. */
@font-face{font-family:'DM Sans';font-style:normal;font-weight:500;src:url('/static/fonts/dm-sans-latin-500-normal.woff2') format('woff2');font-display:swap}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:700;src:url('/static/fonts/dm-sans-latin-700-normal.woff2') format('woff2');font-display:swap}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400;src:url('/static/fonts/jetbrains-mono-latin-400-normal.woff2') format('woff2');font-display:swap}

:root{
  --paper:#F3EEE3;--paper-2:#EAE3D3;--card:#FFFCF5;--ink:#17140F;--ink-2:#5C554B;--line:#D9D0BE;
  --tomato:#FF5533;--tomato-ink:#FFFFFF;--cobalt:#2E48F0;--sun:#FFD23F;--sun-ink:#17140F;
  --on-ink:#F3EEE3;--shadow:0 1px 0 rgba(23,20,15,.06),0 24px 60px -24px rgba(23,20,15,.28);
  --sans:'DM Sans',-apple-system,BlinkMacSystemFont,'PingFang SC','Hiragino Sans GB','Noto Sans SC','Microsoft YaHei',sans-serif;
  --mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
  --r:22px;--gut:clamp(16px,4vw,56px);color-scheme:light
}
:root[data-marketing-mode=dark]{
  --paper:#13110D;--paper-2:#1C1914;--card:#1F1B15;--ink:#F3EEE3;--ink-2:#ADA392;--line:#3A342A;
  --tomato:#FF6A4D;--cobalt:#8696FF;--sun:#FFD23F;--on-ink:#13110D;--shadow:0 24px 60px -24px rgba(0,0,0,.7);color-scheme:dark
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:clip}
/* Paper grain, drawn once, no image request. */
body:before{content:'';position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.5;background-image:radial-gradient(rgba(23,20,15,.07) 1px,transparent 1px);background-size:4px 4px;mix-blend-mode:multiply}
:root[data-marketing-mode=dark] body:before{opacity:.25;mix-blend-mode:screen;background-image:radial-gradient(rgba(243,238,227,.06) 1px,transparent 1px)}
main,header,footer{position:relative;z-index:1}
a{color:inherit;text-decoration:none}
h1,h2,h3,p,ol,ul,figure{margin:0;padding:0}
ol,ul{list-style:none}
button{font:inherit;color:inherit;cursor:pointer}
a,button,summary{touch-action:manipulation}
:focus-visible{outline:3px solid var(--cobalt);outline-offset:3px;border-radius:6px}
.skip{position:fixed;left:12px;top:-60px;z-index:50;background:var(--ink);color:var(--paper);padding:10px 14px;border-radius:10px}
.skip:focus{top:12px}
.wrap{max-width:1240px;margin:0 auto;padding:0 var(--gut)}

/* Header */
.bar{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--paper) 82%,transparent);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid transparent;transition:border-color .2s}
.bar.is-stuck{border-bottom-color:var(--line)}
.bar-in{max-width:1240px;margin:0 auto;padding:14px var(--gut);display:flex;align-items:center;justify-content:space-between;gap:16px}
.logo{display:inline-flex;align-items:center;gap:10px}
.logo-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:13px;background:var(--ink);color:var(--paper);transform:rotate(-6deg);transition:transform .25s}
.logo:hover .logo-mark{transform:rotate(0)}
.logo-mark svg{width:32px;height:32px}
.logo-word{font-weight:700;font-size:20px;letter-spacing:-.02em;line-height:1}
.logo-word small{display:block;font-family:var(--mono);font-weight:400;font-size:9px;letter-spacing:.24em;color:var(--ink-2);margin-top:4px}
.nav{display:flex;align-items:center;gap:22px;font-size:14px}
.nav-link{color:var(--ink-2);transition:color .15s}
.nav-link:hover{color:var(--ink)}
.mode{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:transparent;font-size:15px}
.mode-moon,[data-marketing-mode=dark] .mode-sun{display:none}
[data-marketing-mode=dark] .mode-moon{display:inline}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:12px;background:var(--tomato);color:var(--tomato-ink);font-weight:700;border-radius:999px;padding:12px 20px;border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink);transition:transform .15s,box-shadow .15s;white-space:nowrap}
.btn:hover{transform:translate(-2px,-2px);box-shadow:5px 5px 0 var(--ink)}
.btn:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--ink)}
.btn-sm{padding:8px 16px;font-size:14px;box-shadow:2px 2px 0 var(--ink)}
.btn-lg{padding:17px 28px;font-size:17px}
.link-quiet{font-size:15px;color:var(--ink-2);border-bottom:1.5px solid var(--line);padding-bottom:2px;transition:color .15s,border-color .15s}
.link-quiet:hover{color:var(--ink);border-color:var(--ink)}

/* Shared type */
.eyebrow,.kicker{font-family:var(--mono);font-size:12px;letter-spacing:.14em;color:var(--ink-2)}
.h2{font-size:clamp(36px,5.4vw,68px);line-height:1.12;letter-spacing:-.03em;font-weight:800;margin-top:14px}
.h3{font-size:clamp(24px,3vw,34px);line-height:1.25;letter-spacing:-.02em;font-weight:800;margin-top:10px}
.body{font-size:17px;color:var(--ink-2);line-height:1.85;margin-top:22px;max-width:34em}
.sec-head{margin-bottom:44px}
.who{display:inline-block;font-family:var(--sans);font-weight:700;font-size:.82em;padding:1px 8px 2px;border-radius:999px;line-height:1.5}
.who-a{background:var(--tomato);color:#fff}
.who-l{background:var(--cobalt);color:#fff}
.who-m{background:var(--sun);color:var(--sun-ink)}

/* Hero */
.hero{max-width:1240px;margin:0 auto;overflow-x:clip;padding:56px var(--gut) 88px;display:grid;grid-template-columns:1.08fr .92fr;gap:56px;align-items:center}
.kicker{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.sticker{font-family:var(--sans);font-weight:700;letter-spacing:0;font-size:13px;color:var(--ink);background:var(--sun);padding:5px 12px;border-radius:8px;transform:rotate(-3deg);border:1.5px solid var(--ink)}
.hero-title{font-size:clamp(56px,9.4vw,132px);line-height:1.02;letter-spacing:-.045em;font-weight:800;margin:26px 0 28px}
.hero-title mark{background:none;color:var(--tomato);position:relative;white-space:nowrap}
.hero-title mark:after{content:'';position:absolute;left:0;right:1.05em;bottom:.02em;height:.1em;background:var(--cobalt);border-radius:4px;transform:scaleX(0);transform-origin:left;animation:underline .7s .5s cubic-bezier(.2,.8,.2,1) forwards;z-index:-1}
.hero-lede{font-size:clamp(16px,1.5vw,19px);color:var(--ink-2);line-height:1.85;max-width:30em}
.hero-cta{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:34px}
.hero-facts{display:flex;flex-wrap:wrap;gap:10px;margin-top:38px}
.hero-facts li{font-size:13px;color:var(--ink-2);border:1px dashed var(--line);border-radius:999px;padding:6px 14px}
.hero-facts b{color:var(--ink);font-weight:700;margin-right:2px}

.hero-stage{position:relative;display:grid;justify-items:center;padding:12px 0}
.hero-stage:before{content:'';position:absolute;width:86%;aspect-ratio:1;border-radius:50%;background:var(--sun);top:6%;right:-6%;opacity:.9}
:root[data-marketing-mode=dark] .hero-stage:before{opacity:.18}
.receipt{position:relative;width:min(380px,100%);transform:rotate(2.5deg);filter:drop-shadow(0 26px 34px rgba(23,20,15,.22))}
:root[data-marketing-mode=dark] .receipt{filter:drop-shadow(0 26px 34px rgba(0,0,0,.6))}
.receipt-paper{position:relative;background:#FFFCF5;color:#17140F;padding:26px 26px 30px;font-family:var(--mono);font-size:13px;animation:print 1.1s cubic-bezier(.2,.8,.2,1) both;
  -webkit-mask:conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) bottom/16px 51% repeat-x,conic-gradient(from 135deg at top,#0000,#000 1deg 89deg,#0000 90deg) top/16px 51% repeat-x;
  mask:conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) bottom/16px 51% repeat-x,conic-gradient(from 135deg at top,#0000,#000 1deg 89deg,#0000 90deg) top/16px 51% repeat-x}
.r-head{display:grid;justify-items:center;gap:3px;text-align:center;padding-top:6px}
.r-logo{font-family:var(--sans);font-weight:800;font-size:18px;letter-spacing:.04em}
.r-sub{color:#6B6357;font-size:11px;letter-spacing:.06em}
.r-rule{border-top:1.5px dashed #BDB3A1;margin:16px 0}
.r-rule-bold{border-top:2px solid #17140F}
.r-lines{display:grid;gap:9px}
.r-lines li{display:grid;grid-template-columns:1fr auto 76px;align-items:center;gap:10px}
.r-item{font-family:var(--sans);font-size:14px}
.r-amt,.r-sum b,.r-pay b{text-align:right;font-variant-numeric:tabular-nums}
.r-sum{display:flex;justify-content:space-between;align-items:baseline;font-size:12px;color:#6B6357}
.r-sum b{font-size:22px;color:#17140F;font-weight:400;letter-spacing:-.02em}
.r-each{margin-top:6px}
.r-each b{font-size:15px}
.r-label{font-family:var(--sans);font-weight:700;font-size:13px;margin-bottom:10px}
.r-pay{display:grid;gap:8px}
.r-pay li{display:flex;align-items:center;gap:8px}
.r-pay i{font-style:normal;color:#6B6357}
.r-pay b{margin-left:auto;font-weight:400;font-size:14px}
.r-barcode{height:38px;margin:22px 8px 8px;background:repeating-linear-gradient(90deg,#17140F 0 2px,transparent 2px 4px,#17140F 4px 5px,transparent 5px 8px,#17140F 8px 11px,transparent 11px 12px)}
.r-foot{text-align:center;font-size:10px;letter-spacing:.12em;color:#6B6357}
.stamp{position:absolute;right:-34px;bottom:-6px;width:118px;height:118px;border-radius:50%;border:3px solid var(--cobalt);color:var(--cobalt);display:grid;place-content:center;text-align:center;transform:rotate(-16deg);background:color-mix(in srgb,#FFFCF5 30%,transparent);mix-blend-mode:multiply;animation:stamp .45s 1.25s cubic-bezier(.3,1.6,.5,1) both}
:root[data-marketing-mode=dark] .stamp{mix-blend-mode:normal;background:transparent}
.stamp:before{content:'';position:absolute;inset:5px;border-radius:50%;border:1.5px solid currentColor}
.stamp span{font-weight:800;font-size:24px;letter-spacing:.06em;line-height:1.1}
.stamp small{font-family:var(--mono);font-size:10px;letter-spacing:.2em}
.bubble{position:absolute;font-size:14px;font-weight:500;padding:10px 15px;border-radius:18px;border:1.5px solid var(--ink);background:var(--card);box-shadow:3px 3px 0 var(--ink);white-space:nowrap;animation:pop .45s cubic-bezier(.3,1.5,.5,1) both}
.bubble-1{left:-6%;top:12%;border-bottom-left-radius:4px;transform:rotate(-4deg);animation-delay:.8s}
.bubble-2{left:-6%;bottom:2%;background:var(--sun);color:var(--sun-ink);border-bottom-left-radius:4px;transform:rotate(3deg);animation-delay:1.6s}

/* Ticker */
.ticker-wrap{overflow:hidden;padding:28px 0;margin:-28px 0;position:relative;z-index:2}
.ticker{background:var(--ink);color:var(--paper);overflow:hidden;border-block:2px solid var(--ink);transform:rotate(-1.2deg);margin:0 -20px;position:relative;z-index:2}
.ticker-track{display:flex;width:max-content;animation:marquee 32s linear infinite}
.ticker span{font-weight:800;font-size:clamp(20px,2.6vw,30px);padding:14px 0;letter-spacing:-.01em}
.ticker span:after{content:'✳';color:var(--tomato);margin:0 28px;font-weight:400}

/* Pain */
.pain{padding:120px 0 110px}
.pain-in{display:grid;grid-template-columns:.9fr 1.1fr;gap:72px;align-items:center}
.chat{display:grid;gap:14px;padding:30px;border-radius:28px;background:var(--paper-2);border:1px solid var(--line)}
.msg{max-width:78%;padding:11px 16px;border-radius:18px;font-size:15px;line-height:1.45;background:var(--card);border:1px solid var(--line)}
.msg-l{justify-self:start;border-bottom-left-radius:5px}
.msg-r{justify-self:end;background:var(--cobalt);color:#fff;border-color:transparent;border-bottom-right-radius:5px}
.pain-copy s{text-decoration-color:var(--tomato);text-decoration-thickness:.12em;color:var(--ink-2)}

/* Bento */
.features{padding:40px 0 120px}
.bento{display:grid;grid-template-columns:repeat(6,1fr);gap:18px}
.tile{position:relative;background:var(--card);border:1.5px solid var(--ink);border-radius:var(--r);padding:28px;display:flex;flex-direction:column;gap:14px;overflow:hidden;transition:transform .2s,box-shadow .2s}
.tile h3{font-size:clamp(22px,2.2vw,28px);line-height:1.25;letter-spacing:-.02em;font-weight:800}
.tile p:not(.tile-tag){font-size:15px;color:var(--ink-2);line-height:1.7;margin-top:auto}
.tile-tag{font-family:var(--mono);font-size:12px;letter-spacing:.08em;color:var(--ink-2)}
.tile-split{grid-column:span 4}
.tile-net{grid-column:span 2}
.tile-fund,.tile-nests,.tile-proof{grid-column:span 2}
.tile-stats{grid-column:span 6;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto 1fr;column-gap:48px;align-items:start}
.tile-stats .tile-tag,.tile-stats h3,.tile-stats p{grid-column:1}
.tile-stats .bars{grid-column:2;grid-row:1/4}
.tile-ink{background:var(--ink);color:var(--paper)}
.tile-ink .tile-tag,.tile-ink p:not(.tile-tag){color:color-mix(in srgb,var(--paper) 72%,transparent)}
.split-demo{display:grid;gap:14px;margin-top:4px}
.split-bill{display:flex;justify-content:space-between;align-items:baseline;font-size:13px;color:var(--ink-2)}
.split-bill b{font-family:var(--mono);font-weight:400;font-size:16px;color:var(--ink)}
.seg{display:flex;gap:4px;padding:4px;border-radius:999px;background:var(--paper-2);border:1px solid var(--line);font-size:13px;width:max-content;max-width:100%;flex-wrap:wrap}
.seg button{border:0;background:transparent;padding:7px 15px;border-radius:999px;color:var(--ink-2);font-weight:500;transition:background .15s,color .15s}
.seg button:hover{color:var(--ink)}
.seg button[aria-pressed=true]{background:var(--ink);color:var(--paper);font-weight:700}
.share-bar{display:flex;height:48px;border-radius:14px;overflow:hidden;border:1.5px solid var(--ink);font-size:13px;font-weight:700;background:var(--paper-2)}
.share-bar i{font-style:normal;display:flex;align-items:center;padding:0 12px;white-space:nowrap;overflow:hidden;min-width:0;transition:flex-grow .25s cubic-bezier(.2,.8,.2,1)}
.share-bar i+i{border-left:1.5px solid var(--ink)}
.share-bar i.is-zero{padding:0;border-left:0}
.sb-l{flex:20 1 0;background:var(--cobalt);color:#fff}
.sb-a{flex:30 1 0;background:var(--tomato);color:#fff}
.sb-m{flex:50 1 0;background:var(--sun);color:var(--sun-ink)}
.sb-gap{flex:0 1 0;background:repeating-linear-gradient(135deg,transparent 0 6px,color-mix(in srgb,var(--ink) 12%,transparent) 6px 8px);color:var(--ink-2);font-weight:500}
.sliders{display:grid;gap:8px}
.slider{display:grid;grid-template-columns:62px 1fr 52px 64px;align-items:center;gap:12px;font-size:14px}
.slider .who{justify-self:start}
.slider output{font-family:var(--mono);font-size:13px;color:var(--ink-2);text-align:right}
.slider b{font-family:var(--mono);font-weight:400;text-align:right}
.slider input{-webkit-appearance:none;appearance:none;width:100%;height:28px;background:transparent;cursor:pointer;margin:0;--thumb:var(--tomato)}
.slider input::-webkit-slider-runnable-track{height:8px;border-radius:99px;background:var(--paper-2);border:1.5px solid var(--ink)}
.slider input::-moz-range-track{height:8px;border-radius:99px;background:var(--paper-2);border:1.5px solid var(--ink)}
.slider input::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;margin-top:-9.5px;border-radius:50%;background:var(--thumb);border:2px solid var(--ink);box-shadow:2px 2px 0 var(--ink)}
.slider input::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--thumb);border:2px solid var(--ink);box-shadow:2px 2px 0 var(--ink)}
.slider input[data-person="0"]{--thumb:var(--cobalt)}.slider input[data-person="2"]{--thumb:var(--sun)}
.slider input:focus-visible{outline:none}.slider input:focus-visible::-webkit-slider-thumb{outline:3px solid var(--cobalt);outline-offset:2px}
.slider input:disabled{cursor:default;opacity:.45}
.split-hint{font-size:13px!important;color:var(--ink-2);margin-top:0!important;min-height:1.7em}
.eq{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;font-family:var(--mono);font-size:clamp(20px,2vw,26px);margin:6px 0}
.eq-op{color:var(--tomato)}
.eq b{font-weight:400;color:var(--ink);background:var(--sun);color:var(--sun-ink);padding:0 8px;border-radius:6px}
.fund{border:1px solid var(--line);border-radius:16px;padding:14px;background:var(--paper)}
.fund-top{display:flex;justify-content:space-between;font-size:13px;font-weight:700}
.fund-top span:last-child{font-family:var(--mono);font-weight:400;color:var(--tomato)}
.fund-meter{height:10px;border-radius:99px;background:var(--paper-2);border:1px solid var(--line);margin:12px 0;overflow:hidden}
.fund-meter i{display:block;height:100%;width:75%;transition:width .4s cubic-bezier(.2,.8,.2,1),transform 1s .2s cubic-bezier(.2,.8,.2,1);background:var(--cobalt);border-radius:99px;transform-origin:left;transform:scaleX(var(--fill,1))}
.fund-who{display:flex;align-items:center;gap:4px}
.fund-who em{font-style:normal;font-size:12px;color:var(--ink-2);margin-left:auto}
.dot{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;font-size:11px;font-weight:700;border:1.5px dashed var(--ink-2);color:var(--ink-2)}
.dot-done{background:var(--ink);color:var(--paper);border:1.5px solid var(--ink)}
button.dot{font:inherit;font-size:11px;font-weight:700;background:transparent;padding:0;transition:background .15s,color .15s}
button.dot[aria-pressed=true]{background:var(--ink);color:var(--paper);border:1.5px solid var(--ink)}
.fund.is-full .fund-meter i{width:100%}
.fund.is-full [data-fund-count]{color:var(--cobalt);font-weight:700}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{font-size:13px;padding:6px 12px;border-radius:10px;border:1.5px solid var(--ink);font-weight:500;background:transparent;transition:background .15s,color .15s}
.chip[aria-pressed=true]{background:var(--tomato);color:#fff;font-weight:700}
.nest-now{font-family:var(--mono);font-size:12px;color:var(--ink-2);letter-spacing:.02em}
.chip-lock{border-style:dashed}
.chip-lock:before{content:'🔒 '}
.proof{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:13px}
.proof i{font-style:normal;color:var(--ink-2)}
.pill{padding:5px 11px;border-radius:999px;border:1px solid var(--line);background:var(--paper)}
.pill-ok{border:2px solid var(--cobalt);color:var(--cobalt);font-weight:700;transform:rotate(-4deg)}
.bars{display:flex;align-items:flex-end;gap:12px;height:170px;padding-top:8px;border-bottom:1.5px solid var(--ink)}
.bars i{flex:1;border-radius:8px 8px 0 0;background:var(--paper-2);border:1.5px solid var(--ink);border-bottom:0;transform-origin:bottom;transform:scaleY(var(--fill,1));transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.b1{height:44%}.b2{height:62%}.b3{height:50%}.b4{height:78%}.b5{height:58%}
.bars .b-now{height:92%;background:var(--tomato)}
.bars i:nth-child(2){transition-delay:.06s}.bars i:nth-child(3){transition-delay:.12s}.bars i:nth-child(4){transition-delay:.18s}.bars i:nth-child(5){transition-delay:.24s}.bars i:nth-child(6){transition-delay:.3s}

/* Netting */
.netting{background:var(--ink);color:var(--paper);padding:120px 0;border-radius:44px 44px 0 0;margin-top:-20px}
.netting .eyebrow,.netting .body,.netting .note{color:color-mix(in srgb,var(--paper) 70%,transparent)}
.net-in{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.hl{color:var(--tomato)}
.bills{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:26px;font-size:14px}
.bills b{font-family:var(--mono);font-weight:400}
.toggle{display:inline-flex;margin-top:30px;padding:4px;border-radius:999px;border:1.5px solid color-mix(in srgb,var(--paper) 30%,transparent)}
.toggle button{border:0;background:transparent;color:color-mix(in srgb,var(--paper) 70%,transparent);padding:10px 18px;border-radius:999px;font-size:14px;font-weight:700;transition:background .2s,color .2s}
.toggle button[aria-pressed=true]{background:var(--paper);color:var(--ink)}
.flows{display:grid;gap:8px;margin-top:22px;max-width:420px}
.flows[hidden]{display:none}
.flows li{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:14px;background:color-mix(in srgb,var(--paper) 8%,transparent);font-size:14px;animation:fadeup .35s both}
.flows small{color:color-mix(in srgb,var(--paper) 55%,transparent);font-size:12px;margin-left:6px;font-family:var(--mono)}
.flows b{margin-left:auto;font-family:var(--mono);font-weight:400}
.flows li:nth-child(2){animation-delay:.04s}.flows li:nth-child(3){animation-delay:.08s}.flows li:nth-child(4){animation-delay:.12s}.flows li:nth-child(5){animation-delay:.16s}.flows li:nth-child(6){animation-delay:.2s}
.note{font-family:var(--mono);font-size:11px;margin-top:14px;letter-spacing:.08em}
.net-fig{position:relative;background:color-mix(in srgb,var(--paper) 5%,transparent);border:1px solid color-mix(in srgb,var(--paper) 16%,transparent);border-radius:32px;padding:26px 22px 22px}
.net-fig svg{display:block;width:100%;height:auto;overflow:visible}
.flow{fill:none;stroke:color-mix(in srgb,var(--paper) 55%,transparent);stroke-width:2;stroke-linecap:round;marker-end:url(#tip);stroke-dasharray:5 5}
.flow-net{stroke:var(--tomato);stroke-width:3.5;stroke-dasharray:none}
#tip path{fill:var(--paper);fill:context-stroke}
.amt{font-family:var(--mono);font-size:14px;text-anchor:middle;fill:var(--paper);paint-order:stroke;stroke:var(--ink);stroke-width:7px;stroke-linejoin:round}
.amt-net{font-size:17px;font-weight:700;fill:var(--sun)}
.node circle{stroke:var(--paper);stroke-width:2}
.node text{font-family:var(--sans);font-weight:700;font-size:15px;text-anchor:middle}
.node-a circle{fill:var(--tomato)}.node-a text{fill:#fff}
.node-l circle{fill:var(--cobalt)}.node-l text{fill:#fff}
.node-m circle{fill:var(--sun)}.node-m text{fill:#17140F}
.g-raw,.g-net{transition:opacity .35s}
.net-fig[data-view=net] .g-raw,.net-fig[data-view=raw] .g-net{opacity:0}
.net-fig[data-view=net] .g-raw{opacity:.12}
.net-fig[data-view=net] .g-raw text{opacity:0}
.net-fig figcaption{display:flex;align-items:baseline;justify-content:center;gap:10px;margin-top:8px;font-weight:700}
.fig-count{font-family:var(--mono);font-size:56px;line-height:1;color:var(--sun);font-weight:400}

/* Snap: receipt photo split, coming soon */
.snap{padding:120px 0 20px}
.snap-in{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.snap-steps{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.snap-steps li{display:flex;align-items:center;gap:8px;font-weight:700;font-size:15px;padding:8px 16px 8px 8px;border:1.5px solid var(--ink);border-radius:999px;background:var(--card)}
.snap-steps span{font-family:var(--mono);font-weight:400;font-size:11px;background:var(--ink);color:var(--paper);border-radius:999px;padding:3px 7px}
.snap-note{color:var(--ink-2)}
.snap-card{background:#FFFCF5;color:#17140F;border:1.5px solid var(--ink);border-radius:22px;padding:22px;box-shadow:6px 6px 0 var(--ink);font-family:var(--mono);font-size:13px;max-width:440px;justify-self:center;width:100%}
.snap-head{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1.5px dashed #BDB3A1;padding-bottom:12px;margin-bottom:6px}
.snap-head span{font-family:var(--sans);font-weight:700;font-size:14px}
.snap-head b{font-weight:400;font-size:16px}
.snap-items li+li{border-top:1px dashed #E2DACB}
.snap-items button{width:100%;display:grid;grid-template-columns:1fr auto 64px;align-items:center;gap:12px;padding:10px 4px;border:0;background:transparent;color:inherit;text-align:left;font:inherit;border-radius:10px}
.snap-items button:hover{background:#F3EEE3}
.snap-name{font-family:var(--sans);font-size:14px}
.snap-items b{text-align:right;font-weight:400;font-variant-numeric:tabular-nums}
.snap-owner{font-family:var(--sans);font-weight:700;font-size:12px;padding:2px 10px;border-radius:999px;border:1.5px dashed #9C9283;color:#5C554B;min-width:58px;text-align:center}
[data-owner=Lin] .snap-owner{background:#2E48F0;border:1.5px solid #2E48F0;color:#fff}
[data-owner=Alice] .snap-owner{background:#FF5533;border:1.5px solid #FF5533;color:#fff}
[data-owner=Mo] .snap-owner{background:#FFD23F;border:1.5px solid #FFD23F;color:#17140F}
.snap-total{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px;padding-top:14px;border-top:2px solid #17140F}
.snap-total li{display:grid;justify-items:start;gap:6px}
.snap-total b{font-weight:400;font-size:20px;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.snap-hint{margin-top:14px;font-size:11px;color:#6B6357;letter-spacing:.04em}

/* Habit: the personal ledger pitch */
.habit{padding:120px 0 40px}
.habit-in{display:grid;grid-template-columns:1.15fr .85fr;gap:64px;align-items:center}
.hl-ink{color:var(--tomato)}
.stages{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:40px;counter-reset:stage}
.stages li{position:relative;border-top:2px solid var(--ink);padding-top:18px}
.stages li:after{content:'';position:absolute;top:-6px;left:0;width:10px;height:10px;border-radius:50%;background:var(--tomato);border:2px solid var(--ink)}
.stage-when{font-family:var(--mono);font-size:12px;letter-spacing:.08em;color:var(--ink-2)}
.stages h3{font-size:22px;font-weight:800;letter-spacing:-.02em;margin:8px 0 8px}
.stages p{font-size:14px;color:var(--ink-2);line-height:1.75}
.recap{display:grid;justify-items:center;gap:22px}
.recap-paper{width:min(360px,100%);background:#FFFCF5;color:#17140F;border:1.5px solid var(--ink);border-radius:18px;padding:24px;font-family:var(--mono);font-size:13px;transform:rotate(-1.5deg);box-shadow:5px 5px 0 var(--ink)}
.recap-head{display:flex;justify-content:space-between;color:#6B6357;font-size:11px;letter-spacing:.08em;border-bottom:1.5px dashed #BDB3A1;padding-bottom:12px}
.recap-head span:first-child{font-family:var(--sans);font-weight:700;color:#17140F;letter-spacing:0;font-size:14px}
.recap-total{display:grid;gap:2px;margin:16px 0 18px}
.recap-total small{color:#6B6357;font-size:11px}
.recap-total b{font-weight:400;font-size:34px;letter-spacing:-.03em}
.recap-cats{display:grid;gap:10px}
.recap-cats li{display:grid;grid-template-columns:40px 1fr 70px;align-items:center;gap:10px;font-size:12px}
.recap-cats span{font-family:var(--sans)}
.recap-cats i{height:10px;border-radius:99px;background:#EAE3D3;position:relative;overflow:hidden}
.recap-cats i:before{content:'';position:absolute;inset:0 auto 0 0;width:var(--w);background:var(--cobalt);border-radius:99px}
.recap-cats li:nth-child(2) i:before{background:var(--tomato)}
.recap-cats li:nth-child(3) i:before{background:var(--sun)}
.recap-cats li:nth-child(4) i:before{background:#17140F}
.w-housing{--w:64%}.w-food{--w:21%}.w-daily{--w:9%}.w-ride{--w:6%}
.recap-cats b{text-align:right;font-weight:400;font-variant-numeric:tabular-nums}
.recap-note{margin-top:18px;padding-top:12px;border-top:1.5px dashed #BDB3A1;font-family:var(--sans);font-size:13px;color:#2E48F0;font-weight:700}
.recap figcaption{text-align:center;font-size:15px;color:var(--ink-2);line-height:1.8;max-width:26em}

/* More features */
.more{padding:100px 0 40px}
.more-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1.5px solid var(--ink)}
.more-grid li{padding:26px 22px 30px 0;border-bottom:1px dashed var(--line)}
.more-grid li:not(:nth-child(4n+1)){padding-left:22px;border-left:1px dashed var(--line)}
.more-n{font-family:var(--mono);font-size:12px;color:var(--tomato)}
.more-grid h3{font-size:18px;font-weight:800;letter-spacing:-.01em;margin:10px 0 8px}
.more-grid p{font-size:14px;color:var(--ink-2);line-height:1.75}

/* Steps */
.how{padding:120px 0 90px}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;counter-reset:s}
.steps li{border-top:2px solid var(--ink);padding-top:22px}
.step-n{display:inline-block;font-family:var(--mono);font-size:13px;background:var(--ink);color:var(--paper);padding:3px 9px;border-radius:6px}
.steps h3{font-size:24px;letter-spacing:-.02em;font-weight:800;margin:18px 0 10px;line-height:1.3}
.steps p{color:var(--ink-2);font-size:15px;line-height:1.75}

/* Themes */
.looks{padding:20px 0 100px}
.looks-in{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;flex-wrap:wrap;border:1.5px dashed var(--line);border-radius:var(--r);padding:32px var(--gut);max-width:calc(1240px - 2 * var(--gut))}
.themes{display:flex;flex-wrap:wrap;gap:12px}
.looks-copy{flex:1 1 420px;max-width:540px}
.looks-note{font-size:15px;color:var(--ink-2);line-height:1.8;margin-top:12px}
.themes{flex:0 1 460px}
.themes small{font-family:var(--mono);font-size:10px;font-weight:400;color:var(--ink-2);margin-left:2px}
.themes li{display:flex;align-items:center;gap:10px;font-size:14px;padding:8px 14px 8px 8px;border-radius:999px;border:1px dashed var(--line);color:var(--ink-2)}
.themes li.look{padding:0;border:0}
.theme-now{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:700;padding:8px 14px 8px 8px;border-radius:999px;background:var(--card);border:1.5px solid var(--ink);box-shadow:2px 2px 0 var(--ink);transition:transform .12s,box-shadow .12s}
.theme-now:active{transform:translate(1px,1px);box-shadow:1px 1px 0 var(--ink)}
.theme-now[aria-pressed=true]{background:var(--sun);color:var(--sun-ink);box-shadow:none}
.theme-now[aria-pressed=true] small{color:var(--sun-ink)}
.sw{width:26px;height:26px;border-radius:50%;border:1.5px solid var(--ink)}
.sw-receipt{background:linear-gradient(135deg,#F3EEE3 50%,#FF5533 50%)}
.sw-receipt-night{background:linear-gradient(135deg,#13110D 50%,#FF6A4D 50%)}
.sw-warm{background:linear-gradient(135deg,#FBF9F4 50%,#2D6A4F 50%)}
.sw-graphite{background:linear-gradient(135deg,#253B36 50%,#76D6C0 50%)}
.sw-paper{background:linear-gradient(135deg,#FFFFFF 50%,#09090B 50%)}
.sw-ink{background:linear-gradient(135deg,#09090B 50%,#FAFAFA 50%)}

/* FAQ */
.faq{padding:40px 0 120px}
.faq-in{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:start}
.qa details{border-bottom:1.5px solid var(--ink)}
.qa details:first-child{border-top:1.5px solid var(--ink)}
.qa summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 0;font-size:19px;font-weight:700;letter-spacing:-.01em}
.qa summary::-webkit-details-marker{display:none}
.qa summary:after{content:'+';flex:none;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;border:1.5px solid var(--ink);font-family:var(--mono);font-weight:400;transition:transform .2s,background .2s}
.qa details[open] summary:after{transform:rotate(45deg);background:var(--sun);color:var(--sun-ink)}
.qa p{color:var(--ink-2);font-size:16px;line-height:1.8;padding:0 48px 24px 0}

/* Closing */
.closing{padding:0 var(--gut) 72px}
.closing-in{max-width:1240px;margin:0 auto;background:var(--tomato);color:#fff;border:2px solid var(--ink);border-radius:40px;padding:clamp(56px,8vw,110px) var(--gut);text-align:center;position:relative;overflow:hidden;box-shadow:8px 8px 0 var(--ink)}
.closing-in:before,.closing-in:after{content:'';position:absolute;border-radius:50%;border:2px solid rgba(255,255,255,.35)}
.closing-in:before{width:420px;height:420px;left:-140px;top:-180px}
.closing-in:after{width:300px;height:300px;right:-80px;bottom:-150px;background:rgba(255,210,63,.35);border:0}
.closing-in>*{position:relative;z-index:1}
.closing .eyebrow{color:rgba(255,255,255,.85)}
.closing-title{position:relative;font-size:clamp(40px,7vw,96px);line-height:1.08;letter-spacing:-.04em;font-weight:800;margin:20px 0 40px}
.btn-invert{position:relative;background:var(--ink);color:#F3EEE3;border-color:var(--ink);box-shadow:4px 4px 0 rgba(0,0,0,.35)}
:root[data-marketing-mode=dark] .btn-invert{background:#13110D}
.link-invert{position:relative;display:table;margin:22px auto 0;color:rgba(255,255,255,.88);border-color:rgba(255,255,255,.45)}
.link-invert:hover{color:#fff;border-color:#fff}

/* Footer */
.foot{padding:10px 0 48px}
.foot-in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px}
.foot-nav{display:flex;gap:22px;font-size:14px;color:var(--ink-2)}
.foot-nav a:hover{color:var(--ink)}
.foot-note{width:100%;border-top:1px solid var(--line);padding-top:22px;font-size:12px;color:var(--ink-2)}

/* Reveal on scroll (only when script runs) */
.js [data-reveal]{opacity:0;transform:translateY(26px);transition:opacity .6s cubic-bezier(.2,.8,.2,1),transform .6s cubic-bezier(.2,.8,.2,1)}
.js [data-reveal].is-in{opacity:1;transform:none}
.js [data-reveal]:not(.is-in) .bars i,.js [data-reveal]:not(.is-in) .fund-meter i{--fill:0}
.js .bento [data-reveal]:nth-child(2){transition-delay:.06s}.js .bento [data-reveal]:nth-child(3){transition-delay:.1s}.js .bento [data-reveal]:nth-child(4){transition-delay:.14s}.js .bento [data-reveal]:nth-child(5){transition-delay:.18s}
.js .steps [data-reveal]:nth-child(2){transition-delay:.08s}.js .steps [data-reveal]:nth-child(3){transition-delay:.16s}

@keyframes print{from{clip-path:inset(0 0 100% 0);transform:translateY(-24px)}to{clip-path:inset(0 0 0 0);transform:none}}
@keyframes stamp{from{opacity:0;transform:rotate(-16deg) scale(1.9)}to{opacity:1;transform:rotate(-16deg) scale(1)}}
@keyframes pop{from{opacity:0;scale:.6}to{opacity:1;scale:1}}
@keyframes underline{to{transform:scaleX(1)}}
@keyframes marquee{to{transform:translateX(-50%)}}
@keyframes fadeup{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* Tablet */
@media (max-width:1020px){
  .snap-in{grid-template-columns:1fr;gap:44px}
  .habit-in{grid-template-columns:1fr;gap:48px}
  .more-grid{grid-template-columns:repeat(2,1fr)}
  .more-grid li:not(:nth-child(4n+1)){padding-left:0;border-left:0}
  .more-grid li:nth-child(2n){padding-left:22px;border-left:1px dashed var(--line)}
  .hero{grid-template-columns:1fr;gap:40px;padding-top:36px}
  .hero-stage{padding:10px 0 20px}
  .pain-in,.net-in,.faq-in{grid-template-columns:1fr;gap:44px}
  .bento{grid-template-columns:repeat(2,1fr)}
  .tile-split,.tile-stats{grid-column:span 2}
  .tile-net,.tile-fund,.tile-nests,.tile-proof{grid-column:span 1}
}
/* Phone */
@media (max-width:640px){
  .snap{padding:84px 0 10px}
  .snap-card{padding:16px;box-shadow:4px 4px 0 var(--ink)}
  .snap-items button{grid-template-columns:1fr auto 54px;gap:8px}
  .habit{padding:84px 0 20px}
  .stages{grid-template-columns:1fr;gap:26px}
  .more{padding:70px 0 20px}
  .more-grid{grid-template-columns:1fr}
  .more-grid li:nth-child(2n){padding-left:0;border-left:0}
  .more-grid li{padding:22px 0}
  body{font-size:15px}
  .nav{gap:12px}
  .nav-link:not(.nav-login){display:none}
  .mode{width:34px;height:34px}
  .logo-word small{display:none}
  .hero{padding-bottom:64px}
  .hero-title{margin:20px 0 22px}
  .hero-cta{gap:16px}
  .btn-lg{padding:15px 22px;font-size:16px}
  .receipt{width:min(340px,92%)}
  .stamp{width:96px;height:96px;right:-6px;bottom:-10px}
  .stamp span{font-size:19px}
  .bubble{font-size:13px}
  .hero-stage{padding-top:46px}
  .bubble-1{left:0;top:0}
  .bubble-2{left:0;bottom:-2%}
  .pain{padding:80px 0}
  .chat{padding:20px}
  .features{padding-bottom:80px}
  .bento{grid-template-columns:1fr;gap:14px}
  .tile-split,.tile-net,.tile-fund,.tile-nests,.tile-proof,.tile-stats{grid-column:auto}
  .tile-stats{display:flex}
  .tile-stats .bars{height:130px;width:100%;order:2}
  .tile-stats p:not(.tile-tag){order:3}
  .tile{padding:22px}
  .slider{grid-template-columns:56px 1fr 42px 54px;gap:8px;font-size:13px}
  .seg button{padding:7px 12px}
  .netting{padding:84px 0;border-radius:32px 32px 0 0}
  .toggle button{padding:9px 13px;font-size:13px}
  .how{padding:84px 0 64px}
  .steps{grid-template-columns:1fr;gap:28px}
  .looks{padding-bottom:70px}
  .looks-in{margin:0 var(--gut);padding:24px 20px}
  .faq{padding-bottom:80px}
  .qa summary{font-size:17px}
  .qa p{padding-right:0}
  .closing-in{border-radius:28px;box-shadow:5px 5px 0 var(--ink)}
  .foot-in{flex-direction:column;align-items:flex-start}
}
@media (prefers-reduced-motion:reduce){
  *,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .hero-title mark:after{transform:none}
  .js [data-reveal]{opacity:1;transform:none}
  .js [data-reveal]:not(.is-in) .bars i,.js [data-reveal]:not(.is-in) .fund-meter i{--fill:1}
}
.foot-nav select[data-language]{font:inherit;font-size:13px;color:inherit;background:transparent;border:1px solid currentColor;border-radius:999px;padding:4px 10px}
