/* DuePlan extends the shared Echo Convo visual language and full-width gutters. */
:root{--mint:#d7ebe1;--paper:#fbfdfc;--gold:#d6e9e1}button,select{font-family:inherit}button:focus-visible,select:focus-visible{outline:3px solid #187552;outline-offset:4px}.due-hero-grid{grid-template-columns:1fr 1fr;gap:2vw;padding-top:62px;padding-bottom:66px}.hero h1{font-size:clamp(48px,5.25vw,94px);letter-spacing:-.065em}.hero-description{max-width:440px}.hero .lede{margin-top:28px}.money-scene{position:relative;min-width:0;height:615px}.money-orbit{position:absolute;inset:25px -12px 40px 0;border:1px solid #6a885933;border-radius:50%;transform:rotate(-23deg);box-shadow:0 0 0 35px #a9c3920b}.money-orbit.second{inset:75px -60px 80px -55px;transform:rotate(24deg);box-shadow:none}.paper-plan{position:absolute;top:85px;left:0;width:64%;background:#fbfdfc;border:1px solid #d7e5dd;border-radius:8px 50px 8px 8px;transform:rotate(-7deg);padding:30px 24px 35px;box-shadow:0 24px 40px -22px #31472c55}.paper-top{display:flex;justify-content:space-between;font-size:9px;gap:10px}.paper-top .eyebrow{font-size:8px}.paper-plan h3{font-size:30px;margin:32px 0 24px;line-height:1.2}.paper-plan h3 em{font-family:Georgia,serif;color:var(--green);font-weight:400}.paper-row{display:flex;align-items:center;gap:10px;padding:16px 0;border-top:1px solid var(--line);font-size:11px}.paper-row .day{font:25px Georgia,serif;opacity:.5;width:31px}.paper-row div{flex:1}.paper-row strong{display:block;font-size:12px;font-weight:500}.paper-row small{display:block;font-size:9px;color:var(--muted);margin-top:4px}.paper-row b{font-weight:500}.paper-note{font:italic 17px Georgia,serif;display:block;margin-top:24px;color:var(--green)}.app-phone{background:#f4f9f6;border:5px solid #20382f;outline:1px solid #8a9e8b;border-radius:36px;padding:13px 16px 9px;color:var(--ink);box-shadow:10px 30px 55px -24px #183e3470;overflow:hidden}.hero-app{position:absolute;width:278px;right:3%;top:6px;transform:rotate(6deg)}.phone-status{font-size:9px;display:flex;justify-content:space-between;margin:0 6px 16px;color:#263f33}.app-top{display:flex;align-items:center;justify-content:space-between;font:600 21px Manrope,sans-serif;letter-spacing:-.05em}.avatar{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:#dcebdc;color:#2a6048;font-size:12px;font-weight:500;flex-shrink:0}.avatar.sand{background:#e1e9e5;color:#526d5e}.app-top .avatar{width:27px;height:27px;font-size:10px}.app-space{display:flex;justify-content:space-between;border:1px solid var(--line);border-radius:9px;padding:7px 10px;margin-top:15px;font-size:10px}.app-month{display:flex;justify-content:space-between;margin:17px 0 9px;font-size:12px}.app-month>span{font-size:9px;color:var(--muted)}.app-total{background:#d9eee2;border-radius:18px;padding:17px}.app-total small,.app-total>span{display:block;font-size:9px;color:#41694f}.app-total>strong{font:500 36px Manrope,sans-serif;letter-spacing:-.06em;display:block;margin:3px 0}.app-progress{height:5px;background:#bfcebd;border-radius:10px;margin-top:12px}.app-progress i{display:block;height:100%;width:64%;border-radius:10px;background:#397d59}.app-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.app-stats>div{background:white;border-radius:12px;padding:11px 9px}.app-stats small{font-size:8px;display:block;color:var(--muted)}.app-stats b{font-size:15px;font-weight:500;display:block}.app-caption{display:flex;justify-content:space-between;font-size:11px;margin:19px 0 6px}.app-caption span{font-size:9px;color:var(--green)}.app-payment{display:flex;gap:7px;align-items:center;font-size:9px;padding:11px 0;border-bottom:1px solid var(--line)}.app-payment .avatar{width:25px;height:25px;font-size:9px}.app-payment>div{flex:1}.app-payment b{display:block;font-weight:500;font-size:10px}.app-payment small{display:block;font-size:8px;color:var(--muted);margin-top:2px}.app-payment>strong{font-weight:500}.app-add{display:block;text-align:center;background:var(--ink);color:#fff;border-radius:22px;padding:10px 5px;font-size:10px;margin:15px 0 12px}.app-bottom{display:flex;justify-content:space-around;text-align:center;font-size:15px}.app-bottom small{display:block;font-size:7px}.app-bottom>span:first-child{color:var(--green)}.gesture{width:65px;height:3px;border-radius:4px;background:var(--ink);margin:12px auto 0}.floating-match{position:absolute;left:4%;bottom:28px;display:flex;gap:14px;align-items:center;padding:18px 22px;background:#fbfdfc;border:1px solid white;border-radius:15px;transform:rotate(-4deg);box-shadow:0 18px 35px -20px #1f503c55}.match-icon{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#dfebd9;font-size:24px;color:#377256}.floating-match small{display:block;font-size:8px;letter-spacing:.12em;color:var(--muted)}.floating-match strong{font-size:20px;font-weight:500}.floating-match p{font-size:11px}.preview-footnote{position:absolute;bottom:-5px;right:4%;font-size:10px;color:var(--muted)}
.audience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3vw}.audience-grid article{min-width:0}.audience-number{font-size:10px;font-weight:600;letter-spacing:.12em;color:var(--green)}.mini-scene{height:225px;margin:20px 0 28px;display:grid;place-items:center;border-radius:18px;position:relative;overflow:hidden}.freelance-scene{background:#d8e9e2}.mini-paper{background:#fbfdfc;display:block;padding:23px 29px;transform:rotate(-7deg);font-size:8px;letter-spacing:.1em;box-shadow:0 14px 20px #3a52331c}.mini-paper b{font:italic 34px Georgia,serif;display:block;margin:13px 0;color:var(--green);letter-spacing:-.04em}.mini-paper small{font-size:9px;letter-spacing:0}.mini-stamp{position:absolute;right:9%;bottom:27px;background:#315e44;color:#fff;padding:7px 14px;border-radius:40px;font:italic 16px Georgia,serif;transform:rotate(9deg)}.business-scene{background:#dbe9e5}.receipt{width:220px;background:#f8fcfa;transform:rotate(5deg);padding:22px;box-shadow:0 10px 30px #584c2820;clip-path:polygon(0 0,100% 0,100% 96%,95% 100%,90% 96%,85% 100%,80% 96%,75% 100%,70% 96%,65% 100%,60% 96%,55% 100%,50% 96%,45% 100%,40% 96%,35% 100%,30% 96%,25% 100%,20% 96%,15% 100%,10% 96%,5% 100%,0 96%)}.receipt>span{font-size:8px;letter-spacing:.1em;display:block;margin-bottom:15px}.receipt b{font-size:15px;font-weight:500;display:block}.receipt i{display:block;border-top:1px dashed #89997b;margin:18px 0 12px}.receipt small{font-size:9px}.personal-scene{background:#e0e8ed}.life-note{background:#edf4f8;padding:22px 27px;transform:rotate(-5deg);font-size:16px;line-height:2;box-shadow:8px 12px 30px #31472c18}.life-note em{font:italic 20px Georgia,serif;color:var(--green)}.audience-grid h3{font-size:clamp(23px,2.1vw,34px);line-height:1.2;margin-bottom:18px}.audience-grid p{font-size:15px;line-height:1.8;max-width:360px;min-height:108px}.audience-grid .text-link{margin-top:22px;font-size:12px;gap:12px}
.planner-section{background:linear-gradient(120deg,#e5f0eb,#edf5f2)}.planner-grid,.reconcile-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:7vw;align-items:center}.planner-board{background:#fbfdfc;border:1px solid #d7e5dd;border-radius:22px;box-shadow:0 20px 65px -35px #284b3130;overflow:hidden}.planner-board .panel-top{padding:24px 25px 16px}.planner-controls{display:flex;gap:14px;align-items:center;padding:0 25px}.space-tabs{display:flex;flex:1;gap:4px;padding:4px;border-radius:10px;background:#e4eee8}.space-tabs button{flex:1;background:transparent;border:0;border-radius:7px;padding:9px 7px;font-size:12px;color:var(--ink);min-height:40px}.space-tabs button[aria-selected=true]{background:var(--ink);color:#fff}.currency-label{font-size:9px;display:flex;flex-direction:column;gap:2px;color:var(--muted)}select{background:transparent;color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:8px 2px;font-size:12px;min-height:36px}.board-title{padding:30px 25px 23px;display:flex;justify-content:space-between;align-items:center;gap:10px}.board-title small{font-size:9px;letter-spacing:.15em;color:var(--green)}.board-title h3{font-size:25px;margin-top:10px}.month-mark{font:italic 50px Georgia,serif;color:#b2bea6}.board-totals{display:grid;grid-template-columns:repeat(3,1fr);padding:0 25px 22px;gap:10px}.board-totals small{font-size:10px;color:var(--muted);display:block}.board-totals strong{display:block;font-size:23px;font-weight:500;letter-spacing:-.04em;margin-top:6px}.plan-row{display:flex;align-items:center;gap:13px;padding:18px 25px;border-top:1px solid var(--line)}.date-tile{width:42px;flex-shrink:0;text-align:center;font-size:21px;font-family:Manrope,sans-serif;line-height:1.3}.date-tile small{display:block;font:8px Figtree,sans-serif;color:var(--muted);letter-spacing:.1em}.plan-detail{flex:1;min-width:0}.plan-detail strong{font-size:13px;font-weight:500;display:block}.plan-detail small{display:block;font-size:10px;color:var(--muted);margin-top:3px}.plan-amount{text-align:right;font-size:15px;flex-shrink:0}.status{display:inline-block;font-size:9px;padding:3px 8px;border-radius:20px;background:#e3eee7;color:#536b49;line-height:1.7}.plan-amount .status{display:block;margin-top:5px}.status.awaiting{background:#e2ede6;color:#426a54}.status.outgoing{background:#e9e4ee;color:#73637b}.board-footnote{font-size:10px;padding:18px 25px;background:#f0f6f2;border-top:1px solid var(--line)}
.account-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.account-points{display:flex;flex-direction:column;gap:12px;margin:28px 0;font-size:14px}.account-points span:before{content:'✓';margin-right:10px;color:var(--green)}.fine-print{font-size:11px!important;max-width:420px}.account-stage{position:relative;isolation:isolate;padding:20px 35px 45px}.account-orbit{position:absolute;inset:0 -15px;background:#dceee5;border-radius:50%;z-index:-1}.collection-card{background:#fbfdfc;border:1px solid #fff;border-radius:22px;box-shadow:0 30px 60px -32px #234b3445;padding:28px;transform:rotate(2deg);max-width:460px;margin:auto}.collection-heading,.suggestion-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.collection-heading .eyebrow{font-size:9px}.collection-person{display:flex;align-items:center;gap:13px;margin-top:30px}.collection-person .avatar{width:45px;height:45px;font-size:16px}.collection-person h3{font-size:21px;letter-spacing:-.035em}.collection-person p{font-size:11px;margin-top:5px}.collection-amount{font:500 48px Manrope,sans-serif;letter-spacing:-.07em;margin:22px 0}.suggested-account{background:#deeee4;border-radius:15px;padding:18px}.suggestion-top small{font-size:8px;letter-spacing:.09em}.suggestion-top>span{font-size:10px;background:#fbfdfc;border-radius:20px;padding:4px 8px}.suggested-account>strong{font-size:17px;font-weight:500;display:block;margin-top:17px}.suggested-account>p{font-size:12px;margin-top:4px}.capacity-track{height:5px;background:#cad9c2;border-radius:10px;margin:14px 0}.capacity-track i{display:block;width:60%;height:100%;background:#4f805b;border-radius:10px}.suggested-account>small{font-size:10px;display:block;color:var(--muted)}.change-link{background:transparent;border:0;border-bottom:1px solid #668168;color:var(--green);font-size:12px;padding:10px 0 5px;min-height:44px}.request-note{display:flex;gap:13px;margin-top:20px}.request-note>span{font-size:24px}.request-note p{font-size:11px;line-height:1.7}.account-sticker{position:absolute;bottom:5px;left:0;background:#e2f0e9;padding:15px 23px;transform:rotate(-7deg);box-shadow:0 10px 30px #284b3120;font-size:14px}.account-sticker em{font:italic 18px Georgia,serif}#account-choices{border-top:1px solid var(--line);margin-top:12px;padding-top:6px}#account-choices button{display:block;width:100%;border:1px solid var(--line);background:#fbfdfc;border-radius:8px;padding:12px;text-align:left;color:var(--ink);font-size:12px;margin-top:8px}#account-choices button small{display:block;color:var(--muted);font-size:10px;margin-top:4px}
.match-board{background:#e2eee8;border:1px solid var(--line);border-radius:22px;overflow:hidden}.source-line{display:flex;align-items:center;justify-content:center;gap:14px;font-size:12px;margin:5px 20px 20px}.source-line>span:not(:last-child){border:1px solid #cbdfd3;background:#f1f7f3;padding:8px 14px;border-radius:8px}.match-preview{background:#fbfdfc;border:1px solid #fff;border-radius:18px;padding:26px;margin:0 28px;box-shadow:0 15px 35px -25px #284b3140}.match-top{display:flex;justify-content:space-between;align-items:center;gap:10px}.exact{background:#deedd9;color:#326441}.match-top>small{font-size:9px;color:var(--muted)}.match-amount{font:500 42px Manrope,sans-serif;letter-spacing:-.05em;margin:20px 0 6px}.match-preview>p{font-size:10px}.matched-person{display:flex;gap:12px;align-items:center;padding:20px 0;margin-top:10px;border-top:1px solid var(--line)}.matched-person strong{font-size:14px;font-weight:500;display:block}.matched-person small{font-size:10px;color:var(--muted);display:block;margin-top:3px}.match-preview .button{width:100%;padding:12px 17px;font-size:13px}.match-preview .button:disabled{cursor:default;opacity:.8;transform:none}.match-feedback{font-size:10px;margin-top:12px;min-height:32px}.duplicate-note{display:flex;gap:14px;padding:25px 28px}.duplicate-note>span{font-size:27px}.duplicate-note strong{font-size:14px;font-weight:500}.duplicate-note p{font-size:11px;margin-top:5px}.contact-section{background:linear-gradient(115deg,#dcece6,#e6f1ed);display:grid;grid-template-columns:1fr 1fr;gap:8vw;padding-top:85px;padding-bottom:85px;align-items:center}.contact-copy h2{font-size:clamp(34px,3.3vw,55px);margin:22px 0}.contact-copy>p{max-width:460px;font-size:15px;line-height:1.8}.contact-ledger{background:#fbfdfc;border:1px solid white;border-radius:20px;padding:30px;transform:rotate(-2deg);box-shadow:0 18px 45px -28px #254b3535}.ledger-person{display:flex;align-items:center;gap:12px}.ledger-person>div{flex:1}.ledger-person strong,.ledger-person small{display:block}.ledger-person strong{font-size:19px;font-weight:500}.ledger-person small{font-size:11px;color:var(--muted)}.ledger-balance{display:grid;grid-template-columns:1fr 1fr;gap:20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:25px 0;padding:25px 0}.ledger-balance small{display:block;color:var(--muted);font-size:11px}.ledger-balance strong{font:500 34px Manrope,sans-serif;letter-spacing:-.04em}.ledger-bottom{display:flex;justify-content:space-between;font-size:11px;gap:15px}.ledger-bottom b{margin-left:8px;font-weight:500;font-size:15px}.contact-ledger>p{font-size:10px;margin-top:18px}.privacy-section .principle-note{font-size:11px;max-width:550px;margin-bottom:0}.cta-note{font-size:11px;max-width:270px}.download-actions .button{white-space:nowrap}section[id]{scroll-margin-top:12px}
@media(min-width:1700px){.money-scene{height:660px}.hero-app{width:305px;right:9%}.paper-plan{max-width:490px;top:100px}.paper-plan h3{font-size:38px}.paper-row{padding:20px 0}.floating-match{bottom:35px;left:12%}.preview-footnote{right:10%}}
@media(max-width:1150px){.hero h1{font-size:5.2vw}.money-scene{height:575px}.hero-app{width:246px;right:0}.paper-plan{left:-8px;width:68%;padding:23px 18px}.paper-plan h3{font-size:25px}.paper-row{gap:5px}.paper-row strong{font-size:10px}.paper-row b{font-size:10px}.paper-row .day{width:25px;font-size:22px}.floating-match{left:0;bottom:15px;padding:14px 17px}.floating-match strong{font-size:17px}.hero-grid{gap:30px}.planner-grid,.reconcile-grid,.account-grid{gap:4vw}.planner-controls{gap:8px;padding:0 18px}.space-tabs button{font-size:11px}.board-totals{padding:0 18px 20px}.board-totals small{font-size:9px}.board-totals strong{font-size:21px}.account-stage{padding:20px 10px 40px}.collection-card{padding:22px}.audience-grid p{min-height:132px}}
@media(max-width:850px){.header nav{gap:15px;font-size:12px}.due-hero-grid{grid-template-columns:1fr;gap:35px}.hero h1{font-size:clamp(46px,8vw,76px)}.hero-description{max-width:530px}.money-scene{width:100%;max-width:650px;height:610px;margin:0 auto}.hero-app{width:278px;right:5%}.paper-plan{width:65%;left:0;top:85px;padding:30px}.paper-plan h3{font-size:33px}.paper-row strong{font-size:12px}.paper-row b{font-size:12px}.floating-match{bottom:15px;left:5%}.planner-grid,.reconcile-grid,.account-grid{grid-template-columns:1fr;gap:50px}.account-stage{width:100%;max-width:580px;margin:auto}.account-grid .section-copy>p{max-width:650px}.contact-section{gap:4vw}.contact-ledger{padding:20px}.ledger-person .status{display:none}.audience-grid{gap:22px}.audience-grid h3{font-size:23px}.audience-grid p{font-size:14px;min-height:160px}.audience-grid .text-link{font-size:11px}.mini-scene{height:190px}.receipt{width:185px;padding:17px}.mini-paper{padding:20px}.life-note{padding:18px;font-size:14px}.mini-stamp{font-size:13px}.board-totals strong{font-size:28px}.board-totals small{font-size:11px}}
@media(max-width:760px){.due-hero-grid{padding-top:40px;padding-bottom:50px}.hero h1{font-size:clamp(42px,9.8vw,72px)}.hero .lede{font-size:21px}.hero .actions{gap:10px}.hero .button{font-size:13px;padding:13px 17px;gap:15px}.money-scene{max-width:530px;height:580px}.hero-app{width:258px;right:3%}.paper-plan{width:66%;top:100px;padding:24px 20px}.paper-plan h3{font-size:27px}.paper-row .day{font-size:22px}.paper-row strong{font-size:11px}.floating-match{left:0;bottom:12px}.preview-footnote{bottom:-15px;font-size:9px}.audience-grid{grid-template-columns:1fr;gap:45px}.audience-grid article{display:grid;grid-template-columns:1fr 1fr;gap:0 25px}.audience-number{grid-column:1/-1}.mini-scene{grid-column:1;grid-row:2/5;height:220px;margin:20px 0 0}.audience-grid h3{grid-column:2;margin:20px 0 12px}.audience-grid p{grid-column:2;min-height:0;font-size:13px}.audience-grid .text-link{grid-column:2;margin-top:15px;align-self:start;justify-self:start}.account-stage{padding:15px 10px 45px}.collection-card{transform:rotate(1deg)}.account-sticker{left:0;font-size:12px}.contact-section{grid-template-columns:1fr;padding-top:60px;padding-bottom:60px;gap:35px}.contact-copy h2{font-size:40px}.contact-ledger{max-width:520px;width:100%;margin:auto}.download-actions{min-width:0}.download-actions .cta-note{max-width:none}.privacy-points{gap:15px}.header .brand{font-size:20px}.header .button{font-size:11px}.section-heading>p{max-width:550px}}
@media(max-width:450px){.money-scene{height:545px}.hero-app{width:225px;right:0;top:15px;padding:12px}.paper-plan{top:85px;left:-6px;width:70%;padding:22px 16px}.paper-plan h3{font-size:25px}.paper-top>span:last-child{display:none}.paper-row{padding:14px 0}.paper-row .day{font-size:20px;width:20px}.paper-row strong{font-size:10px}.paper-row b{font-size:10px}.paper-row small{font-size:8px}.paper-note{font-size:14px}.app-total>strong{font-size:31px}.app-top{font-size:20px}.app-stats b{font-size:14px}.app-payment b{font-size:9px}.app-payment small{font-size:7px}.app-payment>strong{font-size:8px}.app-payment .avatar{width:22px;height:22px}.floating-match{padding:13px;gap:10px;bottom:5px}.floating-match strong{font-size:16px}.floating-match .match-icon{width:32px;height:32px}.floating-match small{font-size:7px}.floating-match p{font-size:10px}.audience-grid article{display:block}.mini-scene{height:225px;margin:18px 0 25px}.audience-grid h3{font-size:28px;margin:0 0 15px}.audience-grid p{font-size:15px;max-width:100%}.audience-grid .text-link{font-size:13px;margin-top:20px}.planner-controls{flex-wrap:wrap}.space-tabs{min-width:100%}.currency-label{flex-direction:row;align-items:center;gap:8px;margin-left:auto}.board-title{padding:22px 18px}.board-title h3{font-size:23px}.board-totals{gap:6px}.board-totals small{font-size:9px}.board-totals strong{font-size:21px}.plan-row{padding:17px 16px;gap:8px}.plan-detail strong{font-size:12px}.plan-detail small{font-size:9px}.plan-amount{font-size:14px}.collection-card{padding:19px}.collection-person h3{font-size:19px}.suggestion-top{flex-wrap:wrap}.account-stage{padding-left:0;padding-right:0}.match-preview{margin:0 15px;padding:19px}.match-board .panel-top{padding:20px 16px}.source-line{font-size:11px;gap:8px}.match-top{gap:6px}.match-top>small{font-size:8px}.matched-person small{font-size:9px}.ledger-bottom{font-size:10px}.ledger-bottom b{font-size:13px;margin-left:5px}.ledger-balance strong{font-size:30px}.contact-copy h2{font-size:36px}.header .button{padding:9px;gap:7px}.header{gap:7px}.brand small{font-size:7px}.hero-baseline a{font-size:8px}}
@media(prefers-reduced-motion:no-preference){.floating-match{animation:float-note 7s ease-in-out infinite}.money-orbit.second{animation:orbit-breathe 10s ease-in-out infinite}@keyframes float-note{50%{transform:translateY(-7px) rotate(-3deg)}}@keyframes orbit-breathe{50%{transform:rotate(29deg) scale(1.03)}}}
