/* =========================================================================
   The Wealthy Tax Playbook · live masterclass deck (system B)
   Fixed 1600x900 stage, scaled to fit any viewport (letterboxed).
   ========================================================================= */
html,body{height:100%;margin:0;overflow:hidden;background:#0c0a08}
body{font:400 20px/1.5 var(--sans);color:var(--ink);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;cursor:pointer}
#stage{position:fixed;left:0;top:0;width:1600px;height:900px;transform-origin:0 0;overflow:hidden;background:var(--espresso);contain:strict}
.slide{position:absolute;inset:0;overflow:hidden;opacity:0;transform:translateY(16px) scale(.995);
  transition:opacity .75s var(--ease),transform 1s var(--ease)}
.slide.on{opacity:1;transform:none}
.slide.off{opacity:0;transform:translateY(-8px);transition:opacity .45s ease,transform .6s var(--ease)}

/* themes */
.th-light{background:radial-gradient(120% 90% at 50% 0%,#fffdf9 0%,var(--ivory) 55%,var(--ivory-2) 100%);color:var(--ink)}
.th-sand{background:radial-gradient(120% 90% at 50% 100%,#f6efe5 0%,var(--ivory-2) 70%,#eadfcf 100%);color:var(--ink)}
.th-dark{background:radial-gradient(90% 80% at 50% 0%,#2a2119 0%,var(--espresso) 62%,#0d0a08 100%);color:#f3ece2}
.th-dark{--muted:#bfb1a1;--faint:#9a8b7b;--hair:rgba(243,236,226,.16);--hair-soft:rgba(243,236,226,.08)}
.th-light em,.th-sand em{font-style:italic;color:var(--accent)}
.th-dark em{font-style:italic;color:var(--gold)}

/* chrome (inside the stage, scales with it) */
#bar{position:absolute;left:0;top:0;height:2px;width:0;background:var(--gold);z-index:20;transition:width .6s var(--ease)}
#counter{position:absolute;right:40px;bottom:30px;z-index:20;font:500 16px/1 var(--sans);letter-spacing:.2em;font-variant-numeric:tabular-nums;opacity:.55;color:var(--ink)}
#stage[data-th="dark"] #counter{color:#f3ece2}
#brandmark{position:absolute;left:40px;bottom:26px;z-index:20;height:22px;width:auto;opacity:.5}
#stage[data-th="light"] #brandmark,#stage[data-th="sand"] #brandmark{filter:invert(1) brightness(.35)}
#hint{position:fixed;left:0;right:0;bottom:18px;text-align:center;font:500 14px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:rgba(243,236,226,.6);display:none;pointer-events:none}
#hint.show{display:block;animation:hintPulse 2.4s ease-in-out infinite}
@keyframes hintPulse{50%{opacity:.45}}

/* generic entrance animation (replays on each mount) */
.a{animation:rise .95s var(--ease) both;animation-delay:calc(var(--d,0) * 1s + .2s)}
.af{animation:fade 1.1s ease both;animation-delay:calc(var(--d,0) * 1s + .2s)}
@keyframes rise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes fade{from{opacity:0}to{opacity:1}}
@keyframes growx{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes growy{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes pop{0%{opacity:0;transform:scale(.6)}60%{opacity:1;transform:scale(1.06)}100%{opacity:1;transform:scale(1)}}
@keyframes stamp{0%{opacity:0;transform:scale(1.8) rotate(-14deg)}70%{opacity:1;transform:scale(.96) rotate(-9deg)}100%{opacity:1;transform:scale(1) rotate(-9deg)}}
@keyframes kenburns{from{transform:scale(1.06)}to{transform:scale(1)}}
@keyframes floatUp{0%{opacity:0;transform:translateY(40px) scale(.9)}15%{opacity:1;transform:none}100%{opacity:1;transform:none}}
html.reduced .a,html.reduced .af,html.reduced [class*="anim-"]{animation:none!important}
html.reduced .slide{transition:opacity .2s linear}

/* type */
.eb{font:500 17px/1.2 var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--accent);margin:0 0 28px}
.th-dark .eb{color:var(--gold)}
.h{font-family:var(--display);font-weight:500;letter-spacing:-.012em;margin:0;text-wrap:balance}
.h-xxl{font-size:152px;line-height:.98}
.h-xl{font-size:114px;line-height:1.02}
.h-l{font-size:86px;line-height:1.06}
.h-m{font-size:68px;line-height:1.1}
.h-s{font-size:52px;line-height:1.14}
.sub{font:400 27px/1.5 var(--sans);color:var(--muted);margin:30px 0 0;text-wrap:pretty}
.rule{width:72px;height:1px;background:var(--gold);border:0;margin:40px auto}
.cap{font:500 15px/1.3 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--faint)}

/* layout primitives */
.center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:90px 150px}
.stack{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;padding:96px 120px 110px;text-align:center}
.stack .hd{flex:none}
.stack .bd{flex:1;width:100%;display:flex;align-items:center;justify-content:center;margin-top:48px;min-height:0}

/* split: photo panel + text */
.split{position:absolute;inset:0;display:grid;grid-template-columns:680px 1fr}
.split.right{grid-template-columns:1fr 680px}
.split .ph{position:relative;overflow:hidden}
.split .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:kenburns 6s var(--ease) both}
.split .tx{display:flex;flex-direction:column;justify-content:center;padding:0 110px 0 100px}
.split.right .tx{padding:0 100px 0 120px}
.split.right .ph{order:2}
.split .tx .h{text-align:left}
.split .sub{max-width:640px}
.split .ph::after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.04)}

/* full-bleed landscape photo */
.bleed img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:kenburns 7s var(--ease) both}
.bleed .scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,10,8,0) 30%,rgba(13,10,8,.55) 62%,rgba(13,10,8,.88) 100%)}
.bleed .cap-bl{position:absolute;left:110px;right:110px;bottom:100px;color:#f8f1e6}
.bleed .cap-bl .h{color:#fff9f0}
.bleed .cap-bl .sub{color:rgba(248,241,230,.82);margin-top:18px}

/* framed / polaroid / cluster */
.frame{background:var(--paper);padding:16px 16px 18px;border-radius:6px;box-shadow:0 2px 4px rgba(27,21,17,.08),0 40px 80px -30px rgba(27,21,17,.45)}
.frame img{display:block;width:100%;height:100%;object-fit:cover;border-radius:2px}
.th-dark .frame{background:#f6efe4}
.poly{position:absolute;width:470px;height:640px;padding:18px 18px 70px}
.poly .pcap{position:absolute;left:0;right:0;bottom:22px;text-align:center;font:italic 500 28px/1 var(--display);color:var(--ink)}

/* cards */
.card{background:var(--paper);border:1px solid var(--hair-soft);border-radius:var(--radius);box-shadow:var(--shadow)}
.th-dark .card{background:rgba(255,250,242,.045);border-color:rgba(243,236,226,.12);box-shadow:none}

/* ---------- stat ---------- */
.statrow{display:flex;gap:0;justify-content:center;align-items:stretch}
.stat{padding:0 70px;text-align:center;position:relative}
.stat + .stat::before{content:"";position:absolute;left:0;top:12%;bottom:12%;width:1px;background:var(--gold);opacity:.7}
.stat .num{font:500 152px/1 var(--display);letter-spacing:-.02em;font-variant-numeric:lining-nums}
.stat .num.sm{font-size:122px}
.stat .lbl{font:400 25px/1.45 var(--sans);color:var(--muted);margin-top:18px;max-width:380px;margin-inline:auto}
.th-light .stat .num,.th-sand .stat .num{color:var(--ink)}
.stat .num em{font-style:italic}

/* ---------- quiz ---------- */
.quiz-card{width:1080px;padding:70px 90px 76px;text-align:center;position:relative}
.quiz-card .h{font-size:66px;line-height:1.12}
.tf{display:flex;gap:28px;justify-content:center;margin-top:54px}
.tf span{min-width:220px;padding:22px 30px;border-radius:999px;border:1px solid var(--hair);font:500 22px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--muted)}
.tf span.yes{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);animation:pop .7s var(--ease) both;animation-delay:.6s}
.th-dark .tf span.yes{background:var(--gold);border-color:var(--gold);color:#1b1511}
.tf span.no{opacity:.35}
.stampx{position:absolute;right:-40px;top:-46px;font:italic 600 66px/1 var(--display);color:var(--accent);border:2px solid currentColor;border-radius:14px;padding:12px 26px 16px;animation:stamp .7s var(--ease) both;animation-delay:.9s;background:var(--paper)}
.th-dark .stampx{color:var(--gold);background:#1d1712}
.qnote{font:400 27px/1.5 var(--sans);color:var(--muted);margin-top:44px}

/* ---------- chat bubbles ---------- */
.chatbox{position:relative;width:560px;height:360px;margin:0 auto}
.bub{position:absolute;padding:16px 26px;border-radius:26px 26px 26px 8px;font:500 26px/1 var(--sans);letter-spacing:.06em;background:var(--accent);color:var(--accent-ink);box-shadow:0 18px 40px -18px rgba(0,0,0,.5);animation:floatUp 1s var(--ease) both}
.th-dark .bub{background:#f3ece2;color:#1b1511}
.bub.alt{background:var(--paper);color:var(--ink);border:1px solid var(--hair)}
.th-dark .bub.alt{background:var(--gold);color:#1b1511;border:0}

/* ---------- compare (two column) ---------- */
.cmp{display:grid;grid-template-columns:1fr 1fr;gap:40px;width:1240px}
.cmp .col{padding:46px 52px 40px;text-align:left}
.cmp .col h3{font:500 46px/1.1 var(--display);margin:0 0 8px}
.cmp .col .cap{margin-bottom:26px}
.cmp .row{display:flex;gap:18px;align-items:center;padding:17px 0;border-top:1px solid var(--hair-soft);font:400 25px/1.35 var(--sans)}
.cmp .dim{opacity:.62}
.cmp .dim .ic{color:var(--faint)}
.cmp .hi{border:1px solid rgba(140,90,50,.35);box-shadow:0 30px 70px -30px rgba(140,90,50,.45)}
.cmp .hi h3{color:var(--accent)}
.ic{flex:none;width:28px;height:28px;display:grid;place-items:center}
.ic svg{width:24px;height:24px}
.cmp .hi .ic{color:var(--accent)}

/* ---------- bars ---------- */
.hbars{width:1180px;display:flex;flex-direction:column;gap:34px;text-align:left}
.hbar .lab{display:flex;justify-content:space-between;font:500 18px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--faint);margin-bottom:14px}
.hbar .track{height:74px;border-radius:12px;background:rgba(27,21,17,.05);display:flex;overflow:hidden}
.th-dark .hbar .track{background:rgba(243,236,226,.06)}
.hbar .seg{height:100%;transform-origin:left;animation:growx 1.3s var(--ease) both;display:flex;align-items:center;padding-left:22px;font:500 20px/1 var(--sans);letter-spacing:.06em;white-space:nowrap;overflow:hidden}
.seg.ink{background:#3a2e25;color:#f6efe4}
.seg.acc{background:var(--accent);color:var(--accent-ink)}
.seg.gold{background:var(--gold);color:#1b1511}
.seg.soft{background:#d9c9b4;color:#3a2e25}
.th-dark .seg.ink{background:#5a4a3d}
.note{font:400 18px/1.4 var(--sans);color:var(--faint);letter-spacing:.04em;margin-top:26px;font-style:normal}

/* vertical bars */
.vbars{display:flex;align-items:flex-end;gap:120px;height:430px}
.vbar{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%}
.vbar .col{width:200px;border-radius:12px 12px 4px 4px;transform-origin:bottom;animation:growy 1.4s var(--ease) both}
.vbar .v{font:500 66px/1 var(--display);margin-bottom:18px}
.vbar .k{font:500 17px/1.3 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--faint);margin-top:20px;text-align:center}

/* ---------- documents (receipt, minutes, log, timesheet) ---------- */
.doc{background:#fffdf8;color:#1b1511;border-radius:10px;box-shadow:0 2px 4px rgba(27,21,17,.06),0 40px 90px -36px rgba(27,21,17,.5);text-align:left;position:relative}
.doc .dh{font:500 15px/1 var(--sans);letter-spacing:.26em;text-transform:uppercase;color:#76695c}
.doc table{display:table;width:100%;border-collapse:collapse;font:400 21px/1.3 var(--sans)}
.doc th{font:500 14px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:#76695c;text-align:left;padding:0 0 14px;border-bottom:1px solid rgba(27,21,17,.14)}
.doc td{padding:15px 0;border-bottom:1px solid rgba(27,21,17,.07);color:#2b221b}
.doc td.r,.doc th.r{text-align:right}
.hand{font:italic 500 32px/1.25 var(--display);color:var(--accent)}
.badge{display:inline-block;font:500 15px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;padding:10px 14px;border-radius:999px;border:1px solid var(--accent);color:var(--accent)}
.stamp{position:absolute;font:600 24px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--accent);border:2px solid var(--accent);border-radius:10px;padding:14px 20px;transform:rotate(-9deg);animation:stamp .7s var(--ease) both;background:rgba(255,253,248,.9)}

/* ---------- ladder ---------- */
.ladders{display:flex;gap:150px;align-items:flex-end;position:relative}
.ladder{width:330px}
.ladder .t{font:500 17px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--faint);text-align:center;margin-bottom:18px}
.rung{height:48px;margin-top:8px;border-radius:8px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;font:500 22px/1 var(--sans);background:rgba(27,21,17,.05);color:var(--muted)}
.th-dark .rung{background:rgba(243,236,226,.06)}
.rung.on{background:var(--accent);color:var(--accent-ink)}
.th-dark .rung.on{background:var(--gold);color:#1b1511}
.rung small{font:400 16px/1 var(--sans);letter-spacing:.06em;opacity:.85}

/* ---------- flow nodes ---------- */
.flow{display:flex;align-items:flex-start;justify-content:center;gap:0;width:1360px;position:relative}
.node{flex:1;display:flex;flex-direction:column;align-items:center;text-align:center;position:relative;padding:0 14px}
.node .dot{width:96px;height:96px;border-radius:50%;display:grid;place-items:center;background:var(--paper);border:1px solid var(--hair);box-shadow:var(--shadow);position:relative;z-index:2;animation:pop .8s var(--ease) both}
.th-dark .node .dot{background:#211a14;border-color:rgba(201,165,107,.45);box-shadow:none}
.node .dot svg{width:40px;height:40px;color:var(--accent)}
.th-dark .node .dot svg{color:var(--gold)}
.node .dot b{font:500 42px/1 var(--display);color:var(--accent)}
.th-dark .node .dot b{color:var(--gold)}
.node .nl{font:500 28px/1.25 var(--display);margin-top:26px;max-width:250px}
.node .ns{font:400 20px/1.45 var(--sans);color:var(--muted);margin-top:10px;max-width:250px}
.flow .line{position:absolute;top:48px;left:10%;right:10%;height:1px;background:var(--gold);transform-origin:left;animation:growx 1.6s var(--ease) both;animation-delay:.3s;z-index:1}

/* ---------- pills / chips ---------- */
.chips{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;max-width:1200px}
.chip{padding:18px 28px;border-radius:999px;background:var(--paper);border:1px solid var(--hair);font:400 24px/1 var(--sans);box-shadow:0 10px 30px -18px rgba(27,21,17,.35)}
.th-dark .chip{background:rgba(255,250,242,.06);border-color:rgba(243,236,226,.14);box-shadow:none}

/* ---------- stack list (offer) ---------- */
.slist{display:flex;flex-direction:column;gap:16px;width:1060px}
.sitem{display:flex;align-items:center;gap:28px;padding:24px 34px;text-align:left}
.sitem .n{flex:none;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;font:500 30px/1 var(--display);border:1px solid var(--gold);color:var(--accent)}
.th-dark .sitem .n{color:var(--gold)}
.sitem .st{font:500 34px/1.2 var(--display)}
.sitem .ss{font:400 20px/1.4 var(--sans);color:var(--muted);margin-top:4px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:24px;width:1180px}
.grid2 .sitem{min-height:150px}

/* ---------- video proof ---------- */
.vid{position:relative;width:880px;aspect-ratio:16/9;border-radius:16px;overflow:hidden;box-shadow:0 40px 90px -30px rgba(0,0,0,.6)}
.vid img{width:100%;height:100%;object-fit:cover}
.vid .play{position:absolute;left:50%;top:50%;width:104px;height:104px;margin:-52px 0 0 -52px;border-radius:50%;background:rgba(255,250,242,.94);display:grid;place-items:center;box-shadow:0 20px 50px -10px rgba(0,0,0,.5)}
.vid .play svg{width:34px;height:34px;margin-left:6px;color:#1b1511}
.vname{font:500 42px/1.15 var(--display);margin-top:38px}
.vdesc{font:400 23px/1.45 var(--sans);color:var(--muted);margin-top:8px}

/* proof screenshots grid */
.shots{display:grid;grid-template-columns:1fr 1fr;gap:22px;width:1360px}
.shot{background:#fff;border-radius:14px;height:196px;display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:0 30px 60px -34px rgba(0,0,0,.6);padding:8px 14px}
.shot img{max-width:100%;max-height:100%;object-fit:contain}

/* ---------- gift ---------- */
.giftwrap{display:flex;align-items:center;gap:110px}
.giftcover{width:420px;aspect-ratio:3/4;border-radius:8px;overflow:hidden;box-shadow:0 2px 6px rgba(0,0,0,.2),0 60px 120px -30px rgba(0,0,0,.7);transform:perspective(1400px) rotateY(-10deg) rotateX(2deg);animation:giftIn 1.4s var(--ease) both;animation-delay:.2s;position:relative}
.giftcover img{width:100%;height:100%;object-fit:cover}
.giftcover.veil img{filter:blur(7px) saturate(.7);transform:scale(1.1)}
.giftcover.veil::after{content:"";position:absolute;inset:0;background:rgba(20,16,13,.35)}
.giftcover .lock{position:absolute;inset:0;display:grid;place-items:center;z-index:2;font:500 16px/1.6 var(--sans);letter-spacing:.3em;text-transform:uppercase;color:#f3ece2;text-align:center}
@keyframes giftIn{from{opacity:0;transform:perspective(1400px) rotateY(-28deg) translateY(40px)}to{opacity:1;transform:perspective(1400px) rotateY(-10deg) rotateX(2deg)}}

/* ---------- CTA ---------- */
.url{display:inline-flex;align-items:center;gap:16px;margin-top:46px;padding:24px 44px;border-radius:999px;background:var(--accent);color:var(--accent-ink);font:500 32px/1 var(--sans);letter-spacing:.04em;box-shadow:0 24px 50px -20px rgba(140,90,50,.7);animation:pop .9s var(--ease) both;animation-delay:.7s}
.th-dark .url{background:var(--gold);color:#1b1511;box-shadow:0 24px 60px -20px rgba(201,165,107,.55)}
.url svg{width:28px;height:28px}

/* ---------- FAQ ---------- */
.faq-q{font:500 106px/1.04 var(--display);letter-spacing:-.015em;margin:0}
.faq-a{font:400 29px/1.5 var(--sans);color:var(--muted);max-width:980px;margin:44px auto 0}
.qmark{font:italic 500 302px/1 var(--display);color:var(--gold);opacity:.18;position:absolute;right:120px;top:40px}

/* ---------- divider ---------- */
.dv-n{font:italic 400 232px/1 var(--display);color:transparent;-webkit-text-stroke:1.2px var(--gold);letter-spacing:-.02em;margin-bottom:6px}
.dv-line{font:400 26px/1.55 var(--sans);color:var(--muted);max-width:900px;margin:34px auto 0}

/* myth vs truth */
.mt{display:grid;grid-template-columns:1fr 1fr;gap:40px;width:1260px}
.mt .card{padding:54px 56px;text-align:left;min-height:330px}
.mt .tag{font:500 17px/1 var(--sans);letter-spacing:.3em;text-transform:uppercase;margin-bottom:26px}
.mt .myth{opacity:.7}
.mt .myth .tag{color:var(--faint)}
.mt .myth p{text-decoration:line-through;text-decoration-color:rgba(140,90,50,.6);text-decoration-thickness:2px}
.mt .truth{border:1px solid rgba(140,90,50,.4)}
.mt .truth .tag{color:var(--accent)}
.th-dark .mt .truth{border-color:rgba(201,165,107,.5)}
.th-dark .mt .truth .tag{color:var(--gold)}
.mt p{font:500 42px/1.2 var(--display);margin:0}

/* year timeline */
.year{width:1300px;position:relative;padding-top:20px}
.months{display:grid;grid-template-columns:repeat(13,1fr);font:500 17px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--faint);text-align:center}
.yband{height:90px;margin-top:18px;display:grid;grid-template-columns:repeat(13,1fr);gap:6px}
.yband i{border-radius:8px;background:rgba(27,21,17,.06);transform-origin:bottom;animation:growy .8s var(--ease) both}
.th-dark .yband i{background:rgba(243,236,226,.07)}
.yband i.s{background:var(--accent);opacity:.85}
.th-dark .yband i.s{background:var(--gold)}
.yband i.c{background:#3a2e25}
.th-dark .yband i.c{background:#f3ece2}
.ylegend{display:flex;justify-content:center;gap:56px;margin-top:34px;font:400 22px/1 var(--sans);color:var(--muted)}
.ylegend b{display:inline-block;width:18px;height:18px;border-radius:5px;margin-right:12px;vertical-align:-3px}

/* code sections */
.codes{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;width:1360px}
.code{padding:40px 30px 36px;text-align:left;min-height:250px}
.code .sec{font:500 54px/1 var(--display);color:var(--accent)}
.th-dark .code .sec{color:var(--gold)}
.code .what{font:400 22px/1.45 var(--sans);color:var(--muted);margin-top:22px}

/* calendar page */
.cal{width:340px;border-radius:18px;overflow:hidden;background:var(--paper);box-shadow:0 40px 80px -30px rgba(0,0,0,.55);text-align:center;color:#1b1511}
.cal .top{background:var(--accent);color:var(--accent-ink);font:500 20px/1 var(--sans);letter-spacing:.3em;text-transform:uppercase;padding:20px 0}
.cal .d{font:500 172px/1 var(--display);padding:26px 0 8px}
.cal .y{font:500 18px/1 var(--sans);letter-spacing:.3em;color:#76695c;padding-bottom:30px}

/* portal mock */
.win{width:1120px;border-radius:16px;overflow:hidden;background:#fffdf8;box-shadow:0 50px 100px -40px rgba(0,0,0,.6);text-align:left;color:#1b1511}
.win .wbar{height:44px;background:#efe7db;display:flex;align-items:center;gap:8px;padding:0 18px}
.win .wbar i{width:12px;height:12px;border-radius:50%;background:#d6c7b3}
.win .wbar span{margin-left:16px;font:400 16px/1 var(--sans);color:#76695c;letter-spacing:.04em}
.win .wb{display:grid;grid-template-columns:260px 1fr;min-height:420px}
.win .side{background:#1b1511;color:#e9dfd1;padding:30px 26px;font:400 18px/2.4 var(--sans)}
.win .side img{height:26px;width:auto;margin-bottom:22px;opacity:.9}
.win .side .act{color:var(--gold)}
.win .main{padding:38px 46px}
.up{display:flex;align-items:center;gap:22px;padding:20px 0;border-bottom:1px solid rgba(27,21,17,.08)}
.up .fi{width:44px;height:54px;border-radius:6px;background:#f1e9de;display:grid;place-items:center;font:600 13px/1 var(--sans);letter-spacing:.1em;color:var(--accent)}
.up .nm{flex:1;font:500 21px/1.2 var(--sans)}
.up .pb{height:6px;border-radius:6px;background:#efe7db;margin-top:10px;overflow:hidden}
.up .pb i{display:block;height:100%;background:var(--accent);transform-origin:left;animation:growx 1.4s var(--ease) both}
.up .ok{width:34px;height:34px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;animation:pop .6s var(--ease) both}
.up .ok svg{width:18px;height:18px}

/* family payroll card */
.payroll{width:1060px;padding:44px 56px 40px}
.payroll table td{font-size:24px;padding:20px 0}
.payroll .who{font:500 30px/1 var(--display)}

/* roth / jars */
.jars{display:flex;gap:80px;align-items:flex-end;justify-content:center}
.jar{width:230px;text-align:center}
.jar .glass{height:300px;border:1.5px solid var(--hair);border-radius:30px 30px 40px 40px;position:relative;overflow:hidden;background:rgba(255,253,248,.5)}
.th-dark .jar .glass{background:rgba(255,250,242,.03)}
.jar .fill{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(180deg,var(--gold),var(--accent));transform-origin:bottom;animation:growy 1.6s var(--ease) both}
.jar .jn{font:500 30px/1.2 var(--display);margin-top:24px}
.jar .js{font:400 19px/1.4 var(--sans);color:var(--muted);margin-top:6px}

/* paths */
.pathnum{font:italic 400 36px/1 var(--display);color:var(--accent)}
.th-dark .pathnum{color:var(--gold)}
.pathart{width:520px;height:520px}

/* loop */
.loop{position:relative;width:720px;height:620px}
.loop svg.ring{position:absolute;inset:0}
.loop .lnode{position:absolute;width:250px;text-align:center;margin:-48px 0 0 -125px}
.loop .lnode .dot{margin:0 auto}

/* utility */
.muted{color:var(--muted)}
.w-l{max-width:1250px}
.w-m{max-width:1050px}
.left{text-align:left}
.logo-light{filter:invert(1) brightness(.2)}
