/* Project-specific motion: payment records, rupee amounts, and settlement flow. */
.hero-visual.money-visual,.pearl .hero-visual.money-visual{width:min(46vw,640px);height:620px;right:2%;top:23%;overflow:visible;--money-green:#bed7ac;--money-paper:#e4e6d9;--money-ink:#30392c}
.money-visual:after,.pearl .money-visual:after{display:none}
.money-scene{width:600px;height:580px;position:relative;transform:scale(var(--scene-scale,1));transform-origin:top left;perspective:1000px}
.money-grid{position:absolute;inset:60px -25px 0;background-image:linear-gradient(#b7c7a80c 1px,transparent 1px),linear-gradient(90deg,#b7c7a80c 1px,transparent 1px);background-size:43px 43px;transform:rotateX(56deg) rotateZ(-16deg);mask-image:radial-gradient(ellipse,#000 10%,transparent 70%);pointer-events:none}
.money-routes{position:absolute;inset:0;width:600px;height:580px;overflow:visible;pointer-events:none}
.route-base,.route-travel{fill:none;stroke:#9dae8b28;stroke-width:1.4}
.route-travel{stroke:var(--money-green);stroke-width:2;stroke-linecap:round;stroke-dasharray:9 650;animation:money-transfer 6s linear infinite;filter:drop-shadow(0 0 5px #bed7ac)}
.route-two{animation-delay:-3s;stroke-dasharray:7 300}
.payment-note{position:absolute;left:35px;top:45px;width:370px;height:169px;border-radius:9px;padding:23px 25px;background:linear-gradient(120deg,#b5bda4,#e4e8d7 46%,#a7b396);color:#424b36;box-shadow:0 2px 0 #edf0e7,0 7px 0 -2px #7c846c,0 10px 0 -4px #b1b89f,0 26px 42px #0005;transform:rotateX(14deg) rotateY(-12deg) rotateZ(-17deg);overflow:hidden;animation:note-float 8s ease-in-out infinite}
.payment-note:before{content:'';position:absolute;inset:10px;border:1px solid #53604540;border-radius:5px;pointer-events:none}
.payment-note>span:first-child{font:8px Consolas,monospace;letter-spacing:1.6px;display:block;position:relative;z-index:1}
.payment-note>strong{display:block;font-size:40px;font-weight:500;letter-spacing:-2px;margin-top:12px;position:relative;z-index:1}
.payment-note>strong>span{font-size:23px;opacity:.65}
.note-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:17px;position:relative;z-index:1;font:7px Consolas,monospace;letter-spacing:.8px}
.note-bottom i,.note-bottom b{font-weight:400;font-style:normal}
.note-rupee{position:absolute;right:19px;top:2px;font-size:148px;font-weight:700;line-height:1;color:#4c5d3820;text-shadow:1px 1px #f9ffed44;transform:rotate(-6deg)}
.fee-note{position:absolute;right:19px;top:76px;border:1px solid #b7c4a829;border-radius:7px;padding:14px 18px;background:#1c211ad9;transform:rotate(8deg);color:#bdc4ad;box-shadow:0 10px 40px #0003;animation:fee-float 7s ease-in-out infinite}
.fee-note>span{display:block;font:7px Consolas,monospace;letter-spacing:1.4px;color:#828b76;margin-bottom:7px}
.fee-note strong{font-size:22px;font-weight:400;letter-spacing:-.8px}
.fee-note small{display:block;font-size:8px;color:#90977f;margin-top:5px}
.settlement-ticket{position:absolute;left:156px;top:172px;width:334px;min-height:287px;border:1px solid #c8d5b243;border-radius:11px;background:linear-gradient(135deg,#2e3329,#1b2119 85%);box-shadow:0 1px 0 #c3d1b544,2px 7px 0 -3px #505945,8px 32px 65px -15px #000b;transform:rotateY(-13deg) rotateX(8deg) rotateZ(-5deg);padding:20px 24px;color:#dee4d0;z-index:3;animation:ticket-float 9s ease-in-out infinite;transition:border-color .6s,box-shadow .6s}
.ticket-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px}
.ticket-brand{font-size:15px;letter-spacing:-.6px}.ticket-demo{font:6px Consolas,monospace;letter-spacing:1.5px;border:1px solid #a7b39833;border-radius:4px;padding:5px;color:#96a387}
.ticket-label{font:7px Consolas,monospace;letter-spacing:2px;color:#9dac8e}
.ticket-amount{font-size:47px;line-height:1.15;letter-spacing:-2.5px;margin:10px 0;color:#e3e9d8;white-space:nowrap;font-variant-numeric:tabular-nums}
.ticket-amount>span{font-size:29px;color:#9fab92;letter-spacing:-1px}
.ticket-description{font-size:9px;line-height:1.7;color:#919e83;max-width:260px;min-height:30px}
.ticket-rule{display:flex;gap:10px;align-items:center;margin:16px -24px 15px;color:#8f9b80;font:6px Consolas,monospace;letter-spacing:1.2px}
.ticket-rule>i{flex:1;border-top:1px dashed #bcc9aa30}
.ticket-equation{display:flex;align-items:center;justify-content:space-between;gap:8px}
.ticket-equation>span{font-size:6px;color:#89977b}
.ticket-equation strong{display:block;font-size:10px;font-weight:400;color:#c1cbb2;margin-top:5px;font-variant-numeric:tabular-nums}
.ticket-equation>b{color:#738166;font-size:11px;font-weight:400}
.ticket-status{display:flex;align-items:center;gap:7px;border-top:1px solid #c6d2b61f;margin-top:18px;padding-top:12px;color:#b4c3a2;font-size:7px}
.ticket-status>i{width:4px;height:4px;border-radius:50%;background:#afc691}.ticket-status>b{font-size:13px;margin-left:auto;font-weight:400}
.bank-receipt{position:absolute;z-index:4;right:5px;bottom:58px;display:flex;align-items:center;gap:11px;padding:15px 18px;background:#1b2019f5;border:1px solid #aabd9126;border-radius:8px;box-shadow:0 13px 30px #0005;transform:rotate(3deg);transition:border-color .5s,box-shadow .5s}
.bank-symbol{font-size:25px;color:#909f7a;line-height:1}
.bank-receipt small{display:block;font:6px Consolas,monospace;letter-spacing:1.3px;color:#899877;margin-bottom:6px}
.bank-receipt strong{font-size:12px;font-weight:400;color:#bccbac}
.bank-check{width:22px;height:22px;display:grid;place-items:center;border-radius:5px;border:1px solid #a7bd9233;color:#a5b991;margin-left:10px;font-size:12px}
.currency-tile{position:absolute;left:56px;top:321px;display:grid;place-items:center;width:64px;height:49px;border-radius:9px;border:1px solid #cbd6b655;background:linear-gradient(145deg,#ccd4b9,#82916c);color:#445535;font-size:30px;box-shadow:0 4px 0 #536341,0 13px 30px #0003;transform:rotate(-20deg);animation:rupee-float 5s ease-in-out infinite}
.tile-two{left:auto;right:26px;top:247px;width:47px;height:36px;font-size:23px;animation-delay:-2.5s;transform:rotate(16deg);opacity:.8}
.money-stage-controls{position:absolute;left:32px;bottom:5px;display:flex;gap:22px;width:385px;z-index:5}
.money-stage-controls button{flex:1;border:0;border-bottom:1px solid #c2cead2a;padding:9px 0 12px;text-align:left;background:transparent;color:#849278;font-size:9px;position:relative}
.money-stage-controls button>span{font:7px Consolas,monospace;margin-right:7px;opacity:.6}
.money-stage-controls button>i{position:absolute;left:0;bottom:-1px;height:1px;background:#c7d7b2;transform:scaleX(0);width:100%;transform-origin:left;transition:transform .45s ease}
.money-stage-controls button.active{color:#d4dfc6}.money-stage-controls button.active>i{transform:scaleX(1)}
.scene-caption{position:absolute;left:32px;bottom:-20px;font:6px Consolas,monospace;color:#697460;letter-spacing:1.3px}
.money-scene[data-money-phase="2"] .bank-receipt{border-color:#c9e2aa7a;box-shadow:0 13px 30px #0005,0 0 28px #adcf8512}
.money-scene[data-money-phase="2"] .bank-check{background:#bbd5a1;color:#2d4321;border-color:transparent}
.money-scene[data-money-phase="2"] .settlement-ticket{border-color:#bfd9a26e}
/* Replace the remaining decorative metal circles with record icons. */
.node-disc,.pearl .node-disc{border-radius:15px;width:85px;height:85px;background:linear-gradient(140deg,#30372a,#192017);border:1px solid #94a77b66;box-shadow:0 5px 0 -1px #3c4933,0 16px 30px #0003}
.node-disc:before,.pearl .node-disc:before{border-radius:8px;inset:9px;background:transparent;box-shadow:inset 0 0 0 1px #a9bb8e25}
.node-disc:after,.pearl .node-disc:after{content:'₹';color:#c6d4b4;text-shadow:none;font-size:32px}
.source-node:nth-of-type(2) .node-disc:after{content:'≡'}.source-node:nth-of-type(3) .node-disc:after{content:'▥'}
.source-node:hover .node-disc,.source-node.active .node-disc,.pearl .source-node:hover .node-disc,.pearl .source-node.active .node-disc{transform:translateY(-6px) rotate(-4deg);box-shadow:0 5px 0 -1px #3c4933,0 22px 32px #0003}
.missing-record-visual{position:relative;width:40%;min-height:345px;flex-shrink:0;perspective:700px}
.record-shadow{position:absolute;left:12%;top:40px;width:80%;height:270px;border:1px solid #b8bd9d26;background:#292c2133;transform:rotate(9deg);border-radius:9px}
.record-paper{position:relative;margin:25px auto 0;width:83%;padding:30px 25px;background:linear-gradient(120deg,#dbdace,#bdbfa9);color:#4d5441;transform:rotate(-7deg);border-radius:5px;box-shadow:0 16px 50px #0005;animation:record-float 8s ease-in-out infinite}
.record-paper>span{font:7px Consolas,monospace;letter-spacing:1.2px;display:block;margin-bottom:27px;color:#7b8069}
.record-line{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #7a83692b;padding:13px 0;font-size:11px}.record-line i{font-style:normal;color:#747b65}.record-line b{font-weight:400}
.record-missing{border:1px dashed #85856766;margin-top:16px;padding:12px}.record-missing>b{font-size:20px;color:#8b8a6d}
.record-warning{color:#8b8058;font-size:10px;margin-top:18px}.record-paper small{display:block;font-size:8px;color:#80846e;line-height:1.8;margin-top:8px}
.record-tag{position:absolute;bottom:15px;right:3%;background:#2e3528;border:1px solid #a8b29144;border-radius:5px;padding:13px 19px;font:10px Consolas,monospace;color:#b7c5a6;transform:rotate(5deg)}
.closing-money{position:absolute;right:-35px;top:135px;width:420px;height:280px;opacity:.6;transform:rotate(-15deg)}
.closing-banknote{position:absolute;inset:20px 20px 60px 0;background:linear-gradient(135deg,#83916e,#bec9a8);border:1px solid #c5d3ae;border-radius:9px;color:#33422b;padding:27px;z-index:2;overflow:hidden;box-shadow:0 10px 0 -3px #4e613b,0 20px 50px #0005;animation:note-float 8s ease-in-out infinite}
.closing-banknote>span{font:7px Consolas,monospace;letter-spacing:2px}.closing-banknote>strong{display:block;font-size:42px;letter-spacing:-2px;font-weight:400;margin-top:18px}.closing-banknote>strong>span{font-size:26px}.closing-banknote>i{display:block;font:6px Consolas,monospace;letter-spacing:1px;margin-top:15px}.closing-banknote>b{position:absolute;right:22px;top:15px;font-size:132px;opacity:.13}
.note-duplicate{transform:rotate(12deg);z-index:1;inset:0 0 80px 20px;opacity:.6;animation-delay:-3s}
.route-travel,.payment-note,.fee-note,.settlement-ticket,.currency-tile,.record-paper,.closing-banknote{animation-play-state:var(--ambient-play,running)}
@keyframes money-transfer{to{stroke-dashoffset:-659}}
@keyframes note-float{0%,100%{translate:0 0}50%{translate:0 -12px}}
@keyframes fee-float{0%,100%{translate:0 0}50%{translate:4px -9px}}
@keyframes ticket-float{0%,100%{translate:0 0}50%{translate:0 8px}}
@keyframes rupee-float{0%,100%{translate:0 0}50%{translate:4px -16px}}
@keyframes record-float{0%,100%{translate:0 0}50%{translate:0 -9px}}
.pearl .money-visual{--money-green:#7c9464;--money-paper:#e0e3d4;--money-ink:#3a492d}
.pearl .money-grid{background-image:linear-gradient(#74815e15 1px,transparent 1px),linear-gradient(90deg,#74815e15 1px,transparent 1px)}
.pearl .route-base{stroke:#7b8b652b}.pearl .route-travel{filter:none}
.pearl .payment-note{background:linear-gradient(120deg,#cdd5bc,#f2f4e7 46%,#b9c5a4);box-shadow:0 2px 0 #fff,0 7px 0 -2px #b1bd9c,0 10px 0 -4px #dbe4c9,0 26px 42px #67734430}
.pearl .fee-note{background:#f5f6edee;border-color:#a8b39555;color:#6c7b59;box-shadow:0 10px 30px #707c5020}.pearl .fee-note>span,.pearl .fee-note small{color:#879274}
.pearl .settlement-ticket{background:linear-gradient(135deg,#fcfcf5,#e8ecdd);border-color:#fefefa;color:#4a573d;box-shadow:0 1px 0 #fff,2px 7px 0 -3px #a2b18b,8px 32px 65px -15px #6e795055}
.pearl .ticket-label,.pearl .ticket-description{color:#869672}.pearl .ticket-amount{color:#3f5033}.pearl .ticket-amount>span{color:#91a07f}.pearl .ticket-demo{color:#8e9e7a;border-color:#9ba88b40}.pearl .ticket-rule>i{border-color:#9aa88655}.pearl .ticket-rule{color:#96a284}.pearl .ticket-equation>span{color:#8d997b}.pearl .ticket-equation strong{color:#687b54}.pearl .ticket-status{border-color:#a0af8d38;color:#899c70}.pearl .ticket-equation>b{color:#95a17e}
.pearl .bank-receipt{background:#f6f8eff5;border-color:#a3b28c77;box-shadow:0 13px 30px #71844b22}.pearl .bank-receipt strong{color:#63784d}.pearl .bank-receipt small{color:#8a9d74}.pearl .bank-symbol{color:#8d9e75}.pearl .bank-check{color:#8fa477;border-color:#a7bd9277}
.pearl .money-stage-controls button{color:#929f7e;border-color:#99aa7f55}.pearl .money-stage-controls button.active{color:#5b7346}.pearl .money-stage-controls button>i{background:#8ba36e}.pearl .scene-caption{color:#9ba98a}
.pearl .node-disc{background:linear-gradient(140deg,#eef2e3,#cdd7bb);box-shadow:0 5px 0 -1px #a4b48c,0 16px 30px #82936622}.pearl .node-disc:after{color:#7c9161}.pearl .node-disc:before{box-shadow:inset 0 0 0 1px #94a67555}.pearl .source-node:hover .node-disc,.pearl .source-node.active .node-disc{box-shadow:0 5px 0 -1px #a4b48c,0 22px 32px #82936633}
.pearl .record-paper{background:linear-gradient(120deg,#fbfcf3,#d9dfc8);box-shadow:0 16px 50px #78835026}.pearl .record-shadow{background:#d6dcc44a;border-color:#bdc5aa77}.pearl .record-tag{background:#d2ddbf;color:#6c8057;border-color:#b7c79e}.pearl .closing-money{opacity:.45}
@media(min-width:1700px){.hero-visual.money-visual,.pearl .hero-visual.money-visual{right:8%;top:22%;width:650px}}
@media(max-width:1100px){.hero-visual.money-visual,.pearl .hero-visual.money-visual{width:47vw;right:0;top:30%;height:500px}.missing-record-visual{width:39%}.record-paper{padding:25px 18px;width:90%}.record-line{font-size:9px}.closing-money{right:-150px;opacity:.4}}
@media(max-width:800px){.hero-visual.money-visual,.pearl .hero-visual.money-visual{width:51vw;right:-1%;top:38%;height:430px}.record-paper{padding:22px 16px}.record-paper>span{font-size:6px}.record-tag{font-size:8px}.missing-record-visual{width:36%}.record-line{gap:5px;font-size:8px}.record-paper small{font-size:7px}.closing-money{right:-210px;opacity:.25}}
@media(max-width:600px){.hero-visual.money-visual,.pearl .hero-visual.money-visual{width:calc(100% - 18px);height:430px;right:9px;top:auto;bottom:4px}.hero,.pearl .hero{min-height:900px}.money-visual .money-scene{margin-top:8px}.scene-caption{font-size:7px}.money-stage-controls button{font-size:11px}.money-stage-controls button>span{font-size:9px}.money-stage-controls{width:470px;gap:23px}.ticket-description{font-size:10px}.ticket-label{font-size:8px}.ticket-status{font-size:9px}.bank-receipt strong{font-size:14px}.bank-receipt small{font-size:8px}.fee-note>span{font-size:8px}.fee-note small{font-size:9px}.payment-note>span:first-child{font-size:10px}.note-bottom{font-size:8px}.ticket-equation>span{font-size:8px}.ticket-equation strong{font-size:11px}.node-disc,.pearl .node-disc{width:65px;height:65px;border-radius:12px}.node-disc:after,.pearl .node-disc:after{font-size:27px}.missing-record-visual{width:280px;min-height:320px}.record-paper{padding:25px;width:90%}.record-paper>span{font-size:7px}.record-line{font-size:10px}.record-paper small{font-size:8px}.record-tag{font-size:10px;bottom:4px}.closing-money{right:-250px;top:170px;opacity:.18}.pearl .closing-money{opacity:.2}}
@media(max-width:360px){.hero,.pearl .hero{min-height:865px}.hero-visual.money-visual,.pearl .hero-visual.money-visual{height:365px;bottom:20px}}
@media(prefers-reduced-motion:reduce){.money-visual *,.missing-record-visual *,.closing-money *{animation:none!important;transition:none!important}}
/* Keep the static illustration within narrow screens when JavaScript is unavailable. */
@media(max-width:600px){.money-visual{--scene-scale:.55}}
@media(max-width:360px){.money-visual{--scene-scale:.48}}
