@import "https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600&family=Raleway:ital,wght@0,500;0,700;1,700&display=swap";*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{color:#000;background:#fff;font-family:Arial,Helvetica,sans-serif}ul{list-style:none}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer}section{padding:15vh 5%;scroll-margin-top:0}.header{z-index:100;justify-content:space-between;align-items:center;height:60px;padding:0 20px;transition:transform .3s,color .3s;display:flex;position:sticky;top:0}.header:before{content:"";z-index:-1;pointer-events:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(#ffffffbf,#fff0);position:absolute;inset:0 0 -40px;-webkit-mask-image:linear-gradient(#000 45%,#0000);mask-image:linear-gradient(#000 45%,#0000)}.header--hidden{transform:translateY(calc(-100% - 40px))}.logo{font-size:32px}.nav-list{justify-content:center;align-items:center;display:flex}.nav-list li{padding:0 27px}.nav-list li+li{border-left:1px solid #000}.nav-list a{font-size:18px}.header .btn{white-space:nowrap}.section-heading{text-align:center;flex-direction:column;align-items:center;gap:12px;margin-bottom:36px;display:flex}.section-heading h2{font-family:Poppins,sans-serif;font-size:40px;font-weight:500;line-height:1.2}.section-heading p,.section-heading blockquote{font-family:Raleway,sans-serif;font-size:15px;font-weight:700}.section-heading blockquote{font-style:italic}.hero{justify-content:space-between;align-items:center;column-gap:5vh;padding:15vh 13% 15vh 12%;display:flex}.hero-image{aspect-ratio:385/255;flex:none;width:50%;max-width:100vh;position:relative}.hero-text h1{text-align:left;font-family:Poppins,sans-serif;font-size:55px;font-weight:500;line-height:1.2}.side-left{color:#fff;clip-path:polygon(0 0,100% 0,calc(100% - 15px) 100%,0 100%);background:#000;padding-bottom:2px;padding-right:19px;display:inline-block}.side-right{color:#fff;clip-path:polygon(15px 0,100% 0,100% 100%,0 100%);background:#000;margin-left:-6px;padding-bottom:2px;padding-left:18px;display:inline-block}.capabilities-svg{width:100%;max-width:950px;height:auto;margin:0 auto;display:block}.capability-label{fill:#fff;text-anchor:middle;dominant-baseline:middle;font-family:Raleway,sans-serif;font-size:16px;font-weight:700}.about{flex-direction:column;align-items:center;display:flex}.about .section-heading{margin-bottom:40px}.about-description{text-align:justify;width:100%;max-width:820px;line-height:1.15}.about-actions{justify-content:center;align-items:center;gap:11px;margin-top:18px;display:flex}.btn{border:2px solid #000;border-radius:6px;justify-content:center;align-items:center;padding:8px 20px;font-family:Raleway,sans-serif;font-size:14px;font-weight:700;display:inline-flex}.btn-primary{color:#fff;background:#000}.btn-outline{color:#000;background:#fff}.techstack .section-heading{margin-bottom:24px}.techstack-groups{grid-template-columns:repeat(3,240px);justify-content:center;gap:32px 44px;display:grid}.tech-group-title{color:#666;margin-bottom:8px;font-family:Poppins,sans-serif;font-size:15px;font-weight:400}.tech-chips{flex-wrap:wrap;gap:6px 5px;display:flex}.tech-chip{color:#1a1a1a;background:#fff;border:1px solid #d9d9d9;border-radius:8px;align-items:center;gap:8px;height:38px;padding:0 10px;font-family:Poppins,sans-serif;font-size:15px;display:inline-flex}.tech-chip img{object-fit:contain;width:24px;height:24px}.portfolio .section-heading{margin-bottom:30px}.portfolio-grid{grid-template-columns:repeat(3,1fr);justify-content:center;gap:17px 19px;width:100%;max-width:1000px;margin:0 auto;display:grid}.portfolio-card{aspect-ratio:3/2;background:#7f7f7f;border-radius:8px;position:relative;overflow:hidden}.portfolio-card img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.portfolio-info{align-items:flex-end;height:25%;padding:14px 16px;display:flex;position:absolute;bottom:0;left:0;right:0}.portfolio-info:before{content:"";clip-path:polygon(0 0,100% 50%,100% 100%,0 100%);background:#00020bc7;position:absolute;inset:0}.portfolio-info h3{color:#fff;font-family:Raleway,sans-serif;font-size:14px;position:relative}.contact{color:#fff;background:#252525;padding:70px 5% 150px;position:relative}.contact:before{content:"";pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 400' preserveAspectRatio='none'%3E%3Cpath fill='%232c2c2a' d='M0 0H1000V224L528 390Q500 400 472 390L0 224Z'/%3E%3C/svg%3E") 50%/100% 100% no-repeat;position:absolute;inset:0}.contact>*{position:relative}.contact-form{flex-direction:column;align-items:stretch;gap:8px;width:100%;max-width:620px;margin:0 auto;display:flex}.form-row{justify-content:space-between;gap:8px;display:flex}.form-row input{flex:1;min-width:0}.contact-form input,.contact-form textarea{color:#111;background:#fff;border:0;border-radius:5px;padding:0 10px;font-family:Arial,Helvetica,sans-serif;font-size:14px}.contact-form input{height:36px}.contact-form textarea{resize:vertical;height:104px;padding-top:10px}.contact-form ::placeholder{color:#777}.contact-form .btn{color:#000;background:#fff;border-color:#fff;align-self:center;margin-top:12px}.footer{color:#fff;background:#252525;flex-direction:column;align-items:center;gap:32px;padding:70px 5%;display:flex}.footer .nav-list li+li{border-left-color:#fff9}.social-links{justify-content:center;align-items:center;gap:31px;display:flex}.social-links a{display:flex}.footer-contact{justify-content:center;align-items:center;gap:26px;margin-top:-8px;font-size:13px;font-style:normal;display:flex}.footer-contact a{align-items:center;gap:6px;display:flex}.bottom-blur{z-index:90;pointer-events:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(#fff0,#ffffffbf);height:70px;position:fixed;bottom:0;left:0;right:0;-webkit-mask-image:linear-gradient(#0000,#000 65%);mask-image:linear-gradient(#0000,#000 65%)}body.dark-top .header{color:#fff}body.dark-top .header:before{background:linear-gradient(#252525bf,#25252500)}body.dark-top .header .nav-list li+li{border-left-color:#fff9}body.dark-top .header .btn-primary{color:#000;background:#fff;border-color:#fff}body.dark-bottom .bottom-blur{background:linear-gradient(#25252500,#252525bf)}.hero-text h1{font-size:clamp(30px,3.8vw,55px)}.header-actions{align-items:center;gap:10px;display:flex}.menu-toggle{width:40px;height:40px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:0;display:none;position:relative}.menu-toggle span{background:currentColor;border-radius:2px;height:2px;transition:transform .3s,opacity .2s,top .3s;position:absolute;left:9px;right:9px}.menu-toggle span:first-child{top:13px}.menu-toggle span:nth-child(2){top:19px}.menu-toggle span:nth-child(3){top:25px}.header--open .menu-toggle span:first-child{top:19px;transform:rotate(45deg)}.header--open .menu-toggle span:nth-child(2){opacity:0}.header--open .menu-toggle span:nth-child(3){top:19px;transform:rotate(-45deg)}.menu-toggle:focus-visible{outline-offset:2px;outline:2px solid}@media (width<=1280px){.hero-image{width:40%}}@media (width<=1024px){.hero{flex-direction:column;justify-content:center;row-gap:36px;padding:56px 6% 40px}.hero-image{width:min(80%,460px);max-width:none}.hero-text h1{text-align:center;font-size:clamp(28px,6vw,48px)}.nav-list li{padding:0 18px}}@media (width<=900px){.techstack-groups{grid-template-columns:repeat(2,minmax(0,240px))}}@media (width<=768px){section{padding:72px 5%}.header{padding:0 12px}.logo{font-size:24px}.header .btn{padding:6px 12px;font-size:12px}.menu-toggle{display:block}.navbar{opacity:0;visibility:hidden;background:#fff;padding:4px 5% 12px;transition:opacity .25s,transform .25s,visibility .25s;position:absolute;top:100%;left:0;right:0;transform:translateY(-8px);box-shadow:0 12px 24px #00000014}.navbar--open{opacity:1;visibility:visible;transform:none}.header .nav-list{flex-direction:column;align-items:stretch}.header .nav-list li{padding:0}.header .nav-list li+li{border-top:1px solid #e6e6e6;border-left:0}.header .nav-list a{padding:14px 4px;font-size:16px;display:block}body.dark-top .navbar{background:#252525;box-shadow:0 12px 24px #0000004d}body.dark-top .header .nav-list li+li{border-top-color:#ffffff24}.nav-list li{padding:0 10px}.nav-list a{font-size:14px}.section-heading{margin-bottom:28px}.section-heading h2{font-size:32px}.portfolio-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){.techstack-groups{grid-template-columns:minmax(0,360px)}.capability-label{font-size:22px}.form-row{flex-direction:column}.form-row input{flex:none;width:100%}.footer-contact{flex-direction:column;gap:8px}}@media (width<=480px){section{padding:56px 5%}.contact{padding:56px 5% 120px}.section-heading h2{font-size:28px}.section-heading p,.section-heading blockquote{font-size:14px}.capability-label{font-size:24px}.about-description{text-align:left;font-size:15px;line-height:1.45}.about-actions{flex-wrap:wrap}.portfolio-grid{gap:12px}.portfolio-info h3{font-size:12px}.footer{gap:24px;padding:56px 5%}.footer-contact{font-size:12px}.nav-list li{padding:0 8px}}@keyframes fade-up{0%{opacity:0;transform:translateY(32px)}to{opacity:1;transform:none}}@keyframes fade-left{0%{opacity:0;transform:translate(-56px)}to{opacity:1;transform:none}}@keyframes fade-right{0%{opacity:0;transform:translate(56px)}to{opacity:1;transform:none}}@keyframes pop-in{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:none}}@keyframes header-in{0%{opacity:0;transform:translateY(-100%)}}.header{animation:.6s backwards header-in}.reveal{--ease:cubic-bezier(.22, 1, .36, 1);overflow-x:clip}.reveal .section-heading,.reveal .about-description,.reveal .about-actions,.reveal .tech-group,.reveal .tech-chip,.reveal .portfolio-card,.reveal .contact-form>*,.reveal .footer>*,.reveal .hero-image,.reveal .hero-text,.reveal .capabilities-svg>g{opacity:0}.reveal .capabilities-svg>g{transform-box:fill-box;transform-origin:50%}.reveal.is-visible .section-heading,.reveal.is-visible .about-description,.reveal.is-visible .about-actions,.reveal.is-visible .tech-group,.reveal.is-visible .portfolio-card,.reveal.is-visible .contact-form>*,.reveal.is-visible .footer>*{animation:fade-up .8s var(--ease) both}.reveal.is-visible .hero-image{animation:fade-left .9s var(--ease) both}.reveal.is-visible .hero-text{animation:fade-right .9s var(--ease) .15s both}.reveal.is-visible .capabilities-svg>g{animation:pop-in .6s var(--ease) both}.reveal.is-visible .capabilities-svg>g:first-of-type{animation-delay:.15s}.reveal.is-visible .capabilities-svg>g:nth-of-type(2){animation-delay:.25s}.reveal.is-visible .capabilities-svg>g:nth-of-type(3){animation-delay:.35s}.reveal.is-visible .capabilities-svg>g:nth-of-type(4){animation-delay:.45s}.reveal.is-visible .capabilities-svg>g:nth-of-type(5){animation-delay:.55s}.reveal.is-visible .capabilities-svg>g:nth-of-type(6){animation-delay:.65s}.reveal.is-visible .about-description{animation-delay:.15s}.reveal.is-visible .about-actions{animation-delay:.3s}.reveal.is-visible .tech-group:nth-child(2){animation-delay:.1s}.reveal.is-visible .tech-group:nth-child(3){animation-delay:.2s}.reveal.is-visible .tech-chip{animation:pop-in .5s var(--ease) both}.reveal.is-visible .tech-chip:first-child{animation-delay:.3s}.reveal.is-visible .tech-chip:nth-child(2){animation-delay:.37s}.reveal.is-visible .tech-chip:nth-child(3){animation-delay:.44s}.reveal.is-visible .tech-chip:nth-child(4){animation-delay:.51s}.reveal.is-visible .portfolio-card:nth-child(2){animation-delay:80ms}.reveal.is-visible .portfolio-card:nth-child(3){animation-delay:.16s}.reveal.is-visible .portfolio-card:nth-child(4){animation-delay:.24s}.reveal.is-visible .portfolio-card:nth-child(5){animation-delay:.32s}.reveal.is-visible .portfolio-card:nth-child(6){animation-delay:.4s}.reveal.is-visible .contact-form>:nth-child(2),.reveal.is-visible .footer>:nth-child(2){animation-delay:.12s}.reveal.is-visible .contact-form>:nth-child(3),.reveal.is-visible .footer>:nth-child(3){animation-delay:.24s}@media (prefers-reduced-motion:reduce){.header,.reveal *{animation:none!important}.reveal *{opacity:1!important}}html{scrollbar-gutter:stable}.portfolio-card{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;border:1px solid #d3d3d3;padding:0;display:block}.portfolio-card img{transition:transform .4s}.portfolio-card:hover img,.portfolio-card:focus-visible img{transform:scale(1.06)}.portfolio-card:focus-visible{outline-offset:3px;outline:3px solid #000}@keyframes modal-fade{0%{opacity:0}to{opacity:1}}@keyframes modal-pop{0%{opacity:0;transform:translateY(16px)scale(.97)}to{opacity:1;transform:none}}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;justify-content:center;align-items:center;padding:24px;animation:.25s both modal-fade;display:flex;position:fixed;inset:0}.modal{color:#111;background:#fff;border-radius:14px;width:100%;max-width:900px;max-height:90vh;padding:32px;animation:.35s cubic-bezier(.22,1,.36,1) both modal-pop;position:relative;overflow-y:auto;box-shadow:0 20px 60px #00000059}.modal-close{cursor:pointer;background:#f0f0f0;border:0;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:24px;line-height:1;transition:background .2s;display:flex;position:absolute;top:14px;right:14px}.modal-close:hover{background:#e0e0e0}.modal-title{padding-right:44px;font-family:Poppins,sans-serif;font-size:28px;font-weight:500;line-height:1.25}.modal-description{color:#444;margin-top:12px;font-size:15px;line-height:1.65}.modal-links{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.modal-gallery{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;margin-top:24px;display:grid}.modal-thumb{aspect-ratio:16/10;cursor:zoom-in;background:#e5e5e5;border:1px solid #d3d3d3;border-radius:8px;padding:0;position:relative;overflow:hidden}.modal-thumb img{object-fit:cover;width:100%;height:100%;transition:transform .35s;position:absolute;inset:0}.modal-thumb:hover img,.modal-thumb:focus-visible img{transform:scale(1.05)}.modal-thumb:focus-visible,.modal-close:focus-visible,.lightbox-btn:focus-visible{outline-offset:2px;outline:3px solid #0a84ff}.lightbox{z-index:1100;cursor:zoom-out;background:#000000eb;justify-content:center;align-items:center;padding:56px 72px;animation:.2s both modal-fade;display:flex;position:fixed;inset:0}.lightbox-image{object-fit:contain;cursor:default;border-radius:6px;max-width:100%;max-height:100%}.lightbox-btn{color:#fff;cursor:pointer;background:#ffffff24;border:0;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:28px;line-height:1;transition:background .2s;display:flex;position:absolute}.lightbox-btn:hover{background:#ffffff4d}.lightbox-close{top:14px;right:14px}.lightbox-prev{top:50%;left:14px;transform:translateY(-50%)}.lightbox-next{top:50%;right:14px;transform:translateY(-50%)}.lightbox-counter{color:#fff;font-size:14px;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}@media (width<=600px){.modal-overlay{padding:12px}.modal{padding:24px 18px}.modal-title{font-size:22px}.lightbox{padding:64px 8px}.lightbox-prev,.lightbox-next{top:auto;bottom:8px;transform:none}.lightbox-prev{left:14px}.lightbox-next{right:14px}}@media (prefers-reduced-motion:reduce){.modal-overlay,.modal,.lightbox{animation:none!important}}
