.cashflow-content { max-width:980px; }
.cashflow-content .intro { max-width:760px; }
.cashflow-privacy { display:grid; grid-template-columns:170px 1fr; gap:24px; margin-top:52px; padding:22px 25px; border-left:3px solid var(--gold); background:#f2eadc; }
.cashflow-privacy b { color:var(--gold); font-size:11px; letter-spacing:.12em; text-transform:uppercase; }
.cashflow-privacy p { margin:0; color:var(--muted); font-size:13px; line-height:1.6; }
.cashflow-step { margin-top:78px; padding-top:34px; border-top:1px solid var(--line); }
.step-head { display:grid; grid-template-columns:76px 1fr; gap:28px; max-width:850px; }
.step-head>span { padding-top:5px; color:var(--gold); font-size:12px; font-weight:700; letter-spacing:.1em; }
.step-head h2,.cashflow-summary h2 { margin:0; font-size:clamp(32px,4vw,48px); font-weight:500; letter-spacing:-.05em; line-height:1.08; }
.step-head p:last-child { max-width:720px; margin:16px 0 0; color:var(--muted); font-size:15px; line-height:1.65; }
.cashflow-fields { display:grid; grid-template-columns:repeat(3,1fr); gap:18px 22px; margin:37px 0 0 104px; }
.cashflow-fields label { position:relative; display:block; color:var(--muted); font-size:10px; font-weight:700; letter-spacing:.07em; line-height:1.35; text-transform:uppercase; }
.cashflow-fields input,.cashflow-fields select { display:block; width:100%; margin-top:8px; padding:10px 60px 10px 0; border:0; border-bottom:1px solid #bbb7af; border-radius:0; background:transparent; color:var(--ink); font:500 18px "DM Sans",sans-serif; }
.cashflow-fields select { padding-right:0; font-size:15px; }
.cashflow-fields label>span { position:absolute; right:2px; bottom:11px; color:#77746e; font-size:10px; }
.cf-inline-result { display:flex; flex-wrap:wrap; align-items:baseline; gap:13px; margin:30px 0 0 104px; padding:22px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.cf-inline-result span,.cf-pac-result span,.cf-summary-cards span { color:var(--muted); font-size:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.cf-inline-result strong { color:var(--gold); font-family:"DM Sans",sans-serif; font-size:32px; font-weight:500; letter-spacing:-.06em; }
.cf-inline-result small { color:var(--muted); font-size:12px; }
.cf-template { display:flex; align-items:center; justify-content:space-between; gap:28px; margin:40px 0 0 104px; padding:27px; background:#f2eadc; }
.cf-template b { display:block; font-size:18px; font-weight:600; letter-spacing:-.03em; }
.cf-template p { max-width:620px; margin:8px 0 0; color:var(--muted); font-size:13px; line-height:1.6; }
.cf-template .button { flex:0 0 auto; color:#fff; background:var(--night); cursor:pointer; white-space:nowrap; }
.cf-spending-section { margin:48px 0 0 104px; }
.cf-spending-section h3 { margin:0; font-size:22px; font-weight:600; letter-spacing:-.035em; }
.cf-spending-section>p { max-width:700px; margin:10px 0 0; color:var(--muted); font-size:13px; line-height:1.6; }
.cf-category-fields,.cf-spending-section .cashflow-fields { margin-left:0; }
.cf-extra { margin-top:54px; padding:31px; border:1px solid var(--line); background:rgba(255,253,250,.72); }
.cf-extra .cashflow-fields { grid-template-columns:repeat(3,1fr); }
.cf-pac-list { display:grid; gap:20px; margin:37px 0 0 104px; }
.cf-pac-plan { padding:25px 28px 28px; border:1px solid var(--line); background:rgba(255,253,250,.76); }
.cf-pac-plan-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.cf-pac-plan-heading b { color:var(--gold); font-size:11px; letter-spacing:.12em; text-transform:uppercase; }
.cf-remove-pac { padding:0; border:0; border-bottom:1px solid #c5b59c; background:transparent; color:var(--muted); font:700 10px "DM Sans",sans-serif; letter-spacing:.08em; text-transform:uppercase; cursor:pointer; }
.cf-remove-pac:hover { color:#8e4b3d; }
.cf-pac-plan .cashflow-fields { margin:23px 0 0; }
.cf-pac-fields { grid-template-columns:repeat(3,1fr); }
.cf-add-pac { margin:18px 0 0 104px; padding:13px 0; border:0; border-bottom:1px solid var(--gold); background:transparent; color:var(--gold); font:700 11px "DM Sans",sans-serif; letter-spacing:.08em; text-transform:uppercase; cursor:pointer; }
.cf-add-pac:hover { color:var(--ink); }
.cf-goal-fields { display:grid; grid-template-columns:1fr 1fr; gap:22px; margin:34px 0 0 104px; padding:26px 28px; background:#f2eadc; }
.cf-goal-fields label { position:relative; display:block; color:var(--muted); font-size:10px; font-weight:700; letter-spacing:.07em; line-height:1.35; text-transform:uppercase; }
.cf-goal-fields input { display:block; width:100%; margin-top:8px; padding:10px 60px 10px 0; border:0; border-bottom:1px solid #bbb7af; border-radius:0; background:transparent; color:var(--ink); font:500 18px "DM Sans",sans-serif; }
.cf-goal-fields label>span { position:absolute; right:2px; bottom:11px; color:#77746e; font-size:10px; }
.cf-pac-result { display:grid; grid-template-columns:1fr 1fr; gap:1px; margin:35px 0 0 104px; background:var(--line); border:1px solid var(--line); }
.cf-pac-result>div { min-height:130px; padding:26px; background:#fffdfa; }
.cf-pac-result strong { display:block; margin-top:15px; color:var(--gold); font-family:"DM Sans",sans-serif; font-size:32px; font-weight:500; letter-spacing:-.06em; }
.cf-pac-result small { display:block; margin-top:8px; color:var(--muted); font-size:12px; }
.cf-pac-result .goal-met strong { color:#46613d; }
.cf-pac-chart-wrap { margin:35px 0 0 104px; padding:24px 22px 12px; border:1px solid var(--line); background:#fffdfa; }
#cf-pac-chart { width:100%; height:auto; overflow:visible; }
.cf-grid,.cf-axis { fill:none; stroke:#dfd6c8; stroke-width:1; }
.cf-grid { stroke-dasharray:2 6; }
.cf-pac-line { fill:none; stroke:var(--gold); stroke-width:4; }
.cf-goal-line { fill:none; stroke:#735236; stroke-width:2; stroke-dasharray:7 6; }
#cf-pac-labels text { fill:var(--muted); font:11px "DM Sans",sans-serif; }
.cashflow-summary { margin-top:82px; padding:42px; background:#442f20; color:#fff; }
.cashflow-summary .article-kicker { color:#e5c77e; }
.cf-summary-cards { display:grid; grid-template-columns:repeat(5,1fr); gap:1px; margin-top:34px; background:rgba(255,255,255,.2); }
.cf-summary-cards section { min-height:118px; padding:20px; background:#523b2a; }
.cf-summary-cards span { color:#dbd1c1; }
.cf-summary-cards strong { display:block; margin-top:17px; color:#f0d595; font-family:"DM Sans",sans-serif; font-size:23px; font-weight:500; letter-spacing:-.05em; }
.cf-summary-cards .cf-balance-card { background:#725538; }
.cf-summary-cards .cf-balance-card.negative { background:#6b3831; }
.cf-flow-chart { margin:42px 0 0; padding-top:28px; border-top:1px solid rgba(255,255,255,.23); }
.cf-flow-chart figcaption { display:flex; justify-content:space-between; gap:20px; margin-bottom:19px; }
.cf-flow-chart figcaption span { font-size:19px; font-weight:600; letter-spacing:-.03em; }
.cf-flow-chart figcaption small { color:#dbd1c1; font-size:11px; }
.cf-bars { display:grid; gap:14px; }
.cf-bar-row { display:grid; grid-template-columns:155px 1fr 105px; align-items:center; gap:16px; }
.cf-bar-row span { color:#f3eee6; font-size:12px; }
.cf-bar-row i { display:block; height:15px; background:rgba(255,255,255,.15); }
.cf-bar-row i b { display:block; height:100%; background:#dfbd71; }
.cf-bar-row:nth-child(2) i b { background:#d3bba1; }.cf-bar-row:nth-child(3) i b { background:#bd8e6e; }.cf-bar-row:nth-child(4) i b { background:#a8c29e; }.cf-bar-row:nth-child(5) i b { background:#f5e9cd; }
.cf-bar-row.negative i b { background:#d58e7c; }
.cf-bar-row strong { color:#fff; font-size:13px; font-weight:600; text-align:right; }
.cf-summary-note { max-width:800px; margin:25px 0 0; color:#dbd1c1; font-size:12px; line-height:1.65; }
.cf-reading { margin-top:82px; }
.cf-reading .sources>p:last-child { max-width:760px; margin:24px 0 0; color:var(--muted); font-size:13px; line-height:1.65; }
@media (max-width:740px) {
  .cashflow-privacy { display:block; padding:24px; }
  .cashflow-privacy b { display:block; }
  .cashflow-privacy p { margin-top:14px; font-size:15px; }
  .step-head { grid-template-columns:45px 1fr; gap:15px; }
  .cashflow-step { margin-top:58px; }
  .cashflow-fields,.cf-inline-result,.cf-template,.cf-spending-section,.cf-pac-list,.cf-add-pac,.cf-goal-fields,.cf-pac-result,.cf-pac-chart-wrap { margin-left:0; }
  .cashflow-fields,.cf-extra .cashflow-fields,.cf-pac-fields,.cf-goal-fields { grid-template-columns:1fr; }
  .cf-pac-plan { padding:22px; }
  .cf-template { display:block; padding:24px; }
  .cf-template .button { margin-top:20px; }
  .cf-spending-section { margin-top:40px; }
  .cf-extra { padding:24px; }
  .cf-pac-result { grid-template-columns:1fr; }
  .cashflow-summary { margin-right:-20px; margin-left:-20px; padding:31px 20px; }
  .cf-summary-cards { grid-template-columns:1fr 1fr; }.cf-summary-cards section:last-child { grid-column:1/-1; }
  .cf-bar-row { grid-template-columns:1fr 80px; gap:8px; }.cf-bar-row i { grid-row:2; grid-column:1/-1; }.cf-bar-row strong { grid-column:2; grid-row:1; }
  .cf-flow-chart figcaption { display:block; }.cf-flow-chart figcaption small { display:block; margin-top:7px; }
}
