@import url('/assets/css/fonts.css');

:root{color-scheme:dark;--bg:#0C1715;--surface:#111918;--surface-raised:#16201e;--text:#F5F8F7;--muted:#95a5a0;--accent:#50DDB1;--teal:#57d4d0;--border:#283430;--font:'Manrope',Arial,sans-serif;--mono:'JetBrains Mono',Consolas,monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--text);font:400 16px/1.7 var(--font);-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:5px}::selection{background:var(--accent);color:var(--bg)}.container{width:min(1280px,calc(100% - 112px));margin-inline:auto}.skip-link{position:fixed;top:-100px;left:20px;background:var(--accent);color:var(--bg);z-index:30;padding:12px}.skip-link:focus{top:12px}.header{height:104px;border-bottom:1px solid var(--border);background:var(--bg)}.header__inner{display:flex;align-items:center;justify-content:space-between;height:100%;gap:32px}.brand{display:inline-flex;align-items:center;gap:13px;flex-shrink:0}.brand__logo{display:block;width:220px;height:auto}.navigation{display:flex;align-items:center;gap:36px}.navigation__link{font-size:14px;color:#b8c3be;transition:color .2s}.navigation__link:hover{color:var(--accent)}.header__toggle{display:none}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;border:1px solid transparent;border-radius:6px;padding:18px 23px;font-size:14px;font-weight:650;line-height:1.4;transition:background .2s,transform .2s,border-color .2s}.button:hover{transform:translateY(-2px)}.button--primary{background:var(--accent);color:#08281f}.button--primary:hover{background:#a0ffdf}.button--small{padding:12px 17px;font-size:13px}.button--outline{border-color:#3f5149;background:transparent}.button--outline:hover{border-color:var(--accent)}.button__plus{font-size:22px;line-height:1;font-weight:400}.hero{padding-top:37px;overflow:hidden;background:radial-gradient(ellipse at 88% 36%,#10352c66,transparent 46%)}.hero__topline{display:flex;justify-content:space-between;align-items:center}.eyebrow{text-transform:uppercase;font:400 11px/1.6 var(--mono);letter-spacing:2px;color:var(--accent)}.hero__location{font:11px var(--mono);color:#71857b}.hero__grid{display:grid;grid-template-columns:1.16fr 1fr;gap:70px;align-items:center;padding:68px 0 78px}.hero h1{font-size:clamp(45px,4.8vw,70px);line-height:1.16;letter-spacing:-3.8px;font-weight:500}.hero h1>span{color:var(--accent)}.hero__description{max-width:470px;color:#a7b6b0;font-size:16px;line-height:1.8;margin-top:26px}.hero__actions{display:flex;align-items:center;gap:25px;margin-top:35px;flex-wrap:wrap}.hero__secondary{font-size:12px;color:#becac4;border-bottom:1px solid #4d6156;padding:7px 0}.hero__secondary:hover{color:var(--accent)}.workbench{background:linear-gradient(140deg,#18231fe6,#101815);border:1px solid #375245;border-radius:12px;box-shadow:0 24px 90px #0004;transform:rotate(-2deg);margin:14px 0 0;min-width:0;position:relative}.workbench:after{content:'';position:absolute;z-index:-1;inset:15px -12px -15px 12px;border:1px solid #263e33;border-radius:12px;background:#0c1712;transform:rotate(4deg)}.workbench__bar{height:48px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;border-bottom:1px solid #2a3931;color:#84978b;font:11px var(--mono)}.workbench__dots{display:flex;gap:5px}.workbench__dots i{width:7px;height:7px;border-radius:50%;background:#486252}.workbench__dots i:first-child{background:#7caa8d}.workbench__symbol{font-size:17px}.workbench__tabs{display:flex;gap:0;border-bottom:1px solid #2a3931;padding:0 14px}.workbench__tab{border:0;background:none;color:#7f9689;padding:16px 12px;font:11px var(--mono);border-bottom:1px solid transparent;white-space:nowrap}.workbench__tab span{opacity:.5;margin-left:5px}.workbench__tab[aria-selected=true]{color:var(--accent);border-bottom-color:var(--accent);background:#75efc905}.workbench__code{padding:27px 17px 25px;font:12px/2.25 var(--mono);color:#d4e1d9}.workbench__line{display:flex;white-space:nowrap;gap:19px}.workbench__number{color:#4e6557;width:16px;text-align:right;flex:none;user-select:none}.workbench__comment{color:#729880}.workbench__keyword{color:#77d3cc}.workbench__string{color:#b4e6a6}.workbench__function{color:#eadfa1}.workbench__line--spaced{margin-top:14px}.workbench__cursor{display:inline-block;width:6px;height:14px;background:var(--accent);margin-left:3px;vertical-align:middle;animation:blink 1.4s steps(1) infinite}.workbench__result{margin:0 20px 24px;display:flex;align-items:center;gap:12px;border:1px solid #36563f;border-radius:6px;background:#25412a55;padding:16px 12px}.workbench__check{display:grid;place-items:center;width:29px;height:29px;border:1px solid #729878;border-radius:50%;color:#b0df9e;flex:none}.workbench__result-label{display:block;font:9px var(--mono);text-transform:uppercase;letter-spacing:1px;color:#9bbb94;margin-bottom:6px}.workbench__result p{font-size:12px;color:#e1efda;line-height:1.5}.workbench__result-index{font:23px var(--mono);margin-left:auto;color:#8ea97a66}.workbench__footer{display:flex;justify-content:space-between;gap:5px;padding:10px 18px;border-top:1px solid #2a3931;color:#728a7a;font:9px var(--mono)}.workbench__footer b{color:#3b5845;padding:0 7px;font-weight:400}.hero__bottom{border-top:1px solid var(--border);padding:28px 0;display:flex;align-items:center;gap:35px}.hero__stack-label{font-size:11px;color:#788e82}.stack{display:flex;gap:29px;flex-wrap:wrap;color:#c1cec6;font:13px var(--mono)}.hero__scroll{margin-left:auto;font-size:11px;color:#8b9b93;white-space:nowrap}.hero__scroll span{margin-left:14px;color:var(--accent)}.section{padding:103px 0}.section__heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:44px}.section__heading .eyebrow,.experience .eyebrow,.contact .eyebrow{margin-bottom:21px}h2{font-size:clamp(32px,3.1vw,45px);line-height:1.25;letter-spacing:-1.8px}.text-muted{color:#83958b}.section__intro{color:var(--muted);font-size:14px;line-height:1.8;padding-bottom:5px}.services{border-top:1px solid var(--border)}.services__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service{border:1px solid var(--border);border-radius:8px;padding:29px 30px 0;background:#111816;display:flex;flex-direction:column;transition:border-color .2s,transform .2s}.service:hover{border-color:#5f8270;transform:translateY(-4px)}.service--web{background:linear-gradient(135deg,#18332b,#111b18 75%);border-color:#385e4d}.service__top{min-height:36px;display:flex;align-items:center;justify-content:space-between;margin-bottom:33px}.service__icon{display:block;flex:none;width:36px;height:36px;color:var(--accent);background:currentColor;-webkit-mask:var(--service-icon) center/contain no-repeat;mask:var(--service-icon) center/contain no-repeat}.service__icon--android{width:32px;--service-icon:url("/assets/images/android.svg?v=robot-2")}.service__icon--globe{--service-icon:url("/assets/images/globe.svg")}.service__icon--gamepad{width:40px;--service-icon:url("/assets/images/gamepad.svg")}.service__number{color:#799485;font:11px var(--mono)}.service h3{font-size:25px;letter-spacing:-.7px;margin-bottom:13px}.service>p{font-size:14px;line-height:1.8;color:#a0b1a7}.service__list{list-style:none;padding:0;margin:23px 0 28px;font-size:12px;color:#c3d1c8}.service__list li{padding:4px 0;display:flex;gap:10px;align-items:center}.service__list li:before{content:'';width:4px;height:4px;background:#77c8a0}.service__action{margin-top:auto;padding:19px 0;display:flex;justify-content:space-between;align-items:center;font-size:12px;text-align:left;border:0;border-top:1px solid var(--border);background:transparent;color:#d7e7dd}.service__action:hover{color:var(--accent)}.service__action span{font-size:22px;color:var(--accent)}.experience{background:#101614;border-block:1px solid var(--border)}.experience__grid{display:grid;grid-template-columns:1fr 1fr;gap:112px}.experience__description{font-size:15px;line-height:1.9;color:#a1b2a8;margin-top:23px;max-width:420px}.text-link{display:inline-flex;align-items:center;gap:55px;font-size:13px;color:var(--accent);border-bottom:1px solid #49735e;margin-top:28px;padding-bottom:7px}.text-link span{font-size:21px}.experience__item{display:grid;grid-template-columns:37px 1fr;gap:16px;border-bottom:1px solid var(--border);padding:27px 0}.experience__item:first-child{padding-top:0}.experience__item:last-child{border-bottom:0;padding-bottom:0}.experience__index{font:11px var(--mono);color:#68bba0;padding-top:7px}.experience__item h3{font-size:19px;line-height:1.5;margin-bottom:10px;letter-spacing:-.4px}.experience__item p{font-size:13px;line-height:1.9;color:#96aa9c}.tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}.tags span{font:10px var(--mono);padding:6px 9px;border:1px solid #304237;border-radius:4px;color:#aac5b2}.process__steps{display:grid;grid-template-columns:repeat(4,1fr);list-style:none;padding:0;margin:51px 0 0;gap:32px}.process__number{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #3a4e40;padding-bottom:20px;color:var(--accent);font:14px var(--mono);margin-bottom:24px}.process__number span{color:#6d8576}.process__step h3{font-size:19px;margin-bottom:12px}.process__step p{font-size:13px;color:var(--muted);line-height:1.85}.contact{background:radial-gradient(ellipse at 0% 100%,#184a363d,transparent 60%),#121c17;border-block:1px solid #314b3b}.contact__grid{display:grid;grid-template-columns:1fr 1.1fr;gap:100px}.contact h2{font-size:clamp(36px,3.8vw,55px)}.contact h2 span{color:var(--accent)}.contact__intro>p:not(.eyebrow){max-width:340px;color:#a7b9ac;font-size:15px;margin-top:25px}.contact__note{display:flex;gap:20px;align-items:center;margin-top:54px}.contact__note>span{font-size:60px;line-height:1;color:var(--accent);font-weight:300}.contact__note p{font-size:12px;color:#9cb2a1;line-height:1.7}.form__fieldset{border:0;margin:0 0 24px;padding:0;min-width:0}.form__label{display:block;font-size:12px;color:#c0d0c5;margin-bottom:10px}.form__choices{display:flex;gap:8px;flex-wrap:wrap}.form__choice{position:relative}.form__choice input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.form__choice span{display:block;padding:9px 16px;border:1px solid #3b5042;border-radius:5px;color:#a9bcae;font-size:12px;transition:.2s}.form__choice input:checked+span{background:#254e3c;border-color:#76c99f;color:#d7ffe7}.form__choice input:focus-visible+span{outline:2px solid var(--accent);outline-offset:4px}.form__row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form__field{display:block;margin-bottom:21px;min-width:0}.form__input{background:#0c140f77;border:1px solid #354b3c;border-radius:5px;width:100%;padding:13px 14px;color:var(--text);font-size:13px;line-height:1.6;transition:border-color .2s}.form__input:hover{border-color:#6e8f78}.form__input::placeholder{color:#798f80;opacity:1}.form__input--textarea{resize:vertical;min-height:108px;max-height:400px}.form__hint{display:block;font-size:10px;color:#8ba191;margin-top:7px}.form__trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.form__consent{display:flex;gap:10px;font-size:10px;line-height:1.8;color:#9fb6a5;align-items:flex-start;margin-bottom:24px}.form__consent input{width:15px;height:15px;flex-shrink:0;accent-color:var(--accent);margin:3px 0 0}.form__privacy{display:inline;background:none;border:0;border-bottom:1px solid #5c7864;padding:0;color:#c0d9c7;font-size:inherit}.form__submit{width:100%;font-size:13px;padding-block:16px}.form__submit:disabled{opacity:.65;cursor:wait;transform:none}.form__status{font-size:13px;line-height:1.7;margin-top:14px}.form__status--error{color:#ffb0a4}.form__status--success{color:var(--accent)}.footer{padding:34px 0}.footer__inner{display:flex;justify-content:space-between;gap:24px;align-items:center}.footer__inner>p,.footer__inner>span{font-size:11px;color:#809789}.footer .brand__logo{width:190px}.footer__credits{margin-top:20px;font-size:11px;color:var(--muted)}.footer__credits summary{cursor:pointer;width:fit-content}.footer__credits p{max-width:850px;margin-top:10px}.footer__credits a{text-decoration:underline;text-underline-offset:3px}.privacy{width:min(540px,calc(100% - 32px));background:var(--surface);color:var(--text);border:1px solid var(--border);padding:30px;border-radius:12px}.privacy::backdrop{background:#000b;backdrop-filter:blur(6px)}.privacy__heading{display:flex;gap:15px;justify-content:space-between;align-items:start;margin-bottom:20px}.privacy h2{font-size:25px;letter-spacing:-.7px}.privacy p{font-size:14px;color:var(--muted);margin:15px 0}.privacy__close{border:0;background:none;font-size:30px;line-height:1;padding:0 5px}.privacy__close:hover{color:var(--accent)}
@keyframes blink{50%{opacity:0}}
@media(min-width:1600px){.hero h1{font-size:74px}.hero__grid{padding-block:85px}.hero__description{font-size:18px}}
@media(max-width:1150px){.container{width:calc(100% - 64px)}.hero__grid{gap:38px}.hero h1{font-size:52px;letter-spacing:-2.7px}.hero__actions{gap:17px}.hero__secondary{font-size:11px}.workbench__code{font-size:11px;padding-inline:10px}.workbench__line{gap:12px}.workbench__tab{font-size:10px;padding-inline:10px}.hero__stack-label{display:none}.experience__grid{gap:64px}.contact__grid{gap:55px}.service{padding:25px 23px 0}.navigation{gap:25px}.hero__location{display:none}}
@media(max-width:900px){.hero__grid{grid-template-columns:1fr 1fr;gap:25px;padding-block:55px}.hero h1{font-size:43px;letter-spacing:-2px}.hero__description{font-size:14px}.hero__actions{margin-top:25px}.hero__actions .button{font-size:12px;padding:16px}.workbench__code{font-size:10px}.workbench__tab{padding:13px 8px;font-size:9px}.workbench__tab span{display:none}.workbench__result{margin-inline:13px;padding:13px 10px}.workbench__result p{font-size:10px}.workbench__result-label{font-size:8px}.workbench__result-index{display:none}.workbench__footer{font-size:8px;padding-inline:12px}.navigation{gap:20px}.navigation__link{font-size:12px}.button--small{font-size:11px;gap:13px}.section{padding-block:76px}.section__intro{font-size:12px}.service{padding:23px 18px 0}.service>p{font-size:13px}.service__list{font-size:11px}.experience__grid{gap:40px}.contact__grid{gap:35px}.contact .eyebrow{font-size:10px;letter-spacing:1px}.form__row{grid-template-columns:1fr;gap:0}.process__steps{gap:22px}.process__step h3{font-size:17px}.process__step p{font-size:12px}}
@media(max-width:700px){.container{width:calc(100% - 40px)}.header{height:80px}.header__toggle{display:flex;flex-direction:column;gap:6px;background:none;border:1px solid var(--border);border-radius:5px;width:42px;height:40px;align-items:center;justify-content:center}.header__toggle span{width:18px;height:1px;background:var(--text);transition:transform .2s}.header__toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.header__toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.navigation{display:none;position:absolute;top:79px;left:0;right:0;background:#101914;z-index:10;padding:22px 20px;border-bottom:1px solid var(--border)}.navigation--open{display:flex;align-items:stretch;flex-direction:column;gap:16px}.navigation__link{font-size:16px;padding:4px 0}.navigation .button{font-size:14px;justify-content:center}.hero{padding-top:27px}.hero__grid{grid-template-columns:1fr;padding:33px 0 45px;gap:40px}.hero h1{font-size:clamp(41px,8.8vw,62px);line-height:1.17;letter-spacing:-2px}.hero__description{font-size:15px;max-width:440px;margin-top:22px}.hero__actions{gap:22px}.hero__actions .button{font-size:13px}.hero__secondary{font-size:12px}.workbench{width:calc(100% - 12px);max-width:470px;justify-self:center;margin-top:10px;transform:rotate(-1.5deg)}.workbench__tab{font-size:11px;padding:15px 14px}.workbench__code{font-size:12px;padding:23px 16px}.workbench__line{gap:18px}.workbench__result{margin:0 18px 21px;padding:15px}.workbench__result p{font-size:12px}.workbench__result-label{font-size:9px}.workbench__footer{font-size:9px;padding:12px 17px}.hero__bottom{padding-block:25px}.stack{gap:14px;font-size:11px;justify-content:space-between;width:100%}.hero__scroll{display:none}.section{padding:65px 0}.section__heading{align-items:start;flex-direction:column;gap:20px;margin-bottom:28px}.section__heading .eyebrow,.experience .eyebrow,.contact .eyebrow{margin-bottom:15px}.section__intro{font-size:14px}.desktop-break{display:none}h2{font-size:34px;letter-spacing:-1.5px}.services__grid{grid-template-columns:1fr;gap:15px}.service{padding:25px 25px 0}.service__top{margin-bottom:20px}.service h3{font-size:25px}.service>p{font-size:15px;max-width:420px}.service__list{font-size:13px;margin:19px 0}.service__action{font-size:14px}.experience__grid{grid-template-columns:1fr;gap:43px}.experience__description{max-width:100%;font-size:15px}.experience__item h3{font-size:19px}.experience__item p{font-size:14px}.tags span{font-size:11px}.process__steps{grid-template-columns:1fr 1fr;gap:35px 24px;margin-top:30px}.process__step h3{font-size:18px}.process__step p{font-size:14px}.process__number{margin-bottom:17px;padding-bottom:15px}.contact__grid{grid-template-columns:1fr;gap:36px}.contact h2{font-size:41px}.contact__note{display:none}.contact__intro>p:not(.eyebrow){max-width:100%}.form__row{grid-template-columns:1fr 1fr;gap:15px}.form__label{font-size:13px}.form__input{font-size:14px}.form__hint{font-size:11px}.form__consent{font-size:12px}.form__choice span{font-size:12px;padding:10px 14px}.footer__inner{flex-wrap:wrap}.footer__inner>p{display:none}.footer__inner>span{font-size:10px}.eyebrow{font-size:11px;letter-spacing:1.5px}}
@media(max-width:390px){.hero h1{font-size:38px}.form__row{grid-template-columns:1fr;gap:0}.workbench__code{font-size:10px}.workbench__tab{padding-inline:10px}.hero__secondary{font-size:11px}.stack{font-size:10px;gap:10px}.process__steps{grid-template-columns:1fr}.form__choices{gap:6px}.form__choice span{padding-inline:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.workbench{transform:none}}
/* Readable content scale across all viewport sizes. */
.navigation__link,.button--small,.hero__secondary,.section__intro,.service__list,.service__action,.text-link,.workbench__result p,.form__label,.form__choice span,.form__submit{font-size:.875rem}
.hero__description,.service>p,.experience__description,.experience__item p,.process__step p,.contact__intro>p:not(.eyebrow),.form__input{font-size:1rem}
.eyebrow,.hero__location,.hero__stack-label,.hero__scroll,.stack,.service__number,.experience__index,.tags span,.form__hint,.form__consent,.footer__inner>p,.footer__inner>span,.contact__note p{font-size:.75rem}
.workbench__tab{font-size:.75rem}.workbench__code{font-size:.75rem}.workbench__footer,.workbench__result-label{font-size:.625rem}
.contact__links{display:grid;gap:15px;margin-top:32px;max-width:360px}.contact__links a{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:14px;border-bottom:1px solid #304737;padding-bottom:12px}.contact__links a>span{font-size:12px;color:#8eab98}.contact__links a:hover{color:var(--accent)}.contact__note{margin-top:28px}
@media(max-width:1150px){.hero__grid{gap:30px}.workbench__line{gap:10px}.workbench__code{font-size:.6875rem}.navigation{gap:22px}}
@media(max-width:900px) and (min-width:701px){.navigation__link{font-size:.75rem}.button--small{font-size:.75rem}.workbench__tab{font-size:.625rem}.workbench__code{font-size:.5625rem}.workbench__result p{font-size:.75rem}.service{padding-inline:20px}.services__grid{gap:12px}}
@media(max-width:700px){.navigation__link{font-size:1rem}.workbench__code{font-size:.75rem}.workbench__tab{font-size:.75rem}.hero__actions .button{font-size:.875rem}.hero__actions{gap:18px}.hero__secondary{font-size:.875rem}.hero__description{max-width:500px}.contact__links{max-width:100%}.form__row{grid-template-columns:1fr;gap:0}.workbench__footer{font-size:.625rem}}
@media(max-width:390px){.workbench__code{font-size:.625rem}.workbench__tab{font-size:.6875rem}.stack{font-size:.6875rem}.workbench__result p{font-size:.75rem}.workbench__footer{font-size:.5625rem}.hero h1{font-size:36px}}

@media(max-width:900px){.brand__logo{width:190px}.header__inner{gap:20px}}
@media(max-width:390px){.brand__logo{width:175px}.header__inner{gap:12px}}
