:root {
  --ink: #111827;
  --muted: #64748b;
  --line: #e2e8f0;
  --paper: #ffffff;
  --soft: #f7f8fc;
  --rose: #cf476d;
  --rose-dark: #a72f53;
  --gold: #e5a526;
  --green: #16835b;
  --blue: #3b82f6;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
a { color: inherit; }
.site-header { width: min(1180px, calc(100% - 40px)); margin: 0 auto; min-height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand { display: flex; align-items: center; gap: 11px; text-decoration: none; font-size: 1.08rem; }
.brand img { width: 44px; height: 44px; border-radius: 13px; }
.site-header nav, footer nav { display: flex; align-items: center; gap: 26px; }
.site-header nav a, footer nav a { text-decoration: none; color: #475569; font-weight: 650; font-size: .92rem; }
.site-header nav a:hover, footer nav a:hover { color: var(--rose-dark); }
.site-header .nav-cta { color: white; background: var(--ink); padding: 11px 17px; border-radius: 999px; }
.hero { min-height: 720px; padding: 80px max(24px, calc((100vw - 1180px)/2)) 92px; background: radial-gradient(circle at 83% 20%, #ffe6ed 0, transparent 28%), radial-gradient(circle at 63% 78%, #fff3d7 0, transparent 24%), var(--soft); display: grid; grid-template-columns: .88fr 1.35fr; align-items: center; gap: 62px; overflow: hidden; }
.eyebrow { margin: 0 0 14px; color: var(--rose-dark); font-size: .78rem; font-weight: 850; letter-spacing: .16em; }
h1, h2, h3, p { margin-top: 0; }
h1 { margin-bottom: 24px; font-size: clamp(3.7rem, 7vw, 6.6rem); line-height: .91; letter-spacing: -.075em; }
h1 span { color: var(--rose); }
.hero-lead { max-width: 610px; margin-bottom: 18px; color: #475569; font-size: clamp(1.12rem, 1.7vw, 1.38rem); line-height: 1.55; }
.sync-promise { margin-bottom: 28px; font-size: 1rem; line-height: 1.5; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.button { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; padding: 13px 20px; border-radius: 13px; text-decoration: none; font-weight: 800; }
.button-primary { color: white; background: var(--rose); box-shadow: 0 12px 28px rgba(207,71,109,.25); }
.button-primary:hover { background: var(--rose-dark); }
.button-muted { color: #475569; background: white; border: 1px solid var(--line); }
.microcopy { margin-top: 14px; color: #64748b; font-size: .83rem; }
.sync-stage { position: relative; min-height: 580px; display: grid; grid-template-columns: 210px 90px minmax(380px, 1fr); align-items: center; }
.phone-mockup, .desktop-mockup { position: relative; background: white; border: 1px solid rgba(148,163,184,.45); box-shadow: 0 28px 70px rgba(15,23,42,.16); }
.phone-mockup { z-index: 2; width: 220px; min-height: 450px; padding: 14px 15px 18px; border: 7px solid var(--ink); border-radius: 34px; transform: rotate(-3deg); }
.device-bar { display: flex; justify-content: space-between; font-size: .65rem; font-weight: 800; }
.mini-brand { display: flex; align-items: center; gap: 7px; margin: 22px 0; font-size: .78rem; }
.mini-brand img { width: 30px; height: 30px; border-radius: 9px; }
.mock-label { margin: 8px 0; color: #94a3b8; font-size: .62rem; font-weight: 850; letter-spacing: .15em; }
.transaction, .web-row { display: flex; align-items: center; gap: 8px; padding: 12px 0; border-bottom: 1px solid #edf1f6; font-size: .7rem; }
.transaction div { display: grid; flex: 1; }
.transaction small { color: #94a3b8; }
.dot { display: inline-block; width: 9px; height: 9px; border-radius: 50%; }
.rose { background: var(--rose); }.blue { background: var(--blue); }
.phone-mockup button { width: 100%; margin-top: 26px; padding: 13px 8px; color: white; background: var(--rose); border: 0; border-radius: 11px; font-weight: 850; }
.sync-status { margin-top: 18px; color: var(--green); text-align: center; font-size: .67rem; font-weight: 750; }
.sync-line { z-index: 1; display: grid; place-items: center; gap: 4px; color: var(--rose); font-size: 1.25rem; }
.sync-line strong { font-size: .58rem; letter-spacing: .14em; }
.desktop-mockup { min-height: 410px; padding: 0 27px 28px; border-radius: 18px; transform: rotate(1.5deg); }
.browser-bar { height: 42px; margin: 0 -27px 24px; padding: 0 15px; display: flex; align-items: center; gap: 7px; background: #f1f5f9; border-radius: 18px 18px 0 0; font-size: .6rem; color: #94a3b8; }
.browser-bar i { width: 7px; height: 7px; border-radius: 50%; background: #cbd5e1; }
.browser-bar span { margin-left: 8px; padding: 5px 24px; background: white; border-radius: 8px; }
.dashboard-head { display: flex; justify-content: space-between; align-items: start; margin-bottom: 20px; }
.dashboard-head small, .budget-card small, .chart-card small { color: #94a3b8; font-size: .58rem; font-weight: 850; letter-spacing: .13em; }
.dashboard-head h3 { margin: 3px 0 0; font-size: 1.25rem; }
.sync-badge { color: var(--green); background: #e8f7f1; padding: 6px 9px; border-radius: 999px; font-size: .62rem; font-weight: 800; }
.dashboard-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 12px; margin-bottom: 12px; }
.budget-card, .chart-card { min-height: 140px; padding: 17px; background: #f8fafc; border: 1px solid #edf1f6; border-radius: 14px; }
.budget-card { display: flex; flex-direction: column; }
.budget-card strong { margin-top: 8px; font-size: 1.55rem; }
.budget-card span { color: #64748b; font-size: .68rem; }
.progress { height: 7px; margin-top: auto; background: #e2e8f0; border-radius: 99px; overflow: hidden; }.progress i { display: block; width: 69%; height: 100%; background: var(--rose); }
.donut { width: 74px; height: 74px; margin: 14px auto 0; border-radius: 50%; background: conic-gradient(var(--rose) 0 42%, var(--gold) 42% 70%, var(--blue) 70% 100%); position: relative; }.donut::after { content: ""; position: absolute; inset: 17px; background: #f8fafc; border-radius: 50%; }
.web-row { justify-content: space-between; font-size: .72rem; }.web-row span { display: flex; align-items: center; gap: 8px; }
.trust-strip { min-height: 88px; padding: 22px max(24px, calc((100vw - 1180px)/2)); display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; align-items: center; border-bottom: 1px solid var(--line); color: #475569; font-size: .92rem; font-weight: 750; text-align: center; }.trust-strip span:not(:last-child) { border-right: 1px solid var(--line); }
.section { width: min(1120px, calc(100% - 40px)); margin: 0 auto; padding: 110px 0; }
.section-heading { max-width: 720px; margin-bottom: 52px; }.section h2, .final-cta h2 { font-size: clamp(2.2rem, 4.6vw, 4rem); line-height: 1.04; letter-spacing: -.05em; }.section-heading > p:last-child, .feature-copy > p { color: var(--muted); font-size: 1.12rem; line-height: 1.65; }
.steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }.steps article { padding: 32px; background: var(--soft); border: 1px solid var(--line); border-radius: 20px; }.steps article > span { display: grid; width: 38px; height: 38px; place-items: center; margin-bottom: 30px; color: white; background: var(--ink); border-radius: 11px; font-weight: 850; }.steps h3 { margin-bottom: 12px; font-size: 1.25rem; }.steps p { color: var(--muted); line-height: 1.6; }
.feature-section { display: grid; grid-template-columns: .9fr 1.1fr; gap: 80px; align-items: start; }.feature-copy { position: sticky; top: 36px; }.text-link { color: var(--rose-dark); font-weight: 850; text-decoration: none; }.feature-list { display: grid; }.feature-list article { display: grid; grid-template-columns: 54px 1fr; gap: 18px; padding: 27px 0; border-bottom: 1px solid var(--line); }.feature-list article > span { color: var(--rose); font-size: .76rem; font-weight: 850; }.feature-list h3 { margin-bottom: 7px; font-size: 1.25rem; }.feature-list p { margin: 0; color: var(--muted); line-height: 1.55; }
.comparison { padding-top: 20px; display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }.comparison-card { padding: 44px; border-radius: 24px; }.comparison-card h2 { font-size: clamp(2rem, 3.4vw, 3rem); }.comparison-card ul { margin: 28px 0 0; padding: 0; list-style: none; }.comparison-card li { padding: 12px 0; border-bottom: 1px solid rgba(100,116,139,.18); }.phone-use { background: #fff0f4; }.web-use { background: #eef3ff; }
.privacy { display: grid; grid-template-columns: .85fr 1.15fr; gap: 80px; border-top: 1px solid var(--line); }.privacy p { color: var(--muted); font-size: 1.08rem; line-height: 1.7; }
.final-cta { width: min(1180px, calc(100% - 40px)); margin: 0 auto 42px; padding: 48px 56px; display: grid; grid-template-columns: 90px 1fr auto; align-items: center; gap: 28px; color: white; background: var(--ink); border-radius: 28px; }.final-cta img { width: 82px; height: 82px; border-radius: 20px; }.final-cta .eyebrow { color: #f6b8c9; }.final-cta h2 { margin: 0; font-size: clamp(2rem, 4vw, 3.4rem); }.button-light { color: var(--ink); background: white; }
footer { width: min(1180px, calc(100% - 40px)); margin: 0 auto; min-height: 120px; display: grid; grid-template-columns: 1fr auto auto; gap: 34px; align-items: center; color: var(--muted); font-size: .82rem; }footer > div { display: grid; }footer strong { color: var(--ink); }
@media (max-width: 980px) { .hero { grid-template-columns: 1fr; padding-top: 64px; }.sync-stage { max-width: 760px; }.feature-section, .privacy { grid-template-columns: 1fr; gap: 46px; }.feature-copy { position: static; }.final-cta { grid-template-columns: 72px 1fr; }.final-cta .button { grid-column: 1 / -1; }.site-header nav a:not(.nav-cta) { display: none; } }
@media (max-width: 720px) { .site-header { width: min(100% - 28px, 1180px); }.brand span { font-size: .95rem; }.hero { padding: 54px 20px 70px; }.sync-stage { min-height: 700px; grid-template-columns: 1fr; justify-items: center; }.phone-mockup { margin-right: 120px; }.sync-line { transform: rotate(90deg); }.desktop-mockup { width: 100%; min-width: 0; transform: none; }.trust-strip { grid-template-columns: 1fr 1fr; }.trust-strip span:not(:last-child) { border: 0; }.section { padding: 80px 0; }.steps, .comparison { grid-template-columns: 1fr; }.comparison-card { padding: 32px 26px; }.privacy { gap: 22px; }.final-cta { padding: 36px 26px; grid-template-columns: 58px 1fr; }.final-cta img { width: 58px; height: 58px; }.final-cta .eyebrow { margin-bottom: 7px; }footer { padding: 30px 0 50px; grid-template-columns: 1fr; }footer nav { flex-wrap: wrap; gap: 16px; } }
@media (max-width: 470px) { h1 { font-size: 3.6rem; }.site-header .nav-cta { padding: 10px 13px; font-size: .8rem; }.phone-mockup { margin-right: 70px; }.desktop-mockup { padding: 0 16px 20px; }.browser-bar { margin-inline: -16px; }.dashboard-grid { grid-template-columns: 1fr 1fr; }.trust-strip { padding-inline: 14px; font-size: .78rem; }.section { width: min(100% - 28px, 1120px); }.final-cta { width: min(100% - 28px, 1180px); } }
