:root{--c-ink: #1d1d1f;--c-text-2: #6e6e73;--c-text-3: #86868b;--c-link: #424245;--c-canvas: #f5f5f7;--c-surface: #ffffff;--c-foot: #ececef;--c-line: rgba(0, 0, 0, .08);--c-btn-on-dark: #ffffff;--c-btn-on-dark-hover: #f5f5f7;--c-btn-on-dark-text: #1d1d1f;--c-focus-on-dark: #ffffff;--c-focus-halo-on-dark: rgba(0, 0, 0, .5);--c-tint-keypaste: #5b35d6;--c-tint-simplespend: #14a3b8;--c-on-dark: #ffffff;--c-on-dark-muted: rgba(255, 255, 255, .86);--c-on-dark-faint: rgba(255, 255, 255, .62);--c-glass: rgba(255, 255, 255, .72);--c-glass-scrolled: rgba(255, 255, 255, .88);--c-glass-line: rgba(255, 255, 255, .55);--c-ghost: rgba(255, 255, 255, .14);--c-ghost-line: rgba(255, 255, 255, .42);--c-focus: var(--c-ink);--c-focus-ring: var(--c-surface);--s-1: .25rem;--s-2: .5rem;--s-3: .75rem;--s-4: 1rem;--s-5: 1.25rem;--s-6: 1.5rem;--s-8: 2rem;--s-10: 2.5rem;--s-12: 3rem;--s-16: 4rem;--s-20: 5rem;--s-24: 6rem;--s-32: 8rem;--r-1: .5rem;--r-2: .75rem;--r-3: 1.25rem;--r-4: 1.75rem;--r-5: 2.5rem;--r-pill: 999px;--r-icon: 22.5%;--sh-1: 0 2px 8px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .04);--sh-2: 0 8px 24px rgba(0, 0, 0, .06), 0 2px 6px rgba(0, 0, 0, .04);--sh-3: 0 18px 48px rgba(0, 0, 0, .1), 0 4px 12px rgba(0, 0, 0, .05);--sh-4: 0 28px 80px rgba(0, 0, 0, .14);--t-display: clamp(2.6rem, 1.2rem + 5vw, 4.5rem);--t-h1: clamp(2.35rem, 1.1rem + 4.4vw, 4.15rem);--t-h2: clamp(1.85rem, 1.1rem + 2.4vw, 2.75rem);--t-h3: clamp(1.125rem, 1rem + .5vw, 1.35rem);--t-lead: clamp(1.125rem, 1.05rem + .35vw, 1.3125rem);--t-body: 1.0625rem;--t-small: .9375rem;--t-caption: .6875rem;--t-btn: 1rem;--ls-display: -.048em;--ls-h1: -.045em;--ls-h2: -.036em;--ls-body: -.014em;--ls-caps: .14em;--lh-display: 1.04;--lh-heading: 1.12;--lh-lead: 1.45;--lh-body: 1.5;--lh-caption: 1.3;--fw-regular: 400;--fw-ui: 510;--fw-medium: 590;--fw-semibold: 600;--ease-out: cubic-bezier(.22, .61, .36, 1);--dur-fast: .16s;--dur: .32s;--dur-slow: .52s;--w-content: 68rem;--w-nav: 48rem;--w-footer: 68rem;--w-prose: 40rem;--gutter: var(--s-6);--btn-min-h: 2.9rem;--size-icon: 4.5rem;--size-icon-lg: 10rem;--size-phone: 17.5rem}@media(min-width:768px){:root{--gutter: var(--s-8)}}@media(prefers-color-scheme:dark){:root{--c-ink: #f5f5f7;--c-text-2: #a1a1a6;--c-text-3: #86868b;--c-link: #d2d2d7;--c-canvas: #000000;--c-surface: #1c1c1e;--c-foot: #0a0a0c;--c-line: rgba(255, 255, 255, .12);--c-glass: rgba(28, 28, 30, .72);--c-glass-scrolled: rgba(28, 28, 30, .9);--c-glass-line: rgba(255, 255, 255, .18);--c-focus: #f5f5f7;--c-focus-ring: #1c1c1e;--sh-1: 0 2px 8px rgba(0, 0, 0, .28), 0 1px 2px rgba(0, 0, 0, .2);--sh-2: 0 8px 24px rgba(0, 0, 0, .32), 0 2px 6px rgba(0, 0, 0, .2);--sh-3: 0 18px 48px rgba(0, 0, 0, .4), 0 4px 12px rgba(0, 0, 0, .22);--sh-4: 0 28px 80px rgba(0, 0, 0, .5)}}.site-foot{padding:var(--s-16) var(--gutter) max(var(--s-10),env(safe-area-inset-bottom));background:var(--c-foot);color:var(--c-text-2);border-top:1px solid var(--c-line)}.compact-foot>main{flex:0 0 auto}.compact-foot .site-foot{flex:1 0 auto;padding-top:var(--s-10)}.foot-inner{width:min(var(--w-footer),100%);margin-inline:auto}.foot-grid{display:grid;gap:var(--s-10)}.foot-name{margin:0 0 var(--s-3);color:var(--c-ink);font-size:var(--t-h3);font-weight:var(--fw-medium);letter-spacing:var(--ls-h2)}.foot-blurb{margin:0;max-width:22rem;font-size:var(--t-small);line-height:var(--lh-body)}.foot-label{margin:0 0 var(--s-3);font-size:var(--t-caption);font-weight:var(--fw-ui);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--c-text-3)}.foot-col{display:flex;flex-direction:column;align-items:flex-start;gap:var(--s-2)}.site-foot a{color:var(--c-link);text-decoration:none;font-size:var(--t-small)}.site-foot a:hover{color:var(--c-ink)}.foot-bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s-3) var(--s-6);margin-top:var(--s-12);padding-top:var(--s-6);border-top:1px solid var(--c-line);font-size:var(--t-caption);color:var(--c-text-2)}.foot-legal{display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-5)}.foot-legal a{font-size:var(--t-caption)}@media(min-width:720px){.foot-grid{grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr) minmax(0,1fr);gap:var(--s-12)}}.site{display:flex;flex-direction:column;min-height:100svh;color:var(--c-ink);background:var(--c-canvas)}.site>main{flex:1 0 auto}.site :focus-visible{outline:2px solid var(--c-focus);outline-offset:3px;box-shadow:0 0 0 5px var(--c-focus-ring)}.cta-on-dark :focus-visible,.app-card :focus-visible{outline-color:var(--c-focus-on-dark);box-shadow:0 0 0 5px var(--c-focus-halo-on-dark)}a.skip{position:absolute;left:var(--s-4);top:var(--s-4);z-index:40;padding:var(--s-2) var(--s-4);border-radius:var(--r-1);background:var(--c-ink);color:var(--c-canvas);text-decoration:none;transform:translateY(-200%)}a.skip:focus{transform:none;color:var(--c-canvas)}.site a.skip{color:var(--c-canvas)}.site-nav{position:fixed;z-index:20;top:max(var(--s-3),env(safe-area-inset-top));left:0;right:0;width:min(var(--w-nav),calc(100% - var(--s-8)));margin-inline:auto}.site-nav .glass-bar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--s-4)}.site-nav .brand,.site-nav .contact,.site-nav .nav-apps a{position:relative;z-index:1;text-decoration:none;font-size:var(--t-small);letter-spacing:var(--ls-body);white-space:nowrap}.site-nav .brand{justify-self:start;font-weight:var(--fw-medium)}.site-nav .nav-apps{display:flex;justify-content:center;gap:var(--s-6)}.site-nav .nav-apps a,.site-nav .contact{color:var(--c-ink);font-weight:var(--fw-regular)}.site-nav .contact{justify-self:end}.site-nav .nav-apps a:hover,.site-nav .contact:hover{color:var(--c-text-2)}@media(max-width:559px){.site-nav{width:max-content;max-width:calc(100% - var(--s-8))}.site-nav .glass-bar{display:flex;justify-content:space-between;gap:var(--s-8)}.site-nav .nav-apps{display:none}}@media(prefers-reduced-transparency:reduce){.site-nav .glass-bar{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--c-surface);border-color:var(--c-line)}}.hero{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100svh;padding:var(--s-32) var(--gutter) var(--s-16);text-align:center;background:var(--c-canvas)}.hero-compact{min-height:0;padding-top:var(--s-32);padding-bottom:var(--s-16)}.aurora{position:absolute;inset:-30% -18% -10%;z-index:0;pointer-events:none;background:radial-gradient(ellipse 42% 48% at 22% 32%,color-mix(in srgb,var(--c-tint-keypaste) 34%,transparent),transparent 72%),radial-gradient(ellipse 48% 44% at 82% 68%,color-mix(in srgb,var(--c-tint-simplespend) 32%,transparent),transparent 72%),radial-gradient(ellipse 36% 30% at 52% 18%,rgba(255,255,255,.72),transparent 70%);filter:blur(64px);opacity:.9}.hero-compact .aurora{inset:-40% -22% 10%}@media(max-width:700px){.aurora{opacity:.42;filter:blur(56px)}}@media(prefers-color-scheme:dark){.aurora{opacity:.7;background:radial-gradient(ellipse 42% 48% at 22% 32%,color-mix(in srgb,var(--c-tint-keypaste) 48%,transparent),transparent 72%),radial-gradient(ellipse 48% 44% at 82% 68%,color-mix(in srgb,var(--c-tint-simplespend) 42%,transparent),transparent 72%),radial-gradient(ellipse 30% 26% at 50% 20%,rgba(255,255,255,.12),transparent 70%)}@media(max-width:700px){.aurora{opacity:.45}}}.eyebrow,.hero h1,.hero .lead,.hero .cta-row{position:relative;z-index:1}.eyebrow{margin:0 0 var(--s-3);letter-spacing:var(--ls-caps);text-transform:uppercase;font-size:var(--t-caption);font-weight:var(--fw-ui);color:var(--c-text-2)}.hero h1{margin:0 auto;max-width:18ch;font-size:var(--t-display);font-weight:var(--fw-semibold);letter-spacing:var(--ls-display);line-height:var(--lh-display);text-wrap:balance;color:var(--c-ink)}.hero .lead{margin:var(--s-5) auto 0;max-width:22rem;font-size:var(--t-lead);line-height:var(--lh-lead);letter-spacing:var(--ls-body);color:var(--c-text-2);text-wrap:balance}@media(min-width:600px){.hero .lead{max-width:36rem}}.hero .cta-row{margin-top:var(--s-8)}.cta-row{display:flex;flex-wrap:wrap;gap:var(--s-3)}.hero .cta-row{justify-content:center}.btn{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;min-height:var(--btn-min-h);padding:var(--s-2) var(--s-5);border-radius:var(--r-pill);text-decoration:none;font-size:var(--t-btn);font-weight:var(--fw-ui);letter-spacing:var(--ls-body);border:1px solid transparent;transition:background var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.site a.btn-solid{background:var(--c-ink);color:var(--c-canvas);box-shadow:var(--sh-2)}.site a.btn-solid:hover{background:color-mix(in srgb,var(--c-ink) 88%,var(--c-text-2))}.site a.btn-ghost{background:transparent;color:var(--c-ink);border-color:var(--c-line)}.site a.btn-ghost:hover{background:color-mix(in srgb,var(--c-ink) 6%,transparent)}.cta-on-dark a.btn-solid{background:var(--c-btn-on-dark);color:var(--c-btn-on-dark-text);box-shadow:var(--sh-2)}.cta-on-dark a.btn-solid:hover{background:var(--c-btn-on-dark-hover)}.cta-on-dark a.btn-ghost{background:var(--c-ghost);color:var(--c-on-dark);border-color:var(--c-ghost-line)}.cta-on-dark a.btn-ghost:hover{background:color-mix(in srgb,var(--c-on-dark) 22%,transparent)}.apps{width:min(var(--w-content),calc(100% - (var(--gutter) * 2)));margin:0 auto;display:grid;gap:var(--s-12)}.app-card{position:relative;color:var(--c-on-dark);border-radius:var(--r-5);box-shadow:var(--sh-3)}.card-fill{position:absolute;inset:0;border-radius:inherit;background:var(--stage);box-shadow:inset 0 1px #fff3}.card-inner{position:relative;z-index:1;display:grid;gap:var(--s-8);border-radius:inherit}.app-card--mark .card-inner{padding:var(--s-10) var(--s-6);align-items:center}.app-card--shot{overflow:hidden}.app-card--shot .card-inner{padding:var(--s-10) var(--s-6) var(--s-6)}.app-icon{width:var(--size-icon);height:var(--size-icon);border-radius:var(--r-icon);object-fit:cover;box-shadow:var(--sh-3)}.app-card h2{margin:0 0 var(--s-3);font-size:var(--t-h2);font-weight:var(--fw-semibold);letter-spacing:var(--ls-h2);line-height:var(--lh-heading);text-wrap:balance;color:var(--c-on-dark)}.app-card--shot h2{margin-top:var(--s-5)}.app-card .summary{margin:0;max-width:28rem;font-size:var(--t-lead);line-height:var(--lh-lead);color:var(--c-on-dark)}.app-card .meta{margin:var(--s-2) 0 0;font-size:var(--t-small);color:var(--c-on-dark-muted)}.features{margin:var(--s-5) 0 var(--s-6);padding:0;max-width:24rem;list-style:none}.features li{position:relative;padding:var(--s-1) 0 var(--s-1) var(--s-5);font-size:var(--t-small);line-height:var(--lh-body);color:var(--c-on-dark-muted)}.features li:before{content:"";position:absolute;left:0;top:.7em;width:var(--s-1);height:var(--s-1);border-radius:50%;background:var(--c-on-dark-faint)}.card-visual{position:relative;display:grid;place-items:center}.app-card--shot .card-visual{place-items:start center;overflow:hidden;-webkit-mask-image:linear-gradient(to bottom,#000 68%,transparent);mask-image:linear-gradient(to bottom,#000 68%,transparent)}.kp-spot{position:relative;display:grid;place-items:center;width:calc(var(--size-icon-lg) + var(--s-12));height:calc(var(--size-icon-lg) + var(--s-12));pointer-events:none}.kp-spot:before{content:"";position:absolute;width:80%;height:80%;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.4),transparent 70%);filter:blur(16px)}.kp-spot img{position:relative;z-index:1;width:var(--size-icon-lg);height:var(--size-icon-lg);border-radius:var(--r-4);object-fit:cover;box-shadow:var(--sh-4)}.phone{margin:0}.app-card--shot .phone{max-height:calc(var(--size-phone) * 1.25);overflow:hidden}.phone img{display:block;width:min(var(--size-phone),58vw);height:auto;filter:drop-shadow(0 22px 40px rgba(0,0,0,.28))}.card-guides{display:flex;flex-direction:column;align-items:flex-start;margin-top:var(--s-6);font-size:var(--t-small)}.app-card .card-guides a{display:block;padding-block:.6rem;color:var(--c-on-dark-muted);text-decoration:underline;text-decoration-color:var(--c-on-dark-faint);text-underline-offset:.2em}.app-card .card-guides a:hover{color:var(--c-on-dark)}.values{width:min(var(--w-content),calc(100% - (var(--gutter) * 2)));margin:var(--s-16) auto var(--s-20);padding:var(--s-12) var(--s-6);background:var(--c-surface);border-radius:var(--r-5);box-shadow:var(--sh-1)}.values .eyebrow{margin-bottom:var(--s-3)}.values h2{margin:0 0 var(--s-10);max-width:16ch;font-size:var(--t-h2);font-weight:var(--fw-semibold);letter-spacing:var(--ls-h2);line-height:var(--lh-heading);color:var(--c-ink)}.value-grid{display:grid;gap:var(--s-8);margin:0;padding:0;list-style:none}.value-title{margin:0 0 var(--s-2);font-size:var(--t-h3);font-weight:var(--fw-medium);letter-spacing:var(--ls-h2);color:var(--c-ink)}.value-body{margin:0;max-width:22rem;font-size:var(--t-small);line-height:var(--lh-body);color:var(--c-text-2)}@media(min-width:720px){.values{padding:var(--s-12) var(--s-10)}}@media(min-width:900px){.apps{gap:var(--s-16)}.app-card--mark .card-inner{grid-template-columns:minmax(0,1fr) auto;padding:var(--s-12)}.app-card--shot .card-inner{grid-template-columns:minmax(0,1fr) 18rem;align-items:stretch;gap:var(--s-8);padding:var(--s-12)}.app-card--shot .card-visual{min-height:0;place-items:start end}.app-card--shot .phone{position:absolute;top:0;right:0;width:100%;max-height:none;overflow:visible}.app-card--shot .phone img{width:100%}.value-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-10)}}@media(max-width:559px){.app-card--mark .card-inner,.app-card--shot .card-inner{padding-inline:var(--s-5)}.kp-spot{width:calc(var(--s-32) + var(--s-8));height:calc(var(--s-32) + var(--s-8))}.kp-spot img{width:var(--s-32);height:var(--s-32);border-radius:var(--r-3)}.app-card--shot .phone img{width:min(var(--size-phone),56vw)}}[data-reveal].is-pending{opacity:0;transform:translateY(var(--s-3))}[data-reveal].is-in{opacity:1;transform:none;transition:opacity var(--dur) var(--ease-out),transform var(--dur) var(--ease-out);transition-delay:var(--reveal-delay, 0ms)}@media(prefers-reduced-motion:reduce){.btn{transition:none}.btn:hover,.btn:active{transform:none}[data-reveal].is-pending,[data-reveal].is-in{opacity:1;transform:none;transition:none}}
