@import"https://fonts.googleapis.com/css2?family=Onest:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600&display=swap";:root{--ink-950:#08080A;--ink-900:#101012;--ink-800:#1A1A1D;--ink-700:#2C2C31;--ink-600:#54545C;--ink-500:#76767F;--ink-400:#9B9BA4;--ink-300:#C6C6CD;--ink-200:#E4E4E8;--ink-150:#ECECF0;--ink-100:#F4F4F6;--ink-50:#FAFAFB;--paper:#FFFFFF;--accent-50:#FFF1EE;--accent-100:#FFE0D8;--accent-200:#FFC2B2;--accent-300:#FF9C84;--accent-400:#FB7657;--accent-500:#F0532F;--accent-600:#DB4421;--accent-700:#B5371B;--viz-blue:#3B82F6;--viz-blue-soft:rgba(59,130,246,.12);--viz-green:#30A46C;--viz-green-soft:rgba(48,164,108,.12);--viz-violet:#8B5CF6;--viz-violet-soft:rgba(139,92,246,.12);--viz-amber:#F5A623;--viz-amber-soft:rgba(245,166,35,.14);--viz-coral:#F0532F;--viz-coral-soft:rgba(240,83,47,.11);--green-50:#E7F6EE;--green-500:#30A46C;--green-600:#1F8A57;--amber-50:#FDF3E2;--amber-500:#D98A0B;--red-50:#FDECEC;--red-500:#E5484D;--bg-app:var(--ink-50);--surface-card:var(--paper);--surface-raised:var(--ink-50);--text-strong:var(--ink-900);--text-body:var(--ink-700);--text-muted:var(--ink-500);--text-faint:var(--ink-400);--border-subtle:var(--ink-150);--border-strong:var(--ink-200);--accent:var(--accent-500);--accent-hover:var(--accent-600);--accent-soft:var(--accent-50);--accent-soft-text:var(--accent-700);--btn-primary:var(--ink-900);--btn-primary-hover:var(--ink-800);--font-sans:"Onest",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;--font-mono:"JetBrains Mono",ui-monospace,"SF Mono",Menlo,monospace;--r-xs:6px;--r-sm:8px;--r-md:10px;--r-lg:14px;--r-xl:18px;--r-2xl:24px;--r-pill:999px;--shadow-xs:0 1px 1px rgba(16,16,18,.04);--shadow-sm:0 1px 2px rgba(16,16,18,.05);--shadow-md:0 1px 2px rgba(16,16,18,.04),0 4px 12px rgba(16,16,18,.06);--shadow-lg:0 2px 6px rgba(16,16,18,.05),0 12px 30px rgba(16,16,18,.09);--shadow-xl:0 6px 18px rgba(16,16,18,.08),0 28px 56px rgba(16,16,18,.12);--ring-inset:inset 0 0 0 1px rgba(16,16,18,.06);--glass-bg:rgba(255,255,255,.72);--glass-blur:saturate(160%) blur(18px);--ease-out:cubic-bezier(.22,1,.36,1);--ease-spring:cubic-bezier(.34,1.56,.64,1);--ease-emphasized:cubic-bezier(.2,0,0,1);--ease-spring-soft:cubic-bezier(.3,1.28,.44,1);--dur-fast:.12s;--dur-base:.2s;--dur-slow:.36s;--dur-narrative:.7s;--container:1180px;--container-wide:1320px}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;font-family:var(--font-sans);font-size:15px;line-height:1.5;color:var(--text-body);background:var(--bg-app);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4,h5{margin:0;color:var(--text-strong);font-weight:600;letter-spacing:-.02em;line-height:1.12}p{margin:0}a{color:inherit;text-decoration:none}button{font-family:inherit}::selection{background:var(--ink-200);color:var(--ink-900)}img,svg{display:block;max-width:100%}.wrap{max-width:var(--container);margin:0 auto;padding:0 24px}.num{font-family:var(--font-mono);font-feature-settings:"tnum" 1;letter-spacing:-.01em}.hr{height:1px;background:var(--border-subtle);border:0;margin:0}.mono{font-family:var(--font-mono)}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted)}.pill{display:inline-flex;align-items:center;gap:7px;height:30px;padding:0 13px;border-radius:var(--r-pill);border:1px solid var(--border-subtle);background:var(--paper);box-shadow:var(--shadow-xs);font-size:12.5px;font-weight:500;color:var(--text-body);white-space:nowrap}.pill .dot{width:6px;height:6px;border-radius:50%;background:var(--accent)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:14.5px;font-weight:600;border-radius:var(--r-md);padding:11px 18px;cursor:pointer;border:1px solid transparent;transition:transform var(--dur-base) var(--ease-spring-soft),background var(--dur-base),box-shadow var(--dur-base);white-space:nowrap}.btn:active{transform:translateY(0) scale(.97)}.btn-primary{background:var(--btn-primary);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover{background:var(--btn-primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-accent{background:var(--accent);color:#fff;box-shadow:0 1px 2px #f0532f40,0 8px 20px -8px #f0532f80}.btn-accent:hover{background:var(--accent-hover);transform:translateY(-1px)}.btn-ghost{background:var(--paper);color:var(--text-strong);border-color:var(--border-strong)}.btn-ghost:hover{background:var(--ink-50);border-color:var(--ink-300)}.btn-sm{padding:8px 13px;font-size:13px;border-radius:var(--r-sm)}.card{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--r-lg);box-shadow:var(--shadow-xs)}.frame{background:var(--paper);border:1px solid var(--border-subtle);border-radius:var(--r-xl);box-shadow:var(--shadow-xl);overflow:hidden}.frame-bar{display:flex;align-items:center;gap:10px;padding:11px 14px;border-bottom:1px solid var(--border-subtle);background:var(--ink-50)}.dots{display:flex;gap:6px}.dots i{width:10px;height:10px;border-radius:50%;background:var(--ink-200)}.dotgrid{position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(circle,var(--ink-200) 1px,transparent 1.4px);background-size:24px 24px;-webkit-mask:radial-gradient(120% 80% at 50% 0%,#000 30%,transparent 75%);mask:radial-gradient(120% 80% at 50% 0%,#000 30%,transparent 75%)}.reveal{opacity:1;transform:none}html.anim-ready .reveal{opacity:0;transform:translateY(16px);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out)}html.anim-ready .reveal.in{opacity:1;transform:none}.sheen{position:relative;overflow:hidden;isolation:isolate}.sheen:after{content:"";position:absolute;top:-20%;bottom:-20%;left:0;width:42%;background:linear-gradient(105deg,transparent 26%,rgba(255,255,255,.1) 42%,rgba(255,255,255,.5) 50%,rgba(255,255,255,.1) 58%,transparent 74%);transform:translate(-220%) skew(-12deg);pointer-events:none;z-index:1}.sheen:hover:after{animation:lp-sheen .8s cubic-bezier(.4,0,.1,1)}@keyframes lp-sheen{to{transform:translate(320%) skew(-12deg)}}@keyframes lp-dash{to{stroke-dashoffset:-16}}@keyframes lp-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes lp-spin{to{transform:rotate(360deg)}}@keyframes lp-pop-in{0%{opacity:0;transform:scale(.82)}to{opacity:1;transform:scale(1)}}@keyframes lp-pop-out{to{opacity:0;transform:scale(.82)}}@keyframes lp-collapse{to{opacity:0;transform:scaleY(.6)}}@keyframes lp-draw{0%{stroke-dashoffset:var(--lp-draw-len,300)}to{stroke-dashoffset:0}}@keyframes lp-flow{to{stroke-dashoffset:-24}}@keyframes lp-flash{0%{background-color:var(--accent-50)}to{background-color:transparent}}@keyframes lp-pulse-ring{0%{transform:scale(.6);opacity:.65}80%,to{transform:scale(1.7);opacity:0}}@keyframes lp-shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}@keyframes lp-breathe{0%,to{opacity:.4}50%{opacity:.65}}@keyframes lp-nudge{0%{transform:translateY(-3px);opacity:.45}to{transform:none;opacity:1}}@supports (animation-timing-function:linear(0,1)){:root{--ease-spring-soft:linear(0,.008 1.9%,.034 4%,.147 8.7%,.328 13.9%,.767 25.3%,.898 30%, .985 34.9%,1.033 40.3%,1.048 46.3%,1.04 54.6%,1.005 70.6%,.998 84.6%,1)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-delay:.001ms!important;transition-duration:.001ms!important;transition-delay:.001ms!important;animation-iteration-count:1!important}html{scroll-behavior:auto}html.anim-ready .reveal{opacity:1;transform:none}}.nav{position:sticky;top:0;z-index:50;background:var(--glass-bg);backdrop-filter:var(--glass-blur);border-bottom:1px solid var(--border-subtle)}.nav-inner{max-width:var(--container);margin:0 auto;padding:12px 24px;display:flex;align-items:center;justify-content:space-between;gap:24px}.nav-links{display:flex;align-items:center;gap:26px;font-size:14px;color:var(--text-muted)}.nav-links a:hover{color:var(--text-strong)}.logo{display:flex;align-items:center;gap:10px}.logo-mark{width:28px;height:28px;border-radius:8px;background:var(--ink-900);position:relative;display:flex;align-items:center;justify-content:center}.logo-mark:before{content:"";width:9px;height:9px;border-radius:2px;background:var(--accent)}.logo-mark:after{content:"";position:absolute;top:5px;width:1.5px;height:6px;background:#fff;opacity:.55}.logo-name{font-size:18px;font-weight:700;letter-spacing:-.02em;color:var(--text-strong)}.section{padding:clamp(56px,8vw,104px) 0}.center{text-align:center}.lead{font-size:clamp(1rem,1.3vw,1.15rem);line-height:1.6;color:var(--text-muted)}.h2{font-size:clamp(1.8rem,3.2vw,2.7rem);line-height:1.08;letter-spacing:-.025em}.kicker{margin-bottom:14px}.feat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px}.feat{padding:22px;border-radius:var(--r-lg);background:var(--paper);border:1px solid var(--border-subtle);box-shadow:var(--shadow-xs);transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base)}.feat:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.feat-ic{width:38px;height:38px;border-radius:10px;background:var(--ink-50);border:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:center;font-size:18px;color:var(--ink-700);margin-bottom:14px}.feat h3{font-size:16px;margin:0 0 6px}.feat p{font-size:13.5px;line-height:1.55;color:var(--text-muted)}.step{padding:22px;border-radius:var(--r-lg);background:var(--paper);border:1px solid var(--border-subtle);box-shadow:var(--shadow-xs);transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base)}.step:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.step-head{display:flex;align-items:center;justify-content:space-between;font-family:var(--font-mono);font-size:11px;color:var(--text-faint)}.step-no{color:var(--accent);font-weight:600}.split{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:18px}.panel{border-radius:var(--r-xl);padding:clamp(26px,3vw,38px);border:1px solid var(--border-subtle);background:var(--paper);box-shadow:var(--shadow-sm)}.panel.dark{background:var(--ink-900);border-color:#26262b;color:#e7e7ea}.panel.dark h2,.panel.dark h3{color:#fff}.checkrow{display:flex;gap:12px;align-items:flex-start;font-size:14.5px;color:var(--text-body);padding:7px 0}.panel.dark .checkrow{color:#c9c9cf}.checkrow .ck{flex:none;width:20px;height:20px;border-radius:6px;background:var(--accent-50);color:var(--accent-700);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;margin-top:1px}.panel.dark .checkrow .ck{background:#f0532f29;color:#ff9c84}.tag{font-family:var(--font-mono);font-size:11.5px;color:var(--text-muted);border:1px solid var(--border-subtle);border-radius:var(--r-pill);padding:7px 13px;background:var(--paper)}footer .wrap{display:flex;flex-wrap:wrap;gap:24px;align-items:center;justify-content:space-between;padding-top:36px;padding-bottom:40px}.nav-links a{position:relative;padding-bottom:2px}.nav-links a:after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;border-radius:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform var(--dur-base) var(--ease-emphasized)}.nav-links a:hover:after,.nav-links a:focus-visible:after{transform:scaleX(1)}.pill .dot{position:relative}html.anim-ready .pill .dot:after{content:"";position:absolute;inset:0;border-radius:50%;background:var(--accent);animation:lp-pulse-ring 1.3s var(--ease-out) .7s 2;opacity:0}@keyframes lp-fade{0%{opacity:0}to{opacity:1}}.hero-h1 .hw{display:inline-block;margin-right:.24em}.hero-h1 .hw-tight{margin-right:0}html.anim-ready .hero-h1 .hw{animation:lp-rise .55s var(--ease-out) calc(var(--i)*45ms) both}.uline{position:relative}.uline:after{content:"";position:absolute;left:0;right:.08em;bottom:.02em;height:.075em;border-radius:3px;background:var(--accent);transform:scaleX(0);transform-origin:left}html.anim-ready .hero-h1 .uline:after{animation:hp-uline .5s var(--ease-emphasized) 1s forwards}@keyframes hp-uline{to{transform:scaleX(1)}}html.anim-ready .reveal.in .painlist .checkrow{animation:lp-rise .4s var(--ease-out) calc(var(--i)*70ms) both}@keyframes hp-blink{0%,to{opacity:1}50%{opacity:.2}}html.anim-ready .reveal.in .ref-err{animation:hp-blink .45s var(--ease-out) .9s 2}html.anim-ready .reveal .sticky-note{opacity:0}html.anim-ready .reveal.in .sticky-note{animation:hp-note .55s var(--ease-spring-soft) 1.1s both}@keyframes hp-note{0%{opacity:0;transform:rotate(-7deg) translateY(12px) scale(.9)}to{opacity:1;transform:rotate(-2deg)}}@keyframes hp-draw{55%{fill-opacity:0}to{stroke-dashoffset:0;fill-opacity:1}}@keyframes hp-sweep{0%{transform:scaleX(0)}to{transform:scaleX(1)}}html.anim-ready .step .s-draw{fill-opacity:0;stroke-dasharray:1;stroke-dashoffset:1}html.anim-ready .step.in .s-draw{animation:hp-draw .9s var(--ease-emphasized) .2s forwards}html.anim-ready .step .s-col,html.anim-ready .step .s-dot,html.anim-ready .step .s-badge{opacity:0;transform-box:fill-box;transform-origin:center}html.anim-ready .step.in .s-col{animation:lp-pop-in .35s var(--ease-spring-soft) calc(.15s + var(--i)*80ms) both}html.anim-ready .step.in .s-dot{animation:lp-pop-in .3s var(--ease-spring-soft) 1s both}html.anim-ready .step.in .s-badge{animation:lp-pop-in .35s var(--ease-spring-soft) .95s both}html.anim-ready .step .s-beam,html.anim-ready .step .s-line{transform-box:fill-box;transform-origin:left center;transform:scaleX(0)}html.anim-ready .step.in .s-beam{animation:hp-sweep .45s var(--ease-emphasized) .65s both}html.anim-ready .step.in .s-line{animation:hp-sweep .4s var(--ease-emphasized) calc(.2s + var(--i)*90ms) both}html.anim-ready .step .s-quad{opacity:0}html.anim-ready .step.in .s-quad{animation:lp-fade .5s var(--ease-out) calc(.15s + var(--i)*.11s) both}html.anim-ready .step .s-mid{opacity:0}html.anim-ready .step.in .s-mid{animation:lp-fade .45s var(--ease-out) .6s both}.feat .feat-ic{transition:transform var(--dur-base) var(--ease-spring-soft),background var(--dur-base),color var(--dur-base),border-color var(--dur-base)}.feat:hover .feat-ic{transform:translateY(-3px) scale(1.07);background:var(--accent-50);border-color:var(--accent-200);color:var(--accent-700)}@keyframes lp-march{to{stroke-dashoffset:-18}}html.anim-ready .frame.reveal .m-trib{opacity:0}html.anim-ready .frame.reveal.in .m-trib{animation:lp-fade .55s var(--ease-out) calc(.15s + var(--i)*.12s) both}html.anim-ready .frame.reveal.in .m-sel{animation:lp-fade .55s var(--ease-out) calc(.15s + var(--i)*.12s) both,lp-march 1.2s linear infinite}@keyframes hp-rowflash{0%{background-color:#3b82f64d}}html.anim-ready .frame.reveal.in .m-row{animation:hp-rowflash .9s var(--ease-out) 1.2s both}.t-badge{position:relative}html.anim-ready .reveal.in .t-badge:after{content:"";position:absolute;inset:0;border-radius:12px;border:2px solid var(--green-500);opacity:0;animation:lp-pulse-ring 1.1s var(--ease-out) .45s 2}.cta-flow{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:.3}.cta-flow polyline{fill:none;stroke:var(--accent);stroke-width:2;stroke-dasharray:7 9;stroke-linecap:round}html.anim-ready .cta-flow polyline{animation:lp-flow 2.2s linear infinite}html.anim-ready .reveal .uline-cta:after{content:"";position:absolute;left:0;right:0;bottom:-.06em;height:.075em;border-radius:3px;background:var(--accent);transform:scaleX(0);transform-origin:left}html.anim-ready .reveal.in .uline-cta:after{animation:hp-uline .55s var(--ease-emphasized) .6s forwards}.uline-cta{position:relative}html.anim-ready .feat-grid .reveal:nth-child(2),html.anim-ready .step-grid .reveal:nth-child(2){transition-delay:.05s}html.anim-ready .feat-grid .reveal:nth-child(3),html.anim-ready .step-grid .reveal:nth-child(3){transition-delay:.1s}html.anim-ready .feat-grid .reveal:nth-child(4),html.anim-ready .step-grid .reveal:nth-child(4){transition-delay:.15s}html.anim-ready .feat-grid .reveal:nth-child(5){transition-delay:.2s}html.anim-ready .feat-grid .reveal:nth-child(6){transition-delay:.25s}html.anim-ready .feat-grid .reveal:nth-child(7){transition-delay:.3s}html.anim-ready .feat-grid .reveal:nth-child(n+8){transition-delay:.35s}.hero3d{position:relative;aspect-ratio:560/430;perspective:1100px}.hero3d-world{position:absolute;inset:0;transform-style:preserve-3d;transform:translateY(15%) rotateX(56deg) rotate(-42deg) scale(.8)}.hero3d-layer{position:absolute;inset:0;transform:translateZ(var(--z));animation:h3-drop .75s var(--ease-emphasized) var(--d) both}.hero3d-layer svg{width:100%;height:100%;display:block}@keyframes h3-drop{0%{opacity:0;transform:translateZ(calc(var(--z) + 210px))}to{opacity:1;transform:translateZ(var(--z))}}.hero3d-path{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.hero3d-path path{fill:none;stroke:var(--accent);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.hero3d-path path.flowing{animation:lp-flow 1.4s linear infinite}@media(prefers-reduced-motion:reduce){.hero3d-layer{animation:none;opacity:1}.hero3d-path path.flowing{animation:none}}.story{position:relative;height:420vh;background:var(--paper);border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle)}.story-pin{position:sticky;top:0;height:100vh;height:100dvh;overflow:hidden;display:flex;flex-direction:column;align-items:center}.story-head{text-align:center;padding:clamp(28px,4vh,48px) 24px 0;z-index:2}.story-h2{font-size:clamp(1.6rem,3vw,2.4rem);letter-spacing:-.02em;margin:14px 0 0}.story-canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.story-caps{position:absolute;left:50%;transform:translate(-50%);bottom:clamp(56px,9vh,96px);z-index:2;width:min(640px,calc(100% - 48px));height:3.2em;pointer-events:none}.story-cap{position:absolute;inset:0;margin:0;text-align:center;font-size:clamp(.95rem,1.4vw,1.15rem);color:var(--text-muted);opacity:0;transform:translateY(8px);transition:opacity .35s var(--ease-out),transform .35s var(--ease-out)}.story-cap.on{opacity:1;transform:none}.story-counter{position:absolute;right:clamp(16px,4vw,48px);bottom:clamp(56px,9vh,96px);z-index:2;font-size:13px;font-weight:600;color:var(--accent-700);background:var(--accent-soft);border:1px solid var(--accent-200);border-radius:8px;padding:6px 12px;min-height:1em}.story-counter:empty{display:none}.story-hint{position:absolute;bottom:18px;left:50%;transform:translate(-50%);font-size:11px;color:var(--text-faint);z-index:2}.story-static{height:auto}.story-static .story-pin{position:static;height:auto;overflow:visible;padding-bottom:clamp(28px,4vh,48px)}.story-static .story-canvas,.story-static .story-hint,.story-static .story-counter{display:none}.story-static .story-caps{position:static;transform:none;height:auto;width:min(640px,calc(100% - 48px));margin:24px auto 0;pointer-events:auto}.story-static .story-cap{position:static;opacity:1;transform:none;padding:10px 0;border-bottom:1px dashed var(--border-subtle);counter-increment:storycap}.story-static .story-cap:before{content:counter(storycap) " · ";color:var(--accent-700);font-family:var(--font-mono);font-size:.85em}.story-static .story-caps{counter-reset:storycap}@media(prefers-reduced-motion:reduce){.story{height:auto}.story .story-pin{position:static;height:auto}}.nav-progress{position:absolute;left:0;bottom:-1px;height:2px;width:100%;background:linear-gradient(90deg,var(--accent),var(--viz-amber));transform-origin:left;transform:scaleX(0);pointer-events:none}@supports (animation-timeline: scroll(root)){.nav-progress{animation:m3-progress linear both;animation-timeline:scroll(root)}@keyframes m3-progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}}html.anim-ready .hero-h1 .hw{animation:m3-word .7s var(--ease-emphasized) calc(var(--i)*70ms) both;will-change:transform,filter}@keyframes m3-word{0%{opacity:0;transform:translateY(.55em) rotate(1.2deg) scale(.98);filter:blur(10px)}60%{filter:blur(0)}to{opacity:1;transform:none;filter:blur(0)}}html.anim-ready .uline:after{animation:m3-uline .8s var(--ease-spring-soft) 1.05s both}@keyframes m3-uline{0%{transform:scaleX(0)}72%{transform:scaleX(1.06)}to{transform:scaleX(1)}}html.anim-ready .hero-h1{position:relative}html.anim-ready .hero-h1:after{content:"";position:absolute;inset:-4px -10%;pointer-events:none;background:linear-gradient(115deg,transparent 42%,rgba(255,255,255,.75) 50%,transparent 58%);mix-blend-mode:overlay;transform:translate(-120%);animation:m3-shimmer 1.1s var(--ease-out) 1.5s 1 both}@keyframes m3-shimmer{to{transform:translate(120%)}}@keyframes m3-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}html.anim-ready header .frame{animation:m3-float 8.5s var(--ease-out) 2.6s infinite;will-change:transform}@keyframes m3-grid-drift{0%{background-position:0 0}to{background-position:26px 26px}}html.anim-ready .dotgrid{animation:m3-grid-drift 42s linear infinite}@supports (animation-timeline: view()){html.anim-ready .section .h2{animation:m3-wipe linear both;animation-timeline:view();animation-range:entry 8% entry 48%}@keyframes m3-wipe{0%{opacity:0;clip-path:inset(0 92% 0 0);filter:blur(3px)}to{opacity:1;clip-path:inset(0 -2% 0 0);filter:blur(0)}}html.anim-ready .action-row .frame{animation:m3-tilt linear both;animation-timeline:view();animation-range:entry 0% entry 60%;transform-origin:center 80%}@keyframes m3-tilt{0%{opacity:.25;transform:perspective(1100px) rotateX(7deg) translateY(34px) scale(.965)}to{opacity:1;transform:none}}html.anim-ready #proof .card{animation:m3-proof linear both;animation-timeline:view();animation-range:entry 0% entry 70%}@keyframes m3-proof{0%{opacity:0;transform:translateY(18px);box-shadow:0 0 #f0532f00}60%{box-shadow:0 10px 34px -12px #f0532f40}to{opacity:1;transform:none;box-shadow:var(--shadow-sm)}}}.step-grid{position:relative}html.anim-ready .step-grid:before{content:"";position:absolute;top:-18px;left:2%;right:2%;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--accent),var(--viz-amber) 60%,var(--viz-green));transform:scaleX(0);transform-origin:left}html.anim-ready .step-grid:has(.reveal.in):before{animation:m3-connect 1.2s var(--ease-emphasized) .35s both}@keyframes m3-connect{to{transform:scaleX(1)}}html.anim-ready .step-grid:has(.reveal.in) .step-no{animation:m3-no-pop .45s var(--ease-spring-soft) both}html.anim-ready .step-grid .step:nth-child(1) .step-no{animation-delay:.4s}html.anim-ready .step-grid .step:nth-child(2) .step-no{animation-delay:.66s}html.anim-ready .step-grid .step:nth-child(3) .step-no{animation-delay:.92s}html.anim-ready .step-grid .step:nth-child(4) .step-no{animation-delay:1.18s}@keyframes m3-no-pop{0%{transform:scale(1)}45%{transform:scale(1.45);color:var(--accent)}to{transform:scale(1)}}html.anim-ready .feat-grid .reveal.in .feat-ic{animation:m3-ic .55s var(--ease-spring-soft) .25s both}@keyframes m3-ic{0%{transform:translateY(8px) scale(.6);opacity:0}70%{transform:translateY(-2px) scale(1.08)}to{transform:none;opacity:1}}.btn{transition:transform var(--dur-base) var(--ease-spring-soft),box-shadow var(--dur-base) var(--ease-out),background var(--dur-fast),border-color var(--dur-fast)}.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(0) scale(.96);transition-duration:80ms}.btn-accent:hover{box-shadow:0 10px 26px -10px #f0532f8c}.action-row .frame{position:relative;overflow:hidden;transition:transform var(--dur-base) var(--ease-spring-soft),box-shadow var(--dur-base)}.action-row .frame:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.action-row .frame:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;background:linear-gradient(115deg,transparent 40%,rgba(255,255,255,.14) 50%,transparent 60%);transform:translate(-130%);transition:opacity var(--dur-fast)}.action-row .frame:hover:after{opacity:1;animation:m3-shimmer 1s var(--ease-out) both}@supports (interpolate-size: allow-keywords){#faq{interpolate-size:allow-keywords}.faq-item::details-content{block-size:0;overflow:hidden;transition:block-size .38s var(--ease-emphasized),content-visibility .38s allow-discrete}.faq-item[open]::details-content{block-size:auto}}.faq-item summary{transition:color var(--dur-fast)}.faq-item summary:hover{color:var(--accent-700)}#pack input[type=email]{transition:border-color var(--dur-fast),box-shadow var(--dur-base) var(--ease-out)}#pack input[type=email]:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-50);outline:none}#pack .btn .mono{display:inline-block;transition:transform var(--dur-base) var(--ease-spring-soft)}#pack .btn:hover .mono{transform:translateY(3px)}@media(prefers-reduced-motion:reduce){.nav-progress,html.anim-ready .hero-h1 .hw,html.anim-ready .uline:after,html.anim-ready .hero-h1:after,html.anim-ready header .frame,html.anim-ready .dotgrid,html.anim-ready .section .h2,html.anim-ready .action-row .frame,html.anim-ready #proof .card,html.anim-ready .step-grid:before,html.anim-ready .step-grid:has(.reveal.in):before,html.anim-ready .step-grid .step-no,html.anim-ready .feat-grid .reveal.in .feat-ic{animation:none!important}html.anim-ready .uline:after,html.anim-ready .step-grid:before{transform:scaleX(1)}.btn,.action-row .frame{transition:none}.action-row .frame:hover:after{animation:none;opacity:0}}
