:root{color-scheme:light;--ink:#15332a;--muted:#52665e;--paper:#f4f3ec;--card:#fbfaf6;--line:#d6dccf;--accent:#d7ecad;--safe:#24774d;--deep:#10291f;font:17px/1.65 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}
body{margin:0}
a{color:inherit;text-underline-offset:4px}
a:hover{text-decoration-thickness:2px}
a:focus-visible{outline:3px solid var(--safe);outline-offset:5px}
header,main,footer{max-width:1120px;margin:auto;padding:24px 32px}
header{display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}
.brand{font-weight:800;letter-spacing:-.04em;font-size:26px;text-decoration:none}
nav{display:flex;flex-wrap:wrap;gap:12px 24px;font-size:14px}
nav a[aria-current=page]{font-weight:700}
h1,h2,h3{line-height:1.15;letter-spacing:-.04em;text-wrap:balance}
h1{font-size:clamp(42px,6.2vw,74px);margin:18px 0 24px;font-weight:700}
h2{font-size:clamp(26px,3.2vw,34px);margin:0 0 20px}
h3{font-size:20px;margin:0 0 8px}
p{margin:0 0 18px}
.eyebrow{font-size:12px;font-weight:750;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 10px}
.lead{font-size:20px;max-width:620px;color:var(--muted)}
.actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 18px;margin-top:28px}
.button{display:inline-block;background:var(--ink);color:#fff;padding:13px 24px;border-radius:8px;text-decoration:none;font-weight:650}
.button:hover{background:var(--deep)}
.note{font-size:14px;color:var(--muted)}
.number{color:var(--muted);font-size:14px;font-variant-numeric:tabular-nums}
code{font-size:.88em;overflow-wrap:anywhere}
main a,footer a{overflow-wrap:anywhere}

/* Hero: pitch on the left, where the data goes on the right */
.hero{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center;padding:72px 0 64px}
.datamap{margin:0;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:26px 26px 22px}
.icon{width:26px;height:26px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.node,.routes li{display:flex;gap:14px;align-items:flex-start}
.node strong,.routes strong{display:block;line-height:1.3}
.node span,.routes span{display:block;font-size:14px;color:var(--muted);line-height:1.45}
.home{background:var(--accent);border-radius:12px;padding:16px}
.home .icon{width:34px;height:34px;color:var(--deep)}
/* A trunk line down from the phone, with a branch to each place data may go */
.routes{list-style:none;margin:0 0 0 32px;padding:0}
.routes li{position:relative;padding:14px 0 10px 28px}
.routes li::before{content:"";position:absolute;left:0;top:27px;width:18px;border-top:2px solid var(--safe)}
.routes li::after{content:"";position:absolute;left:0;top:0;bottom:0;border-left:2px solid var(--safe)}
.routes li:last-child::after{bottom:auto;height:29px}
.routes .icon{color:var(--safe)}
.routes .none{color:var(--muted)}
.routes .none::before{border-top-style:dashed;border-color:#a9b4ac}
.routes .none .icon{color:#a64b3c}
.routes .none s{text-decoration-thickness:2px;text-decoration-color:#a64b3c}
.routes .none span{display:inline-block;margin-top:4px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#a64b3c}

/* The one-line promise */
.promise{background:var(--deep);color:var(--paper);border-radius:16px;padding:56px 48px;margin:8px 0 72px}
.promise h2{font-size:clamp(28px,4vw,46px);margin:0 0 12px;max-width:900px}
.promise p{margin:0;font-size:20px;color:var(--accent)}

/* Privacy pillars */
.pillars{padding:0 0 64px}
.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.grid article{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:26px}
.grid article p{margin:0;color:var(--muted)}
.grid .number{display:block;margin-bottom:14px;color:var(--safe);font-weight:700}
.disclosure{margin:22px 0 0;padding:16px 20px;border-left:4px solid #588341;background:#ebefdf;border-radius:0 8px 8px 0;font-size:15px;color:var(--muted)}

/* What the app does */
.features{border-top:1px solid var(--line);padding:56px 0}
.features ul{list-style:none;margin:8px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.features p{margin:0;color:var(--muted);font-size:16px}

.cta{display:flex;justify-content:space-between;align-items:center;gap:32px;background:var(--accent);border-radius:16px;padding:40px 44px;margin:0 0 56px}
.cta h2{margin-bottom:8px}
.cta p{margin:0;color:var(--ink)}
.cta .actions{margin:0;flex-direction:column;align-items:flex-end;flex:none}

/* Privacy and terms pages */
.legal{max-width:850px;padding-top:52px;padding-bottom:60px}
.legal h1{font-size:clamp(36px,5vw,56px)}
.legal h2{font-size:24px;margin:36px 0 14px}
.legal ul{padding-left:24px}
.legal li{margin-bottom:10px}
.legal .summary{border-left:4px solid #588341;padding:16px 22px;background:#ebefdf;margin:28px 0}

footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:13px;color:var(--muted);padding-bottom:36px}
footer nav{font-size:13px}
.skip{position:absolute;left:16px;top:-100px;background:#fff;padding:12px;z-index:1}
.skip:focus{top:12px}

@media(max-width:900px){
.hero{grid-template-columns:1fr;gap:40px}
.features ul{grid-template-columns:repeat(2,1fr)}
.cta{flex-direction:column;align-items:flex-start}
.cta .actions{align-items:flex-start}
}
@media(max-width:680px){
header,main,footer{padding-left:16px;padding-right:16px}
header{align-items:flex-start;flex-direction:column;gap:12px}
nav{gap:10px 18px}
.hero{padding:40px 0 48px}
.lead{font-size:18px}
.datamap{padding:20px 18px 16px}
.promise{padding:36px 24px;margin-bottom:56px}
.promise p{font-size:18px}
.grid,.features ul{grid-template-columns:1fr}
.cta{padding:28px 24px}
.legal{padding-top:30px}
footer{flex-direction:column;gap:8px}
}
