:root{--primary-color:#60a5fa;--primary-btn-bg:#2563eb;--primary-dark:#1d4ed8;--secondary-color:#e2e8f0;--dark-bg:#0f172a;--card-bg:rgba(30, 41, 59, 0.7);--glass-border:rgba(255, 255, 255, 0.1);--font-heading:'Outfit', sans-serif;--font-body:'Inter', sans-serif}body,html{width:100%;max-width:100%;overflow-x:hidden}body{font-family:var(--font-body);background-color:var(--dark-bg)!important;color:#f8fafc}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700}.text-primary{color:var(--primary-color)!important}.text-secondary{color:var(--secondary-color)!important}.btn{font-weight:600;padding:.75rem 1.75rem;transition:all .3s ease}.btn-primary{background-color:var(--primary-btn-bg);border:0;color:#fff}.btn-outline-primary,.btn-outline-primary:hover{color:var(--primary-color);border-color:var(--primary-color)}.btn-outline-primary:hover{background-color:var(--primary-color);color:var(--dark-bg)}.btn-primary:hover{background-color:var(--primary-dark);transform:translateY(-2px);box-shadow:0 10px 15px -3px rgba(59,130,246,.4)}.glass-nav{background:rgba(15,23,42,.8);backdrop-filter:blur(10px);border-bottom:1px solid var(--glass-border);transition:all .3s ease}.navbar.scrolled{padding:.5rem 0;background:rgba(15,23,42,.95);box-shadow:0 4px 6px -1px rgba(0,0,0,.1)}.glass-card{background:var(--card-bg);backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:1.25rem;transition:all .4s cubic-bezier(.175,.885,.32,1.275)}.glass-card:hover{transform:translateY(-8px);border-color:rgba(59,130,246,.3);box-shadow:0 20px 25px -5px rgba(0,0,0,.3)}#hero{padding:160px 0 100px;background:radial-gradient(circle at top right,rgba(59,130,246,.1),transparent 40%),radial-gradient(circle at bottom left,rgba(59,130,246,.05),transparent 40%)}.hero-title{font-size:3.5rem;line-height:1.2;margin-bottom:1.5rem}@media (max-width:768px){.hero-title{font-size:2.5rem}}.badge-tech{background:rgba(59,130,246,.1);color:var(--primary-color);border:1px solid rgba(59,130,246,.2);padding:.5rem 1rem;border-radius:50px;font-size:.875rem;font-weight:600}section{padding:100px 0}.section-title{font-size:2.5rem;margin-bottom:3rem;text-align:center}.section-subtitle{color:var(--secondary-color);text-transform:uppercase;letter-spacing:.1em;font-size:.875rem;font-weight:700;display:block;margin-bottom:1rem;text-align:center}.portfolio-item{position:relative}.portfolio-img{transition:transform .5s ease}.portfolio-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(to top,rgba(15,23,42,.9),transparent);opacity:0;transition:opacity .3s ease;display:flex;flex-direction:column;justify-content:flex-end;padding:2rem}.portfolio-item:hover .portfolio-overlay{opacity:1}.portfolio-item:hover .portfolio-img{transform:scale(1.1)}.feature-icon{width:60px;height:60px;background:var(--primary-color);border-radius:15px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin-bottom:1.5rem;box-shadow:0 8px 16px rgba(59,130,246,.2)}#knowhow{background:rgba(30,41,59,.3)}.philosophy-card{border-left:4px solid var(--primary-color);padding-left:1.5rem}.transition-hover{transition:all .3s ease}.transition-hover:hover{color:var(--primary-color)!important;transform:translateY(-2px)}.bg-black-50{background-color:rgba(0,0,0,.5)}.opacity-75{opacity:.75}.contact-icon-circle{width:50px;height:50px;display:flex;align-items:center;justify-content:center;border-radius:50%;background-color:rgba(59,130,246,.1);flex-shrink:0}.portfolio-swiper{padding:60px 0;position:relative;width:100%;overflow-y:visible}.portfolio-swiper .swiper-slide{height:auto;display:flex;transition:all .5s cubic-bezier(.4,0,.2,1);transform:scale(.85);opacity:.5;filter:blur(4px);backface-visibility:hidden;-webkit-font-smoothing:subpixel-antialiased;flex-shrink:0;width:100%}@media (min-width:768px){.portfolio-swiper .swiper-slide{width:60%}}@media (min-width:1024px){.portfolio-swiper .swiper-slide{width:30%}}.portfolio-swiper .swiper-slide-active{transform:scale(1);opacity:1;filter:blur(0);z-index:5}.portfolio-item{width:100%;display:flex;flex-direction:column;background:var(--card-bg);border:1px solid var(--glass-border);border-radius:1.25rem;overflow:hidden;box-shadow:0 10px 30px -5px rgba(0,0,0,.3)}.portfolio-img{width:100%;height:220px;object-fit:cover}.portfolio-details{margin-top:auto;opacity:1;max-height:none}.portfolio-swiper .swiper-pagination{position:absolute;bottom:0!important;width:100%;text-align:center}.portfolio-swiper .swiper-pagination-bullet{width:10px;height:10px;background:rgba(255,255,255,.3);opacity:1;transition:all .3s ease}.portfolio-swiper .swiper-pagination-bullet-active{width:30px;border-radius:5px;background:var(--primary-color)}.portfolio-nav-next,.portfolio-nav-prev{background:rgba(15,23,42,.8);border:1px solid var(--glass-border);color:#fff}@media (min-width:1024px){.portfolio-nav-prev{left:20px}.portfolio-nav-next{right:20px}}.portfolio-nav-next:hover,.portfolio-nav-prev:hover{box-shadow:0 0 15px rgba(59,130,246,.5)}.portfolio-swiper .swiper-button-next,.portfolio-swiper .swiper-button-prev{display:none!important}.portfolio-nav-next,.portfolio-nav-prev{position:absolute;top:50%;transform:translateY(-50%);width:45px;height:45px;background:rgba(15,23,42,.9);border:1px solid rgba(255,255,255,.15);border-radius:50%;color:var(--primary-color);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;z-index:10;font-size:1rem}.portfolio-nav-prev{left:20px}.portfolio-nav-next{right:20px}.portfolio-nav-next:hover,.portfolio-nav-prev:hover{background:var(--primary-color);color:#fff}@media (max-width:767px){.portfolio-nav-next,.portfolio-nav-prev{display:none}}@media (min-width:1600px){.container{max-width:1520px}.portfolio-img{height:300px}}@media (min-width:1920px){.container{max-width:1760px}.portfolio-img{height:400px}body{font-size:1.1rem}h1{font-size:4.5rem}h2{font-size:3rem}#hero{min-height:80vh;display:flex;align-items:center}.portfolio-wide-limit{max-width:1760px;margin:0 auto;border-radius:1.5rem;overflow:hidden}.about-text p,.section-title p{max-width:80%}}.form-floating>.form-control:focus~label::after,.form-floating>.form-control:not(:placeholder-shown)~label::after{background-color:transparent!important}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label{background-color:transparent!important;color:var(--primary-color)!important}.form-floating>label{background-color:transparent!important;color:var(--secondary-color)}