*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none}ul[class],ol[class]{list-style:none}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;min-height:100dvh;line-height:1.5}img,picture,video,canvas,svg{max-width:100%;display:block}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}h1,h2,h3,h4,h5,h6{font-weight:inherit;font-size:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer;color:inherit;background:0 0;border:none}fieldset{border:none}table{border-collapse:collapse}a,button,[role=button]{-webkit-tap-highlight-color:transparent}#root{isolation:isolate}:root,[data-concept=b]{--color-bg:#f8f4ed;--color-surface:#fff;--color-surface-raised:#fdf9f4;--color-hero-dark:#1c1208;--color-text-primary:#1a1208;--color-text-secondary:#5c4a32;--color-text-muted:#9c8a72;--color-accent:#8b5e2a;--color-accent-dim:#8b5e2a1a;--color-accent-warm:#e8c98a;--color-rule:#e0d8cc;--color-danger:#c0392b;--noise-opacity:.04;--gradient-hero:linear-gradient(135deg, #2c1f14 0%, #4a3520 50%, #1c1208 100%);--font-display:"freight-display-pro", Georgia, "Times New Roman", serif;--font-body:"freight-display-pro", Georgia, serif;--font-mono:"dm-mono", "Courier New", monospace;--display-letter-spacing:-.01em;--display-font-weight:400;--display-text-transform:none;--body-font-weight:300}:root{--t-display:clamp(3rem, 7vw, 7rem);--t-h1:clamp(2.25rem, 4.5vw, 4rem);--t-h2:clamp(1.75rem, 3vw, 2.75rem);--t-h3:clamp(1.25rem, 2vw, 1.75rem);--t-h4:1.1rem;--t-body-lg:1.125rem;--t-body:1rem;--t-body-sm:.875rem;--t-caption:.75rem;--t-mono:.75rem;--t-kicker:.68rem;--lh-display:.88;--lh-heading:1.1;--lh-body:1.7;--lh-body-lg:1.75;--lh-caption:1.5;--ls-kicker:.14em;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-8:48px;--space-10:64px;--space-12:80px;--space-16:128px;--max-width:1320px;--border-radius-sm:2px;--border-radius-md:4px;--border-radius-lg:8px;--border-width:1px;--shadow-card:0 2px 8px #0006;--shadow-card-hover:0 8px 32px #0009;--dur-instant:0s;--dur-fast:.15s;--dur-base:.3s;--dur-slow:.6s;--dur-cinematic:1.2s;--dur-drift:3s;--ease-reveal:cubic-bezier(.04, 0, .18, 1);--ease-exit:cubic-bezier(.8, 0, .96, 1);--ease-hover:cubic-bezier(.16, 1, .3, 1);--z-base:1;--z-overlay:10;--z-cursor:50;--z-modal:100;--z-nav:200;--z-loader:999}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-size:100%}body{background-color:var(--color-bg);color:var(--color-text-primary);font-family:var(--font-body);font-size:var(--t-body);font-weight:var(--body-font-weight,400);line-height:var(--lh-body);letter-spacing:.01em;transition:background-color var(--dur-base) var(--ease-reveal), color var(--dur-base) var(--ease-reveal)}[data-concept=b]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.t-display{font-family:var(--font-display);font-size:var(--t-display);font-weight:var(--display-font-weight,700);line-height:var(--lh-display);letter-spacing:var(--display-letter-spacing,-.02em);text-transform:var(--display-text-transform,uppercase)}.t-h1{font-family:var(--font-display);font-size:var(--t-h1);font-weight:var(--display-font-weight,700);letter-spacing:-.01em;line-height:1}.t-h2{font-family:var(--font-display);font-size:var(--t-h2);font-weight:500;line-height:var(--lh-heading);letter-spacing:-.005em}.t-h3{font-size:var(--t-h3);font-weight:500;line-height:1.25}.t-h4{font-size:var(--t-h4);font-weight:500;line-height:1.35}.t-body-lg{font-size:var(--t-body-lg);font-weight:300;line-height:var(--lh-body-lg);letter-spacing:.01em}.t-body{font-size:var(--t-body);line-height:var(--lh-body);letter-spacing:.01em}.t-body-sm{font-size:var(--t-body-sm);letter-spacing:.01em;line-height:1.6}.t-caption{font-size:var(--t-caption);line-height:var(--lh-caption);letter-spacing:.02em}.t-mono{font-family:var(--font-mono);font-size:var(--t-mono);line-height:var(--lh-caption);letter-spacing:.08em}.t-kicker{font-size:var(--t-kicker);letter-spacing:var(--ls-kicker);text-transform:uppercase;font-weight:500;line-height:1.4}:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px;border-radius:var(--border-radius-sm)}:focus:not(:focus-visible){outline:none}::selection{background-color:var(--color-accent);color:var(--color-bg)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--color-surface)}::-webkit-scrollbar-thumb{background:var(--color-rule);border-radius:var(--border-radius-md)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}hr{border:none;border-top:var(--border-width) solid var(--color-rule);margin-block:var(--space-6)}.container{width:100%;max-width:var(--max-width);padding-inline:var(--space-6);margin-inline:auto}@media (width<=768px){.container{padding-inline:var(--space-4)}}.skip-link{top:var(--space-2);left:var(--space-2);z-index:var(--z-nav);padding:var(--space-2) var(--space-4);background:var(--color-accent);color:var(--color-bg);font-size:var(--t-body-sm);border-radius:var(--border-radius-md);transition:transform var(--dur-fast) var(--ease-hover);font-weight:500;position:absolute;transform:translateY(-200%)}.skip-link:focus-visible{outline-offset:0;transform:translateY(0)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@keyframes grainShift{0%{transform:translate(0)}25%{transform:translate(-3%,2%)}50%{transform:translate(2%,-3%)}75%{transform:translate(-2%,-2%)}to{transform:translate(3%,1%)}}.hero-grain:after{content:"";opacity:var(--noise-opacity,.04);mix-blend-mode:overlay;pointer-events:none;border-radius:inherit;z-index:1;background-image:url(/textures/noise.svg);background-repeat:repeat;background-size:200px 200px;animation:.15s step-end infinite grainShift;position:absolute;inset:-50%}@media (width<=768px){.hero-grain:after{display:none}}@media (prefers-reduced-motion:reduce){.hero-grain:after{animation:none}}._ring_gli9x_7{display:none}@media (pointer:fine) and (width>=1024px){._ring_gli9x_7{border:1px solid var(--accent);pointer-events:none;width:16px;height:16px;z-index:var(--z-cursor,50);will-change:transform;transform-origin:50%;background:0 0;border-radius:50%;margin-top:-8px;margin-left:-8px;display:block;position:fixed;top:0;left:0}._ring_gli9x_7[data-variant=hover-link]{border-width:1.5px}._ring_gli9x_7[data-variant=hover-cta]{background:var(--accent);mix-blend-mode:difference}._ring_gli9x_7[data-variant=drag]{border-style:dashed;border-width:1.5px}._ring_gli9x_7[data-variant=video-play]{border-width:1.5px}._ring_gli9x_7[data-variant=video-play]:after{content:"";background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23ffffff'%3E%3Cpolygon points='5,3 19,12 5,21'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:40%;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}._ring_gli9x_7[data-variant=loading]{border-color:#0000;border-top-color:var(--accent);animation:.8s linear infinite _spin_gli9x_1}@keyframes _spin_gli9x_1{to{rotate:360deg}}}._overlay_1c1bs_6{z-index:var(--z-loader);background-color:var(--color-bg);justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}._conceptB_1c1bs_21{align-items:center;gap:var(--space-3);color:var(--color-text-primary);flex-direction:column;display:flex}._buildingWord_1c1bs_29{font-family:var(--font-display);font-size:clamp(1.6rem,5vw,3.5rem);font-weight:var(--display-font-weight);letter-spacing:.18em;color:var(--color-text-primary);align-items:baseline;gap:0;line-height:1;display:flex}._buildingLetter_1c1bs_41{clip-path:inset(0 100% 0 0);display:inline-block}._buildingSpace_1c1bs_46{min-width:.45em;display:inline-block}._underlineSvg_1c1bs_51{width:clamp(240px,55vw,480px);height:4px;color:var(--color-accent);display:block}._buildingSubtext_1c1bs_58{font-family:var(--font-body);font-size:var(--t-body-sm);letter-spacing:.2em;text-transform:uppercase;color:var(--color-text-secondary);margin:0;margin-top:var(--space-3)}.counter{color:var(--accent);background:var(--accent-bg);border:2px solid #0000;border-radius:5px;margin-bottom:24px;padding:5px 10px;font-size:16px;transition:border-color .3s}.counter:hover{border-color:var(--accent-border)}.counter:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hero{position:relative}.hero .base,.hero .framework,.hero .vite{margin:0 auto;inset-inline:0}.hero .base{z-index:0;width:170px;position:relative}.hero .framework,.hero .vite{position:absolute}.hero .framework{z-index:1;height:28px;top:34px;transform:perspective(2000px)rotate(300deg)rotateX(44deg)rotateY(39deg)scale(1.4)}.hero .vite{z-index:0;width:auto;height:26px;top:107px;transform:perspective(2000px)rotate(300deg)rotateX(40deg)rotateY(39deg)scale(.8)}#center{flex-direction:column;flex-grow:1;place-content:center;place-items:center;gap:25px;display:flex}@media (width<=1024px){#center{gap:18px;padding:32px 20px 24px}}#next-steps{border-top:1px solid var(--border);text-align:left;display:flex}#next-steps>div{flex:1 1 0;padding:32px}@media (width<=1024px){#next-steps>div{padding:24px 20px}}#next-steps .icon{width:22px;height:22px;margin-bottom:16px}@media (width<=1024px){#next-steps{text-align:center;flex-direction:column}}#docs{border-right:1px solid var(--border)}@media (width<=1024px){#docs{border-right:none;border-bottom:1px solid var(--border)}}#next-steps ul{gap:8px;margin:32px 0 0;padding:0;list-style:none;display:flex}#next-steps ul .logo{height:18px}#next-steps ul a{color:var(--text-h);background:var(--social-bg);border-radius:6px;align-items:center;gap:8px;padding:6px 12px;font-size:16px;text-decoration:none;transition:box-shadow .3s;display:flex}#next-steps ul a:hover{box-shadow:var(--shadow)}#next-steps ul a .button-icon{width:18px;height:18px}@media (width<=1024px){#next-steps ul{flex-wrap:wrap;justify-content:center;margin-top:20px}#next-steps ul li{flex:calc(50% - 8px)}#next-steps ul a{box-sizing:border-box;justify-content:center;width:100%}}#spacer{border-top:1px solid var(--border);height:88px}@media (width<=1024px){#spacer{height:48px}}.ticks{width:100%;position:relative}.ticks:before,.ticks:after{content:"";border:5px solid #0000;position:absolute;top:-4.5px}.ticks:before{border-left-color:var(--border);left:0}.ticks:after{border-right-color:var(--border);right:0}
