.portfolio-section{padding:5rem 6vw;background:var(--bg-dark);position:relative;z-index:55;border-top:1px solid var(--glass-border);} .portfolio-header{text-align:center;margin-bottom:3rem;} .portfolio-header h3{font-family:var(--font-heading);font-size:2.2rem;color:var(--text-primary);margin-bottom:0.5rem;} .portfolio-header p{color:var(--text-secondary);font-size:1.1rem;} .portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem;max-width:1400px;margin:0 auto;} .portfolio-item{position:relative;border-radius:12px;overflow:hidden;cursor:pointer;box-shadow:0 10px 30px rgba(0,0,0,0.05);background:#fff;aspect-ratio:4/3;} .portfolio-item img{width:100%;height:100%;object-fit:cover;transition:transform 0.6s var(--ease-spring),filter 0.4s;filter:grayscale(20%);} .portfolio-overlay{position:absolute !important;bottom:0 !important;top:auto !important;left:0 !important;right:0 !important;background:rgba(15,23,42,0.7) !important;backdrop-filter:blur(10px) !important;-webkit-backdrop-filter:blur(10px) !important;padding:0.8rem 1.2rem !important;display:flex !important;flex-direction:column !important;justify-content:center !important;align-items:center !important;opacity:1 !important;transition:all 0.4s var(--ease-smooth) !important;border-top:1px solid rgba(255,255,255,0.1) !important;} .portfolio-overlay i{color:white;width:20px;height:20px;margin-bottom:0.5rem;display:none;} .portfolio-title-hint{color:white;font-family:var(--font-heading);font-weight:700;font-size:1rem;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.5);line-height:1.3;} .portfolio-item:hover img{transform:scale(1.05);filter:grayscale(0%);} .portfolio-item:hover .portfolio-overlay{opacity:1;background:rgba(37,99,235,0.85);} .portfolio-item:hover .portfolio-title-hint{transform:scale(1.02);} .services-section{padding:5rem 6vw;background:#fafafa;position:relative;z-index:55;border-top:1px solid var(--glass-border);} .services-header{text-align:center;margin-bottom:3rem;} .section-badge{display:inline-flex;align-items:center;gap:0.5rem;padding:0.4rem 1rem;background:rgba(37,99,235,0.08);color:var(--accent-1);border-radius:50px;font-size:0.85rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;margin-bottom:1rem;} .section-badge i{width:14px;height:14px;} .services-header h3{font-family:var(--font-heading);font-size:2.2rem;color:var(--text-primary);} .accordion-container{max-width:800px;margin:0 auto;display:flex;flex-direction:column;gap:1rem;} .accordion-item{background:#ffffff;border:1px solid var(--glass-border);border-radius:12px;overflow:hidden;box-shadow:0 4px 15px rgba(0,0,0,0.02);transition:box-shadow 0.3s,border-color 0.3s;} .accordion-item:hover{box-shadow:0 8px 25px rgba(0,0,0,0.05);border-color:rgba(37,99,235,0.2);} .accordion-header{width:100%;text-align:left;padding:1.5rem 2rem;background:none;border:none;display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-family:var(--font-heading);font-size:1.2rem;font-weight:600;color:var(--text-primary);transition:color 0.3s;} .accordion-header:hover,.accordion-item.active .accordion-header{color:var(--accent-1);} .accordion-icon{width:20px;height:20px;transition:opacity 0.3s,transform 0.3s;color:var(--accent-1);} .minus-icon{display:none;} .accordion-item.active .plus-icon{display:none;} .accordion-item.active .minus-icon{display:block;transform:rotate(180deg);} .accordion-content{max-height:0;opacity:0;overflow:hidden;transition:max-height 0.4s var(--ease-smooth),opacity 0.4s var(--ease-smooth);} .accordion-item.active .accordion-content{display:block;} .services-list{list-style:none;padding:0 2rem 1.5rem 2rem;margin:0;} .services-list li{display:flex;align-items:flex-start;gap:0.8rem;padding:0.8rem 0;border-bottom:1px solid rgba(0,0,0,0.04);color:var(--text-secondary);font-size:1.05rem;} .services-list li:last-child{border-bottom:none;} .services-list i{width:18px;height:18px;color:var(--accent-3);margin-top:3px;flex-shrink:0;} #backToTop{position:fixed;bottom:30px;right:30px;width:50px;height:50px;border-radius:50%;background:var(--glass-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--glass-border);color:var(--accent-1);display:flex;justify-content:center;align-items:center;cursor:pointer;box-shadow:0 8px 25px rgba(0,0,0,0.1);z-index:1000;opacity:0;visibility:hidden;transform:translateY(20px);transition:all 0.4s var(--ease-spring);} #backToTop.visible{opacity:1;visibility:visible;transform:translateY(0);} #backToTop:hover{background:var(--accent-1);color:white;transform:translateY(-5px);box-shadow:0 12px 30px rgba(37,99,235,0.3);} .lightbox-modal{display:flex !important;visibility:hidden;opacity:0;position:fixed !important;z-index:99999 !important;left:0 !important;top:0 !important;width:100% !important;height:100% !important;background-color:rgba(2,12,20,0.95) !important;backdrop-filter:blur(15px) !important;-webkit-backdrop-filter:blur(15px) !important;transition:all 0.4s ease !important;justify-content:center !important;align-items:center !important;} .lightbox-modal.active{visibility:visible !important;opacity:1 !important;} .lightbox-close{position:absolute !important;top:25px !important;right:35px !important;color:white !important;font-size:45px !important;font-weight:bold !important;cursor:pointer !important;z-index:100001 !important;transition:0.3s !important;line-height:1 !important;} .lightbox-close:hover{color:var(--accent-1) !important;transform:scale(1.1) !important;} .lightbox-content-wrapper{width:90% !important;max-width:1400px !important;height:85vh !important;display:flex !important;align-items:center !important;justify-content:center !important;position:relative !important;pointer-events:none !important;} .lightbox-content{display:flex !important;width:100% !important;height:100% !important;background-color:#050a12 !important;border-radius:16px !important;overflow:hidden !important;box-shadow:0 30px 80px rgba(0,0,0,0.6) !important;border:1px solid rgba(86,172,230,0.3) !important;pointer-events:auto !important;} .lightbox-slider-column{flex:1.5 !important;height:100% !important;position:relative !important;background:#000 !important;overflow:hidden !important;display:flex !important;align-items:center !important;justify-content:center !important;} .lb-slider-track{display:flex !important;width:100% !important;height:100% !important;min-height:100% !important;transition:transform 0.6s cubic-bezier(0.2,0,0.2,1) !important;} .lb-slide{min-width:100% !important;width:100% !important;height:100% !important;min-height:100% !important;display:flex !important;flex-direction:column !important;align-items:center !important;justify-content:center !important;padding:0 !important;margin:0 !important;} .lb-slide img{max-width:100% !important;max-height:100% !important;width:auto !important;height:auto !important;object-fit:contain !important;display:block !important;margin:auto !important;} .lb-dots-container{position:absolute !important;bottom:30px !important;left:50% !important;transform:translateX(-50%) !important;display:flex !important;gap:10px !important;z-index:100 !important;} .lb-dot{width:14px !important;height:14px !important;border-radius:50% !important;background:rgba(255,255,255,0.4) !important;border:1px solid rgba(255,255,255,0.2) !important;cursor:pointer !important;transition:all 0.3s ease !important;padding:0 !important;} .lb-dot.active{background:var(--accent-1) !important;transform:scale(1.3) !important;box-shadow:0 0 10px var(--accent-1) !important;} .lb-nav-btn{position:absolute !important;top:50% !important;transform:translateY(-50%) !important;background:rgba(0,0,0,0.5) !important;border:1px solid rgba(255,255,255,0.3) !important;color:white !important;width:54px !important;height:54px !important;display:flex !important;align-items:center !important;justify-content:center !important;border-radius:50% !important;cursor:pointer !important;backdrop-filter:blur(4px) !important;z-index:100 !important;transition:all 0.3s ease !important;font-size:28px !important;} .lb-nav-btn:hover{background:var(--accent-1) !important;border-color:var(--accent-1) !important;transform:translateY(-50%) scale(1.1) !important;} .lb-prev{left:25px !important;} .lb-next{right:25px !important;} .lightbox-text-panel{flex:1 !important;background:#0a192f !important;padding:3rem 3rem 4rem 3rem !important;overflow-y:auto !important;overflow-x:hidden !important;color:#ffffff !important;display:flex !important;flex-direction:column !important;justify-content:flex-start !important;align-items:flex-start !important;border-left:1px solid rgba(255,255,255,0.1) !important;height:100% !important;box-sizing:border-box !important;position:relative !important;} .lightbox-portfolio-title{font-family:var(--font-heading) !important;font-size:1.8rem !important;font-weight:700 !important;margin-top:0 !important;margin-bottom:2rem !important;line-height:normal !important;color:#ffffff !important;word-wrap:break-word !important;overflow-wrap:break-word !important;overflow:visible !important;hyphens:auto !important;-webkit-hyphens:auto !important;-ms-hyphens:auto !important;text-align:left !important;display:block !important;min-width:0 !important;} .lightbox-portfolio-desc{color:rgba(255,255,255,0.95) !important;font-size:1.1rem !important;line-height:1.8 !important;} .lightbox-portfolio-desc p{margin-bottom:1.5rem !important;} .lightbox-text-panel::-webkit-scrollbar{width:8px !important;} .lightbox-text-panel::-webkit-scrollbar-track{background:rgba(0,0,0,0.2) !important;} .lightbox-text-panel::-webkit-scrollbar-thumb{background:rgba(86,172,230,0.4) !important;border-radius:10px !important;} @media (max-width:1024px){.lightbox-content-wrapper{height:95vh !important;width:95% !important;} .lightbox-content{flex-direction:column !important;} .lightbox-slider-column{flex:0.8 !important;min-height:40vh !important;} .lightbox-text-panel{flex:1.2 !important;padding:2.5rem 2rem !important;border-left:none !important;border-top:1px solid rgba(255,255,255,0.1) !important;} .lightbox-portfolio-title{font-size:1.8rem !important;} } .view-all-container{margin-top:5rem;text-align:center;}