@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Space+Grotesk:wght@500;600;700&display=swap");*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}:root{--bg:#f8fafc;--bg-soft:#eef2ff;--surface:#fff;--surface-alt:#f1f5f9;--border:#dbe3ee;--text:#0f172a;--muted:#475569;--accent:#e11d48;--accent-strong:#be123c;--white:#fff;--shadow:0 20px 45px rgba(15,23,42,.08);--section-space:96px}[data-theme=dark]{--bg:#050505;--bg-soft:#0a0a0a;--surface:#111;--surface-alt:#1a1a1a;--border:#2a2a2a;--text:#f5f5f5;--muted:#a3a3a3;--accent:#f43f5e;--accent-strong:#fb7185;--white:#fff;--shadow:0 24px 48px rgba(0,0,0,.35)}body{font-family:Inter,sans-serif;background:radial-gradient(circle at top right,var(--bg-soft),var(--bg));color:var(--text);line-height:1.65}a{color:inherit;text-decoration:none}section{padding:var(--section-space) 0}.max-width{width:min(1120px,calc(100% - 48px));margin:0 auto}.about,.contact,.services,.skills,.teams,footer{font-family:Inter,sans-serif}section .title{font-family:Space Grotesk,sans-serif;position:relative;width:-moz-fit-content;width:fit-content;margin:0 auto 44px;font-size:clamp(2rem,3vw,2.7rem);font-weight:700;letter-spacing:-.02em;color:var(--text)}section .title:before{content:"";position:absolute;left:0;right:0;bottom:-12px;height:2px;background:linear-gradient(90deg,transparent,var(--border),transparent)}section .title:after{position:absolute;left:50%;bottom:-24px;transform:translateX(-50%);display:inline-block;width:-moz-max-content;width:max-content;white-space:nowrap;line-height:1;background:var(--surface);color:var(--accent);padding:0 8px;font-size:.95rem;font-weight:600}.navbar{position:fixed;inset:0 0 auto 0;z-index:999;padding:22px 0;transition:all .3s ease}.navbar.active,.navbar.full-bg{padding:14px 0;background:color-mix(in srgb,var(--surface) 84%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}.navbar .max-width{display:flex;align-items:center;gap:20px}.navbar .logo a{font-family:Space Grotesk,sans-serif;font-size:1.7rem;font-weight:700;color:var(--text)}.navbar .logo a span{color:var(--accent)}.navbar .menu{margin-left:auto;display:flex;align-items:center;gap:4px;list-style:none}.navbar .menu li{display:inline-flex}.navbar .menu li .nav-link{font-size:.98rem;font-weight:500;color:var(--muted);padding:8px 12px;border-radius:999px;transition:all .25s ease}.navbar .menu li .nav-link:hover{color:var(--text);background:var(--surface-alt);transform:translateY(-1px)}.theme-toggle{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:999px;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;padding:0;font-size:1rem;font-weight:600;cursor:pointer;transition:all .25s ease}.theme-toggle:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}.theme-toggle i{line-height:1}.menu-btn{display:none;border:none;background:transparent;color:var(--text);font-size:1.2rem;cursor:pointer}.home{width:100%;aspect-ratio:16/9;background-color:#f7f8fc;overflow:hidden}[data-theme=dark] .home{background-color:#050505}.home .home-image{width:100%;height:auto;display:block}.page-skeleton{width:100%}.skeleton-hero{width:100%;aspect-ratio:16/9;background:linear-gradient(90deg,var(--surface-alt) 20%,color-mix(in srgb,var(--surface-alt) 70%,var(--surface)) 50%,var(--surface-alt) 80%);background-size:220% 100%;animation:skeletonShimmer 1.3s linear infinite}.skeleton-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding:40px 0}.skeleton-card{height:280px;border-radius:18px;border:1px solid var(--border);background:linear-gradient(90deg,var(--surface-alt) 20%,color-mix(in srgb,var(--surface-alt) 70%,var(--surface)) 50%,var(--surface-alt) 80%);background-size:220% 100%;animation:skeletonShimmer 1.3s linear infinite}.about .about-content,.contact .contact-content,.skills .skills-content{display:flex;flex-wrap:wrap;gap:32px;align-items:stretch}.about .about-content .left,.about .about-content .right,.contact .contact-content .column,.skills .skills-content .column{background:var(--surface);border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow);transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}.about .about-content .left:hover,.about .about-content .right:hover,.contact .contact-content .column:hover,.skills .skills-content .column:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--accent) 28%,var(--border))}.about .title:after{content:"who i am"}.about .about-content .left{width:min(360px,100%);padding:14px}.about .about-content .left img{width:100%;height:100%;max-height:420px;-o-object-fit:cover;object-fit:cover;border-radius:14px}.about .about-content .right{flex:1;min-width:300px;padding:28px}.about .about-content .right .text{font-size:1.4rem;font-weight:700;margin-bottom:14px}.about .about-content .right .text span{color:var(--accent)}.about .about-content .right p{color:var(--muted)}.about .about-content .right a{display:inline-flex;margin-top:18px;padding:10px 16px;border-radius:10px;border:1px solid var(--accent);background:var(--accent);color:var(--white);font-weight:600;transition:transform .25s ease,background .25s ease}.about .about-content .right a:hover{background:var(--accent-strong);transform:translateY(-1px)}.services .title:after{content:"what i provide"}.serv-content{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.services .serv-content .card{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:28px 22px;transition:all .25s ease}.services .serv-content .card:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:color-mix(in srgb,var(--accent) 32%,var(--border))}.services .serv-content .card .box i{font-size:1.9rem;color:var(--accent);transition:transform .25s ease}.services .serv-content .card:hover .box i{transform:scale(1.08) rotate(-4deg)}.services .serv-content .card .text{margin:14px 0 8px;font-size:1.2rem;font-weight:700}.services .serv-content .card p{color:var(--muted)}.skills .title:after{content:"what i know"}.skills .skills-content .column{flex:1;min-width:300px;padding:26px}.skills .skills-content .left .text{font-size:1.25rem;font-weight:700;margin-bottom:12px}.skills .skills-content .left ul{padding-left:18px;color:var(--muted)}.skills .skills-content .left li+li{margin-top:10px}.skills .skills-content .left a{display:inline-flex;margin-top:20px;padding:10px 16px;border-radius:10px;border:1px solid var(--border);background:var(--surface-alt);font-weight:600}.skills .skills-content .right .info+.info{margin-top:14px}.skills .skills-content .right .top{display:flex;justify-content:space-between;font-weight:600;margin-bottom:8px}.skills .skills-content .right .line{position:relative;width:100%;height:8px;border-radius:999px;background:var(--surface-alt);overflow:hidden}.skills .skills-content .right .line .line-fill{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),#fb7185);width:0;animation:fillBar 1.15s ease-out forwards;animation-delay:.12s}.skills .skills-content .right .info:nth-child(2) .line-fill{animation-delay:.22s}.skills .skills-content .right .info:nth-child(3) .line-fill{animation-delay:.32s}.skills .skills-content .right .info:nth-child(4) .line-fill{animation-delay:.42s}.skills .skills-content .right .info:nth-child(5) .line-fill{animation-delay:.52s}.skills .skills-content .right .info:nth-child(6) .line-fill{animation-delay:.62s}.skills .skills-content .right .info .top span:last-child{color:color-mix(in srgb,var(--accent) 72%,var(--text))}.teams .title:after{content:"featured work"}.teams .carousel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.teams .max-width{width:min(1280px,calc(100% - 48px))}.teams .carousel .card{background:var(--surface);border:1px solid var(--border);border-radius:18px;overflow:hidden;transition:all .25s ease}.teams .carousel .card:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:color-mix(in srgb,var(--accent) 32%,var(--border))}.teams .carousel .card .box{display:grid}.teams .carousel .card img{width:100%;height:300px;-o-object-fit:contain;object-fit:contain;-o-object-position:top center;object-position:top center;transition:transform .45s ease}.teams .carousel .card:hover img{transform:scale(1.045)}.teams .carousel .card .text{padding:16px;font-size:1.05rem;font-weight:700}.teams .carousel .card p{padding:0 16px 16px;color:var(--muted);font-size:.95rem;line-height:1.6}.githubDiv{padding-top:28px;text-align:center}.github2{display:inline-flex;padding:10px 18px;border-radius:10px;background:var(--accent);color:var(--white);font-weight:600;transition:transform .25s ease,background .25s ease}.github2:hover{background:var(--accent-strong);transform:translateY(-1px)}.contact .title:after{content:"let's connect"}.contact .contact-content .column{flex:1;min-width:300px;padding:26px}.contact .contact-content .text{font-size:1.25rem;font-weight:700;margin-bottom:12px}.contact .contact-content .left p{color:var(--muted)}.contact .contact-content .row{display:flex;align-items:center;gap:12px;margin-top:14px}.contact .contact-content .row .icon i{color:var(--accent);font-size:1.1rem;transition:transform .25s ease}.contact .contact-content .row:hover .icon i{transform:translateX(2px)}.contact .contact-content .info .sub-title{color:var(--muted)}.contact .right form .fields{display:flex;gap:12px}.contact .right form .field,.contact .right form .fields .field{width:100%;margin-bottom:12px}.contact .right form .textarea{width:100%}.contact .right form input,.contact .right form textarea{width:100%;border:1px solid var(--border);border-radius:12px;padding:12px 14px;background:var(--surface-alt);color:var(--text);font-family:inherit;font-size:.98rem}.contact .right form input:focus,.contact .right form textarea:focus{outline:2px solid color-mix(in srgb,var(--accent) 35%,transparent);border-color:var(--accent)}.contact .right form textarea{resize:vertical;min-height:130px}.right form .button-area button{border:none;border-radius:10px;padding:11px 18px;font-weight:600;background:var(--accent);color:var(--white);cursor:pointer;transition:transform .25s ease,background .25s ease}.right form .button-area button:hover{background:var(--accent-strong);transform:translateY(-1px)}.site-footer{margin-top:28px;padding:36px 0 20px;background:var(--surface);border-top:1px solid var(--border)}.site-footer .footer-top{display:grid;grid-template-columns:1.2fr 1fr auto;gap:24px;align-items:center}.site-footer .footer-brand h3{font-family:Space Grotesk,sans-serif;font-size:1.25rem;margin-bottom:4px}.site-footer .footer-brand .footer-brand-logo{font-size:1.7rem;font-weight:700;letter-spacing:-.02em;color:var(--text)}.site-footer .footer-brand .footer-brand-logo span{color:var(--accent)}.site-footer .footer-brand p{color:var(--muted);font-size:.95rem}.site-footer .footer-links{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}.site-footer .footer-links a{color:var(--muted);font-weight:500;transition:color .2s ease}.site-footer .footer-links a:hover{color:var(--accent)}.site-footer .footer-socials{display:flex;gap:10px}.site-footer .footer-socials a{width:36px;height:36px;border-radius:999px;border:1px solid var(--border);color:var(--text);display:inline-flex;align-items:center;justify-content:center;transition:all .25s ease}.site-footer .footer-socials a:hover{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,var(--border));transform:translateY(-1px)}.site-footer .footer-bottom{margin-top:20px;padding-top:14px;border-top:1px solid var(--border);color:var(--muted);font-size:.9rem;text-align:center}.scroll-up-btn{position:fixed;right:24px;bottom:24px;width:42px;height:42px;border-radius:12px;background:var(--accent);color:var(--white);display:grid;place-items:center;font-size:1.15rem;cursor:pointer;opacity:0;pointer-events:none;transition:all .25s ease;z-index:1000}.scroll-up-btn.show{opacity:1;pointer-events:auto}.scroll-up-btn.show:hover{transform:translateY(-2px)}.reveal{opacity:0;transform:translateY(28px);transition:opacity .75s ease,transform .75s ease}.reveal.is-visible{opacity:1;transform:translateY(0)}.spinner-overlay{position:fixed;inset:0;background:rgba(2,6,23,.35);display:flex;align-items:center;justify-content:center;z-index:1200}.spinner{width:44px;height:44px;border:4px solid hsla(0,0%,100%,.25);border-top:4px solid var(--white);border-radius:50%;animation:spin .85s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}@keyframes skeletonShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes fillBar{to{width:var(--target-width)}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal,.reveal.is-visible{opacity:1!important;transform:none!important}}@media (max-width:980px){.serv-content{grid-template-columns:repeat(2,minmax(0,1fr))}.teams .carousel{grid-template-columns:1fr}}@media (max-width:860px){:root{--section-space:78px}.menu-btn{display:inline-flex;margin-left:4px}.theme-toggle{margin-left:auto}.navbar .menu{position:fixed;inset:68px 14px auto 14px;flex-direction:column;align-items:stretch;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:10px;opacity:0;pointer-events:none;transform:translateY(-8px);transition:all .2s ease}.navbar .menu.active{opacity:1;pointer-events:auto;transform:translateY(0)}.navbar .menu li .nav-link{display:block;border-radius:10px;padding:10px 12px}}@media (max-width:700px){.max-width{width:min(1120px,calc(100% - 32px))}.home,.skeleton-hero{aspect-ratio:16/9}.serv-content{grid-template-columns:1fr}.contact .right form .fields{flex-direction:column;gap:0}.scroll-up-btn{right:16px;bottom:16px}.site-footer .footer-top{grid-template-columns:1fr;text-align:center}.site-footer .footer-socials{justify-content:center}.skeleton-grid{grid-template-columns:1fr}}.owl-carousel{display:none;width:100%;-webkit-tap-highlight-color:transparent;position:relative;z-index:1}.owl-carousel .owl-stage{position:relative;touch-action:manipulation;-moz-backface-visibility:hidden}.owl-carousel .owl-stage:after{content:".";display:block;clear:both;visibility:hidden;line-height:0;height:0}.owl-carousel .owl-stage-outer{position:relative;overflow:hidden;-webkit-transform:translateZ(0)}.owl-carousel .owl-item,.owl-carousel .owl-wrapper{-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;-webkit-transform:translateZ(0);-moz-transform:translateZ(0);-ms-transform:translateZ(0)}.owl-carousel .owl-item{position:relative;min-height:1px;float:left;-webkit-backface-visibility:hidden;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}.owl-carousel .owl-item img{display:block;width:100%}.owl-carousel .owl-dots.disabled,.owl-carousel .owl-nav.disabled{display:none}.owl-carousel .owl-dot,.owl-carousel .owl-nav .owl-next,.owl-carousel .owl-nav .owl-prev{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.owl-carousel .owl-nav button.owl-next,.owl-carousel .owl-nav button.owl-prev,.owl-carousel button.owl-dot{background:none;color:inherit;border:none;padding:0!important;font:inherit}.owl-carousel.owl-loaded{display:block}.owl-carousel.owl-loading{opacity:0;display:block}.owl-carousel.owl-hidden{opacity:0}.owl-carousel.owl-refresh .owl-item{visibility:hidden}.owl-carousel.owl-drag .owl-item{touch-action:pan-y;-webkit-user-select:none;-moz-user-select:none;user-select:none}.owl-carousel.owl-grab{cursor:move;cursor:grab}.owl-carousel.owl-rtl{direction:rtl}.owl-carousel.owl-rtl .owl-item{float:right}.no-js .owl-carousel{display:block}.owl-carousel .animated{animation-duration:1s;animation-fill-mode:both}.owl-carousel .owl-animated-in{z-index:0}.owl-carousel .owl-animated-out{z-index:1}.owl-carousel .fadeOut{animation-name:fadeOut}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.owl-height{transition:height .5s ease-in-out}.owl-carousel .owl-item .owl-lazy{opacity:0;transition:opacity .4s ease}.owl-carousel .owl-item .owl-lazy:not([src]),.owl-carousel .owl-item .owl-lazy[src^=""]{max-height:0}.owl-carousel .owl-item img.owl-lazy{transform-style:preserve-3d}.owl-carousel .owl-video-wrapper{position:relative;height:100%;background:#000}.owl-carousel .owl-video-play-icon{position:absolute;height:80px;width:80px;left:50%;top:50%;margin-left:-40px;margin-top:-40px;background:url(/_next/static/media/owl.video.play.e3b43643.png) no-repeat;cursor:pointer;z-index:1;-webkit-backface-visibility:hidden;transition:transform .1s ease}.owl-carousel .owl-video-play-icon:hover{transform:scale(1.3)}.owl-carousel .owl-video-playing .owl-video-play-icon,.owl-carousel .owl-video-playing .owl-video-tn{display:none}.owl-carousel .owl-video-tn{opacity:0;height:100%;background-position:50%;background-repeat:no-repeat;background-size:contain;transition:opacity .4s ease}.owl-carousel .owl-video-frame{position:relative;z-index:1;height:100%;width:100%}.owl-theme .owl-nav{margin-top:10px;text-align:center;-webkit-tap-highlight-color:transparent}.owl-theme .owl-nav [class*=owl-]{color:#fff;font-size:14px;margin:5px;padding:4px 7px;background:#d6d6d6;display:inline-block;cursor:pointer;border-radius:3px}.owl-theme .owl-nav [class*=owl-]:hover{background:#869791;color:#fff;text-decoration:none}.owl-theme .owl-nav .disabled{opacity:.5;cursor:default}.owl-theme .owl-nav.disabled+.owl-dots{margin-top:10px}.owl-theme .owl-dots{text-align:center;-webkit-tap-highlight-color:transparent}.owl-theme .owl-dots .owl-dot{display:inline-block;zoom:1;*display:inline}.owl-theme .owl-dots .owl-dot span{width:10px;height:10px;margin:5px 7px;background:#d6d6d6;display:block;-webkit-backface-visibility:visible;transition:opacity .2s ease;border-radius:30px}.owl-theme .owl-dots .owl-dot.active span,.owl-theme .owl-dots .owl-dot:hover span{background:#869791}