@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;700&display=swap";@font-face{font-family:Space Grotesk;src:url(/fonts/SpaceGrotesk-VariableFont_wght.ttf) format("truetype-variations"),url(/fonts/SpaceGrotesk-VariableFont_wght.ttf) format("truetype");font-weight:300 700;font-style:normal;font-display:swap}:root{--ink: #0B0B0F;--ink-elevated: #15151B;--paper: #FBF8F3;--paper-pure: #FFFFFF;--ember: #FF4D2E;--ember-deep: #C73218;--ember-soft: #FFE5DD;--moss: #1F3F2C;--bone: #EDE6D7;--ash-900: #1A1A20;--ash-800: #2A2A33;--ash-700: #3F3F4A;--ash-600: #5A5A66;--ash-500: #7A7A86;--ash-400: #A0A0AA;--ash-300: #C8C7C0;--ash-200: #E2DFD7;--ash-100: #EFEDE6;--ash-50: #F5F3EC;--bg-page: var(--paper);--bg-card: var(--paper-pure);--bg-inverse: var(--ink);--bg-inverse-elevated: var(--ink-elevated);--bg-subtle: var(--ash-50);--fg-1: var(--ink);--fg-2: var(--ash-700);--fg-3: var(--ash-500);--fg-inverse-1: var(--paper);--fg-inverse-2: var(--ash-300);--fg-accent: var(--ember);--fg-link: var(--ember);--border-hair: var(--ash-200);--border-soft: var(--ash-100);--border-strong:var(--ash-300);--border-inverse: rgba(255,255,255,.08);--font-display: "Space Grotesk", "Inter", system-ui, sans-serif;--font-ui: "Inter", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--text-display: 700 88px/.95 var(--font-display);--text-h1: 700 56px/1.05 var(--font-display);--text-h2: 600 40px/1.1 var(--font-display);--text-h3: 600 28px/1.2 var(--font-display);--text-h4: 600 20px/1.3 var(--font-display);--text-lead: 400 20px/1.55 var(--font-ui);--text-body: 400 16px/1.55 var(--font-ui);--text-body-sm: 400 14px/1.5 var(--font-ui);--text-caption: 500 12px/1.4 var(--font-ui);--text-label: 600 12px/1.2 var(--font-ui);--text-mono: 500 13px/1.5 var(--font-mono);--text-mono-sm: 500 11px/1.4 var(--font-mono);--tracking-tight: -.02em;--tracking-normal: 0;--tracking-label: .08em;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--space-9: 96px;--space-10: 128px;--radius-xs: 4px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 24px;--radius-pill: 999px;--shadow-1: 0 1px 2px rgba(11,11,15,.06);--shadow-2: 0 8px 24px rgba(11,11,15,.08);--shadow-3: 0 24px 48px rgba(11,11,15,.12);--shadow-glow: 0 0 0 6px rgba(255,77,46,.18);--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-out: cubic-bezier(.2, 0, 0, 1);--ease-inout: cubic-bezier(.4, 0, .2, 1);--dur-micro: .16s;--dur-base: .28s;--dur-page: .48s;--content-max: 1280px;--reading-max: 680px;--header-h: 72px;--gutter: 24px}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}body{font:var(--text-body);color:var(--fg-1);background:var(--bg-page);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.h-display,h1.display{font:var(--text-display);letter-spacing:var(--tracking-tight);margin:0}h1,.h1{font:var(--text-h1);letter-spacing:var(--tracking-tight);margin:0}h2,.h2{font:var(--text-h2);letter-spacing:var(--tracking-tight);margin:0}h3,.h3{font:var(--text-h3);letter-spacing:var(--tracking-tight);margin:0}h4,.h4{font:var(--text-h4);margin:0}.lead{font:var(--text-lead);color:var(--fg-2)}p{font:var(--text-body);margin:0 0 var(--space-4)}.caption{font:var(--text-caption);color:var(--fg-3)}.label{font:var(--text-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--fg-3)}code,.mono{font:var(--text-mono)}.mono-sm{font:var(--text-mono-sm)}a{color:var(--fg-link);text-decoration:none;transition:opacity var(--dur-micro) var(--ease-out)}a:hover{opacity:.7}:focus-visible{outline:2px solid var(--ember);outline-offset:2px;border-radius:4px}.ember-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--ember);vertical-align:middle}astro-island[ssr]{visibility:hidden}#nav-progress{position:fixed;top:0;left:0;right:0;height:2px;background:var(--ember);transform:scaleX(0);transform-origin:0 50%;opacity:0;z-index:2147483647;pointer-events:none;box-shadow:0 0 8px var(--ember),0 0 4px var(--ember);will-change:transform,opacity}.logo-svg .cls-1{fill:var(--ink)}.logo-svg .cls-2{fill:var(--ember)}.logo-svg.inverse .cls-1{fill:var(--paper)}.logo-svg.inverse .cls-2,.logo-svg.mono-ember .cls-1,.logo-svg.mono-ember .cls-2{fill:var(--ember)}.mark-svg .cls-1{fill:var(--ink)}.mark-svg .cls-2{fill:var(--ember)}.mark-svg.inverse .cls-1{fill:var(--paper)}.mark-svg.inverse .cls-2{fill:var(--ember)}.card-hover{transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out)}.card-hover:hover{transform:translateY(-4px);box-shadow:var(--shadow-3);border-color:var(--border-strong)}.card-hover:active{transform:translateY(-1px);box-shadow:var(--shadow-2)}.btn-ember:hover{background:var(--ember-deep)!important;transform:translateY(-1px);box-shadow:0 4px 14px #ff4d2e59}.btn-ink:hover{background:var(--ash-900)!important;transform:translateY(-1px)}.btn-ghost:hover{background:var(--ash-50)!important;transform:translateY(-1px)}.btn-onink:hover{background:var(--ash-100)!important;transform:translateY(-1px)}.btn-ember:active,.btn-ink:active,.btn-ghost:active,.btn-onink:active{transform:translateY(0) scale(.98)}a.bare{color:inherit}a.bare:hover{opacity:1}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.marquee-track{display:flex;gap:24px;width:max-content;animation:marquee 40s linear infinite}.marquee-track:hover{animation-play-state:paused}@keyframes scrollUp{0%{transform:translateY(0)}to{transform:translateY(-50%)}}@keyframes scrollDown{0%{transform:translateY(-50%)}to{transform:translateY(0)}}.app-scroll-wrap:hover .app-scroll-up,.app-scroll-wrap:hover .app-scroll-down{animation-play-state:paused}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:0}}.caret{display:inline-block;width:.55em;height:1em;background:var(--ember);vertical-align:-.12em;animation:blink 1s steps(1) infinite;margin-left:.05em}@keyframes pulse{0%{box-shadow:0 0 #ff4d2e80}70%{box-shadow:0 0 0 8px #ff4d2e00}to{box-shadow:0 0 #ff4d2e00}}.dot-pulse{animation:pulse 2s infinite}.phone-frame{position:relative;width:280px;aspect-ratio:9 / 19.5;background:#0b0b0f;border-radius:44px;padding:10px;box-shadow:0 30px 60px #00000059,0 0 0 1px #ffffff14 inset}.phone-frame .screen{width:100%;height:100%;border-radius:34px;overflow:hidden;position:relative;background:var(--ash-100)}.phone-frame .notch{position:absolute;top:18px;left:50%;transform:translate(-50%);width:90px;height:26px;background:#000;border-radius:14px;z-index:2}.noise-bg{position:relative}.noise-bg:after{content:"";position:absolute;inset:0;background-image:url(/assets/noise.svg);opacity:.4;pointer-events:none;mix-blend-mode:multiply}.section{padding:96px 32px}.container{max-width:var(--content-max);margin:0 auto}@media(max-width:1023px){.section{padding:72px 24px}}@media(max-width:639px){.section{padding:56px 20px}}.input{width:100%;font:var(--text-body);color:var(--fg-1);background:var(--paper-pure);border:1px solid var(--border-hair);border-radius:var(--radius-sm);padding:12px 14px;transition:all var(--dur-micro) var(--ease-out)}.input:focus{outline:none;border-color:var(--ember);box-shadow:var(--shadow-glow)}textarea.input{resize:vertical;min-height:120px;font-family:var(--font-ui)}.kbd{display:inline-block;font:var(--text-mono-sm);padding:2px 6px;border:1px solid var(--border-hair);border-radius:4px;background:var(--paper-pure);color:var(--fg-2)}header nav a:hover{opacity:1;color:var(--ember)}.nav-link .bk-l,.nav-link .bk-r{display:inline-block;color:var(--ember);opacity:0;transform:translate(0);transition:opacity .24s var(--ease-out),transform .24s var(--ease-out);pointer-events:none;font-family:var(--font-mono)}.nav-link .bk-l{margin-right:0;padding-right:0}.nav-link .bk-r{margin-left:0;padding-left:0}.nav-link.is-active .bk-l{opacity:1;transform:translate(-6px)}.nav-link.is-active .bk-r{opacity:1;transform:translate(6px)}.nav-link.is-active .nav-label{color:var(--ember)}.nav-link-mobile.is-active .bk-l{transform:translate(-10px)}.nav-link-mobile.is-active .bk-r{transform:translate(10px)}footer a{transition:color var(--dur-micro) var(--ease-out)}footer a:hover{opacity:1;color:var(--paper)}html{scroll-behavior:smooth}@keyframes fadeUp{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.96) translateY(12px)}to{opacity:1;transform:none}}.card-hover:hover .phone-peek{transform:translate(-50%) translateY(-6px)!important;box-shadow:0 28px 56px #0006!important}.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}
