@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Source+Serif+4:opsz,wght@8..60,500;8..60,600;8..60,700&display=swap');

:root {
  --canvas: #f6f0e4;
  --surface: #fbf7ee;
  --raised: #fffdf8;
  --ink: #1a362b;
  --muted: #62675f;
  --brass: #9a7845;
  --line: #d8cebd;
  --danger: #9e362c;
  --positive: #2e7d4f;
  --dark: #18392d;
  --serif: "Source Serif 4", Georgia, serif;
  --sans: "DM Sans", -apple-system, BlinkMacSystemFont, "PingFang SC", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--canvas); font-family: var(--sans); line-height: 1.5; overflow-x: hidden; }
button, a { font: inherit; }
a { color: inherit; text-decoration: none; }
button { color: inherit; }
.paper-noise { position: fixed; inset: 0; opacity: .045; pointer-events: none; z-index: 20; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E"); }
.section { width: min(1180px, calc(100% - 64px)); margin-inline: auto; }

.site-header { height: 76px; width: min(1320px, calc(100% - 48px)); margin: 12px auto 0; padding: 0 24px; border: 1px solid rgba(154,120,69,.25); border-radius: 18px; display: flex; align-items: center; justify-content: space-between; position: sticky; top: 12px; z-index: 10; background: rgba(246,240,228,.86); backdrop-filter: blur(16px); box-shadow: 0 10px 35px rgba(26,54,43,.06); }
.brand { display: flex; align-items: center; gap: 11px; font-family: var(--serif); font-size: 18px; }
.brand img { border-radius: 9px; }
.site-header nav { display: flex; gap: 36px; font-size: 14px; color: var(--muted); }
.site-header nav a, .footer-links a { transition: color .2s; }
.site-header nav a:hover, .footer-links a:hover { color: var(--brass); }
.header-actions { display: flex; gap: 10px; align-items: center; }
.language-toggle { border: 0; background: transparent; font-size: 12px; letter-spacing: .1em; cursor: pointer; padding: 8px; }
.button { display: inline-flex; justify-content: center; align-items: center; background: var(--dark); color: var(--canvas); border-radius: 999px; padding: 14px 24px; font-size: 14px; font-weight: 600; transition: transform .2s, background .2s; }
.button:hover, .app-store-button:hover { transform: translateY(-2px); }
.button-small { padding: 10px 18px; }

.hero { min-height: 760px; display: grid; grid-template-columns: 1fr .95fr; align-items: center; gap: 64px; padding-block: 76px 90px; }
.hero-copy { padding-left: 20px; }
.eyebrow, .section-kicker { text-transform: uppercase; letter-spacing: .18em; color: var(--brass); font-size: 11px; font-weight: 600; }
.eyebrow { display: flex; align-items: center; gap: 12px; }
.eyebrow > span:first-child { width: 38px; height: 1px; background: var(--brass); }
h1, h2, h3 { font-family: var(--serif); margin: 0; font-weight: 600; letter-spacing: -.035em; }
h1 { font-size: clamp(62px, 6vw, 94px); line-height: 1.08; margin: 22px 0 26px; }
.hero-lead { color: var(--muted); max-width: 540px; font-size: 18px; line-height: 1.8; }
.hero-actions { display: flex; align-items: center; gap: 28px; margin-top: 34px; }
.app-store-button { display: inline-flex; align-items: center; gap: 10px; padding: 10px 20px; min-width: 176px; border-radius: 12px; background: var(--dark); color: white; transition: transform .2s; }
.app-store-button svg { width: 27px; fill: currentColor; }
.app-store-button span { font-size: 17px; font-weight: 600; line-height: 1.1; }
.app-store-button small { display: block; font-size: 9px; font-weight: 400; margin-bottom: 3px; }
.text-link { display: flex; align-items: center; gap: 10px; border-bottom: 1px solid var(--line); padding-block: 8px; font-size: 13px; }
.hero-trust { display: flex; gap: 24px; margin-top: 32px; color: var(--muted); font-size: 12px; }
.hero-trust > span { display: flex; gap: 7px; align-items: center; }
.hero-trust i { font-style: normal; color: var(--positive); }

.hero-visual { height: 630px; position: relative; display: flex; align-items: center; justify-content: center; }
.sun-disc { width: 480px; height: 480px; position: absolute; border-radius: 50%; background: #e9ddc8; }
.sun-disc::after { content:""; position: absolute; inset: 24px; border: 1px solid rgba(154,120,69,.28); border-radius: inherit; }
.phone { background: #101814; border: 7px solid #101814; border-radius: 42px; box-shadow: 0 42px 80px rgba(27,44,36,.26), inset 0 0 0 1px #526159; padding: 7px; }
.phone-main { width: 292px; height: 584px; transform: rotate(3deg); position: relative; z-index: 2; }
.phone-screen { height: 100%; border-radius: 30px; background: var(--canvas); padding: 12px 17px; position: relative; overflow: hidden; }
.phone-screen::before { content:""; position: absolute; top: 8px; left: 50%; transform: translateX(-50%); width: 78px; height: 20px; background: #101814; border-radius: 20px; }
.status-row { font-size: 8px; display: flex; justify-content: space-between; padding: 4px 5px 20px; }
.app-wordmark { font-family: var(--serif); font-size: 13px; text-align: center; border-bottom: 1px solid var(--line); padding-bottom: 10px; }
.month-row { display: flex; justify-content: space-between; align-items: center; font-size: 8px; margin-top: 16px; color: var(--muted); }
.month-row span:last-child { border: 1px solid var(--line); padding: 4px 7px; border-radius: 9px; }
.balance-label { color: var(--muted); font-size: 8px; text-align: center; margin-top: 18px; }
.balance { font: 600 28px var(--serif); text-align: center; margin: 2px 0 13px; }
.summary-row { display: grid; grid-template-columns: 1fr 1fr; border-block: 1px solid var(--line); padding: 10px 0; }
.summary-row div { display: flex; flex-direction: column; align-items: center; gap: 2px; font-size: 8px; color: var(--muted); }
.summary-row div + div { border-left: 1px solid var(--line); }
.summary-row b { color: var(--ink); font: 500 10px var(--serif); }
.summary-row .positive { color: var(--positive); }
.budget-card { background: var(--raised); border: 1px solid var(--line); border-radius: 12px; padding: 11px; margin-top: 13px; font-size: 8px; }
.budget-card > div:first-child { display: flex; justify-content: space-between; }
.budget-track { height: 5px; border-radius: 4px; background: #e4ddcf; margin: 7px 0 5px; overflow: hidden; }
.budget-track i { display: block; width: 68%; height: 100%; background: var(--positive); border-radius: inherit; }
.budget-card small { color: var(--muted); font-size: 7px; }
.list-heading { display: flex; justify-content: space-between; font-size: 8px; margin: 16px 0 7px; }
.list-heading span { color: var(--brass); }
.transaction { display: grid; grid-template-columns: 29px 1fr auto; align-items: center; gap: 8px; padding: 8px 0; border-bottom: 1px solid var(--line); font-size: 8px; }
.cat { display: grid; place-items: center; width: 29px; height: 29px; border-radius: 9px; font-style: normal; color: white; }
.dining { background: #ff6b6b; } .transport { background: #4ecdc4; } .shopping { background: #ffa94d; }
.transaction div { display: flex; flex-direction: column; }
.transaction div span { color: var(--muted); font-size: 7px; }
.transaction strong { color: var(--danger); font-weight: 500; }
.mock-add { position: absolute; bottom: 16px; right: 16px; width: 40px; height: 40px; border: 0; border-radius: 50%; background: var(--dark); color: white; font-size: 24px; box-shadow: 0 5px 15px rgba(26,54,43,.24); }
.floating-note { z-index: 3; position: absolute; display: flex; align-items: center; gap: 9px; background: rgba(255,253,248,.94); border: 1px solid var(--line); box-shadow: 0 12px 32px rgba(26,54,43,.12); padding: 10px 14px; border-radius: 12px; min-width: 142px; }
.floating-note > span { display: grid; place-items: center; width: 29px; height: 29px; border-radius: 50%; background: #dfe9e1; color: var(--positive); }
.floating-note div { display: flex; flex-direction: column; font-size: 11px; }
.floating-note small { color: var(--muted); font-size: 8px; }
.note-one { left: 6px; top: 158px; animation: float 4s ease-in-out infinite; }
.note-two { right: 0; bottom: 116px; animation: float 4s 1.5s ease-in-out infinite; }
@keyframes float { 50% { transform: translateY(-9px); } }

.marquee { border-block: 1px solid var(--line); overflow: hidden; color: var(--muted); }
.marquee > div { min-width: max-content; display: flex; justify-content: center; align-items: center; gap: 34px; padding: 19px; text-transform: uppercase; font-size: 11px; letter-spacing: .14em; }
.marquee i { color: var(--brass); font-style: normal; }
.intro { padding: 130px 0 64px; text-align: center; }
.intro h2, .scan-copy h2, .stats-copy h2, .privacy-copy h2, .pro-panel h2, .reviews h2, .download-section h2 { font-size: clamp(40px, 4.4vw, 64px); line-height: 1.2; margin: 15px 0 22px; }
.intro p { max-width: 560px; margin: auto; color: var(--muted); font-size: 16px; line-height: 1.8; }
.feature-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 20px; padding-bottom: 130px; }
.feature-card { background: var(--raised); border: 1px solid var(--line); border-radius: 24px; padding: 30px; position: relative; overflow: hidden; min-height: 610px; }
.feature-number { font: 500 13px var(--serif); color: var(--brass); border: 1px solid var(--line); border-radius: 50%; width: 36px; height: 36px; display: grid; place-items: center; }
.feature-copy { margin: 32px 0 24px; }
.feature-copy h3 { font-size: 31px; margin-bottom: 10px; }
.feature-copy p { color: var(--muted); max-width: 430px; margin: 0; font-size: 14px; }
.keypad-demo { width: 370px; margin: 0 auto -52px; background: var(--surface); border: 1px solid var(--line); border-radius: 28px 28px 0 0; padding: 24px; box-shadow: 0 24px 60px rgba(26,54,43,.12); }
.amount-entry { display: flex; flex-direction: column; align-items: center; gap: 4px; }
.amount-entry small { color: var(--muted); }
.amount-entry b { font: 600 32px var(--serif); }
.category-pills { display: flex; gap: 7px; justify-content: center; margin: 15px -10px 20px; }
.category-pills span { border: 1px solid var(--line); padding: 6px 8px; border-radius: 10px; font-size: 10px; white-space: nowrap; }
.category-pills i { font-style: normal; }
.category-pills .active { background: var(--dark); color: white; }
.keys { display: grid; grid-template-columns: repeat(3, 1fr); }
.keys span { text-align: center; padding: 9px; font: 500 18px var(--serif); }
.keypad-done { text-align: center; background: var(--dark); color: white; border-radius: 10px; padding: 10px; margin-top: 10px; font-size: 12px; }
.budget-feature { background: #e8e0d1; }
.budget-visual { margin: 60px auto 0; display: flex; flex-direction: column; align-items: center; }
.ring { width: 230px; height: 230px; border-radius: 50%; background: conic-gradient(var(--positive) 0 68%, rgba(255,255,255,.5) 68%); display: grid; place-items: center; box-shadow: inset 0 0 0 1px rgba(26,54,43,.08); }
.ring::before { content:""; position: absolute; width: 168px; height: 168px; border-radius: 50%; background: #e8e0d1; }
.ring span { position: relative; display: flex; flex-direction: column; align-items: center; }
.ring b { font: 600 44px var(--serif); }.ring small { color: var(--muted); }
.budget-lines { width: min(100%, 310px); margin-top: 35px; }
.budget-lines div { display: flex; justify-content: space-between; border-bottom: 1px solid rgba(26,54,43,.15); padding: 11px 2px; font-size: 12px; }
.budget-lines span { color: var(--muted); }

.scan-section { display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: 90px; padding-block: 120px; }
.scan-visual { background: #dfd5c5; min-height: 600px; border-radius: 28px; position: relative; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.scan-visual::before { content:""; position:absolute; inset: 28px; border: 1px solid rgba(154,120,69,.35); border-radius: 50%; }
.receipt { width: 240px; min-height: 358px; background: #fffdf5; box-shadow: 0 20px 45px rgba(44,37,28,.16); padding: 30px 23px; font-family: ui-monospace, monospace; font-size: 9px; transform: rotate(-7deg) translate(-60px, -34px); position: relative; z-index: 1; }
.receipt::after { content:""; position: absolute; bottom: -7px; left: 0; right: 0; height: 8px; background: linear-gradient(135deg,transparent 5px,#fffdf5 0) 0 0/10px 10px repeat-x; }
.receipt-logo { text-align: center; letter-spacing: .2em; font-weight: bold; margin: 12px; }
.receipt p { text-align: center; margin: 15px 0; }.receipt hr { border: 0; border-top: 1px dashed #aaa; margin: 16px 0; }
.receipt > div:not(.receipt-logo) { display: flex; justify-content: space-between; margin-block: 10px; }
.receipt-total { font-size: 12px; }.receipt small { display:block;text-align:center;color:#777;margin-top:24px; }
.scan-result { position: absolute; width: 218px; right: 22px; bottom: 52px; z-index: 3; background: var(--raised); border: 1px solid var(--line); border-radius: 20px; padding: 20px; box-shadow: 0 20px 48px rgba(26,54,43,.18); display: flex; flex-direction: column; }
.scan-result > small { text-align: center; color: var(--positive); }.scan-result > b { font: 600 27px var(--serif); text-align:center;margin:4px 0 15px; }
.scan-result > div:not(.scan-check) { display: flex; justify-content: space-between; border-top: 1px solid var(--line); padding: 8px 0; font-size: 9px; }
.scan-result > div span { color: var(--muted); }
.scan-result button { border: 0; border-radius: 9px; padding: 9px; background: var(--dark); color: white; margin-top: 8px; font-size: 10px; }
.scan-check { width: 30px; height: 30px; background: var(--positive); color: white; display: grid; place-items: center; border-radius: 50%; margin: -35px auto 8px; border: 4px solid var(--raised); }
.scan-line { position: absolute; height: 2px; left: 30px; right: 30px; top: 45%; background: linear-gradient(90deg,transparent,var(--danger),transparent); box-shadow: 0 0 14px var(--danger); animation: scan 3s ease-in-out infinite; z-index: 2; }
@keyframes scan { 50% { transform: translateY(150px); } }
.scan-copy p, .stats-copy > p, .privacy-copy > p, .pro-panel > p { color: var(--muted); line-height: 1.8; }
.scan-points { margin-top: 34px; }
.scan-points > div { display: flex; gap: 18px; padding: 15px 0; border-top: 1px solid var(--line); }
.scan-points > div > span { color: var(--brass); font: 500 12px var(--serif); }
.scan-points p { margin: 0; display: flex; flex-direction: column; }
.scan-points b { font-size: 13px; }.scan-points small { font-size: 11px; color: var(--muted); margin-top: 3px; }

.stats-section { background: var(--dark); color: var(--canvas); padding-block: 130px; overflow: hidden; }
.stats-inner { display: grid; grid-template-columns: .7fr 1.3fr; align-items: center; gap: 70px; }
.section-kicker.light { color: #c3a779; }
.stats-copy > p, .pro-panel > p { color: #b9c5bf; }
.stats-tabs { display: flex; gap: 7px; margin-top: 32px; }
.stats-tabs span { border: 1px solid rgba(255,255,255,.16); padding: 7px 13px; border-radius: 999px; font-size: 10px; }
.stats-tabs .active { background: var(--canvas); color: var(--dark); }
.charts { display: grid; grid-template-columns: 1.15fr .85fr; gap: 16px; transform: rotate(2deg); }
.chart-card { background: #fbf7ee; color: var(--ink); padding: 24px; min-height: 390px; border-radius: 18px; box-shadow: 0 25px 60px rgba(0,0,0,.22); }
.trend-card { transform: translateY(70px); }
.chart-title { display: flex; justify-content: space-between; align-items: center; font: 600 13px var(--serif); border-bottom: 1px solid var(--line); padding-bottom: 14px; }
.chart-title small { color: var(--muted); font: 400 8px var(--sans); }
.donut-wrap { position: relative; display: grid; place-items: center; margin: 30px 0; }
.donut { width: 178px; height: 178px; border-radius: 50%; background: conic-gradient(#ff6b6b 0 32%,#ffa94d 32% 58%,#4ecdc4 58% 76%,#a78bfa 76% 100%); mask: radial-gradient(circle,#0000 0 52%,#000 53%); }
.donut-wrap > div:last-child { position: absolute; display: flex; flex-direction: column; text-align: center; }
.donut-wrap small { color: var(--muted); font-size: 8px; }.donut-wrap b { font: 600 18px var(--serif); }
.legend { display: flex; flex-direction: column; }
.legend span { display: grid; grid-template-columns: 8px 1fr auto; align-items: center; gap: 8px; padding: 6px 0; font-size: 9px; }
.legend i { width: 7px; height: 7px; border-radius: 50%; background:#ff6b6b; }.legend span:nth-child(2) i{background:#ffa94d}.legend span:nth-child(3) i{background:#4ecdc4}
.legend em { font-style: normal; color: var(--muted); }
.bar-chart { height: 250px; display: flex; gap: 9px; align-items: end; padding-top: 40px; border-bottom: 1px solid var(--line); background: repeating-linear-gradient(to bottom,transparent 0 52px,rgba(26,54,43,.08) 53px); }
.bar-chart i { display:block; flex:1; height:var(--h); background:#bdc8c0; border-radius:4px 4px 0 0; }.bar-chart .current{background:var(--dark)}
.chart-labels { display: flex; justify-content: space-around; color: var(--muted); font-size: 7px; padding-top: 8px; }

.privacy-section { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 100px; padding-block: 145px; }
.privacy-visual { min-height: 460px; position: relative; display: grid; place-items: center; }
.vault-rings, .vault-rings > div { display:grid;place-items:center;border:1px solid var(--line);border-radius:50%; }
.vault-rings { width:420px;height:420px; }.vault-rings > div{width:300px;height:300px}.vault-rings > div > div{width:160px;height:160px;border-radius:50%;background:var(--dark);display:grid;place-items:center;box-shadow:0 24px 50px rgba(26,54,43,.2)}
.vault-rings span { color:var(--canvas);font-size:54px; }
.orbit-label { position:absolute;background:var(--raised);border:1px solid var(--line);border-radius:999px;padding:9px 14px;font-size:10px;box-shadow:0 8px 20px rgba(26,54,43,.08) }
.orbit-one{top:55px;right:30px}.orbit-two{bottom:90px;left:12px}.orbit-three{bottom:34px;right:45px}
.privacy-copy ul, .pro-panel ul { list-style:none;padding:0;margin:28px 0; }
.privacy-copy li, .pro-panel li { display:flex;gap:12px;padding:9px 0;font-size:13px; }
.privacy-copy li span:first-child { color:var(--positive); }

.pro-section { min-height: 720px; display: grid; grid-template-columns: 1.1fr .9fr; background: #d4c3a8; }
.pro-image { background: linear-gradient(90deg,transparent 70%,#18392d 100%),url("assets/paywall-hero.jpg") center/cover; min-height: 720px; }
.pro-panel { background: var(--dark); color: var(--canvas); padding: 110px 9vw 80px 70px; }
.pro-crown { color:#c3a779;font-size:30px;margin-bottom:25px; }
.pro-panel li { color:#dce1dd;border-bottom:1px solid rgba(255,255,255,.1) }.pro-panel li span:first-child{color:#c3a779}
.price-row { display:flex;justify-content:space-between;align-items:end;margin-top:36px; }
.price-options { display:flex;gap:24px;align-items:end; }
.price-options > span { display:flex;flex-direction:column; }
.price-row small{color:#b9c5bf;font-size:9px;text-transform:uppercase;letter-spacing:.07em}.price-row b{font:600 24px var(--serif);white-space:nowrap}.price-row em{font:400 10px var(--sans);font-style:normal}
.best-price small { color:#c3a779; }
.button-ivory { background:var(--canvas);color:var(--dark); }

.reviews { padding-block: 135px; }
.reviews-heading { display:flex;justify-content:space-between;align-items:end; }
.review-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:45px; }
blockquote { margin:0;background:var(--raised);border:1px solid var(--line);border-radius:18px;padding:28px;min-height:260px;display:flex;flex-direction:column; }
.stars { color:var(--brass);letter-spacing:.15em;font-size:11px; }
blockquote p { font:500 17px/1.8 var(--serif);flex:1; }
blockquote footer { display:flex;align-items:center;gap:11px;border-top:1px solid var(--line);padding-top:16px; }
blockquote img { width:38px;height:38px;border-radius:50%;object-fit:cover; }
blockquote footer span { display:flex;flex-direction:column;font-size:11px; }blockquote footer small{color:var(--muted);font-size:9px}

.download-section { background:var(--dark);color:var(--canvas);border-radius:28px;min-height:360px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:42px;padding:70px;margin-bottom:80px;position:relative;overflow:hidden; }
.download-section::after { content:"M";position:absolute;right:22%;font:700 340px/1 var(--serif);color:rgba(246,240,228,.035);pointer-events:none; }
.download-icon { width:108px;height:108px;border-radius:24px;box-shadow:0 16px 35px rgba(0,0,0,.25); }
.download-section h2 { margin-bottom:0;position:relative;z-index:1; }
.light-button { background:var(--canvas);color:var(--dark);position:relative;z-index:1; }
.site-footer { width:min(1180px,calc(100% - 64px));margin:auto;border-top:1px solid var(--line);padding:36px 0 48px;display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:14px;font-size:11px;color:var(--muted); }
.footer-brand { color:var(--ink); }.site-footer p{text-align:center}.footer-links{display:flex;gap:20px}.site-footer > small{grid-column:1/-1;text-align:center;margin-top:20px}

.legal-header { position:relative; }
.legal-header nav .active { color:var(--ink);font-weight:600; }
.legal-page { width:min(760px,calc(100% - 40px));margin:100px auto 140px; }
.legal-page-wide { width:min(1120px,calc(100% - 48px)); }
.legal-hero { max-width:850px;padding:30px 0 64px; }
.legal-hero h1 { font-size:clamp(58px,8vw,104px);line-height:1;margin:18px 0 26px; }
.legal-hero > p { max-width:720px;color:var(--muted);font:500 clamp(17px,2vw,23px)/1.65 var(--serif); }
.legal-meta { display:flex;gap:8px;flex-wrap:wrap;margin-top:28px; }
.legal-meta span { border:1px solid var(--line);border-radius:999px;padding:7px 12px;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.1em; }
.plain-guarantee { display:grid;grid-template-columns:70px 1fr;gap:24px;background:var(--dark);color:var(--canvas);padding:32px;border-radius:20px;margin-bottom:80px;box-shadow:0 20px 50px rgba(26,54,43,.13); }
.guarantee-mark { display:grid;place-items:center;width:58px;height:58px;border:1px solid rgba(255,255,255,.25);border-radius:50%;font:600 28px var(--serif);color:#c3a779; }
.plain-guarantee strong { font:600 20px var(--serif); }
.plain-guarantee p { margin:7px 0 0;color:#c7d0cb;line-height:1.8;font-size:13px; }
.legal-layout { display:grid;grid-template-columns:220px minmax(0,760px);gap:80px;align-items:start; }
.legal-toc { position:sticky;top:110px;display:flex;flex-direction:column;border-top:1px solid var(--line);padding-top:18px; }
.legal-toc strong { font:600 13px var(--serif);margin-bottom:12px; }
.legal-toc a { padding:7px 0;color:var(--muted);font-size:9px;letter-spacing:.03em;transition:color .2s; }
.legal-toc a:hover { color:var(--brass); }
.legal-content section { position:relative;padding:0 0 58px;margin-bottom:58px;border-bottom:1px solid var(--line);scroll-margin-top:110px; }
.legal-content section:last-child { border-bottom:0; }
.legal-number { display:block;color:var(--brass);font:500 11px var(--serif);letter-spacing:.12em;margin-bottom:8px; }
.legal-content h2 { font-size:clamp(29px,3vw,39px);margin:0 0 22px; }
.legal-content h3 { font:600 17px var(--serif);margin:32px 0 10px; }
.legal-content p,.legal-content li { color:var(--muted);line-height:1.9;font-size:13px; }
.legal-content p { margin:0 0 17px; }
.legal-content ul { padding-left:20px;margin:16px 0; }
.legal-content li { padding:5px 0 5px 5px; }
.legal-content strong { color:var(--ink); }
.legal-content a,.support-page a { color:var(--brass);text-decoration:underline;text-underline-offset:3px; }
.legal-content code { color:var(--ink);background:#ebe3d4;border:1px solid var(--line);border-radius:4px;padding:1px 4px;font-size:.9em;overflow-wrap:anywhere; }
.legal-content address { font-style:normal;color:var(--muted);line-height:1.8;font-size:13px;margin:16px 0; }
.legal-table-wrap { width:100%;overflow-x:auto;margin:22px 0 26px;border:1px solid var(--line);border-radius:12px;background:rgba(255,253,248,.45); }
.legal-table-wrap table { width:100%;border-collapse:collapse;min-width:580px;text-align:left;font-size:11px; }
.legal-table-wrap th { color:var(--ink);font-weight:600;background:#eee6d8; }
.legal-table-wrap th,.legal-table-wrap td { padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top;line-height:1.6; }
.legal-table-wrap tr:last-child td { border-bottom:0; }
.legal-table-wrap td { color:var(--muted); }
.legal-callout { border-left:3px solid var(--positive);background:rgba(46,125,79,.06);padding:19px 20px;margin:24px 0;border-radius:0 10px 10px 0; }
.legal-callout.warning { border-color:var(--brass);background:rgba(154,120,69,.08); }
.legal-callout p { margin:5px 0 0; }
.legal-caps { font-size:11px!important;letter-spacing:.025em;font-weight:600;color:var(--ink)!important; }
.contact-lines { display:grid;margin-top:24px;border-top:1px solid var(--line); }
.contact-lines a { display:flex;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid var(--line);font-size:11px; }
.contact-lines a span { color:var(--muted); }
.legal-footer { border-top:1px solid var(--line);padding:32px max(24px,calc((100% - 1120px)/2));color:var(--muted);font-size:10px;display:flex;justify-content:space-between;gap:20px; }
.legal-footer a { color:var(--muted); }

.support-page .legal-hero { text-align:center;margin-inline:auto; }
.support-page .legal-hero > p { margin-inline:auto; }
.support-email { color:var(--canvas)!important;text-decoration:none!important;margin-top:22px; }
.support-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:120px; }
.support-page .support-grid article { background:var(--raised);border:1px solid var(--line);border-radius:18px;padding:26px; }
.support-grid article > span { color:var(--brass);font:500 11px var(--serif); }
.support-grid h2 { font-size:22px;margin:30px 0 10px; }
.support-grid p { color:var(--muted);font-size:12px;line-height:1.8;margin:0; }
.faq-heading { text-align:center;margin-bottom:42px; }
.faq-heading h2 { font-size:clamp(42px,6vw,70px);margin:12px 0; }
.faq-list { max-width:820px;margin:0 auto 120px;border-top:1px solid var(--line); }
.faq-list details { border-bottom:1px solid var(--line); }
.faq-list summary { list-style:none;cursor:pointer;padding:23px 0;font:600 16px var(--serif);display:flex;justify-content:space-between;gap:20px; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary span { color:var(--brass);font:400 20px var(--sans);transition:transform .2s; }
.faq-list details[open] summary span { transform:rotate(45deg); }
.faq-list p { color:var(--muted);font-size:13px;line-height:1.9;margin:0;padding:0 45px 24px 0; }
.support-contact { background:var(--dark);color:var(--canvas);border-radius:24px;padding:55px;display:grid;grid-template-columns:1fr 1fr;gap:70px; }
.support-contact h2 { font-size:43px;margin:14px 0; }
.support-contact p { color:#bdc8c2;line-height:1.8;font-size:12px; }
.support-contact-links { display:flex;flex-direction:column;justify-content:center; }
.support-contact-links a { display:flex;flex-direction:column;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.16);text-decoration:none;color:var(--canvas); }
.support-contact-links span { color:#9eada5;font-size:9px;margin-bottom:3px; }
.support-contact-links strong { font-size:12px;color:var(--canvas); }

.reveal { opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s ease; }
.reveal.visible { opacity:1;transform:translateY(0); }

@media (max-width: 980px) {
  .site-header nav { display:none; }
  .hero { grid-template-columns:1fr; text-align:center;padding-top:90px; }
  .hero-copy { padding:0; }.hero-lead{margin-inline:auto}.eyebrow,.hero-actions,.hero-trust{justify-content:center}
  .feature-grid,.scan-section,.privacy-section,.stats-inner { grid-template-columns:1fr; }
  .feature-grid{max-width:680px}.scan-section{gap:60px}.scan-copy{order:-1;text-align:center}.scan-points{text-align:left}
  .stats-inner{gap:50px}.stats-copy{text-align:center}.stats-tabs{justify-content:center}.charts{max-width:680px;margin:auto}
  .privacy-section{gap:50px}.privacy-copy{text-align:center}.privacy-copy ul{display:inline-block;text-align:left}
  .pro-section{grid-template-columns:1fr}.pro-image{min-height:480px;background:linear-gradient(0deg,#18392d 0%,transparent 35%),url("assets/paywall-hero.jpg") center/cover}.pro-panel{padding:70px max(7vw,32px)}
  .review-grid{grid-template-columns:1fr}.reviews-heading{display:block;text-align:center}
  .download-section{grid-template-columns:auto 1fr}.download-section .app-store-button{grid-column:2}
  .site-footer{grid-template-columns:1fr;text-align:center}.footer-links{justify-content:center}.site-footer>small{grid-column:auto}.site-footer .brand{justify-content:center}
  .legal-layout{grid-template-columns:1fr;gap:0}.legal-toc{display:none}
  .support-grid{grid-template-columns:1fr}.support-contact{grid-template-columns:1fr;gap:30px}
}

@media (max-width: 620px) {
  .section { width:min(100% - 32px,1180px); }
  .site-header { width:calc(100% - 24px);height:64px;padding:0 14px;top:8px;border-radius:15px }.site-header .brand{font-size:14px}.site-header .brand img{width:30px;height:30px}.button-small{display:none}
  .hero{padding:70px 0 40px;min-height:auto;gap:25px}.hero h1{font-size:52px}.hero-lead{font-size:15px}.hero-actions{flex-direction:column;gap:12px}.hero-trust{gap:12px;flex-wrap:wrap}
  .hero-visual{height:570px;transform:scale(.9);margin-inline:-20px}.sun-disc{width:390px;height:390px}.note-one{left:-10px}.note-two{right:-12px}
  .marquee>div{justify-content:flex-start;animation:move 18s linear infinite}@keyframes move{to{transform:translateX(-50%)}}
  .intro{padding-top:90px}.intro h2,.scan-copy h2,.stats-copy h2,.privacy-copy h2,.pro-panel h2,.reviews h2,.download-section h2{font-size:38px}
  .feature-grid{padding-bottom:90px}.feature-card{min-height:560px;padding:22px}.keypad-demo{width:108%;margin-left:-4%}.ring{width:210px;height:210px}
  .scan-section{padding-block:85px}.scan-visual{min-height:540px}.receipt{transform:rotate(-7deg) translate(-42px,-48px);width:210px}.scan-result{right:10px;bottom:32px;width:190px}
  .stats-section{padding-block:90px}.charts{display:block;transform:none}.trend-card{transform:none;margin-top:14px}.chart-card{min-height:360px}
  .privacy-section{padding-block:90px}.privacy-visual{transform:scale(.78);margin:-50px}.vault-rings{width:400px;height:400px}
  .pro-image{min-height:350px}.price-row{align-items:start;gap:22px;flex-direction:column}.price-options{gap:18px;flex-wrap:wrap}
  .reviews{padding-block:90px}
  .download-section{width:calc(100% - 24px);grid-template-columns:1fr;text-align:center;padding:48px 22px;gap:22px}.download-icon{margin:auto}.download-section .app-store-button{grid-column:auto;margin:auto}
  .site-footer{width:calc(100% - 32px)}.footer-links{flex-wrap:wrap}
  .legal-page-wide{width:calc(100% - 32px);margin-top:60px}.legal-hero{padding-bottom:42px}.legal-hero h1{font-size:52px}.legal-hero>p{font-size:16px}
  .plain-guarantee{grid-template-columns:1fr;padding:25px;margin-bottom:60px}.guarantee-mark{width:46px;height:46px;font-size:22px}
  .legal-content section{padding-bottom:42px;margin-bottom:42px}.legal-content h2{font-size:29px}
  .contact-lines a{flex-direction:column;gap:2px}.legal-footer{flex-direction:column;text-align:center}
  .support-grid{margin-bottom:85px}.support-contact{padding:32px 24px}.support-contact h2{font-size:35px}.faq-list{margin-bottom:85px}
}

@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
