:root{
  --bg:#f4f5fb;--surface:#fff;--ink:#1c1e2e;--ink-soft:#6b7089;--ink-faint:#9aa0b5;
  --line:#e8eaf3;--primary:#6c5ce7;--primary-deep:#5344d6;--primary-soft:#edeaff;
  --ok:#10b981;--ok-deep:#0b8f64;--life-soft:#ddf5ec;
  --grad:linear-gradient(135deg,#6c5ce7 0%,#a06cf5 55%,#e86cc8 100%);
  --shadow:0 10px 34px rgba(38,32,94,.08);--radius:20px
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Rounded","Segoe UI",Roboto,sans-serif;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;line-height:1.55}
a{color:var(--primary-deep)}
.wrap{max-width:980px;margin:0 auto;padding:0 24px}

header.site{display:flex;align-items:center;gap:12px;padding:22px 0}
header.site .mark{width:40px;height:40px;border-radius:13px;background:var(--grad);object-fit:cover;box-shadow:0 6px 16px rgba(108,92,231,.4)}
header.site .name{font-weight:800;font-size:1.25rem;letter-spacing:-.02em}
header.site .name a{text-decoration:none;color:inherit}
header.site nav{margin-left:auto;display:flex;gap:18px}
header.site nav a{font-weight:650;font-size:.92rem;text-decoration:none;color:var(--ink-soft)}
header.site nav a:hover{color:var(--ink)}

.hero{display:grid;grid-template-columns:1.3fr .7fr;gap:36px;align-items:center;text-align:left;padding:56px 0 40px}
.hero-shot img{display:block;width:100%;max-width:300px;height:auto;margin:0 auto;filter:drop-shadow(0 26px 44px rgba(38,32,94,.3))}
.hero .badge{display:inline-flex;align-items:center;gap:7px;background:var(--life-soft);color:var(--ok-deep);font-weight:750;font-size:.82rem;padding:7px 16px;border-radius:999px;margin-bottom:22px}
.hero h1{font-size:clamp(2rem,6vw,3.1rem);font-weight:800;letter-spacing:-.03em;line-height:1.12;text-wrap:balance}
.hero h1 em{font-style:normal;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p.sub{color:var(--ink-soft);font-size:1.12rem;max-width:560px;margin:18px 0 0;font-weight:500}
.hero p.fine{font-size:.9rem;margin-top:14px}
.hero .cta{margin-top:30px;display:flex;gap:12px;justify-content:flex-start;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 26px;border-radius:999px;font-weight:700;font-size:.98rem;text-decoration:none;transition:transform .15s,opacity .15s}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--grad);color:#fff;box-shadow:0 8px 22px rgba(108,92,231,.38)}
.btn-soft{background:var(--primary-soft);color:var(--primary-deep)}

.panel{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:28px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin:40px 0}
.grid .panel h3{font-size:1.02rem;margin-bottom:8px;display:flex;align-items:center;gap:8px}
.grid .panel p{color:var(--ink-soft);font-size:.92rem}

.steps{margin:20px 0 60px}
.steps h2{text-align:center;font-size:1.7rem;letter-spacing:-.02em;margin-bottom:26px}
.step{display:flex;gap:16px;align-items:flex-start;background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px;margin-bottom:14px}
.step .n{width:44px;height:44px;flex-shrink:0;border-radius:14px;display:grid;place-items:center;font-size:1.25rem}
.step .n.blue{background:#e3edfe}.step .n.purple{background:#edeaff}.step .n.green{background:#ddf5ec}
.step h3{font-size:1.02rem;margin-bottom:4px}.step p{color:var(--ink-soft);font-size:.93rem}

.privacy-strip{background:var(--grad);border-radius:var(--radius);color:#fff;text-align:center;padding:34px 28px;margin:0 0 60px}
.privacy-strip h2{font-size:1.4rem;margin-bottom:8px}.privacy-strip p{opacity:.92;max-width:560px;margin:0 auto;font-size:.97rem}
.privacy-strip a{color:#fff;font-weight:700}

article.legal{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:40px;margin:20px 0 60px}
article.legal h1{font-size:1.8rem;letter-spacing:-.02em;margin-bottom:4px}
article.legal .date{color:var(--ink-faint);font-size:.86rem;font-weight:600;margin-bottom:26px}
article.legal h2{font-size:1.15rem;margin:26px 0 8px}
article.legal p,article.legal li{color:var(--ink-soft);font-size:.95rem}
article.legal ul{padding-left:22px;margin-top:6px}
article.legal hr{border:0;border-top:2px solid var(--line);margin:30px 0}

form.contact{display:flex;flex-direction:column;gap:14px;margin-top:18px}
form.contact label{display:block;font-weight:700;font-size:.85rem;color:var(--ink-soft);margin-bottom:6px}
form.contact input,form.contact textarea,form.contact select{width:100%;padding:12px 14px;border:2px solid var(--line);border-radius:13px;background:#fafbff;color:var(--ink);font:inherit;outline:none;transition:border-color .15s,box-shadow .15s}
form.contact textarea{resize:vertical;min-height:144px}
form.contact input:focus,form.contact textarea:focus,form.contact select:focus{border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-soft)}
form.contact button{align-self:flex-start;border:0;cursor:pointer}
form.contact button:disabled{cursor:wait;opacity:.62;transform:none}
.optional{font-weight:600;color:var(--ink-faint);margin-left:5px}
.honeypot{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important}
.form-status{min-height:1.5em;font-weight:650}
.form-status[data-state="success"]{color:var(--ok-deep)}
.form-status[data-state="error"]{color:#b42318}
.cf-turnstile{min-height:65px}
.note{font-size:.84rem;color:var(--ink-faint);margin-top:10px}

footer.site{border-top:2px solid var(--line);padding:26px 0 40px;display:flex;gap:18px;flex-wrap:wrap;align-items:center;color:var(--ink-faint);font-size:.88rem}
footer.site a{color:var(--ink-soft);text-decoration:none;font-weight:600}
footer.site .copy{margin-left:auto}

@media(max-width:760px){
  .hero{grid-template-columns:1fr;text-align:center;padding-top:40px}
  .hero .cta{justify-content:center}.hero p.sub{margin-left:auto;margin-right:auto}.hero-shot img{max-width:250px;margin-top:6px}
}
@media(max-width:600px){
  .wrap{padding:0 16px}article.legal{padding:26px 20px;border-radius:17px}
  header.site nav{gap:12px}footer.site .copy{margin-left:0}
  .cf-turnstile{max-width:100%;overflow:hidden}
}

/* BillsPaid launch refresh */
:root{--bg:#faf9f6;--ink:#202323;--ink-soft:#626666;--ink-faint:#707575;--line:#dedfda;--primary:#6252d6;--primary-deep:#5041b8;--shadow:0 10px 34px rgba(25,40,33,.04)}
html{scroll-behavior:smooth;scroll-padding-top:28px}
.wrap{max-width:1160px;padding:0 36px}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid #6252d6;outline-offset:5px}
.skip-link{position:absolute;top:-100px;background:white;padding:12px;z-index:5}.skip-link:focus{top:10px}
header.site{padding:26px 0;border-bottom:1px solid var(--line)}header.site .mark{box-shadow:none;width:36px;height:36px;border-radius:10px}
header.site nav a{color:#454b49;font-weight:550}header.site .name{font-size:1.2rem}
.landing .hero{grid-template-columns:1.2fr .8fr;gap:48px;padding:72px 0 64px;position:relative}
.landing .hero h1{font-size:clamp(3rem,6vw,5.3rem);line-height:1.03;font-weight:650;letter-spacing:-.065em;text-wrap:initial}
.landing .hero h1 em{color:#5d4bc5;background:none;letter-spacing:-.06em}
.landing .hero .badge,.eyebrow{font-size:.69rem;letter-spacing:.16em;font-weight:750;color:#555e57}
.landing .hero .badge{padding:0;background:none;border-radius:0;margin-bottom:24px}
.landing .hero p.sub{font-size:1.12rem;max-width:470px;line-height:1.7;font-weight:400;margin-top:26px}
.landing .hero p.fine{font-size:.8rem;max-width:365px;line-height:1.65;margin-top:18px}
.landing .hero .cta{align-items:center;gap:22px;margin-top:30px}
.btn{border-radius:10px;padding:15px 22px;font-size:.9rem}.btn-primary{background:#252c29;box-shadow:none}.btn-primary:hover{background:#414d46}.text-link{text-decoration:none;font-size:.85rem;color:#303b34;font-weight:650}.text-link span{margin-left:8px}
.hero-shot{position:relative;display:flex;flex-direction:column;align-items:center;isolation:isolate;padding:30px 0 12px}
.hero-shot:before{content:'';position:absolute;background:#e9e7f0;border-radius:48% 48% 20px 20px;inset:0 -12px 0;z-index:-1}
.landing .hero-shot img{max-width:255px;filter:drop-shadow(0 20px 20px #29263a22);transform:rotate(3deg)}
.orbit-label{font-size:.75rem;color:#5b566b;margin-bottom:22px}.shot-caption{font-size:.65rem;color:#666072;margin-top:25px}
.trust-row{display:flex;justify-content:space-around;gap:20px;padding:25px 0;border-block:1px solid var(--line);font-size:.8rem;color:#555f58}
.section-heading{margin-bottom:36px}.section-heading h2,.demo-section h2,.closing h2{font-size:clamp(2rem,4vw,3.1rem);line-height:1.12;letter-spacing:-.045em;font-weight:600;margin:16px 0}.section-heading>p:last-child{color:var(--ink-soft)}
.landing .steps{margin:94px 0 80px}.landing .steps h2{text-align:left;font-size:clamp(2rem,4vw,3.1rem);margin-bottom:18px}
.step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}.landing .step{display:block;padding:0;background:none;box-shadow:none;border-radius:0;margin:0}.step-number{display:block;font-size:.75rem;color:#736896;border-top:1px solid #c8c4d2;padding-top:19px;margin-bottom:30px}.landing .step h3{font-size:1.15rem;letter-spacing:-.02em;margin-bottom:12px}.landing .step p{line-height:1.8;font-size:.92rem}.mode-note{margin-top:35px;font-size:.82rem;color:#616760;background:#eeefea;border-radius:10px;padding:18px 24px}
.demo-section{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:72px;background:#e8eee6;padding:54px;border-radius:22px;margin-bottom:90px}.demo-section p:not(.eyebrow){color:#546052;font-size:.95rem;max-width:330px}.demo-section .demo-note{font-size:.72rem!important;margin-top:20px}
.demo-card{padding:26px;background:#fffefa;border:1px solid #dce1d8;border-radius:18px;box-shadow:0 15px 40px #2530220b}.demo-top{display:flex;justify-content:space-between;align-items:center;font-size:.6rem;letter-spacing:.12em;color:#667260}.demo-top button{border:0;background:transparent;color:#5c4abb;text-decoration:underline;cursor:pointer;font:inherit;padding:8px}
.demo-total{display:flex;flex-direction:column;margin:14px 0}.demo-total strong{font-size:2.7rem;font-weight:600;letter-spacing:-.05em}.demo-total span{color:#687264;font-size:.8rem}.demo-progress{height:5px;background:#e9ece5;border-radius:9px;margin:20px 0}.demo-progress span{display:block;height:100%;background:#6f8766;border-radius:9px;transition:width .2s}.demo-bill{display:flex;align-items:center;gap:12px;padding:16px 0;border-bottom:1px solid #e9ece5;cursor:pointer}.demo-bill input{width:21px;height:21px;accent-color:#59764d;flex-shrink:0}.demo-bill span{display:flex;flex-direction:column}.demo-bill strong,.demo-bill b{font-size:.83rem;font-weight:600}.demo-bill small{color:#72796e;font-size:.7rem}.demo-bill b{margin-left:auto}.demo-bill:has(input:checked) strong{text-decoration:line-through;color:#788472}#demo-status{font-size:.72rem;margin-top:18px;min-height:2.4em}
.features-heading{margin-bottom:26px}.landing .grid{grid-template-columns:repeat(3,1fr);gap:0;margin:0 0 80px}.landing .panel{background:none;box-shadow:none;border-radius:0;padding:25px 25px 25px 0;border-top:1px solid var(--line)}.landing .panel h3{font-size:1rem;margin-bottom:12px}.landing .panel p{line-height:1.8;font-size:.87rem}
.privacy-strip{background:#292e2b;border-radius:18px;padding:45px 32px;margin-bottom:85px}.privacy-strip h2{font-size:1.65rem;letter-spacing:-.03em}.privacy-strip p{font-size:.9rem;line-height:1.8;color:#e0e4dc}.faq{max-width:740px;margin:0 auto 90px}.faq .section-heading{text-align:center}.faq details{border-bottom:1px solid var(--line);padding:19px 0}.faq summary{cursor:pointer;font-weight:600;font-size:.97rem}.faq details p{color:var(--ink-soft);font-size:.9rem;line-height:1.8;padding:16px 24px 4px 0}
.closing{text-align:center;background:#eeeaf5;border-radius:24px;padding:55px 24px;margin-bottom:60px}.closing img{border-radius:16px;margin-bottom:20px}.closing h2{margin:18px 0 28px}.closing>p:last-child{margin-top:16px;font-size:.75rem;color:#686176}footer.site{border-top:1px solid var(--line);font-size:.76rem}
@media(max-width:850px){.landing .hero{gap:28px}.landing .hero h1{font-size:3.7rem}.landing .hero-shot img{max-width:220px}.demo-section{gap:28px;padding:32px}.step-grid{gap:22px}.landing .grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.wrap{padding:0 22px}header.site{gap:9px}header.site nav{gap:13px}header.site nav a{font-size:.74rem}header.site nav a:first-child{display:none}.landing .hero{grid-template-columns:1fr;text-align:left;padding:46px 0 34px;gap:35px}.landing .hero h1{font-size:clamp(2.9rem,12vw,4.3rem)}.landing .hero p.sub{font-size:1rem;margin-left:0}.landing .hero .cta{justify-content:flex-start;gap:18px}.landing .hero p.fine{margin-left:0}.hero-shot{max-width:100%;margin:0 10px;padding:25px 0 15px}.landing .hero-shot img{max-width:220px}.trust-row{flex-wrap:wrap;justify-content:center;gap:9px 18px;font-size:.68rem;padding:20px 0}.landing .steps{margin:58px 0}.step-grid{grid-template-columns:1fr;gap:27px}.step-number{margin-bottom:12px}.mode-note{padding:18px}.demo-section{grid-template-columns:1fr;padding:27px 20px;gap:24px;margin-bottom:60px}.demo-section h2 br{display:none}.demo-card{padding:22px}.landing .grid{grid-template-columns:1fr;margin-bottom:45px}.landing .panel{padding:22px 0}.privacy-strip{padding:32px 23px;margin-bottom:60px}.faq{margin-bottom:60px}.closing{padding:38px 20px}footer.site{gap:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}.btn:hover{transform:none}}
/* Keep the product image clean and faithful to the app. */
.hero-shot:before{display:none}
.orbit-label{display:none}
.landing .hero-shot img{transform:none;filter:drop-shadow(0 14px 20px #20232318);max-width:280px}
.hero-shot{padding:0}
.shot-caption{color:#707575}
@media(max-width:640px){.landing .hero-shot img{max-width:250px}}

/* Device hardware surrounds the unmodified current app screenshot. */
.phone-device{position:relative;width:290px;max-width:100%;padding:10px;border:2px solid #969794;border-radius:49px;background:linear-gradient(115deg,#b0b1ad 0%,#525451 3%,#171918 8%,#121413 88%,#777a76 97%,#c0c1bc 100%);box-shadow:inset 0 0 0 2px #343633,inset 0 0 0 4px #080a09,0 24px 36px #20232325,0 3px 6px #0003}
.phone-screen{position:relative;overflow:hidden;border-radius:37px;background:#f4f4fa;box-shadow:0 0 0 2px #030403}
.landing .hero-shot .phone-screen img{display:block;width:100%;max-width:none;height:auto;margin:0;transform:none;filter:none;border:0;border-radius:0}
.phone-island{position:absolute;top:9px;left:50%;transform:translateX(-50%);width:29%;height:21px;border-radius:20px;background:#070808;box-shadow:inset 0 0 1px #555}
.phone-island:after{content:'';position:absolute;right:7px;top:7px;width:7px;height:7px;border-radius:50%;background:radial-gradient(circle at 40% 40%,#243246,#0d131c 55%,#030405 80%)}
.phone-button{position:absolute;width:3px;background:linear-gradient(90deg,#4a4d49,#afb1ab,#444743);border-radius:2px;left:-4px}
.phone-mute{top:82px;height:20px}.phone-volume{top:122px;height:66px}.phone-power{left:auto;right:-4px;top:142px;height:48px}
@media(max-width:640px){.phone-device{width:270px;border-radius:46px}.phone-screen{border-radius:34px}.phone-island{height:20px;top:8px}}
