@font-face{font-family:"serif";src:url(../media/InstrumentSerif_400Regular-s.p.0accj_e91w0ot.ttf)format("truetype");font-display:swap;font-weight:400;font-style:normal}@font-face{font-family:"serif";src:url(../media/InstrumentSerif_400Regular_Italic-s.p.3kkrvz04v7cah.ttf)format("truetype");font-display:swap;font-weight:400;font-style:italic}@font-face{font-family:serif Fallback;src:local(Arial);ascent-override:128.92%;descent-override:40.37%;line-gap-override:0.0%;size-adjust:76.79%}.GPqgHG_className{font-family:"serif",serif Fallback}.GPqgHG_variable{--font-serif:"serif", "serif Fallback"}
@font-face{font-family:sans;src:url(../media/Inter_400Regular-s.p.0p0yk2x1v4kyl.ttf)format("truetype");font-display:swap;font-weight:400}@font-face{font-family:sans;src:url(../media/Inter_500Medium-s.p.1i-hdmwtb5z17.ttf)format("truetype");font-display:swap;font-weight:500}@font-face{font-family:sans;src:url(../media/Inter_600SemiBold-s.p.2six9qxaa1hua.ttf)format("truetype");font-display:swap;font-weight:600}@font-face{font-family:sans Fallback;src:local(Arial);ascent-override:89.79%;descent-override:22.36%;line-gap-override:0.0%;size-adjust:107.89%}.u9hVAG_className{font-family:sans,sans Fallback}.u9hVAG_variable{--font-sans:"sans", "sans Fallback"}
@font-face{font-family:mono;src:url(../media/SpaceMono_Regular-s.p.3jz6x8jc596ba.ttf)format("truetype");font-display:swap}@font-face{font-family:mono Fallback;src:local(Arial);ascent-override:83.51%;descent-override:26.92%;line-gap-override:0.0%;size-adjust:134.12%}.qElSWq_className{font-family:mono,mono Fallback}.qElSWq_variable{--font-mono:"mono", "mono Fallback"}
:root{--bg:#f5f1ea;--bg-raised:#fffdf9;--ink:#17140f;--ink-soft:#5b544a;--ink-faint:#8f877b;--line:#e2dbcf;--chip:#ece6db;--accent:#7c6fd0;--hero-ink:#17140f;--radius:22px;--shadow:0 1px 2px #17140f0f, 0 12px 40px -12px #17140f2e;--wrap:1180px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#0f0e0c;--bg-raised:#191714;--ink:#f2ede4;--ink-soft:#b7ae9f;--ink-faint:#7d7568;--line:#2b2823;--chip:#24211d;--shadow:0 1px 2px #0006, 0 16px 48px -16px #000000b3;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font-family:var(--font-sans), system-ui, sans-serif;-webkit-font-smoothing:antialiased;margin:0;font-size:17px;line-height:1.6}img{max-width:100%;display:block}a{color:inherit}h1,h2,h3{margin:0;font-weight:500;line-height:1.1}p{margin:0}ul{margin:0;padding:0}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:24px}.section{padding-block:96px 24px}.eyebrow{font-family:var(--font-mono), ui-monospace, monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);font-size:12px}.display{font-family:var(--font-serif), Georgia, serif;letter-spacing:-.02em;font-weight:400}.display em{color:var(--ink-soft);font-style:italic}.lede{color:var(--ink-soft);max-width:34em;font-size:20px}.actions{flex-wrap:wrap;gap:10px;margin-top:28px;display:flex}.btn{border:1px solid var(--line);background:var(--bg-raised);color:var(--ink);font:500 15px/1.2 var(--font-sans), sans-serif;cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:11px 20px;text-decoration:none;transition:transform .15s,border-color .15s;display:inline-flex}.btn:hover{border-color:var(--ink-faint);transform:translateY(-1px)}.btn-primary{background:var(--ink);border-color:var(--ink);color:var(--bg)}.btn-primary:hover{border-color:var(--ink)}.btn-ghost{color:var(--ink-soft);background:0 0;border-color:#0000}.chips{flex-wrap:wrap;gap:6px;list-style:none;display:flex}.chips li{background:var(--chip);color:var(--ink-soft);border-radius:999px;padding:3px 10px;font-size:13px}.pill{font-family:var(--font-mono), monospace;letter-spacing:.04em;border:1px solid var(--line);color:var(--ink-soft);background:var(--bg-raised);white-space:nowrap;border-radius:999px;align-items:center;gap:7px;padding:4px 11px;font-size:11.5px;display:inline-flex}.pill-dot{background:var(--ink-faint);border-radius:50%;width:7px;height:7px}.pill-released .pill-dot{background:#2fb162;box-shadow:0 0 0 3px #2fb1622e}.pill-store-ready .pill-dot{background:#3d8bfd;box-shadow:0 0 0 3px #3d8bfd2e}.pill-in-development .pill-dot{background:#e3a008}.text-link{border-bottom:1px solid var(--line);font-size:15px;font-weight:500;text-decoration:none}.text-link:hover{border-color:var(--ink)}.site-header{z-index:10;background:color-mix(in srgb, var(--bg) 82%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(14px);border-bottom:1px solid color-mix(in srgb, var(--line) 70%, transparent);position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;height:64px;display:flex}.brand{align-items:center;gap:10px;font-weight:600;text-decoration:none;display:flex}.brand-mark{background:var(--ink);width:30px;height:30px;color:var(--bg);font-family:var(--font-serif), serif;border-radius:9px;place-items:center;font-size:20px;font-weight:400;display:grid}.nav{align-items:center;gap:22px;font-size:15px;display:flex}.nav a{color:var(--ink-soft);text-decoration:none}.nav a:hover{color:var(--ink)}.nav .nav-cv{color:var(--ink);border:1px solid var(--line);border-radius:999px;padding:6px 14px}.site-footer{border-top:1px solid var(--line);color:var(--ink-faint);margin-top:120px;font-size:14px}.footer-inner{flex-wrap:wrap;justify-content:space-between;gap:12px;padding-block:28px;display:flex}.footer-links{gap:18px;display:flex}.footer-links a{text-decoration:none}.footer-links a:hover{color:var(--ink)}.hero{grid-template-columns:1.1fr .9fr;align-items:center;gap:40px;padding-block:72px 56px;display:grid}.hero-copy .display{margin:14px 0 22px;font-size:clamp(56px,9vw,112px);line-height:.95}.stats{gap:36px;margin:40px 0 0;display:flex}.stats div{flex-direction:column-reverse;display:flex}.stats dt{color:var(--ink-faint);font-size:13px}.stats dd{font-family:var(--font-serif), serif;margin:0;font-size:44px;line-height:1}.hero-art{height:560px;position:relative}.hero-phone{width:230px;box-shadow:var(--shadow);border:6px solid var(--ink);background:var(--ink);border-radius:30px;position:absolute}.hero-phone-0{top:40px;left:6%;transform:rotate(-7deg)}.hero-phone-1{z-index:2;width:220px;top:0;left:34%}.hero-phone-2{top:70px;right:0;transform:rotate(6deg)}.kstore{border-radius:calc(var(--radius) + 6px);color:#f4efe6;background:radial-gradient(120% 140% at 100% 0,#3b2f7a 0%,#0000 55%),radial-gradient(90% 120% at 0 100%,#6e3b22 0%,#0000 60%),#151310;grid-template-columns:1fr auto;align-items:center;gap:32px;padding:40px 44px;display:grid}.eyebrow-light{color:#b9b0a2}.kstore-title{font-family:var(--font-serif), serif;margin:8px 0 10px;font-size:64px;font-weight:400}.kstore-copy{color:#cfc6b8;max-width:30em}.kstore-logo{border-radius:14px;width:56px;height:56px;box-shadow:0 8px 22px -8px #0009}.kstore-title{align-items:center;gap:16px;display:flex}.kstore-icons{flex-wrap:wrap;gap:12px;max-width:444px;list-style:none;display:flex}.kstore-icons li{background:var(--accent);width:64px;height:64px;font-family:var(--font-serif), serif;color:#fff;border-radius:16px;place-items:center;font-size:30px;display:grid;overflow:hidden;box-shadow:0 6px 18px -6px #0009}.kstore-icons img{object-fit:cover;width:100%;height:100%}.section-head{max-width:44em;margin-bottom:44px}.section-title{font-family:var(--font-serif), serif;margin:10px 0 14px;font-size:clamp(42px,6vw,64px);font-weight:400}.section-copy{color:var(--ink-soft);font-size:18px}.app-list{gap:22px;display:grid}.app-card{border-radius:var(--radius);background:var(--bg-raised);border:1px solid var(--line);grid-template-columns:1fr 1.05fr;min-height:420px;text-decoration:none;transition:transform .25s,box-shadow .25s;display:grid;position:relative;overflow:hidden}.app-card:hover{box-shadow:var(--shadow);transform:translateY(-3px)}.app-card-link{text-decoration:none}.app-card-link:after{content:"";z-index:1;position:absolute;inset:0}.app-card-foot{justify-content:space-between;align-items:center;gap:12px;display:flex}.app-repo{z-index:2;border:1px solid var(--line);color:var(--ink-soft);border-radius:999px;padding:5px 12px;font-size:14px;font-weight:500;text-decoration:none;position:relative}.app-repo:hover{color:var(--ink);border-color:var(--ink-faint)}.app-card-flip .app-card-copy{order:2}.app-card-copy{flex-direction:column;gap:16px;padding:40px;display:flex}.app-card-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.app-index{font-family:var(--font-mono), monospace;color:var(--accent);font-size:13px}.app-name{font-family:var(--font-serif), serif;margin-top:auto;font-size:46px;font-weight:400}.app-native{font-family:var(--font-sans), sans-serif;color:var(--ink-faint);letter-spacing:0;font-size:.5em}.app-tagline{color:var(--ink-soft);max-width:28em;font-size:18px}.app-more{color:var(--ink-faint);font-size:14px;font-weight:500}.app-card:hover .app-more{color:var(--accent)}.art{z-index:0;background:radial-gradient(120% 90% at 50% 110%, color-mix(in srgb, var(--accent) 55%, transparent), transparent 70%), color-mix(in srgb, var(--accent) 16%, var(--bg));min-height:320px;position:relative;overflow:hidden}.art-phones .phone{background:#111;border:5px solid #111;border-radius:22px;width:34%;max-width:190px;transition:transform .4s;position:absolute;box-shadow:0 20px 40px -18px #0000008c}.art-phones .phone-0{top:18%;left:12%;transform:rotate(-6deg)}.art-phones .phone-1{z-index:2;top:9%;left:50%;translate:-50%}.art-phones .phone-2{top:20%;right:12%;transform:rotate(6deg)}.app-card:hover .art-phones .phone-0{transform:rotate(-9deg)translate(-6px)}.app-card:hover .art-phones .phone-2{transform:rotate(9deg)translate(6px)}.art-wide{place-items:center;padding:32px;display:grid}.art-wide img{border-radius:14px;width:auto;max-height:380px;transition:transform .4s;box-shadow:0 20px 40px -20px #00000080}.app-card:hover .art-wide img{transform:scale(1.02)}.art-icon{flex-direction:column;justify-content:center;align-items:center;gap:18px;display:flex}.art-icon-img,.art-monogram{border-radius:36px;width:148px;height:148px;transition:transform .4s;box-shadow:0 24px 50px -20px #0000008c}.art-monogram{background:var(--accent);color:#fff;font-family:var(--font-serif), serif;place-items:center;font-size:84px;display:grid}.app-card:hover .art-icon-img,.app-card:hover .art-monogram{transform:translateY(-4px)rotate(-3deg)}.art-native{color:var(--ink-soft);font-size:26px}.try{grid-template-columns:1fr auto;align-items:center;gap:56px;padding-block:56px;display:grid}.try-copy{flex-direction:column;align-items:flex-start;gap:14px;max-width:34em;display:flex}.try-copy .detail-title{margin-bottom:0}.try-note{color:var(--ink-soft)}.try-phone{border:10px solid var(--ink);background:var(--ink);border-radius:40px;width:360px;height:740px;overflow:hidden}.try-phone iframe{background:#fff;border:0;border-radius:30px;width:100%;height:100%;display:block}.try-start{background:var(--bg-raised);width:100%;height:100%;color:var(--ink);font:inherit;cursor:pointer;border:0;border-radius:30px;flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex}.try-icon{border-radius:24px;width:96px;height:96px}.try-name{font-family:var(--font-serif), serif;font-size:34px}.try-hint{color:var(--ink-faint);font-size:13px}.try-unavailable{border-radius:var(--radius);border:1px solid var(--line);color:var(--ink-soft);flex-direction:column;gap:10px;margin-top:16px;padding:24px 28px;display:flex}.app-card-links{gap:8px;display:flex}.app-try{border-color:var(--ink);color:var(--ink)}.web-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.web-card{border-radius:var(--radius);border:1px solid var(--line);background:var(--bg-raised);flex-direction:column;display:flex;overflow:hidden}.web-cover{aspect-ratio:16/10;border-bottom:1px solid var(--line);background:var(--chip);display:block;overflow:hidden}.web-cover img{object-fit:cover;object-position:top;width:100%;height:100%;transition:transform .4s}.web-card:hover .web-cover img{transform:scale(1.03)}.web-body{flex-direction:column;flex:1;gap:10px;padding:22px 24px 24px;display:flex}.web-role{font-family:var(--font-mono), monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);font-size:11.5px}.web-body h3{font-family:var(--font-serif), serif;font-size:28px;font-weight:400}.web-summary{color:var(--ink-soft);font-size:15px}.web-links{flex-wrap:wrap;gap:16px;margin-top:auto;padding-top:6px;display:flex}.ml-grid{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}.ml-card{border-radius:var(--radius);border:1px solid var(--line);background:var(--bg-raised);flex-direction:column;gap:14px;padding:30px;display:flex}.ml-card h3{font-family:var(--font-serif), serif;font-size:30px;font-weight:400}.ml-summary{color:var(--ink-soft)}.ml-points{color:var(--ink-soft);gap:8px;font-size:15px;list-style:none;display:grid}.ml-points li,.detail-list li{padding-left:18px;position:relative}.ml-points li:before,.detail-list li:before{content:"";background:var(--ink-faint);width:7px;height:1.5px;position:absolute;top:.7em;left:0}.ml-card .text-link{align-self:flex-start;margin-top:auto}.contact{text-align:center;flex-direction:column;align-items:center;display:flex}.contact-title{margin:14px 0 26px;font-size:clamp(44px,7vw,84px)}.contact-email{font-family:var(--font-serif), serif;border-bottom:1px solid var(--line);overflow-wrap:anywhere;font-size:clamp(26px,4vw,40px);text-decoration:none}.contact-email:hover{border-color:var(--ink)}.contact .actions{justify-content:center}.app-hero{padding-block:40px}.back{color:var(--ink-faint);margin-bottom:36px;font-size:15px;text-decoration:none;display:inline-block}.back:hover{color:var(--ink)}.app-hero-head{align-items:center;gap:22px;margin-bottom:22px;display:flex}.app-hero-icon{width:96px;height:96px;box-shadow:var(--shadow);border-radius:24px;flex-shrink:0}.app-hero-monogram{background:var(--accent);color:#fff;font-family:var(--font-serif), serif;place-items:center;font-size:54px;display:grid}.app-hero-title{margin-top:10px;font-size:clamp(48px,8vw,88px)}.app-summary{max-width:40em;color:var(--ink-soft);margin-top:18px}.facts{border-block:1px solid var(--line);grid-template-columns:auto auto 1fr;gap:28px;margin:32px 0;padding-block:20px;display:grid}.facts dt{font-family:var(--font-mono), monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);font-size:11.5px}.facts dd{margin:4px 0 0;font-size:15px}.app-feature{border-radius:var(--radius);width:100%;box-shadow:var(--shadow)}.app-feature-square{max-width:640px;margin-inline:auto}.square-gallery{grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px;display:grid}.square-gallery figure{margin:0}.square-gallery img{border:1px solid var(--line);border-radius:16px;width:100%}.phone-rail{background:radial-gradient(80% 120% at 50% 120%, color-mix(in srgb, var(--accent) 45%, transparent), transparent 70%), color-mix(in srgb, var(--accent) 12%, var(--bg));scroll-snap-type:x mandatory;margin-top:40px;padding-block:48px;overflow-x:auto}.phone-rail-track{width:max-content;padding-inline:max(24px, calc((100vw - var(--wrap)) / 2 + 24px));gap:24px;display:flex}.phone-rail figure{scroll-snap-align:center;width:240px;margin:0}.phone-rail img{background:#111;border:6px solid #111;border-radius:28px;box-shadow:0 24px 50px -24px #0009}figcaption{color:var(--ink-soft);margin-top:12px;font-size:13.5px}.wide-gallery{gap:32px;margin-top:40px;display:grid}.wide-gallery figure{margin:0}.wide-gallery img{border:1px solid var(--line);border-radius:16px;width:100%}.detail-cols{grid-template-columns:1fr 1fr;gap:48px;margin-top:72px;display:grid}.detail-title{font-family:var(--font-serif), serif;margin-bottom:20px;font-size:34px;font-weight:400}.detail-list{color:var(--ink-soft);gap:12px;list-style:none;display:grid}.detail-list li:before{background:var(--accent)}.credit{color:var(--ink-faint);margin-top:40px;font-size:14px}.next-app{border-radius:var(--radius);border:1px solid var(--line);background:var(--bg-raised);flex-direction:column;gap:8px;margin-top:88px;padding:36px 40px;text-decoration:none;display:flex}.next-app-name{font-family:var(--font-serif), serif;font-size:48px;line-height:1.1}.next-app:hover .next-app-name{color:var(--accent)}.not-found{flex-direction:column;align-items:flex-start;gap:18px;min-height:50vh;display:flex}.not-found .display{font-size:72px}.cv-page{padding-block:32px 0}.cv-toolbar{max-width:841.701px;color:var(--ink-faint);justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;font-size:14px;display:flex}.cv{--cv-ink:#17140f;--cv-soft:#514a40;--cv-faint:#8a8276;--cv-line:#e4ddd1;width:210mm;min-height:297mm;color:var(--cv-ink);box-shadow:var(--shadow);background:#fff;margin-inline:auto;padding:15mm 15mm 13mm;font-size:9.6pt;line-height:1.45}.cv a{text-decoration:none}.cv-item-head>a{color:#6b5fc2;flex-shrink:0;font-size:8.4pt}.cv-item-compact{margin-bottom:1.8mm}.cv-role{color:var(--cv-faint);font-size:9pt;font-weight:400}.cv-stack a{color:#6b5fc2;flex-shrink:0}.cv-head{border-bottom:1.5px solid var(--cv-ink);justify-content:space-between;align-items:flex-end;gap:24px;padding-bottom:6mm;display:flex}.cv-name{font-family:var(--font-serif), serif;letter-spacing:-.01em;font-size:34pt;font-weight:400;line-height:1}.cv-title{font-family:var(--font-mono), monospace;letter-spacing:.14em;text-transform:uppercase;color:#6b5fc2;margin-top:6px;font-size:9pt}.cv-contact{text-align:right;color:var(--cv-soft);font-size:9pt;list-style:none}.cv-section{margin-top:5mm}.cv-summary{color:var(--cv-soft);max-width:165mm}.cv-skill-rows{gap:1.5mm;margin:0;display:grid}.cv-skill-rows div{grid-template-columns:38mm 1fr;gap:4mm;display:grid}.cv-skill-rows dt{font-weight:600}.cv-skill-rows dd{color:var(--cv-soft);margin:0}.cv-h{font-family:var(--font-mono), monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--cv-faint);border-bottom:1px solid var(--cv-line);margin-bottom:2.5mm;padding-bottom:1.5mm;font-size:8pt;font-weight:400}.cv-item{break-inside:avoid;margin-bottom:2.6mm}.cv-item-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.cv-item-head strong{font-size:10.6pt;font-weight:600}.cv-native{color:var(--cv-faint);font-weight:400}.cv-muted{color:var(--cv-faint);font-size:8.6pt}.cv-status{font-family:var(--font-mono), monospace;color:var(--cv-faint);flex-shrink:0;font-size:7.6pt}.cv-status-released{color:#1f8a4c}.cv-status-store-ready{color:#2b6fd6}.cv-tag{color:var(--cv-soft)}.cv-item ul{color:var(--cv-soft);margin:1mm 0 0;padding-left:4mm}.cv-stack{color:var(--cv-faint);justify-content:space-between;gap:12px;margin-top:.8mm;font-size:8.2pt;display:flex}@media (max-width:900px){.hero{grid-template-columns:1fr;padding-top:40px}.hero-art{width:100%;max-width:520px;height:420px;margin-inline:auto}.hero-phone{width:170px}.hero-phone-1{width:165px}.kstore{grid-template-columns:1fr;padding:32px 28px}.app-card{grid-template-columns:1fr}.app-card-flip .app-card-copy{order:0}.app-card-copy{padding:28px}.app-name{font-size:38px}.ml-grid,.detail-cols{grid-template-columns:1fr}.square-gallery,.web-grid{grid-template-columns:1fr 1fr}.try{grid-template-columns:1fr;justify-items:center;gap:32px}.facts{grid-template-columns:1fr 1fr}.facts div:last-child{grid-column:1/-1}.cv-page{overflow-x:auto}}@media (max-width:560px){body{font-size:16px}.wrap{padding-inline:16px}.section{padding-top:72px}.nav{gap:14px}.brand-name{display:none}.stats{gap:24px}.hero-art{height:340px}.hero-phone{border-width:4px;border-radius:20px;width:130px}.hero-phone-1{width:128px}.kstore-icons{gap:10px}.kstore-icons li{border-radius:11px;width:40px;height:40px}.kstore-title{font-size:48px}.kstore-logo{border-radius:11px;width:44px;height:44px}.app-card-top{flex-wrap:wrap}.art{min-height:280px}.phone-rail figure{width:200px}.next-app-name{font-size:36px}.cv-toolbar{flex-direction:column;align-items:flex-start}.web-grid{grid-template-columns:1fr}.try-phone{border-width:8px;width:100%;max-width:340px;height:680px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important}}@page{size:A4;margin:10mm 0}@media print{body{background:#fff}.site-header,.site-footer,.cv-toolbar{display:none}.cv-page{padding:0}.cv{box-shadow:none;width:auto;min-height:0;padding:0 15mm}.cv-h{break-after:avoid}.cv *{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.policy{max-width:760px;padding-block:40px 96px}.policy-title{margin:10px 0 18px;font-size:clamp(44px,7vw,72px)}.policy-section{border-top:1px solid var(--line);margin-top:40px;padding-top:24px}.policy-section h2{font-family:var(--font-serif), serif;margin-bottom:12px;font-size:28px;font-weight:400}.policy-section p{color:var(--ink-soft);max-width:40em}.policy-section p+p{margin-top:12px}.policy-index{border-top:1px solid var(--line);margin-top:40px;list-style:none}.policy-index li{border-bottom:1px solid var(--line)}.policy-index a{font-family:var(--font-serif), serif;color:var(--ink);padding-block:18px;font-size:28px;text-decoration:none;display:block}.policy-index a:hover{color:var(--accent)}
