@font-face{font-family:Anton;src:url('/cashflow/assets/anton.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:CPBody;src:url('/cashflow/assets/inter.woff2') format('woff2');font-weight:400 800;font-display:swap}
@font-face{font-family:CPWord;src:url('/cashflow/assets/archivo-wordmark.woff2') format('woff2');font-display:swap}
:root{--navy:#081642;--deep:#03091c;--blue:#1c5ae3;--yellow:#ffd21f;--ink:#111b36;--muted:#526079;--paper:#f5f7fc;--line:#d4ddef;--metal:linear-gradient(155deg,#0b1f5e 0%,#081642 40%,#0d2a7a 72%,#061235 100%)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px;scroll-padding-bottom:calc(104px + env(safe-area-inset-bottom));-webkit-text-size-adjust:100%}
body{margin:0;min-height:100dvh;background:var(--paper);color:var(--ink);font-family:CPBody,system-ui,sans-serif;line-height:1.5;padding-bottom:calc(80px + env(safe-area-inset-bottom))}
[hidden]{display:none!important}
button,input{font:inherit}
a{color:var(--blue)}
button,a,input{touch-action:manipulation}
button:disabled{cursor:wait;opacity:.65}
:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
.hero :focus-visible,.topbar :focus-visible,.dock :focus-visible{outline-color:var(--yellow)}
img,svg{display:block;max-width:100%}
h1,h2,h3,p{margin:0}
.wrap{width:min(1160px,100%);margin:auto;padding-inline:20px}
.skip{position:absolute;left:-9999px;z-index:100;background:var(--yellow);padding:12px;color:var(--navy)}
.skip:focus{left:12px;top:12px}
.topbar{background:#050e2c;border-bottom:1px solid #203259;color:#eef3ff}
.topbar .wrap{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.brand{display:flex;align-items:center;gap:8px}
.brand img{width:28px;height:32px;object-fit:contain}
.wordmark{font-family:CPWord,system-ui,sans-serif;font-size:19px;letter-spacing:.2px;color:#eef3ff}
.wordmark b{color:var(--yellow);font-weight:inherit}
.header-call{color:#e6edff;text-decoration:none;font-size:13px;font-weight:700;min-height:44px;display:flex;align-items:center;gap:8px}
.phone-icon{width:18px;height:18px;fill:currentColor}
.hero{position:relative;background:var(--metal);color:#eef3ff;padding:30px 0 36px;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(118deg,transparent 22%,#b6d0ff0c 42%,transparent 60%);pointer-events:none}
.hero-grid{position:relative;display:grid;gap:30px}
.eyebrow,.kicker{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.eyebrow{color:#c5d5f6;display:flex;align-items:center;gap:9px}
.eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--yellow)}
h1{font-family:Anton,Impact,sans-serif;font-weight:400;font-size:clamp(38px,10.3vw,58px);line-height:1.08;text-transform:uppercase;margin-top:16px;letter-spacing:.2px;max-width:13ch}
.subhead{font-size:16px;line-height:1.6;color:#e0e8fb;margin-top:18px;max-width:40em}
.button{display:inline-flex;min-height:54px;justify-content:center;align-items:center;gap:14px;padding:14px 20px;border:0;border-radius:9px;background:var(--yellow);color:var(--navy);text-decoration:none;font-size:16px;font-weight:800;cursor:pointer}
.button:active,.option:active{transform:scale(.985)}
.hero-copy>.button{margin-top:22px;width:100%}
.button .arrow{font-size:22px;line-height:1}
.fine{font-size:12px;color:#c5d5f6;margin-top:12px}
.highlight{margin-top:18px;padding:13px 16px;border-left:3px solid var(--yellow);background:#03091c55;font-weight:700;font-size:15px;color:#f1d95f}
.lvr{margin-top:17px;color:#e0e8fb;font-size:14px}
.card{scroll-margin-top:20px;background:var(--paper);color:var(--ink);border-radius:14px;border-top:4px solid var(--yellow);padding:22px 18px;box-shadow:0 18px 40px #03091c55;align-self:start}
.progress-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.form-title{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--blue)}
#step-count{font-size:12px;color:var(--muted);white-space:nowrap}
.progress-bar{height:8px;border-radius:10px;overflow:hidden;background:#dfe6f4;position:relative}
.progress-bar::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(to right,transparent 0,transparent calc(20% - 3px),var(--paper) calc(20% - 3px),var(--paper) 20%);pointer-events:none}
#progress-fill{display:block;height:100%;background:var(--blue);transform-origin:left;transform:scaleX(.2)}
.step{margin:24px 0 0;padding:0;border:0;min-width:0;animation:appear .18s ease-out}
.question{font-size:23px;line-height:1.25;font-weight:800;letter-spacing:-.5px;margin:0 0 19px;padding:0;max-width:100%}
legend.question{float:left;width:100%}
legend.question+*{clear:both}
.question:focus{outline:none}
.options{display:grid;gap:9px}
.option{width:100%;display:flex;align-items:center;gap:12px;border:1px solid #c8d3e8;background:#edf1f9;border-radius:9px;padding:14px 15px;text-align:left;min-height:56px;color:var(--navy);font-size:14px;font-weight:700;cursor:pointer}
.option::before{content:"";width:18px;height:18px;flex:0 0 18px;border-radius:50%;border:1.5px solid #a1b2d4;background:var(--paper)}
.option[aria-pressed=true]{border-color:var(--blue);background:#e0eaff}
.option[aria-pressed=true]::before{border:5px solid var(--blue)}
.back{border:0;background:transparent;color:var(--muted);padding:12px 0;min-height:44px;cursor:pointer;font-size:13px;font-weight:700;margin-top:12px}
.micro{font-size:12px;color:var(--muted);margin-top:16px;line-height:1.5}
.field{margin-bottom:14px}
.field label{display:block;font-size:13px;font-weight:700;margin-bottom:6px}
.field input{width:100%;height:50px;padding:12px;border-radius:8px;border:1px solid #bdcbe2;background:#fafbfe;color:var(--ink);font-size:16px}
.field input[aria-invalid=true]{border-color:#b63238}
.field-error{color:#a5222c;font-size:12px;margin-top:5px}
.other{margin-top:16px}
.other .button{width:100%;margin-top:4px}
.consent{font-size:12px;color:var(--muted);line-height:1.6;margin:16px 0}
.submit{width:100%}
#submit-error{font-size:13px;line-height:1.5;color:#a5222c;border-left:3px solid #b63238;padding:10px 12px;background:#f9e9eb;margin-bottom:14px}
.success-icon{width:52px;height:52px;border-radius:50%;background:#e0eaff;color:var(--blue);display:grid;place-items:center;margin-bottom:18px}
.success-icon svg{width:28px;height:28px;stroke:currentColor;fill:none;stroke-width:2.5}
.thankyou .question{font-size:25px}
.thankyou p{font-size:14px;color:var(--muted);margin-bottom:20px}
.thankyou .button{width:100%}
.started{display:block;color:#256547;font-size:12px;font-weight:700;margin-bottom:8px}
.micro-win{display:flex;gap:9px;align-items:flex-start;margin-top:18px;padding:12px;border:1px solid #bad9c7;border-radius:8px;background:#e8f4ed;color:#256547;font-size:13px;font-weight:700;line-height:1.5}
.micro-win::before{content:"✓";flex-shrink:0}
.fit-note{color:var(--navy);font-size:14px;font-weight:700;margin-top:16px}
.confirmation{display:flex;align-items:flex-start;gap:10px;font-size:13px;font-weight:700;line-height:1.6;margin-top:18px}
.confirmation input{width:20px;height:20px;flex-shrink:0;accent-color:var(--blue);margin-top:2px}
.step-end .exit-copy{font-size:15px;line-height:1.7;margin-bottom:20px}
.exit-actions{display:grid;gap:12px}
.exit-actions .back{text-align:left;margin:0}
.next-steps{padding-left:24px;margin:20px 0 24px;color:var(--muted);font-size:14px}
.next-steps li{padding-left:6px;margin-bottom:14px}
.next-steps li::marker{color:var(--blue);font-weight:800}
.field .micro{margin-top:7px}
.question,.button,.option,.field input,.chip{scroll-margin-block:24px 110px}
.section{padding:44px 0}
.kicker{color:var(--blue);margin-bottom:12px}
h2{font-family:Anton,Impact,sans-serif;font-weight:400;text-transform:uppercase;font-size:34px;line-height:1.15;letter-spacing:.2px;margin-bottom:24px}
.finance-list{display:grid;gap:0}
.finance-item{display:flex;align-items:center;gap:18px;padding:18px 0;border-bottom:1px solid var(--line);font-size:15px;font-weight:700}
.finance-item svg{width:42px;height:42px;stroke:var(--blue);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.process{background:#e8edf7;border-block:1px solid var(--line)}
.process-grid{display:grid;gap:26px}
.process ol{margin:0;padding:0;list-style:none}
.process li{display:flex;gap:18px;padding:20px 0;border-bottom:1px solid #cdd7e9}
.process li:first-child{padding-top:0}
.process li:last-child{border-bottom:0;padding-bottom:0}
.number{font-family:Anton,sans-serif;font-size:28px;color:var(--blue);line-height:1.2;min-width:34px}
.process h3{font-size:17px;line-height:1.4;margin-bottom:5px}
.process p{font-size:14px;color:var(--muted);line-height:1.6}
.deals{display:grid;gap:18px}
.deal{padding:22px 0;border-top:2px solid var(--blue)}
.deal-amount{font-family:Anton,sans-serif;font-size:47px;line-height:1.1;color:var(--navy);margin-bottom:14px}
.deal h3{font-size:16px;line-height:1.5;margin-bottom:9px}
.deal p:last-child{font-size:14px;color:var(--muted)}
.closing{background:var(--metal);color:#eaf0ff;padding:36px 0}
.closing .wrap{display:grid;gap:20px}
.closing h2{font-size:32px;margin:0}
.closing p{color:#cfdbf6;font-size:14px;margin-top:8px}
.closing .button{width:100%}
.footer{background:var(--deep);color:#aebbd6;font-size:12px;padding:30px 0}
.footer .brand{margin-bottom:18px}
.footer p{max-width:82em;line-height:1.8}
.footer-links{display:flex;gap:24px;margin-top:12px}
.footer-links a{color:#dce6fb;min-height:44px;display:flex;align-items:center}
.dock{position:fixed;bottom:0;left:0;right:0;z-index:30;display:flex;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:#03091cf7;border-top:1px solid #33446a}
.dock a{display:flex;gap:10px;align-items:center;justify-content:center;min-height:52px;width:100%;color:var(--navy);background:var(--yellow);border-radius:9px;text-decoration:none;font-size:16px;font-weight:800}
.dock.is-hidden{transform:translateY(110%);visibility:hidden}
.contact-submit-dock{display:none}
@media(max-width:767px){
  body[data-source=asset-lending] .hero{padding:10px 0 18px}
  body[data-source=asset-lending] .hero-grid{gap:12px}
  body[data-source=asset-lending] .hero-copy h1{font-size:28px;line-height:1.08;max-width:none;margin-top:6px}
  body[data-source=asset-lending] .subhead{font-size:14px;line-height:1.35;margin-top:6px}
  body[data-source=asset-lending] .hero-copy>.button{margin-top:6px;min-height:44px;padding:10px 16px}
  body[data-source=asset-lending] .fine{margin-top:4px;font-size:11px;line-height:1.5}
  body[data-source=private-lending] .topbar .wrap{min-height:52px}
  body[data-source=private-lending] .hero{padding:10px 0 18px}
  body[data-source=private-lending] .hero-grid{gap:6px;padding-inline:16px}
  body[data-source=private-lending] .hero-copy h1{font-size:28px;line-height:1.08;max-width:none;margin-top:6px}
  body[data-source=private-lending] .subhead{font-size:14px;line-height:1.35;margin-top:6px}
  body[data-source=private-lending] .highlight{margin-top:6px;padding:6px 8px;font-size:13px;line-height:1.35}
  body[data-source=private-lending] .lvr{margin-top:6px;font-size:13px;line-height:1.35}
  body[data-source=private-lending] .fine{margin-top:2px;font-size:11px;line-height:1.5}
  body[data-source=private-lending] .hero-copy>.button{margin-top:6px;min-height:44px;padding:10px 16px}
  body[data-source=private-lending] .card{padding:12px 14px}
  body[data-source=private-lending] .progress-top{margin-bottom:4px;gap:8px}
  body[data-source=private-lending] .started{margin-bottom:4px;line-height:1.35}
  body[data-source=private-lending] .progress-bar{height:6px}
  body[data-source=private-lending] #question-steps .step{margin-top:12px}
  body[data-source=private-lending] #question-steps .question{font-size:20px;line-height:1.2;margin-bottom:10px}
  body[data-source=private-lending] #question-steps .options{gap:6px}
  body[data-source=private-lending] #question-steps .option{min-height:44px;padding:10px 12px;line-height:1.4}
  #contact-step{margin-top:14px}
  .contact-submit-fixed #contact-step{padding-bottom:var(--contact-submit-space,calc(94px + env(safe-area-inset-bottom)))}
  #contact-step input,#contact-step textarea{scroll-margin-block:24px}
  #contact-step .question{font-size:21px;line-height:1.2;margin-bottom:12px}
  #contact-step .field{margin-bottom:10px}
  #contact-step .field label{margin-bottom:4px}
  #contact-step .field input{height:44px;padding:10px 12px}
  #contact-step .field .micro{margin-top:4px}
  #contact-step .confirmation{margin-top:12px;min-height:44px;align-items:center;line-height:1.4}
  #contact-step .confirmation input{margin-top:0}
  #contact-step .consent{margin:10px 0;line-height:1.5}
  #contact-step>.micro{margin-top:10px}
  #contact-step .back{margin-top:4px}
  .contact-active .dock{display:none}
  .contact-submit-dock{position:fixed;z-index:40;left:0;right:0;bottom:0;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:#03091cf7;border-top:1px solid #33446a}
  .contact-active .contact-submit-dock{display:flex}
  .contact-submit-dock .button{width:100%;min-height:52px}
  .contact-submit-dock :focus-visible{outline-color:var(--yellow)}
}
@media(hover:hover){.option:hover{border-color:var(--blue)}.button:hover{filter:brightness(1.04)}}
@media(min-width:768px){.wrap{padding-inline:32px}.hero{padding:60px 0 64px}.hero-grid{grid-template-columns:1.1fr 1fr;gap:44px;align-items:center}.hero-copy>.button{width:auto}.card{padding:28px}.hero-copy h1{font-size:clamp(46px,5.1vw,66px)}.subhead{font-size:18px}.section{padding:64px 0}.finance-list{grid-template-columns:repeat(5,1fr);gap:22px}.finance-item{flex-direction:column;align-items:flex-start;gap:16px;border-bottom:0;padding:8px 0;font-size:14px}.process-grid{grid-template-columns:.85fr 1.15fr;gap:60px}h2{font-size:42px}.deals{grid-template-columns:1.3fr 1fr;gap:48px}.deals.single{grid-template-columns:1fr;max-width:780px}.deal{display:grid;grid-template-columns:110px 1fr;column-gap:24px}.deal-amount{grid-row:span 2}.closing .wrap{grid-template-columns:1fr auto;align-items:center}.closing .button{width:auto}.question{font-size:26px}}
@media(min-width:960px){body{padding-bottom:0}.dock{display:none}.header-call{font-size:15px}.hero-grid{gap:64px}}
@keyframes appear{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
