.ImageGallery_gallery__ejv_c{width:100%;max-width:var(--max-width,1200px);margin:0 auto;padding:80px 2rem}.ImageGallery_galleryCard__CX4nq{background-color:var(--card-bg);border-radius:var(--radius-lg);border:1px solid var(--border-color);margin:2rem 0;padding:2rem 1rem;box-shadow:0 4px 6px #0000001a}.ImageGallery_galleryCard__CX4nq img{width:100%;height:auto;border-radius:var(--radius-sm)}.ImageGallery_grid__FNZqP{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem;position:relative;margin-top:2rem}.ImageGallery_imageWrapper__m_KRw{position:relative;aspect-ratio:1;overflow:hidden;border-radius:.5rem;box-shadow:0 4px 6px rgba(0,0,0,.1);cursor:pointer;opacity:0;transform:scale(.98);transition:all .4s cubic-bezier(.4,0,.2,1);will-change:transform;background:var(--card-background,white);border:1px solid var(--border-color,rgba(0,0,0,.1))}.ImageGallery_imageWrapper__m_KRw.ImageGallery_loaded__f2PZV{opacity:1;transform:scale(1)}.ImageGallery_imageWrapper__m_KRw:hover{transform:scale(1.02);box-shadow:0 8px 30px rgba(0,0,0,.12)}.ImageGallery_image__MYy_n{object-fit:cover;object-position:top;transition:transform .5s ease}.ImageGallery_imageWrapper__m_KRw:hover .ImageGallery_image__MYy_n{transform:scale(1.1)}.ImageGallery_overlay__MytC_{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background-color:transparent;animation:ImageGallery_fadeIn__MuN_E .4s ease-out forwards;backdrop-filter:blur(0);transition:backdrop-filter .4s ease-out}.ImageGallery_overlay__MytC_.ImageGallery_visible__OeV7r{backdrop-filter:blur(5px)}.ImageGallery_expandedContainer__LPyhk{position:fixed;z-index:10000;background-color:var(--background-color,white);border-radius:1rem;overflow:hidden;top:var(--initial-top);left:var(--initial-left);width:var(--initial-width);height:var(--initial-height);animation:ImageGallery_expandImage__1V34p .4s cubic-bezier(.4,0,.2,1) forwards;will-change:transform,top,left,width,height}.ImageGallery_expandedContainer__LPyhk.ImageGallery_closing__zGBkK{animation:ImageGallery_shrinkImage__iSHMu .4s cubic-bezier(.4,0,.2,1) forwards}.ImageGallery_expandedContainer__LPyhk.ImageGallery_expanded__iQjxh{padding:8px 0 8px 8px;max-width:60%}.ImageGallery_imageContainer__15vBM{position:relative;width:100%;height:calc(100vh - 200px);overflow-y:auto;-webkit-overflow-scrolling:touch}.ImageGallery_expandedImage__HYwrq{object-fit:contain!important;width:100%!important;height:auto!important;max-width:100%;position:relative!important}@keyframes ImageGallery_expandImage__1V34p{0%{top:var(--initial-top);left:var(--initial-left);width:var(--initial-width);height:var(--initial-height);border-radius:.5rem;transform:translate(0)}to{top:32px;left:50%;width:60vw;height:calc(100vh - 64px);transform:translateX(-50%);border-radius:1rem}}@keyframes ImageGallery_shrinkImage__iSHMu{0%{top:32px;left:50%;width:60vw;height:calc(100vh - 64px);transform:translateX(-50%);border-radius:1rem;opacity:1}to{top:var(--initial-top);left:var(--initial-left);width:var(--initial-width);height:var(--initial-height);transform:translate(0);border-radius:.5rem;opacity:0}}@keyframes ImageGallery_fadeIn__MuN_E{0%{background-color:transparent}to{background-color:rgba(0,0,0,.75)}}.ImageGallery_imageContent__p_94M{position:absolute;bottom:0;left:0;right:0;padding:2rem;background:linear-gradient(to top,var(--card-bg,rgba(255,255,255,1)) 80%,rgba(255,255,255,0));transform:translateY(100%);animation:ImageGallery_slideUp__W6hu3 .4s cubic-bezier(.4,0,.2,1) .2s forwards}.ImageGallery_imageTitle__riQj5{font-size:1.5rem;font-weight:600;margin-bottom:.5rem;color:var(--text-primary)}.ImageGallery_imageDescription__UkmHJ{font-size:1rem;line-height:1.6;color:var(--text-secondary);margin-bottom:1.5rem}.ImageGallery_caseStudyButton__vJ0lH{display:inline-flex;align-items:center;border-radius:30px;padding:12px 28px;background-color:var(--primary-color,#0070f3);color:var(--text-primary);font-weight:500;transition:all .2s ease;text-decoration:none;gap:.5rem}.ImageGallery_caseStudyButton__vJ0lH:hover{transform:translateY(-3px)}.ImageGallery_caseStudyButton__vJ0lH:after{content:"→";transition:transform .2s ease}.ImageGallery_caseStudyButton__vJ0lH:hover:after{transform:translateX(4px)}.ImageGallery_expandedContainer__LPyhk.ImageGallery_closing__zGBkK .ImageGallery_imageContent__p_94M{animation:ImageGallery_slideDown__9CgKC .4s cubic-bezier(.4,0,.2,1) forwards}@keyframes ImageGallery_slideUp__W6hu3{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes ImageGallery_slideDown__9CgKC{0%{transform:translateY(0);opacity:1}to{transform:translateY(100%);opacity:0}}.ImageGallery_closeButton__M5JyQ{position:absolute;top:1rem;right:1rem;background-color:var(--card-background,white);border-radius:9999px;padding:.5rem;z-index:52;opacity:0;transform:scale(.9);animation:ImageGallery_fadeInButton__ruQtk .3s cubic-bezier(.4,0,.2,1) .2s forwards;cursor:pointer;border:none;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px rgba(0,0,0,.1);color:var(--primary-color)}@keyframes ImageGallery_fadeInButton__ruQtk{to{opacity:1;transform:scale(1)}}.ImageGallery_closeIcon__19RRg{width:1.5rem;height:1.5rem}.ImageGallery_returning__iPGZW{animation:ImageGallery_returnToThumbnail__qe96N .3s forwards!important}@keyframes ImageGallery_returnToThumbnail__qe96N{0%{top:50%;left:50%;width:80vw;max-width:1000px;height:auto;max-height:80vh;transform:translate(-50%,-50%)}to{top:var(--original-top);left:var(--original-left);width:var(--original-width);height:var(--original-height);transform:translate(0)}}@media (max-width:768px){.ImageGallery_expandedContainer__LPyhk{width:100vw!important;height:100vh!important;border-radius:0!important}.ImageGallery_imageContainer__15vBM{height:60vh}.ImageGallery_imageContent__p_94M{height:40vh;overflow-y:auto}}.ImageGallery_expandedImage__HYwrq{cursor:zoom-in}.ImageGallery_imageContainer__15vBM.ImageGallery_zoomed__Sz8XM .ImageGallery_expandedImage__HYwrq{cursor:zoom-out;object-fit:cover!important;transform:scale(1.5);transition:transform .3s ease}.button_button__VoAYk{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:2rem;font-weight:500;transition:all .2s ease;cursor:pointer;border:1px solid transparent}.button_primary__pSJIE{background-color:var(--primary-color);color:var(--text-primary)}.button_primary__pSJIE:hover{background-color:var(--primary-color-dark);transform:translateY(-2px)}.button_secondary__r7F9V{background-color:var(--secondary-color);color:var(--bg-primary)}.button_secondary__r7F9V:hover{background-color:var(--secondary-color-dark);transform:translateY(-2px)}.button_outline__XDwF5{background-color:transparent;border-color:var(--primary-color);color:var(--text-primary)}.button_outline__XDwF5:hover{background-color:var(--primary-color);color:var(--text-primary);transform:translateY(-2px)}.button_ghost__i1PmO{background-color:transparent;color:var(--text-primary)}.button_ghost__i1PmO:hover{background-color:var(--bg-hover)}.button_sm__SEyyk{padding:.5rem 1rem;font-size:.875rem}.button_md__v7aWj{padding:14px 28px;font-size:1rem}.button_lg__x_TQN{padding:.75rem 1.5rem;font-size:1.125rem}.button_button__VoAYk:disabled{opacity:.6;cursor:not-allowed}.button_spinner__dRD_l{width:1rem;height:1rem;border-radius:50%;border:2px solid;border-right:2px solid transparent;animation:button_spin__jXs6Z .75s linear infinite}.button_icon__28jkV{display:flex;align-items:center}@keyframes button_spin__jXs6Z{to{transform:rotate(1turn)}}.button_iconShake__EvsFn{transition:transform .2s}.button_button__VoAYk:hover .button_iconShake__EvsFn,.button_iconShake__EvsFn:hover{animation:button_icon-shake__tzkIx .4s}@keyframes button_icon-shake__tzkIx{10%,90%{transform:translateX(-2px)}20%,80%{transform:translateX(4px)}30%,50%,70%{transform:translateX(-6px)}40%,60%{transform:translateX(6px)}to{transform:none}}.button_iconTranslate__hL0ID{transition:transform .3s}.button_button__VoAYk:hover .button_iconTranslate__hL0ID,.button_iconTranslate__hL0ID:hover{transform:translateX(6px)}.button_iconPulse__zzGS6{transition:transform .3s}.button_button__VoAYk:hover .button_iconPulse__zzGS6,.button_iconPulse__zzGS6:hover{animation:button_icon-pulse__6KMiq .6s}@keyframes button_icon-pulse__6KMiq{0%{transform:scale(1)}50%{transform:scale(1.25)}to{transform:scale(1)}}.button_iconScale__xY8vn{transition:transform .3s}.button_button__VoAYk:hover .button_iconScale__xY8vn,.button_iconScale__xY8vn:hover{transform:scale(1.2)}.card_card__diSky{background-color:var(--card-bg);border-radius:var(--radius-lg);padding:var(--spacing-lg);transition:all var(--transition-normal)}.card_cardContent__xfEf3{margin:var(--spacing-md) 0}.card_cardFooter__o2LWV{margin-top:var(--spacing-md);padding-top:var(--spacing-sm);border-top:1px solid var(--border-color)}.card_cardImage__fxcXG{margin-bottom:var(--spacing-sm);border-radius:var(--radius-lg) var(--radius-lg) 0 0;overflow:hidden}.card_cardImage__fxcXG .card_image__pwx9E{width:100%;height:auto;object-fit:cover;transition:transform var(--transition-normal)}.card_default__3MwqG,.card_hover__qBaCd{border:1px solid var(--border-color)}.card_hover__qBaCd{background-color:var(--card-bg-alt)}.card_hover__qBaCd:hover{transform:translateY(-10px);box-shadow:0 10px 20px rgba(0,0,0,.2)}.card_hover__qBaCd:hover .card_cardImage__fxcXG .card_image__pwx9E{transform:scale(1.05)}.card_elevated__MWSQO{border:1px solid var(--border-color);background-color:var(--card-bg-alt);box-shadow:0 4px 24px rgba(0,0,0,.1)}.card_elevated__MWSQO:hover{transform:translateY(-10px);box-shadow:0 10px 30px rgba(0,0,0,.2)}.card_elevated__MWSQO:hover .card_cardImage__fxcXG .card_image__pwx9E{transform:scale(1.05)}.card_serviceCard__x8k6k{background-color:var(--card-bg-alt);border-radius:16px;padding:2rem;box-shadow:none;transition:transform .3s;display:flex;flex-direction:column}.card_serviceCard__x8k6k:hover{transform:translateY(-10px);box-shadow:0 10px 20px rgba(0,0,0,.2)}.card_serviceIcon__eHsLq{background:var(--primary-color);color:#fff;border-radius:50%;width:64px;height:64px;display:flex;align-items:center;justify-content:center;font-size:2rem;margin:0 0 1.5rem}.card_serviceIcon__eHsLq.card_numberIcon__9W5lD{background:none!important;border-radius:0;width:auto;height:auto;color:#fff;font-size:2.5rem;display:block;text-align:center}.card_serviceTitle__H2V0H{font-size:1.5rem;font-weight:700;margin-bottom:1rem;color:var(--text-primary)}.card_serviceDescription__oX4oA{color:var(--text-secondary);font-size:1rem;line-height:1.4}