.container{width:100%;max-width:var(--container-width);margin-left:auto;margin-right:auto;padding-left:var(--container-padding);padding-right:var(--container-padding)}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0}.section{padding-top:var(--spacing-3xl);padding-bottom:var(--spacing-3xl)}.section--alt{background-color:var(--color-bg-alt)}body{padding-top:var(--header-height)}@media (width <= 768px){main .cases,main .contact,main .pains,main .pricing,main .projects,main .promo,main .stack{padding-top:var(--spacing-xl);padding-bottom:var(--spacing-xl)}}*,:after,:before{-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) - var(--spacing-lg))}body{min-height:100vh;font-family:var(--font-base);font-size:var(--font-size-base);line-height:var(--line-height-base);color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}canvas,img,picture,svg,video{display:block;max-width:100%}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;border:none;background:none}a{color:inherit;text-decoration:none}ol,ul{list-style:none}table{border-collapse:collapse;border-spacing:0}h1,h2,h3,h4,h5,h6{overflow-wrap:break-word;font-family:var(--font-heading)}[data-theme=dark]{--color-bg:var(--gray-900);--color-bg-alt:var(--gray-800);--color-bg-elevated:var(--gray-700);--color-text:var(--gray-100);--color-text-muted:var(--gray-400);--color-text-invert:var(--gray-900);--color-primary:var(--blue-500);--color-primary-hover:var(--blue-300);--color-primary-bg:var(--blue-700);--color-border:var(--gray-700);--color-border-strong:var(--gray-600);--shadow-sm:0 1px 2px rgba(0,0,0,.3);--shadow-md:0 4px 6px rgba(0,0,0,.4);--shadow-lg:0 10px 15px rgba(0,0,0,.5)}h1{font-size:var(--font-size-4xl)}h1,h2{line-height:var(--line-height-tight);font-weight:700}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h3,h4{line-height:var(--line-height-tight);font-weight:600}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h5,h6{line-height:var(--line-height-tight);font-weight:600}h6{font-size:var(--font-size-base)}p{margin-bottom:var(--spacing-md)}p:last-child{margin-bottom:0}small{font-size:var(--font-size-sm)}b,strong{font-weight:700}a{color:var(--color-primary);-webkit-transition:color var(--transition-fast);transition:color var(--transition-fast)}a:hover{color:var(--color-primary-hover)}code{font-family:var(--font-mono);font-size:var(--font-size-sm);background-color:var(--color-bg-elevated);padding:.125em .375em;border-radius:var(--radius-sm)}:root{--font-base:"Plus Jakarta Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-heading:"Plus Jakarta Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-mono:"JetBrains Mono",monospace;--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:2rem;--font-size-4xl:2.5rem;--line-height-tight:1.2;--line-height-base:1.6;--color-bg:#0a0a0a;--color-bg-alt:#121212;--color-bg-elevated:#1c1c1c;--color-text:#f5f5f5;--color-text-invert:#0a0a0a;--color-text-muted:#888;--color-text-light:#bbb;--color-primary:#dc2626;--color-primary-hover:#b91c1c;--color-primary-bg:#1a0d0d;--color-success:#10b981;--color-danger:#ef4444;--color-warning:#f59e0b;--color-border:#2e2e2e;--color-border-strong:#404040;--spacing-xs:0.5rem;--spacing-sm:1rem;--spacing-md:1.5rem;--spacing-lg:2rem;--spacing-xl:3rem;--spacing-2xl:4rem;--spacing-3xl:6rem;--radius-sm:2px;--radius-md:4px;--radius-lg:8px;--radius-full:9999px;--shadow-sm:0 1px 2px rgba(0,0,0,.3);--shadow-md:0 4px 6px rgba(0,0,0,.4);--shadow-lg:0 10px 15px rgba(0,0,0,.5);--container-width:1200px;--container-padding:var(--spacing-md);--header-height:70px;--z-base:1;--z-dropdown:100;--z-nav:200;--z-modal:1000;--z-toast:1100;--transition-fast:150ms ease;--transition-base:250ms ease;--transition-slow:400ms ease}.button{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-base);font-weight:600;text-transform:uppercase;letter-spacing:.05em;text-decoration:none;color:var(--color-text);text-shadow:0 1px 2px rgba(0,0,0,.35),0 -1px 1px hsla(0,0%,100%,.2);background-color:var(--color-primary);background-image:linear-gradient(180deg,hsla(0,0%,100%,.2) 0,hsla(0,0%,100%,.04) 40%,hsla(0,0%,100%,0) 58%),linear-gradient(180deg,color-mix(in srgb,var(--color-primary),#fff 14%) 0,var(--color-primary) 50%,color-mix(in srgb,var(--color-primary),#000 16%) 100%);border:1px solid color-mix(in srgb,var(--color-primary),#000 32%);border-radius:var(--radius-lg);-webkit-box-shadow:inset 0 1px 0 hsla(0,0%,100%,.4),inset 0 -1px 1px rgba(0,0,0,.2),0 1px 2px rgba(0,0,0,.2);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.4),inset 0 -1px 1px rgba(0,0,0,.2),0 1px 2px rgba(0,0,0,.2);-webkit-transition:color .4s ease,text-shadow .4s ease,-webkit-box-shadow .4s ease;transition:color .4s ease,text-shadow .4s ease,-webkit-box-shadow .4s ease;transition:color .4s ease,box-shadow .4s ease,text-shadow .4s ease;transition:color .4s ease,box-shadow .4s ease,text-shadow .4s ease,-webkit-box-shadow .4s ease;position:relative;overflow:hidden;isolation:isolate;cursor:pointer}.button:before{content:"";position:absolute;inset:0;border-radius:inherit;background:-webkit-gradient(linear,left top,left bottom,from(hsla(0,0%,100%,.16)),color-stop(45%,hsla(0,0%,100%,0))),-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,.04)),to(rgba(0,0,0,.13)));background:linear-gradient(180deg,hsla(0,0%,100%,.16),hsla(0,0%,100%,0) 45%),linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.13));opacity:0;z-index:-1;pointer-events:none;-webkit-transition:opacity .4s ease;transition:opacity .4s ease}.button:hover:before{opacity:1}.button:hover{color:#fff5e6;text-shadow:0 1px 2px rgba(0,0,0,.42),0 -1px 1px hsla(0,0%,100%,.35);-webkit-box-shadow:inset 0 1px 0 hsla(0,0%,100%,.5),inset 0 -1px 1px rgba(0,0,0,.24),0 2px 4px rgba(0,0,0,.24);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.5),inset 0 -1px 1px rgba(0,0,0,.24),0 2px 4px rgba(0,0,0,.24)}.button:after{content:"";position:absolute;top:0;left:6%;width:12%;height:2px;background:-webkit-gradient(linear,left top,right top,from(transparent),color-stop(hsla(0,0%,100%,.95)),color-stop(rgba(255,215,130,.8)),to(transparent));background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.95),rgba(255,215,130,.8),transparent);opacity:0;pointer-events:none}.button:hover:after{-webkit-animation:button-top-run .7s ease-out forwards;animation:button-top-run .7s ease-out forwards}@-webkit-keyframes button-top-run{0%{left:6%;width:12%;opacity:0}15%{opacity:1}70%{left:55%;width:40%;opacity:1}to{left:92%;width:40%;opacity:0}}@keyframes button-top-run{0%{left:6%;width:12%;opacity:0}15%{opacity:1}70%{left:55%;width:40%;opacity:1}to{left:92%;width:40%;opacity:0}}@media (prefers-reduced-motion:reduce){.button:after{display:none}}.cases{padding-top:var(--spacing-3xl);padding-bottom:var(--spacing-3xl);background-color:var(--color-bg);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.cases__head{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end;gap:var(--spacing-lg);margin-bottom:var(--spacing-2xl)}.cases__intro{max-width:36rem}.cases__title{margin:0 0 var(--spacing-sm);font-size:var(--font-size-3xl);font-weight:700;line-height:var(--line-height-tight);letter-spacing:-.01em;color:var(--color-text)}.cases__subtitle{font-size:var(--font-size-lg);line-height:var(--line-height-base)}.cases__subtitle,.cases__tagline{margin:0;color:var(--color-text-muted)}.cases__tagline{-ms-flex-negative:0;flex-shrink:0;font-family:var(--font-mono);font-size:var(--font-size-sm)}.cases__grid{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:auto auto 1fr auto;gap:var(--spacing-sm) var(--spacing-lg)}.cases__card{display:grid;grid-template-rows:subgrid;grid-row:span 4;padding:var(--spacing-lg);background-color:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);-webkit-transition:border-color var(--transition-slow),-webkit-box-shadow var(--transition-slow);transition:border-color var(--transition-slow),-webkit-box-shadow var(--transition-slow);transition:border-color var(--transition-slow),box-shadow var(--transition-slow);transition:border-color var(--transition-slow),box-shadow var(--transition-slow),-webkit-box-shadow var(--transition-slow)}.cases__card:hover{border-color:color-mix(in srgb,var(--color-border),#fff 40%);-webkit-box-shadow:0 12px 30px -12px rgba(0,0,0,.6);box-shadow:0 12px 30px -12px rgba(0,0,0,.6)}.cases__category{font-family:var(--font-mono);font-size:var(--font-size-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-danger)}.cases__name{font-size:var(--font-size-xl);font-weight:700;line-height:var(--line-height-tight);color:var(--color-text)}.cases__desc{font-size:var(--font-size-sm);color:var(--color-text-muted)}.cases__desc,.cases__result{line-height:var(--line-height-base)}.cases__result{padding:var(--spacing-md);font-size:var(--font-size-xs);color:var(--color-text);background-color:color-mix(in srgb,var(--color-success) 8%,transparent);border:1px solid color-mix(in srgb,var(--color-success) 22%,transparent);border-radius:var(--radius-md)}.cases__result-label{margin-right:var(--spacing-xs);font-weight:700;color:var(--color-success)}@media (width <= 768px){.cases__head{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.cases__grid{grid-template-columns:1fr}.cases__title{font-size:var(--font-size-2xl)}}.contact{--contact-text:#9f9fa9;padding-top:var(--spacing-2xl);padding-bottom:var(--spacing-2xl);background-color:var(--color-bg-alt);text-align:center}.contact__lead{max-width:768px;margin:0 auto var(--spacing-2xl)}.contact__title{margin:0 0 var(--spacing-md);font-size:var(--font-size-3xl);font-weight:700;line-height:var(--line-height-tight);letter-spacing:-.01em;color:var(--color-text)}.contact__text{margin:0;font-size:var(--font-size-xl);line-height:var(--line-height-base);color:var(--contact-text)}.contact__actions{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.contact__action,.contact__actions{-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;gap:var(--spacing-sm)}.contact__action{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-base);line-height:1;font-weight:600;text-transform:uppercase;letter-spacing:.05em;text-decoration:none;border-radius:var(--radius-lg);-webkit-transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast);transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast)}.contact__action svg{-ms-flex-negative:0;flex-shrink:0}.contact__action--ghost{color:var(--color-text);background-color:var(--color-bg);border:1px solid var(--color-border-strong);text-transform:none}.contact__action--ghost svg{-webkit-transform:translateY(.1em);transform:translateY(.1em)}.contact__action--ghost:hover{color:var(--color-primary);border-color:var(--color-primary)}@media (width <= 768px){.contact__title{font-size:var(--font-size-2xl)}.contact__text{font-size:var(--font-size-lg)}}@media (width <= 640px){.contact__actions{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.contact__action{width:100%}}.fab{position:fixed;right:var(--spacing-md);bottom:calc(var(--spacing-md) + env(safe-area-inset-bottom, 0px));z-index:var(--z-nav);display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:var(--spacing-2xl);height:var(--spacing-2xl);padding:0;border:1px solid color-mix(in srgb,var(--color-primary),#000 35%);border-radius:var(--radius-full);color:var(--color-text);background-color:var(--color-primary);background-image:linear-gradient(180deg,hsla(0,0%,100%,.2) 0,hsla(0,0%,100%,0) 45%),linear-gradient(180deg,color-mix(in srgb,var(--color-primary),#fff 14%) 0,var(--color-primary) 55%,color-mix(in srgb,var(--color-primary),#000 18%) 100%);-webkit-box-shadow:inset 0 1px 0 hsla(0,0%,100%,.35),0 0 22px color-mix(in srgb,var(--color-primary) 55%,transparent),0 8px 20px rgba(0,0,0,.45);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.35),0 0 22px color-mix(in srgb,var(--color-primary) 55%,transparent),0 8px 20px rgba(0,0,0,.45);cursor:pointer;-webkit-transition:opacity var(--transition-base),visibility var(--transition-base),-webkit-transform var(--transition-fast),-webkit-box-shadow var(--transition-base);transition:opacity var(--transition-base),visibility var(--transition-base),-webkit-transform var(--transition-fast),-webkit-box-shadow var(--transition-base);transition:transform var(--transition-fast),box-shadow var(--transition-base),opacity var(--transition-base),visibility var(--transition-base);transition:transform var(--transition-fast),box-shadow var(--transition-base),opacity var(--transition-base),visibility var(--transition-base),-webkit-transform var(--transition-fast),-webkit-box-shadow var(--transition-base);-webkit-animation:fab-in .6s cubic-bezier(.34,1.56,.64,1) .4s backwards;animation:fab-in .6s cubic-bezier(.34,1.56,.64,1) .4s backwards}.fab:hover{-webkit-transform:scale(1.08);transform:scale(1.08);-webkit-box-shadow:inset 0 1px 0 hsla(0,0%,100%,.45),0 0 30px color-mix(in srgb,var(--color-primary) 70%,transparent),0 10px 24px rgba(0,0,0,.55);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.45),0 0 30px color-mix(in srgb,var(--color-primary) 70%,transparent),0 10px 24px rgba(0,0,0,.55)}.fab:active{-webkit-transform:scale(.95);transform:scale(.95)}.fab:focus-visible{outline:2px solid var(--color-text);outline-offset:3px}.fab__icon{position:relative;z-index:var(--z-base)}.fab__ring{position:absolute;inset:-1px;border:2px solid var(--color-primary);border-radius:var(--radius-full);opacity:0;pointer-events:none;-webkit-animation:fab-ping 2.4s ease-out 1.2s infinite;animation:fab-ping 2.4s ease-out 1.2s infinite}body:has([data-modal][data-open]) .fab,body:has([data-nav-open]) .fab{opacity:0;visibility:hidden;pointer-events:none}@-webkit-keyframes fab-in{0%{opacity:0;-webkit-transform:scale(0) rotate(-90deg);transform:scale(0) rotate(-90deg)}60%{opacity:1;-webkit-transform:scale(1.12) rotate(8deg);transform:scale(1.12) rotate(8deg)}to{opacity:1;-webkit-transform:scale(1) rotate(0deg);transform:scale(1) rotate(0deg)}}@keyframes fab-in{0%{opacity:0;-webkit-transform:scale(0) rotate(-90deg);transform:scale(0) rotate(-90deg)}60%{opacity:1;-webkit-transform:scale(1.12) rotate(8deg);transform:scale(1.12) rotate(8deg)}to{opacity:1;-webkit-transform:scale(1) rotate(0deg);transform:scale(1) rotate(0deg)}}@-webkit-keyframes fab-ping{0%{-webkit-transform:scale(1);transform:scale(1);opacity:.55}70%,to{-webkit-transform:scale(1.7);transform:scale(1.7);opacity:0}}@keyframes fab-ping{0%{-webkit-transform:scale(1);transform:scale(1);opacity:.55}70%,to{-webkit-transform:scale(1.7);transform:scale(1.7);opacity:0}}@media (prefers-reduced-motion:reduce){.fab{-webkit-animation:none;animation:none}.fab__ring{display:none}}.footer{--footer-muted:#9f9fa9;padding-top:var(--spacing-xl);padding-bottom:var(--spacing-xl);background-color:var(--color-bg);border-top:1px solid var(--color-border)}.footer__inner{text-align:center}.footer__copy{margin:0;font-family:var(--font-mono);font-size:var(--font-size-xs);letter-spacing:.02em;color:var(--footer-muted)}.hero{padding-top:var(--spacing-3xl);padding-bottom:var(--spacing-3xl);background-color:var(--color-bg-alt);text-align:center}.hero__title{font-size:var(--font-size-4xl);font-weight:700;line-height:var(--line-height-tight);margin-bottom:var(--spacing-md)}.hero__desc{font-size:var(--font-size-xl);color:var(--color-text-muted);max-width:640px;margin-left:auto;margin-right:auto;margin-bottom:var(--spacing-2xl)}.hero__actions{display:-webkit-box;display:-ms-flexbox;display:flex;gap:var(--spacing-md);-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-ms-flex-wrap:wrap;flex-wrap:wrap}.hero__btn{display:inline-block;padding:var(--spacing-sm) var(--spacing-xl);font-size:var(--font-size-lg);font-weight:600;color:var(--color-text-invert);background-color:var(--color-primary);border-radius:var(--radius-md);-webkit-transition:background-color var(--transition-fast);transition:background-color var(--transition-fast)}.hero__btn:hover{background-color:var(--color-primary-hover)}.hero__btn--outline{background-color:transparent;color:var(--color-primary);border:1px solid var(--color-primary)}.hero__btn--outline:hover{background-color:var(--color-primary);color:var(--color-text-invert)}@media (width <= 768px){.hero__title{font-size:var(--font-size-2xl)}.hero__desc{font-size:var(--font-size-base)}}.modal{position:fixed;inset:0;z-index:var(--z-modal);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding:var(--spacing-md);overflow-y:auto;background-color:rgba(0,0,0,.72);backdrop-filter:blur(6px);opacity:0;visibility:hidden;-webkit-transition:opacity var(--transition-base),visibility var(--transition-base);transition:opacity var(--transition-base),visibility var(--transition-base)}.modal[data-open]{opacity:1;visibility:visible}.modal__dialog{position:relative;width:100%;max-width:460px;margin:auto;padding:var(--spacing-2xl) var(--spacing-xl) var(--spacing-xl);background-color:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);-webkit-box-shadow:0 0 80px color-mix(in srgb,var(--color-primary) 20%,transparent),var(--shadow-lg);box-shadow:0 0 80px color-mix(in srgb,var(--color-primary) 20%,transparent),var(--shadow-lg);opacity:0;-webkit-transform:translateY(16px) scale(.94);transform:translateY(16px) scale(.94);-webkit-transition:opacity var(--transition-base) var(--transition-fast),-webkit-transform var(--transition-slow) cubic-bezier(.22,1,.36,1);transition:opacity var(--transition-base) var(--transition-fast),-webkit-transform var(--transition-slow) cubic-bezier(.22,1,.36,1);transition:opacity var(--transition-base) var(--transition-fast),transform var(--transition-slow) cubic-bezier(.22,1,.36,1);transition:opacity var(--transition-base) var(--transition-fast),transform var(--transition-slow) cubic-bezier(.22,1,.36,1),-webkit-transform var(--transition-slow) cubic-bezier(.22,1,.36,1)}.modal[data-open] .modal__dialog{opacity:1;-webkit-transform:translateY(0) scale(1);transform:translateY(0) scale(1)}.modal__dialog:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:linear-gradient(90deg,transparent,var(--color-primary),transparent)}.modal__close{position:absolute;top:var(--spacing-sm);right:var(--spacing-sm);display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:var(--spacing-xl);height:var(--spacing-xl);color:var(--color-text-muted);border-radius:var(--radius-md);-webkit-transition:color var(--transition-fast),background-color var(--transition-fast);transition:color var(--transition-fast),background-color var(--transition-fast)}.modal__close:hover{color:var(--color-text);background-color:var(--color-bg)}.modal__title{margin:0 0 var(--spacing-sm);padding-right:var(--spacing-2xl);font-size:var(--font-size-2xl);font-weight:700;line-height:var(--line-height-tight);letter-spacing:-.01em;color:var(--color-text)}.modal__text{margin:0 0 var(--spacing-lg);font-size:var(--font-size-base);line-height:var(--line-height-base);color:var(--color-text-muted)}.modal__actions{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:var(--spacing-sm)}.modal__action{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-base);line-height:1;font-weight:600;text-transform:uppercase;letter-spacing:.05em;text-decoration:none;border-radius:var(--radius-lg);-webkit-transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast);transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast)}.modal__action svg{-ms-flex-negative:0;flex-shrink:0}.modal__action--ghost{color:var(--color-text);background-color:var(--color-bg);border:1px solid var(--color-border-strong);text-transform:none}.modal__action--ghost svg{-webkit-transform:translateY(.1em);transform:translateY(.1em)}.modal__action--ghost:hover{color:var(--color-primary);border-color:var(--color-primary)}@media (width <= 480px){.modal{padding:var(--spacing-sm);-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.modal__dialog{padding:var(--spacing-xl) var(--spacing-md) var(--spacing-md);border-radius:var(--radius-lg) var(--radius-lg) 0 0}}@media (prefers-reduced-motion:reduce){.modal,.modal__dialog{-webkit-transition:opacity var(--transition-base),visibility var(--transition-base);transition:opacity var(--transition-base),visibility var(--transition-base);-webkit-transform:none;transform:none}}.nav{position:fixed;top:0;left:0;right:0;height:var(--header-height);background-color:color-mix(in srgb,var(--color-bg-alt) 82%,transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border);z-index:var(--z-nav)}.nav__inner{position:relative;display:grid;grid-template-columns:1fr auto 1fr;height:100%}.nav__brand,.nav__inner{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.nav__brand{justify-self:start;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;gap:var(--spacing-sm);font-family:var(--font-mono);font-size:var(--font-size-lg);font-weight:700;letter-spacing:.05em}.nav__brand,.nav__brand:hover{color:var(--color-text)}.nav__dot{width:var(--spacing-sm);height:var(--spacing-sm);background-color:var(--color-danger);border-radius:var(--radius-full);-webkit-animation:nav-dot-pulse 2s ease-in-out infinite;animation:nav-dot-pulse 2s ease-in-out infinite}.nav__brand-accent{color:var(--color-danger)}.nav__bar{justify-self:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.nav__bar,.nav__links{display:-webkit-box;display:-ms-flexbox;display:flex;gap:var(--spacing-md)}.nav__links{-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;height:var(--header-height);margin:0;padding:0;list-style:none}.nav__link,.nav__links-item{display:-webkit-box;display:-ms-flexbox;display:flex}.nav__link{-webkit-box-align:center;-ms-flex-align:center;align-items:center;text-decoration:none;font-size:var(--font-size-base);font-weight:500;color:var(--color-text);-webkit-transition:color var(--transition-fast);transition:color var(--transition-fast)}.nav__link.is-active,.nav__link:hover{color:var(--color-primary)}.nav__inner .nav__cta{position:absolute;right:var(--container-padding);top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.nav__overlay{display:none}.nav__burger{display:none;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;gap:5px;justify-self:end;width:var(--spacing-xl);height:var(--spacing-xl);padding:0;background:transparent;border:none;cursor:pointer}.nav__burger-line{display:block;width:var(--spacing-md);height:2px;background-color:var(--color-text);border-radius:var(--radius-sm);-webkit-transition:opacity var(--transition-base),-webkit-transform var(--transition-base);transition:opacity var(--transition-base),-webkit-transform var(--transition-base);transition:transform var(--transition-base),opacity var(--transition-base);transition:transform var(--transition-base),opacity var(--transition-base),-webkit-transform var(--transition-base)}.nav[data-nav-open] .nav__burger-line:first-child{-webkit-transform:translateY(7px) rotate(45deg);transform:translateY(7px) rotate(45deg)}.nav[data-nav-open] .nav__burger-line:nth-child(2){opacity:0}.nav[data-nav-open] .nav__burger-line:nth-child(3){-webkit-transform:translateY(-7px) rotate(-45deg);transform:translateY(-7px) rotate(-45deg)}@-webkit-keyframes nav-dot-pulse{0%,to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}50%{opacity:.5;-webkit-transform:scale(.8);transform:scale(.8)}}@keyframes nav-dot-pulse{0%,to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}50%{opacity:.5;-webkit-transform:scale(.8);transform:scale(.8)}}@media (width <= 768px){.nav__inner{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.nav__bar{display:none}.nav__burger,.nav__overlay{display:-webkit-box;display:-ms-flexbox;display:flex}.nav__overlay{position:fixed;inset:0;z-index:var(--z-dropdown);-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-pack:safe center;-ms-flex-pack:safe center;justify-content:safe center;gap:var(--spacing-xl);padding:var(--spacing-3xl) var(--container-padding);overflow-y:auto;background-color:var(--color-bg);opacity:0;visibility:hidden;-webkit-transition:opacity var(--transition-base),visibility var(--transition-base);transition:opacity var(--transition-base),visibility var(--transition-base)}.nav[data-nav-open]~.nav__overlay{opacity:1;visibility:visible}.nav__links{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--spacing-lg);height:auto}.nav__links-item{opacity:0;-webkit-transform:translateY(12px);transform:translateY(12px);-webkit-transition:opacity var(--transition-base),-webkit-transform var(--transition-base);transition:opacity var(--transition-base),-webkit-transform var(--transition-base);transition:opacity var(--transition-base),transform var(--transition-base);transition:opacity var(--transition-base),transform var(--transition-base),-webkit-transform var(--transition-base)}.nav[data-nav-open]~.nav__overlay .nav__links-item{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}.nav[data-nav-open]~.nav__overlay .nav__links-item:first-child{-webkit-transition-delay:60ms;transition-delay:60ms}.nav[data-nav-open]~.nav__overlay .nav__links-item:nth-child(2){-webkit-transition-delay:.12s;transition-delay:.12s}.nav[data-nav-open]~.nav__overlay .nav__links-item:nth-child(3){-webkit-transition-delay:.18s;transition-delay:.18s}.nav[data-nav-open]~.nav__overlay .nav__links-item:nth-child(4){-webkit-transition-delay:.24s;transition-delay:.24s}.nav__link{font-size:var(--font-size-2xl);font-weight:600;color:var(--color-text);-webkit-transition:color var(--transition-fast);transition:color var(--transition-fast)}.nav__link:active,.nav__link:hover{color:var(--color-primary)}.nav__cta{position:static;-ms-flex-negative:0;flex-shrink:0;opacity:0;-webkit-transform:translateY(12px);transform:translateY(12px);padding:var(--spacing-md) var(--spacing-2xl);font-size:var(--font-size-lg);-webkit-transition:opacity var(--transition-base),background-color var(--transition-base),-webkit-transform var(--transition-base),-webkit-box-shadow var(--transition-base);transition:opacity var(--transition-base),background-color var(--transition-base),-webkit-transform var(--transition-base),-webkit-box-shadow var(--transition-base);transition:opacity var(--transition-base),transform var(--transition-base),background-color var(--transition-base),box-shadow var(--transition-base);transition:opacity var(--transition-base),transform var(--transition-base),background-color var(--transition-base),box-shadow var(--transition-base),-webkit-transform var(--transition-base),-webkit-box-shadow var(--transition-base)}.nav[data-nav-open]~.nav__overlay .nav__cta{opacity:1;-webkit-transform:translateY(0);transform:translateY(0);-webkit-transition-delay:.3s;transition-delay:.3s}}@media (prefers-reduced-motion:reduce){.nav__dot{-webkit-animation:none;animation:none}.nav__bar,.nav__burger-line,.nav__cta,.nav__links-item,.nav__overlay{-webkit-transition:none;transition:none}}.pains{--pains-text:#9f9fa9;--pains-accent:#fb2c36;padding-top:var(--spacing-2xl);padding-bottom:var(--spacing-2xl);background-color:var(--color-bg-alt)}.pains__header{max-width:768px;margin:0 auto var(--spacing-2xl);text-align:center}.pains__title{margin:0 0 var(--spacing-md);font-size:3rem;font-weight:700;line-height:var(--line-height-tight);color:var(--color-text)}.pains__subtitle{margin:0;font-size:var(--font-size-xl);line-height:var(--line-height-base);color:var(--pains-text)}.pains__list{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-lg);-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;-webkit-perspective:1500px;perspective:1500px;margin:0;padding:0;list-style:none}@-webkit-keyframes pains-spin{0%{-webkit-transform:rotateY(0);transform:rotateY(0)}to{-webkit-transform:rotateY(1turn);transform:rotateY(1turn)}}@keyframes pains-spin{0%{-webkit-transform:rotateY(0);transform:rotateY(0)}to{-webkit-transform:rotateY(1turn);transform:rotateY(1turn)}}.pains__item[data-pains-spin]{-webkit-animation:pains-spin 2.5s cubic-bezier(.25,.7,.45,1);animation:pains-spin 2.5s cubic-bezier(.25,.7,.45,1)}.pains__item{-webkit-perspective:1400px;perspective:1400px;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;list-style:none}.pains__item[data-pains-spinning]{pointer-events:none}.pains__flip{position:relative;display:grid;grid-template-areas:"stack";height:100%;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;-webkit-transition:-webkit-transform .7s cubic-bezier(.2,.85,.25,1);transition:-webkit-transform .7s cubic-bezier(.2,.85,.25,1);transition:transform .7s cubic-bezier(.2,.85,.25,1);transition:transform .7s cubic-bezier(.2,.85,.25,1),-webkit-transform .7s cubic-bezier(.2,.85,.25,1)}.pains__item[data-pains-flipped] .pains__flip{-webkit-transform:rotateY(180deg);transform:rotateY(180deg)}@media (hover:hover){.pains__item:not([data-pains-spinning]):focus-within .pains__flip,.pains__item:not([data-pains-spinning]):hover .pains__flip{-webkit-transform:rotateY(180deg);transform:rotateY(180deg)}}.pains__face{grid-area:stack;padding:0;background-color:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);-webkit-box-shadow:inset 0 1px 0 hsla(0,0%,100%,.06),0 2px 6px rgba(0,0,0,.35),0 14px 30px -18px rgba(0,0,0,.8);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.06),0 2px 6px rgba(0,0,0,.35),0 14px 30px -18px rgba(0,0,0,.8);-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transition:border-color var(--transition-slow),-webkit-box-shadow var(--transition-slow);transition:border-color var(--transition-slow),-webkit-box-shadow var(--transition-slow);transition:border-color var(--transition-slow),box-shadow var(--transition-slow);transition:border-color var(--transition-slow),box-shadow var(--transition-slow),-webkit-box-shadow var(--transition-slow)}.pains__body,.pains__face{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.pains__body{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;min-height:0;padding:var(--spacing-lg) var(--spacing-lg) var(--spacing-md)}.pains__face--back{-webkit-transform:rotateY(180deg);transform:rotateY(180deg)}.pains__item:not([data-pains-spinning]):hover .pains__face--front{border-color:color-mix(in srgb,var(--color-border),#fff 40%);-webkit-box-shadow:0 12px 30px -12px rgba(0,0,0,.6);box-shadow:0 12px 30px -12px rgba(0,0,0,.6)}.pains__img{width:100%;height:auto;display:block;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.pains__eyebrow{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--spacing-xs);margin:0 0 var(--spacing-sm);line-height:1;font-family:var(--font-mono);font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--pains-accent)}.pains__eyebrow:before{content:"";width:20px;height:2px;background-color:var(--pains-accent)}.pains__name{margin:0 0 var(--spacing-sm);font-size:var(--font-size-2xl);font-weight:600;line-height:var(--line-height-tight);letter-spacing:-.01em;color:var(--color-text)}.pains__desc{margin:0 0 var(--spacing-xs);font-size:var(--font-size-base);line-height:1.35;color:var(--pains-text)}.pains__desc p{margin:0}.pains__desc p+p{margin-top:var(--spacing-sm)}.pains__btn{display:none;margin-top:auto;padding:var(--spacing-sm) var(--spacing-md);font-family:inherit;font-size:var(--font-size-sm);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--pains-text);background-color:#18181b;border:1px solid color-mix(in srgb,#18181b,#fff 25%);border-radius:var(--radius-md);cursor:pointer;-webkit-transition:color var(--transition-base),background-color var(--transition-base),border-color var(--transition-base),-webkit-box-shadow var(--transition-base);transition:color var(--transition-base),background-color var(--transition-base),border-color var(--transition-base),-webkit-box-shadow var(--transition-base);transition:color var(--transition-base),background-color var(--transition-base),border-color var(--transition-base),box-shadow var(--transition-base);transition:color var(--transition-base),background-color var(--transition-base),border-color var(--transition-base),box-shadow var(--transition-base),-webkit-box-shadow var(--transition-base)}.pains__btn:hover{color:var(--color-text);background-color:color-mix(in srgb,#18181b,#fff 10%);border-color:color-mix(in srgb,#18181b,#fff 40%);-webkit-box-shadow:none;box-shadow:none}.pains__consequence{margin:0 0 var(--spacing-xs);font-size:var(--font-size-base);line-height:1.35;color:var(--pains-text)}.pains__consequence-label{margin-right:var(--spacing-xs);font-weight:600;color:var(--pains-accent)}.pains__solution{margin:0 0 var(--spacing-lg);font-size:var(--font-size-base);line-height:1.35;color:var(--pains-text)}.pains__solution-label{margin-right:var(--spacing-xs);font-weight:600;color:var(--color-success)}.pains__cta{margin-top:auto;display:block;text-align:center}@media (width <= 768px){.pains__list{grid-template-columns:1fr}.pains__title{font-size:2.25rem}.pains__btn{display:block}}.pricing{--pricing-bg:#0a0a0b;--pricing-dark:#18181b;--pricing-muted:#9f9fa9;--pricing-accent:#fb2c36;padding-top:var(--spacing-2xl);padding-bottom:var(--spacing-2xl);background-color:var(--pricing-bg)}.pricing__header{max-width:640px;margin:0 auto var(--spacing-2xl);text-align:center}.pricing__title{margin:0 0 var(--spacing-md);font-size:3rem;font-weight:700;line-height:var(--line-height-tight);color:var(--color-text)}.pricing__subtitle{margin:0;font-size:var(--font-size-xl);line-height:1.4;color:var(--pricing-muted)}.pricing__subtitle p{margin:0}.pricing__subtitle p+p{margin-top:.25rem}.pricing__plans{display:grid;grid-template-columns:repeat(3,1fr);-webkit-box-align:start;-ms-flex-align:start;align-items:start;gap:var(--spacing-lg)}.pricing__plan{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;padding:var(--spacing-lg) var(--spacing-lg) var(--spacing-md);background-color:var(--pricing-dark);border:1px solid color-mix(in srgb,var(--pricing-dark),#fff 15%);border-radius:var(--radius-lg);-webkit-transition:-webkit-transform var(--transition-base);transition:-webkit-transform var(--transition-base);transition:transform var(--transition-base);transition:transform var(--transition-base),-webkit-transform var(--transition-base)}.pricing__plan--featured,.pricing__plan:hover{-webkit-transform:scale(1.03);transform:scale(1.03);z-index:1}.pricing__plans:has(.pricing__plan:hover) .pricing__plan--featured:not(:hover){-webkit-transform:none;transform:none}.pricing__badge{position:absolute;top:0;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-md);font-family:var(--font-mono);font-size:calc(var(--font-size-xs) + 2px);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--pricing-muted);background-color:color-mix(in srgb,var(--pricing-dark),#fff 10%);border-radius:var(--radius-full)}.pricing__badge:before{content:"";-ms-flex-negative:0;flex-shrink:0;width:var(--spacing-xs);height:var(--spacing-xs);background-color:var(--color-success);border-radius:var(--radius-full)}.pricing__plan-head{margin-bottom:1.25rem}.pricing__icon{display:inline-block;width:1.25rem;height:1.25rem;margin-right:.4em;vertical-align:-.1em;color:var(--color-text)}.pricing__icon svg{display:block;width:100%;height:100%}.pricing__name{margin:0 0 1.25rem;font-size:var(--font-size-2xl);font-weight:600;line-height:var(--line-height-tight);letter-spacing:-.01em;color:var(--color-text)}.pricing__tag{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin:0;padding:.25rem .75rem;font-size:var(--font-size-xs);font-weight:600;color:var(--pricing-muted);background-color:color-mix(in srgb,var(--pricing-dark),#fff 8%);border:1px solid color-mix(in srgb,var(--pricing-dark),#fff 18%);border-radius:var(--radius-full);-webkit-transition:border-color var(--transition-base),color var(--transition-base);transition:border-color var(--transition-base),color var(--transition-base)}.pricing__intro,.pricing__plan:hover .pricing__tag{color:var(--color-text)}.pricing__intro{margin:0 0 var(--spacing-md);font-size:var(--font-size-base);line-height:1.35}.pricing__features{margin:0 0 var(--spacing-lg);padding:0;list-style:none;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:var(--spacing-xs)}.pricing__feature{position:relative;padding-left:1.5rem;font-size:var(--font-size-sm);line-height:1.4;color:var(--pricing-muted)}.pricing__feature:before{content:"✓";position:absolute;left:0;top:0;color:var(--color-success);font-weight:700}.pricing__price{margin-top:auto;margin-bottom:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid color-mix(in srgb,var(--pricing-dark),#fff 12%);color:var(--color-success)}.pricing__price-label{margin-right:.3em;font-weight:700;color:inherit}.pricing__price-value{font-family:var(--font-mono);font-size:var(--font-size-2xl);font-weight:700;line-height:var(--line-height-tight);color:inherit}.pricing__price-unit{margin-left:.4em;font-size:var(--font-size-sm);color:var(--pricing-muted)}.pricing__price-term{display:block;margin-top:var(--spacing-xs);font-size:var(--font-size-xs);color:var(--pricing-muted)}.pricing__btn{display:block;width:100%;text-align:center}@media (width <= 768px){.pricing__plans{grid-template-columns:1fr}.pricing__plan--featured{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.pricing__plan,.pricing__plan--featured,.pricing__plan:hover{-webkit-transform:none;transform:none}.pricing__title{font-size:2.25rem}}.projects{--projects-text:#9f9fa9;padding-top:var(--spacing-2xl);padding-bottom:var(--spacing-2xl);background-color:var(--color-bg);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.projects__head{margin-bottom:var(--spacing-2xl)}.projects__intro{max-width:768px;margin:0 auto;text-align:center}.projects__title{margin:0 0 var(--spacing-md);font-size:3rem;font-weight:700;line-height:var(--line-height-tight);color:var(--color-text)}.projects__subtitle{margin:0;font-size:var(--font-size-xl);line-height:var(--line-height-base);color:var(--projects-text)}@media (width <= 768px){.projects__title{font-size:2.25rem}}.projects__viewport{position:relative}.projects__nav{display:contents}.projects__nav.is-hidden{display:none}.projects__arrow[data-projects-prev]{position:absolute;left:var(--spacing-sm);top:0;bottom:0;margin-block:auto;z-index:40}.projects__arrow[data-projects-next]{position:absolute;right:var(--spacing-sm);top:0;bottom:0;margin-block:auto;z-index:40}.projects__arrow{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:var(--spacing-xl);height:var(--spacing-xl);padding:0;color:var(--color-text);background-color:color-mix(in srgb,var(--color-bg-elevated) 50%,transparent);border:1px solid hsla(0,0%,100%,.12);border-radius:var(--radius-full);backdrop-filter:blur(10px) saturate(140%);-webkit-box-shadow:inset 0 1px 0 hsla(0,0%,100%,.16),0 6px 16px rgba(0,0,0,.45);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.16),0 6px 16px rgba(0,0,0,.45);cursor:pointer;-webkit-transition:color var(--transition-fast),background-color var(--transition-base),border-color var(--transition-base),-webkit-transform var(--transition-base),-webkit-box-shadow var(--transition-base);transition:color var(--transition-fast),background-color var(--transition-base),border-color var(--transition-base),-webkit-transform var(--transition-base),-webkit-box-shadow var(--transition-base);transition:transform var(--transition-base),color var(--transition-fast),background-color var(--transition-base),border-color var(--transition-base),box-shadow var(--transition-base);transition:transform var(--transition-base),color var(--transition-fast),background-color var(--transition-base),border-color var(--transition-base),box-shadow var(--transition-base),-webkit-transform var(--transition-base),-webkit-box-shadow var(--transition-base)}.projects__arrow:hover{color:var(--color-text);background-color:var(--color-primary);background-image:linear-gradient(180deg,hsla(0,0%,100%,.22) 0,hsla(0,0%,100%,0) 45%),linear-gradient(180deg,color-mix(in srgb,var(--color-primary),#fff 14%) 0,var(--color-primary) 60%,color-mix(in srgb,var(--color-primary),#000 16%) 100%);border-color:color-mix(in srgb,var(--color-primary),#000 22%);-webkit-box-shadow:inset 0 1px 0 hsla(0,0%,100%,.35),0 0 24px color-mix(in srgb,var(--color-primary) 65%,transparent),0 8px 18px rgba(0,0,0,.5);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.35),0 0 24px color-mix(in srgb,var(--color-primary) 65%,transparent),0 8px 18px rgba(0,0,0,.5);-webkit-transform:scale(1.08);transform:scale(1.08)}.projects__arrow:disabled{opacity:.3;cursor:not-allowed}.projects__arrow:disabled:hover{color:var(--color-text);background-color:var(--color-bg-elevated);border-color:var(--color-border)}.projects__arrow svg{width:var(--font-size-xl);height:var(--font-size-xl);fill:none;stroke:currentcolor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.projects__stage{position:relative;overflow:clip visible;-ms-touch-action:pan-y;touch-action:pan-y}.projects__card{position:absolute;top:0;left:50%;width:56%;-webkit-transform-origin:center center;transform-origin:center center;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;background-color:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;cursor:pointer;opacity:0;-webkit-transition:opacity .5s cubic-bezier(.16,1,.3,1),border-color var(--transition-slow),-webkit-transform .5s cubic-bezier(.16,1,.3,1),-webkit-box-shadow var(--transition-slow);transition:opacity .5s cubic-bezier(.16,1,.3,1),border-color var(--transition-slow),-webkit-transform .5s cubic-bezier(.16,1,.3,1),-webkit-box-shadow var(--transition-slow);transition:transform .5s cubic-bezier(.16,1,.3,1),opacity .5s cubic-bezier(.16,1,.3,1),border-color var(--transition-slow),box-shadow var(--transition-slow);transition:transform .5s cubic-bezier(.16,1,.3,1),opacity .5s cubic-bezier(.16,1,.3,1),border-color var(--transition-slow),box-shadow var(--transition-slow),-webkit-transform .5s cubic-bezier(.16,1,.3,1),-webkit-box-shadow var(--transition-slow);will-change:transform,opacity}.projects__card:hover{border-color:var(--color-border-strong)}.projects__card.is-center{-webkit-box-shadow:inset 0 1px 0 hsla(0,0%,100%,.06),0 2px 6px rgba(0,0,0,.35),0 14px 30px -18px rgba(0,0,0,.8);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.06),0 2px 6px rgba(0,0,0,.35),0 14px 30px -18px rgba(0,0,0,.8)}.projects__card.is-center:hover{-webkit-box-shadow:0 12px 30px -12px rgba(0,0,0,.6);box-shadow:0 12px 30px -12px rgba(0,0,0,.6)}.projects__stage.is-dragging .projects__card,.projects__stage.is-init .projects__card{-webkit-transition:none;transition:none}.projects__glow{position:absolute;top:50%;left:50%;width:65%;height:90%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);background-color:transparent;border-radius:50%;-webkit-filter:blur(70px);filter:blur(70px);opacity:.35;z-index:1;pointer-events:none;-webkit-transition:background-color .6s cubic-bezier(.16,1,.3,1);transition:background-color .6s cubic-bezier(.16,1,.3,1);will-change:background-color}.projects__media{aspect-ratio:16/9;background-color:var(--color-bg-alt);overflow:hidden}.projects__img{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-webkit-transition:-webkit-transform 8s cubic-bezier(.25,.46,.45,.94);transition:-webkit-transform 8s cubic-bezier(.25,.46,.45,.94);transition:transform 8s cubic-bezier(.25,.46,.45,.94);transition:transform 8s cubic-bezier(.25,.46,.45,.94),-webkit-transform 8s cubic-bezier(.25,.46,.45,.94);will-change:transform}.projects__card.is-center .projects__img{-webkit-transform:scale(1.12) translateX(-2%);transform:scale(1.12) translateX(-2%)}.projects__body{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-md);-webkit-box-flex:1;-ms-flex:1;flex:1}.projects__category{margin:0;font-family:var(--font-mono);font-size:var(--font-size-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-danger)}.projects__name{margin:0;font-size:var(--font-size-lg);font-weight:700;line-height:var(--line-height-tight);color:var(--color-text)}.projects__result{margin:auto 0 0;font-size:var(--font-size-sm);line-height:var(--line-height-base);color:var(--color-success)}@-webkit-keyframes projects-reveal{0%{opacity:0;-webkit-transform:translateY(10px);transform:translateY(10px)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes projects-reveal{0%{opacity:0;-webkit-transform:translateY(10px);transform:translateY(10px)}to{opacity:1;-webkit-transform:none;transform:none}}.projects__card.is-center .projects__category{-webkit-animation:projects-reveal .9s cubic-bezier(.16,1,.3,1) .2s both;animation:projects-reveal .9s cubic-bezier(.16,1,.3,1) .2s both}.projects__card.is-center .projects__name{-webkit-animation:projects-reveal .9s cubic-bezier(.16,1,.3,1) .36s both;animation:projects-reveal .9s cubic-bezier(.16,1,.3,1) .36s both}.projects__card.is-center .projects__result{-webkit-animation:projects-reveal .9s cubic-bezier(.16,1,.3,1) .52s both;animation:projects-reveal .9s cubic-bezier(.16,1,.3,1) .52s both}.projects__dots{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;gap:var(--spacing-xs);margin-top:var(--spacing-lg)}.projects__dots.is-hidden{display:none}.projects__dot{width:var(--spacing-xs);height:var(--spacing-xs);padding:0;background-color:var(--color-border-strong);border:none;border-radius:var(--radius-full);cursor:pointer;-webkit-transition:width var(--transition-base),background-color var(--transition-base);transition:width var(--transition-base),background-color var(--transition-base)}.projects__dot.is-active{width:var(--spacing-sm);background-color:var(--color-primary)}.projects.is-compact .projects__inner{display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"intro intro intro" "stage stage stage" "prev dots next";-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--spacing-sm) var(--spacing-sm)}.projects.is-compact .projects__head,.projects.is-compact .projects__nav,.projects.is-compact .projects__viewport{display:contents}.projects.is-compact .projects__nav.is-hidden{display:none}.projects.is-compact .projects__intro{grid-area:intro;max-width:none;text-align:center;margin-bottom:var(--spacing-sm)}.projects.is-compact .projects__arrow[data-projects-prev]{grid-area:prev}.projects.is-compact .projects__arrow[data-projects-next]{grid-area:next}.projects.is-compact .projects__stage{grid-area:stage}.projects.is-compact .projects__dots{grid-area:dots;margin-top:0}.projects.is-compact .projects__arrow{position:static;-webkit-transform:none;transform:none;width:var(--spacing-xl);height:var(--spacing-xl)}.projects.is-compact .projects__arrow svg{width:var(--font-size-xl);height:var(--font-size-xl)}.projects.is-compact .projects__arrow:hover{color:var(--color-text);background-color:var(--color-bg-elevated);background-image:none;border-color:var(--color-border);-webkit-box-shadow:inset 0 1px 0 hsla(0,0%,100%,.16),0 6px 16px rgba(0,0,0,.45);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.16),0 6px 16px rgba(0,0,0,.45)}.projects.is-compact .projects__title{font-size:var(--font-size-2xl)}.projects.is-compact .projects__card{width:100%}.promo{--promo-bg:#18181b;--promo-text:#9f9fa9;padding-top:var(--spacing-2xl);padding-bottom:var(--spacing-2xl);background-color:var(--color-bg-alt)}.promo__inner{display:grid;grid-template-columns:1fr auto;align-items:start;gap:var(--spacing-2xl)}.promo__content,.promo__inner{-webkit-box-align:start;-ms-flex-align:start}.promo__content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;align-items:flex-start}.promo__badge{--promo-dot:#fb2c36;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);margin-bottom:var(--spacing-lg);font-family:var(--font-mono);font-size:var(--font-size-xs);line-height:1;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--promo-text);background-color:var(--promo-bg);border-radius:var(--radius-full)}.promo__badge:before{content:"";-ms-flex-negative:0;flex-shrink:0;width:var(--spacing-xs);height:var(--spacing-xs);background-color:var(--promo-dot);border-radius:var(--radius-full)}.promo__title{margin:0 0 var(--spacing-md);font-size:3rem;font-weight:700;line-height:var(--line-height-tight);color:var(--color-text)}.promo__highlight{background-image:-webkit-gradient(linear,left top,right top,from(#ef4444),color-stop(#f43f5e),to(#f97316));background-image:linear-gradient(90deg,#ef4444,#f43f5e,#f97316);-webkit-background-clip:text;background-clip:text;color:transparent}.promo__desc{--promo-desc-text:#9f9fa9;margin:0 0 var(--spacing-sm);font-size:var(--font-size-xl);line-height:var(--line-height-base);color:var(--promo-desc-text)}.promo__desc:last-of-type{margin-bottom:var(--spacing-2xl)}.promo__actions{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:var(--spacing-md)}.promo__btn--outline{display:inline-block;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);font-weight:600;text-transform:uppercase;letter-spacing:.05em;text-align:center;text-decoration:none;color:var(--promo-text);background-color:var(--promo-bg);border:1px solid color-mix(in srgb,var(--promo-bg),#fff 25%);border-radius:var(--radius-md);-webkit-transition:background-color var(--transition-base),color var(--transition-base),border-color var(--transition-base),-webkit-box-shadow var(--transition-base);transition:background-color var(--transition-base),color var(--transition-base),border-color var(--transition-base),-webkit-box-shadow var(--transition-base);transition:background-color var(--transition-base),box-shadow var(--transition-base),color var(--transition-base),border-color var(--transition-base);transition:background-color var(--transition-base),box-shadow var(--transition-base),color var(--transition-base),border-color var(--transition-base),-webkit-box-shadow var(--transition-base)}.promo__btn--outline:hover{color:var(--color-text);background-color:color-mix(in srgb,var(--promo-bg),#fff 10%);border-color:color-mix(in srgb,var(--promo-bg),#fff 40%);-webkit-box-shadow:none;box-shadow:none}.promo__media{--promo-glow:#ec003f;--promo-glow-hover:#ff006e;position:relative;-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.promo__media:before{content:"";position:absolute;inset:-4px;border:8px solid var(--promo-glow);border-radius:var(--radius-lg);-webkit-filter:blur(24px);filter:blur(24px);opacity:.6;-webkit-transition:opacity var(--transition-slow),border-color var(--transition-slow),-webkit-filter var(--transition-slow);transition:opacity var(--transition-slow),border-color var(--transition-slow),-webkit-filter var(--transition-slow);transition:filter var(--transition-slow),opacity var(--transition-slow),border-color var(--transition-slow);transition:filter var(--transition-slow),opacity var(--transition-slow),border-color var(--transition-slow),-webkit-filter var(--transition-slow);z-index:0}.promo__media:hover:before{border-color:var(--promo-glow-hover);-webkit-filter:blur(40px);filter:blur(40px);opacity:1;-webkit-transition-delay:var(--transition-fast);transition-delay:var(--transition-fast)}.promo__img{position:relative;z-index:1;display:block;width:318px;height:477px;-o-object-fit:cover;object-fit:cover;border-radius:var(--radius-lg);border:1px solid color-mix(in srgb,var(--color-border),#000 40%);-webkit-box-shadow:var(--shadow-md);box-shadow:var(--shadow-md);-webkit-filter:grayscale(100%);filter:grayscale(100%);-webkit-transition:-webkit-filter var(--transition-slow);transition:-webkit-filter var(--transition-slow);transition:filter var(--transition-slow);transition:filter var(--transition-slow),-webkit-filter var(--transition-slow)}.promo__img:hover{-webkit-filter:grayscale(0);filter:grayscale(0)}@media (width <= 768px){.promo__inner{grid-template-columns:1fr;gap:var(--spacing-xl)}.promo__content{-webkit-box-align:center;-ms-flex-align:center;align-items:center;text-align:center}.promo__actions{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.promo__title{font-size:2.25rem}.promo__media{width:80%;justify-self:center}.promo__img{width:100%;height:auto;-webkit-filter:none;filter:none}.promo__desc{font-size:var(--font-size-lg)}}.stack{--stack-bg:#18181b;--stack-text:#9f9fa9;--accent:var(--color-primary);--stack-reveal:0.48s;padding-top:var(--spacing-2xl);padding-bottom:var(--spacing-2xl);background-color:var(--color-bg);overflow-x:clip}.stack__title{margin:0 0 var(--spacing-xl);font-family:var(--font-mono);font-size:var(--font-size-xl);font-weight:700;line-height:var(--line-height-tight);text-align:center;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text)}.stack__note{margin:var(--spacing-2xl) 0 0;text-align:center}.stack__note-line{display:block;line-height:var(--line-height-tight)}.stack__note-line:first-child{margin-bottom:var(--spacing-xs);font-size:var(--font-size-xl);font-weight:700;color:var(--color-text)}.stack__note-line:last-child{font-size:var(--font-size-base);font-weight:400;color:var(--color-text-muted)}.stack__note-btn{margin-top:var(--spacing-xl)}.stack__group{margin-bottom:var(--spacing-xl)}.stack__group:last-child{margin-bottom:0}.stack__group-inner{padding-left:var(--spacing-md);border-left:3px solid var(--accent);-webkit-transition:opacity var(--stack-reveal) ease,-webkit-transform var(--stack-reveal) ease;transition:opacity var(--stack-reveal) ease,-webkit-transform var(--stack-reveal) ease;transition:opacity var(--stack-reveal) ease,transform var(--stack-reveal) ease;transition:opacity var(--stack-reveal) ease,transform var(--stack-reveal) ease,-webkit-transform var(--stack-reveal) ease}.stack__group-inner[data-stack-hidden]{opacity:0}.stack__group-inner[data-stack-hidden][data-stack-from=left]{-webkit-transform:translateX(-100vw);transform:translateX(-100vw)}.stack__group-inner[data-stack-hidden][data-stack-from=right]{-webkit-transform:translateX(100vw);transform:translateX(100vw)}.stack__group-title{margin:0 0 var(--spacing-sm);font-family:var(--font-mono);font-size:var(--font-size-xs);font-weight:700;line-height:var(--line-height-tight);text-transform:uppercase;letter-spacing:.08em;color:var(--accent)}.stack__list{-ms-flex-wrap:wrap;flex-wrap:wrap;margin:0;padding:0;list-style:none}.stack__item,.stack__list{display:-webkit-box;display:-ms-flexbox;display:flex;gap:var(--spacing-sm)}.stack__item{-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:var(--spacing-sm) var(--spacing-md);background-color:var(--stack-bg);border:1px solid color-mix(in srgb,var(--stack-bg),#fff 25%);border-radius:var(--radius-lg);color:var(--stack-text);font-size:var(--font-size-sm);font-weight:500;text-align:center;-webkit-transition:color var(--transition-base),border-color var(--transition-base),-webkit-box-shadow var(--transition-base),-webkit-transform var(--transition-base);transition:color var(--transition-base),border-color var(--transition-base),-webkit-box-shadow var(--transition-base),-webkit-transform var(--transition-base);transition:color var(--transition-base),border-color var(--transition-base),box-shadow var(--transition-base),transform var(--transition-base);transition:color var(--transition-base),border-color var(--transition-base),box-shadow var(--transition-base),transform var(--transition-base),-webkit-box-shadow var(--transition-base),-webkit-transform var(--transition-base)}.stack__item:hover{color:var(--color-text);border-color:var(--accent);-webkit-box-shadow:0 0 18px color-mix(in srgb,var(--accent) 30%,transparent);box-shadow:0 0 18px color-mix(in srgb,var(--accent) 30%,transparent);-webkit-transform:translateY(-2px);transform:translateY(-2px)}.stack__icon{-ms-flex-negative:0;flex-shrink:0;width:var(--font-size-xl);height:var(--font-size-xl);color:var(--accent);background-color:currentColor;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain;-webkit-transition:color var(--transition-base),-webkit-transform var(--transition-base);transition:color var(--transition-base),-webkit-transform var(--transition-base);transition:transform var(--transition-base),color var(--transition-base);transition:transform var(--transition-base),color var(--transition-base),-webkit-transform var(--transition-base)}.stack__item:hover .stack__icon{-webkit-transform:scale(1.15);transform:scale(1.15);color:var(--color-text)}@media (width <= 768px){.stack__group-inner[data-stack-hidden]{opacity:1;-webkit-transform:none;transform:none}}@media (width <= 640px){.stack__item{-webkit-box-flex:1;-ms-flex:1 1 calc(50% - var(--spacing-sm));flex:1 1 calc(50% - var(--spacing-sm));-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}}