:root{--paper:#f6f6f4;--card:#fdfcf9;--ink:#1c1c1e;--secondary:#6e6e73;--tertiary:#a1a1a6;--rule:#00000014;--grid:#00000021;--accent:#b54a3d;--dot-bright:#1c1c1e8c;--dot-dim:#1c1c1e42;--dot-ink:#1c1c1e;--shadow:0 30px 60px -20px #00000038, 0 8px 20px -8px #0000001f;--serif:ui-serif, "New York", "Iowan Old Style", "Apple Garamond", Georgia, serif;--sans:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", system-ui, sans-serif;--measure:1080px}@media (prefers-color-scheme:dark){:root{--paper:#1b1b1b;--card:#262626;--ink:#f2f1ed;--secondary:#a1a1a6;--tertiary:#6e6e73;--rule:#ffffff1a;--grid:#ffffff24;--accent:#d96b5c;--dot-bright:#f2f1ed99;--dot-dim:#f2f1ed47;--dot-ink:#f2f1ed;--shadow:0 30px 60px -20px #0009, 0 8px 20px -8px #0006}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;background-color:var(--paper);background-image:radial-gradient(circle at 12px 12px, var(--grid) .9px, transparent 1.3px);background-size:24px 24px;margin:0;font-size:17px;line-height:1.6}a{color:inherit;-webkit-text-decoration-color:var(--tertiary);text-decoration-color:var(--tertiary);text-underline-offset:3px}a:hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.wrap{max-width:var(--measure);margin:0 auto;padding:0 24px}.narrow{max-width:720px}.site-header{padding:28px 0}img{max-width:100%;height:auto}.site-header .wrap{justify-content:space-between;align-items:center;gap:16px;display:flex}.brand{font-family:var(--serif);align-items:center;gap:12px;font-size:22px;text-decoration:none;display:inline-flex}.nav{gap:24px;font-size:15px;display:flex}.nav a{color:var(--secondary);text-decoration:none}.nav a:hover,.nav a[aria-current=page]{color:var(--ink)}.dot-art{display:block;overflow:visible}.dot-bright{fill:var(--dot-bright)}.dot-dim{fill:var(--dot-dim)}.dot-red{fill:var(--accent)}.motion-rewind circle{transform-box:fill-box;transform-origin:50%}.motion-rewind .dot-bright{fill:var(--dot-ink);fill-opacity:var(--base);--base:.55;--peak:.95}.motion-rewind .dot-dim{fill:var(--dot-ink);fill-opacity:var(--base);--base:.26;--peak:.62}@media (prefers-reduced-motion:no-preference){.motion-rewind .dot-bright,.motion-rewind .dot-dim{animation:dot-rewind-in .6s cubic-bezier(.2, .8, .2, 1) calc(var(--x) * 45ms) both, dot-sweep 4.2s ease-in-out calc(1.4s + var(--x) * 70ms) infinite}.motion-rewind .red-landing{transform-box:fill-box;transform-origin:50%;animation:dot-land .7s cubic-bezier(.3, 1.4, .5, 1) calc(var(--x) * 45ms + .15s) both}.motion-rewind .red-landing .dot-red{animation:dot-pulse 4.2s ease-in-out calc(1.4s + var(--x) * 70ms) infinite}@keyframes dot-rewind-in{0%{opacity:0;transform:translateX(var(--shift))}to{opacity:1;transform:none}}@keyframes dot-sweep{0%,26%,to{fill-opacity:var(--base)}11%{fill-opacity:var(--peak)}}@keyframes dot-land{0%{opacity:0;transform:scale(0)}60%{opacity:1;transform:scale(1.5)}to{opacity:1;transform:scale(1)}}@keyframes dot-pulse{0%,28%,to{transform:scale(1)}12%{transform:scale(1.4)}}}h1,h2,h3{font-family:var(--serif);letter-spacing:-.01em;margin:0;font-weight:600;line-height:1.15}h1{font-size:clamp(40px,6vw,64px)}h2{font-size:clamp(28px,3.6vw,38px)}h3{font-size:21px}.lede{color:var(--secondary);max-width:34em;margin:20px 0 0;font-size:clamp(18px,2vw,21px)}.kicker{color:var(--secondary);align-items:center;gap:10px;margin-bottom:14px;font-size:14px;font-weight:500;display:inline-flex}.kicker:before{content:"";background:var(--tertiary);border-radius:50%;width:8px;height:8px}.muted{color:var(--secondary)}.hero{padding-top:56px;padding-bottom:40px}.hero .dot-art{margin-bottom:36px}.cta{flex-wrap:wrap;align-items:center;gap:16px;margin-top:32px;display:flex}.button{background:var(--ink);color:var(--paper);border-radius:999px;align-items:center;gap:10px;padding:12px 22px;font-size:16px;font-weight:600;text-decoration:none;display:inline-flex}.button[aria-disabled=true]{opacity:.45;cursor:default}.cta small{color:var(--secondary);font-size:14px}.screens{margin:48px 0 24px;padding-bottom:40px;position:relative}.screens .mac{width:86%;box-shadow:var(--shadow);border-radius:2.1%/3.2%;display:block}.screens .phone{width:24%;box-shadow:var(--shadow);border-radius:15.7%/7.4%;display:block;position:absolute;bottom:0;right:0}.features{gap:72px;padding-top:64px;padding-bottom:24px;display:grid}.feature{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:48px;display:grid}.feature:nth-child(2n) .feature-art{order:2}.feature-art{justify-content:center;padding:24px 0;display:flex}.feature p{color:var(--secondary);margin:14px 0 0}@media (max-width:760px){.feature{grid-template-columns:1fr;gap:20px}.feature:nth-child(2n) .feature-art{order:0}.feature-art{justify-content:flex-start}.feature-art .dot-art{max-width:100%;height:auto}}.requirements{background:var(--card);border:1px solid var(--rule);border-radius:20px;margin:80px 0 0;padding:28px 32px}.requirements ul{color:var(--secondary);margin:10px 0 0;padding-left:20px}.doc{padding-top:40px;padding-bottom:24px}.doc h1{font-size:clamp(36px,5vw,52px)}.doc h2{margin:48px 0 12px;font-size:26px}.doc h3{margin:32px 0 6px;font-size:19px}.doc p,.doc li{color:var(--ink)}.doc .updated{color:var(--secondary);margin-top:12px;font-size:15px}.doc ul{padding-left:22px}.doc li{margin:6px 0}.faq details{border-top:1px solid var(--rule);padding:18px 0}.faq details:last-child{border-bottom:1px solid var(--rule)}.faq summary{cursor:pointer;justify-content:space-between;gap:16px;font-weight:600;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";color:var(--tertiary);font-weight:400}.faq details[open] summary:after{content:"−"}.faq details p{color:var(--secondary);margin:10px 0 0}.contact{background:var(--card);border:1px solid var(--rule);border-radius:20px;margin-top:40px;padding:28px 32px}.contact p{color:var(--secondary);margin:8px 0 0}.site-footer{color:var(--tertiary);padding:72px 0 48px;font-size:14px}.site-footer .wrap{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.site-footer nav{gap:20px;display:flex}.site-footer a{text-decoration:none}.site-footer a:hover{color:var(--ink)}
