:root{--base-gap: 1.25rem;--base-padding-horizontal: 2rem;--color-white: #ffffff;--color-grey-50: #f9fafb;--color-grey-100: #f3f4f6;--color-grey-200: #e5e7eb;--color-grey-300: #d1d5db;--color-grey-400: #9ca3af;--color-grey-500: #6b7280;--color-grey-600: #4b5563;--color-grey-700: #374151;--color-grey-800: #1f2937;--color-grey-900: #111827;--color-bg: var(--color-grey-50);--color-text-main: var(--color-grey-800);--color-text-muted: var(--color-grey-500);--color-action: var(--color-grey-900);--color-action-hover: var(--color-grey-700);--weight-normal: 400;--weight-medium: 500;--weight-semibold: 600;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-hover: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--gradient-card: linear-gradient(135deg, var(--color-white), var(--color-grey-100));--gradient-hero: linear-gradient(135deg, var(--color-grey-900), var(--color-grey-800))}@keyframes stroke-draw{0%{stroke-dasharray:0,100%}to{stroke-dasharray:100%,0}}@keyframes fade-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}html{scroll-behavior:smooth}body{font-family:Roboto,Helvetica Neue,Arial,sans-serif;background-color:var(--color-bg);font-size:16px;line-height:1.6;color:var(--color-text-main);-webkit-font-smoothing:antialiased}*{margin:0;padding:0;box-sizing:border-box}h1,h2,h3,h4,h5,h6{color:var(--color-grey-900);line-height:1.25;margin-bottom:1rem;font-weight:var(--weight-semibold);letter-spacing:-.015em}p{margin-bottom:1.25rem;font-weight:var(--weight-normal)}b,strong{font-weight:var(--weight-semibold)}a{color:var(--color-grey-900);text-decoration:none;transition:color .2s ease}a:hover{color:var(--color-grey-600)}.content p,.content ul,.content ol{max-width:68ch}.content ul,.content ol{padding-left:1.5rem}:focus-visible{outline:2px solid var(--color-grey-400);outline-offset:4px}.layout{background-color:var(--color-grey-100)}.container{margin:0 auto;padding:0 .5rem;max-width:320px}@media (min-width: 48rem){.container{padding:0 3rem;max-width:1024px}}.content{gap:1rem;display:flex;flex-direction:column}.page{gap:2rem;display:flex;width:100%;box-sizing:border-box;flex-direction:column;padding-top:4rem;padding-bottom:8rem}.horizontal{margin:0;padding:0;display:flex;flex-wrap:wrap;flex-direction:row;gap:var(--base-gap);align-items:flex-end;list-style-type:none}.header{top:0;position:sticky;z-index:100;background-color:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--color-grey-200)}.header__inner{display:flex;padding:1rem 0;position:relative;align-items:center;justify-content:space-between}.header__logo{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:var(--color-grey-900)}.header__logo svg{width:2.5rem;height:auto;display:block}@media (min-width: 48rem){.header__logo{gap:1rem}.header__logo svg{width:3rem}}.header__title{font-weight:900;font-size:1.5rem;white-space:nowrap;letter-spacing:-.025rem;margin-bottom:0;line-height:1}@media (min-width: 48rem){.header__title{font-size:1.75rem}}.header__toggle{display:inline-flex;align-items:center;justify-content:center;height:2.75rem;padding:0 2rem;cursor:pointer;font-size:.85rem;text-transform:uppercase;letter-spacing:.1em;font-weight:var(--weight-semibold);text-decoration:none;border-radius:0;color:var(--color-white);background-color:var(--color-grey-900);border:1px solid var(--color-grey-900);box-shadow:var(--shadow-sm);transition:all .2s ease-in-out;display:flex;font-size:1.4rem;padding:.5rem .75rem}.header__toggle:hover{background-color:#000;border-color:#000;transform:translateY(-2px);box-shadow:var(--shadow-md);color:var(--color-white)!important}.header__toggle:active{transform:translateY(0)}@media (min-width: 48rem){.header__toggle{display:none}}.header__toggle span{margin-top:-3px}.header__menu{left:0;padding:0;width:100%;gap:0;display:flex;overflow:hidden;position:absolute;margin-top:1.0625rem;list-style-type:none;box-sizing:border-box;flex-direction:column;background-color:var(--color-white);border:1px solid var(--color-grey-900);border-radius:0}@media (min-width: 48rem){.header__menu{border:0;padding:0;margin-top:0;box-shadow:none;position:initial;flex-direction:row;background-color:transparent}}.header__menu-link{display:flex;align-items:center;height:100%;padding:.75rem 1.5rem;font-weight:var(--weight-semibold);text-decoration:none;color:var(--color-grey-900);text-transform:uppercase;font-size:.85rem;letter-spacing:.05em;background-color:transparent;transition:all .2s ease-in-out}.header__menu-link:hover,.header__menu-link:focus{background-color:var(--color-grey-900);color:var(--color-white)}@media (min-width: 48rem){.header__menu-link:hover,.header__menu-link:focus{transform:translateY(-2px)}}@media (max-width: 47.9375rem){.header__nav:not(.active) .header__menu{display:none}}.title{padding:5rem 0;background:var(--gradient-hero);color:var(--color-white)}.title h1,.title h2,.title h3,.title h4{color:var(--color-white);font-size:2.75rem;margin-bottom:.75rem;font-weight:var(--weight-semibold)}.title p{color:var(--color-grey-300);margin-bottom:0;font-size:1.25rem;font-weight:var(--weight-normal);max-width:600px}.title__items{width:100%;display:flex;flex-direction:column}.featured{padding:5rem 0;display:flex;flex-direction:column;gap:3.5rem}.featured__more{display:inline-flex;align-items:center;justify-content:center;height:2.75rem;padding:0 2rem;cursor:pointer;font-size:.85rem;text-transform:uppercase;letter-spacing:.1em;font-weight:var(--weight-semibold);text-decoration:none;border-radius:0;color:var(--color-white);background-color:var(--color-grey-900);border:1px solid var(--color-grey-900);box-shadow:var(--shadow-sm);transition:all .2s ease-in-out;align-self:center}.featured__more:hover{background-color:#000;border-color:#000;transform:translateY(-2px);box-shadow:var(--shadow-md);color:var(--color-white)!important}.featured__more:active{transform:translateY(0)}@media (min-width: 48rem){.featured__more{align-self:flex-start}}.featured__title{gap:1.5rem;display:flex;flex-wrap:wrap;flex-direction:row;align-items:center;justify-content:space-between}.featured__title h2{margin-bottom:0}.featured__items{padding:0;margin:0;list-style-type:none;display:grid;gap:2.5rem;grid-template-columns:1fr}@media (min-width: 48rem){.featured__items{grid-template-columns:repeat(3,1fr)}}.featured__items li{display:flex;justify-content:center}.app-preview{display:flex;flex-direction:column;height:100%;width:100%;text-decoration:none;background-color:var(--color-grey-900);border-radius:0;overflow:hidden;box-shadow:var(--shadow-md);transition:transform .4s cubic-bezier(.175,.885,.32,1.275),box-shadow .3s ease;border:1px solid var(--color-grey-900);position:relative}.app-preview__icon{aspect-ratio:1/1;width:100%;flex-shrink:0;background:var(--color-white);padding:0;display:flex}.app-preview__icon img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.app-preview span{flex-grow:1;padding:1.25rem 2rem;display:flex;align-items:center;justify-content:center;text-align:center;min-height:4.5rem;background-color:var(--color-grey-900);color:var(--color-white);text-transform:uppercase;font-weight:var(--weight-semibold);font-size:.85rem;letter-spacing:.1em;line-height:1.3;transition:background-color .3s ease}.app-preview:hover{transform:translateY(-8px);box-shadow:var(--shadow-hover)}.app-preview:hover span{background-color:#000}.app__cover{height:25vh;min-height:15rem;width:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center}.app__header{gap:2rem;display:grid;grid-template-rows:max-content 1fr}@media (min-width: 48rem){.app__header{grid-template-rows:1fr;grid-template-columns:max-content 1fr}}.app__header img{width:100%;height:auto;max-width:20rem;overflow:hidden;border-radius:2rem;border:.0625rem solid var(--color-grey-400)}.app__title{gap:.5rem;display:flex;flex-direction:column}.app__description{gap:2rem;display:flex;flex-direction:column;align-items:flex-start}.app__links{align-items:center}.app__link{display:inline-flex;align-items:center;justify-content:center;height:2.75rem;padding:0 2rem;cursor:pointer;font-size:.85rem;text-transform:uppercase;letter-spacing:.1em;font-weight:var(--weight-semibold);text-decoration:none;border-radius:0;color:var(--color-white);background-color:var(--color-grey-900);border:1px solid var(--color-grey-900);box-shadow:var(--shadow-sm);transition:all .2s ease-in-out;margin-top:-2px;padding:.775rem 2.5rem}.app__link:hover{background-color:#000;border-color:#000;transform:translateY(-2px);box-shadow:var(--shadow-md);color:var(--color-white)!important}.app__link:active{transform:translateY(0)}.app__link-block{display:block}.app__link-block svg{width:10rem;height:auto}.app__screenshots-container{overflow:hidden;border-radius:.5rem;padding:1rem;background-color:var(--color-white);box-sizing:border-box;border:.0625rem solid var(--color-grey-400)}.app__screenshots{gap:1rem;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:.5rem;scrollbar-width:none}.app__screenshots::-webkit-scrollbar{display:none}.app__screenshots:first-child{display:flex}@media (min-width: 48rem){.app__screenshots:first-child{display:none}}.app__screenshots:last-child{display:none}@media (min-width: 48rem){.app__screenshots:last-child{display:flex}}.app__screenshot{scroll-snap-align:center;flex-shrink:0}.app__screenshot img{height:auto;border:1px solid var(--color-grey-400);max-width:calc(320px - 5rem);border-radius:.5rem}@media (min-width: 48rem){.app__screenshot img{max-width:43rem}}form{width:31.25rem;max-width:100%;padding:2rem 2rem 3rem;border:1px solid var(--color-grey-300);border-radius:.5rem;background-color:var(--color-grey-200)}form fieldset{border:none;padding:0;margin:0 0 var(--base-gap) 0}form input.hidden{display:none}form #Form_Form_error{color:var(--color-grey-900);background-color:var(--color-grey-300);font-size:1rem;margin-bottom:var(--base-gap);padding:var(--base-gap);border-radius:.5rem}form fieldset .field{margin-bottom:1.75rem}form fieldset .field.required label:after{content:" *";color:#d9534f;font-weight:700}form fieldset .field label{display:block;font-size:1rem;color:var(--color-grey-800);font-weight:600;margin-bottom:.5rem}form fieldset .field input[type=text],form fieldset .field input[type=email],form fieldset .field input[type=password],form fieldset .field textarea{width:100%;padding:.875rem;font-size:1rem;border:1px solid var(--color-grey-400);border-radius:.375rem;background-color:var(--color-white);transition:border-color .3s ease,box-shadow .3s ease}form fieldset .field input[type=text]:hover,form fieldset .field input[type=email]:hover,form fieldset .field input[type=password]:hover,form fieldset .field textarea:hover{border-color:var(--color-grey-500)}form fieldset .field input[type=text]:focus,form fieldset .field input[type=email]:focus,form fieldset .field input[type=password]:focus,form fieldset .field textarea:focus{border-color:var(--color-accent);box-shadow:0 0 6px rgba(var(--color-accent),.5);outline:none}form fieldset .field textarea{resize:vertical}form .btn-toolbar{text-align:right}form .btn-toolbar input[type=submit]{background-color:var(--color-accent);color:var(--color-white);border:none;padding:.75rem 1.5rem;font-size:1rem;border-radius:.375rem;cursor:pointer;transition:background-color .3s ease,transform .2s ease}form .btn-toolbar input[type=submit]:hover{background-color:var(--color-accent-hover);transform:translateY(-2px)}form .btn-toolbar input[type=submit]:focus-visible{box-shadow:0 0 0 3px var(--color-white),0 0 0 6px var(--color-accent)}.footer{padding:4rem var(--base-padding-horizontal) 6rem;background-color:var(--color-grey-900);color:var(--color-grey-100);text-align:center;font-size:.875rem}.footer__container{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:1.5rem}.footer__text{margin:0;font-size:1rem;color:var(--color-grey-400)}.footer__list{list-style-type:none;margin:0;padding:0;display:flex;justify-content:center;gap:1rem}.footer__item{margin:0}.footer__link{text-decoration:none;font-size:.875rem;color:var(--color-grey-100);transition:color .3s ease}.footer__link:hover{text-decoration:underline;color:var(--color-primary-light)}.footer__link:active{color:var(--color-primary-dark)}.languages-bar{font-size:.85rem;background-color:var(--color-grey-900);padding:.5rem var(--base-padding-horizontal)}.languages-bar .horizontal{justify-content:center}.languages-bar,.languages-bar a{color:var(--color-grey-100)}.languages-bar a{text-decoration:none;text-underline-offset:.25rem}.languages-bar a:hover,.languages-bar a.active{text-decoration:underline}.hero{position:relative;box-sizing:border-box;background:linear-gradient(135deg,var(--color-grey-800),var(--color-grey-900));background-attachment:fixed;height:calc(100vh - 6.25rem);display:flex;justify-content:center;align-items:center;overflow:hidden}.hero svg{width:auto;height:110%;-o-object-fit:cover;object-fit:cover;position:absolute;background-color:transparent}.hero svg path{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:.3125rem;stroke:var(--color-grey-700);animation:stroke-draw 3s ease forwards}.hero__inner{gap:.75rem;z-index:1;position:relative;display:flex;padding:2.5rem;align-items:center;flex-direction:column;background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--color-white);border-radius:0;box-shadow:var(--shadow-lg);max-width:600px;text-align:center;animation:fade-in .6s ease-out forwards}.hero__inner h2{margin-bottom:.25rem}@media (min-width: 1024px){.hero__inner{padding:3rem 4rem;gap:2rem;max-width:900px;flex-direction:row;text-align:left}}.hero__link{display:inline-flex;align-items:center;justify-content:center;height:3.25rem;padding:0 2rem;cursor:pointer;font-size:.85rem;text-transform:uppercase;letter-spacing:.1em;font-weight:var(--weight-semibold);text-decoration:none;border-radius:0;color:var(--color-white);background-color:var(--color-grey-900);border:1px solid var(--color-grey-900);box-shadow:var(--shadow-sm);transition:all .2s ease-in-out}.hero__link:hover{background-color:#000;border-color:#000;transform:translateY(-2px);box-shadow:var(--shadow-md);color:var(--color-white)!important}.hero__link:active{transform:translateY(0)}@media (min-width: 1024px){.hero__link{padding:0 3rem;font-size:1rem}}
