.image-lightbox-overlay{z-index:3000;background:#000000f2;justify-content:center;align-items:center;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.lightbox-close{color:#fff;cursor:pointer;z-index:3002;background:#ffffff1a;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:50px;height:50px;font-size:40px;line-height:1;transition:all .3s;display:flex;position:absolute;top:20px;right:20px}.lightbox-close:hover{background:#fff3;transform:rotate(90deg)}.lightbox-close:focus{outline-offset:4px;outline:2px solid #fff}.lightbox-content{justify-content:center;align-items:center;max-width:90vw;max-height:90vh;animation:.3s ease-out slideUp;display:flex;position:relative}.lightbox-image{object-fit:contain;border-radius:8px;max-width:100%;max-height:80vh;box-shadow:0 20px 60px #00000080}.lightbox-nav{color:#fff;cursor:pointer;z-index:3001;background:#ffffff1a;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;font-size:60px;transition:all .3s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-nav:hover{background:#fff3;transform:translateY(-50%)scale(1.1)}.lightbox-nav:focus{outline-offset:4px;outline:2px solid #fff}.lightbox-nav-prev{left:-80px}@media screen and (max-width:768px){.lightbox-nav-prev{left:10px}}.lightbox-nav-next{right:-80px}@media screen and (max-width:768px){.lightbox-nav-next{right:10px}}.lightbox-footer{color:#fff;justify-content:space-between;align-items:center;padding:0 20px;display:flex;position:absolute;bottom:-60px;left:0;right:0}@media screen and (max-width:480px){.lightbox-footer{flex-direction:column;gap:8px;bottom:-80px}}.lightbox-caption{margin:0;font-size:16px;font-weight:500}.lightbox-counter{opacity:.8;background:#ffffff1a;border-radius:12px;padding:4px 12px;font-size:14px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.image-lightbox-overlay{z-index:3000;background:#000000f2;justify-content:center;align-items:center;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.lightbox-close{color:#fff;cursor:pointer;z-index:3002;background:#ffffff1a;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:50px;height:50px;font-size:40px;line-height:1;transition:all .3s;display:flex;position:absolute;top:20px;right:20px}.lightbox-close:hover{background:#fff3;transform:rotate(90deg)}.lightbox-close:focus{outline-offset:4px;outline:2px solid #fff}.lightbox-content{justify-content:center;align-items:center;max-width:90vw;max-height:90vh;animation:.3s ease-out slideUp;display:flex;position:relative}.lightbox-image{object-fit:contain;border-radius:8px;max-width:100%;max-height:80vh;box-shadow:0 20px 60px #00000080}.lightbox-nav{color:#fff;cursor:pointer;z-index:3001;background:#ffffff1a;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;font-size:60px;transition:all .3s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-nav:hover{background:#fff3;transform:translateY(-50%)scale(1.1)}.lightbox-nav:focus{outline-offset:4px;outline:2px solid #fff}.lightbox-nav-prev{left:-80px}@media screen and (max-width:768px){.lightbox-nav-prev{left:10px}}.lightbox-nav-next{right:-80px}@media screen and (max-width:768px){.lightbox-nav-next{right:10px}}.lightbox-footer{color:#fff;justify-content:space-between;align-items:center;padding:0 20px;display:flex;position:absolute;bottom:-60px;left:0;right:0}@media screen and (max-width:480px){.lightbox-footer{flex-direction:column;gap:8px;bottom:-80px}}.lightbox-caption{margin:0;font-size:16px;font-weight:500}.lightbox-counter{opacity:.8;background:#ffffff1a;border-radius:12px;padding:4px 12px;font-size:14px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.case-study-modal-overlay{z-index:2000;background:#000000bf;justify-content:center;align-items:center;padding:1rem;animation:.3s fadeIn;display:flex;position:fixed;inset:0;overflow-y:auto}@media screen and (max-width:480px){.case-study-modal-overlay{padding:.5rem}}.case-study-modal-content{background:#fff;border-radius:16px;flex-direction:column;width:100%;max-width:1200px;max-height:90vh;animation:.3s slideUp;display:flex;position:relative;overflow:hidden;box-shadow:0 20px 60px #0000004d}@media screen and (max-width:480px){.case-study-modal-content{border-radius:12px;max-height:95vh;margin:0}}.modal-close-button{color:#036;cursor:pointer;z-index:10;background:#fff;border:2px solid #036;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;min-width:36px;height:36px;min-height:36px;padding:0;font-size:20px;font-weight:700;line-height:1;transition:all .2s;display:flex;position:absolute;top:1rem;right:1rem;box-shadow:0 2px 8px #00000026}@media screen and (max-width:480px){.modal-close-button{width:32px;min-width:32px;height:32px;min-height:32px;font-size:18px;top:.75rem;right:.75rem}}.modal-close-button:hover{color:#fff;background:#036;transform:rotate(90deg)scale(1.1);box-shadow:0 4px 12px #00000040}.modal-close-button:focus{outline-offset:2px;outline:3px solid #036}.modal-header{background:linear-gradient(135deg,#f5f7fa 0%,#c3cfe2 100%);border-bottom:1px solid #e5e7eb;border-radius:16px 16px 0 0;flex-shrink:0;padding:2rem 1.5rem;position:relative}@media screen and (max-width:480px){.modal-header{border-radius:12px 12px 0 0;padding:1.5rem 1rem}}.modal-category-badge{color:#fff;background:#036;border-radius:16px;margin-bottom:.75rem;padding:6px 16px;font-size:14px;font-weight:600;display:inline-block}.modal-title{color:#036;margin:0 0 1rem;padding-right:2rem;font-size:clamp(1.5rem,3vw,2rem);font-weight:700;line-height:1.2}.modal-meta{flex-wrap:wrap;gap:1rem;font-size:14px;display:flex}.modal-meta-item{color:#4b5563;align-items:center;gap:6px;font-weight:500;display:flex}.modal-body{flex:auto;grid-template-columns:1fr;gap:1.5rem;min-height:0;padding:1.5rem;display:grid;overflow-y:auto}@media screen and (min-width:768px){.modal-body{grid-template-columns:1fr 28%;gap:1.5rem}}@media screen and (max-width:767px){.modal-body{padding:.75rem 0 0}}@media screen and (max-width:480px){.modal-body{padding:.75rem 0 0}}.modal-body h3{color:#036;border-bottom:2px solid #036;margin:0 0 .75rem;padding-bottom:.5rem;font-size:1.125rem;font-weight:700;display:inline-block}.modal-content-wrapper{min-width:0}@media screen and (max-width:767px){.modal-content-wrapper{margin-top:0;padding:0 1rem 1rem}}@media screen and (min-width:768px){.modal-content-wrapper{margin-top:24px}}.modal-description{margin-bottom:2rem}.modal-description p{color:#4b5563;margin:0;font-size:1.0625rem;line-height:1.7}.modal-full-content p{color:#4b5563;margin:0;font-size:1rem;line-height:1.7}.modal-full-content .modal-section{margin-top:2rem}.modal-full-content .modal-section:first-child{margin-top:0}.modal-full-content h4{color:#036;background:#f8f9fa;border-left:3px solid #036;border-radius:4px;margin:0 0 .75rem;padding:.5rem .75rem;font-size:1rem;font-weight:700}.modal-gallery{background:#f8f9fa;border:1px solid #e5e7eb;border-radius:12px;align-self:start;max-height:calc(90vh - 2rem);margin-top:24px;padding:.75rem;position:sticky;top:1rem;overflow-y:auto}@media screen and (max-width:767px){.modal-gallery{background:#fff;border:none;border-top:1px solid #e5e7eb;border-radius:0;grid-column:1;max-height:none;margin-top:0;margin-bottom:0;padding:.75rem 0;position:sticky;top:auto;bottom:0;overflow-x:hidden;box-shadow:0 -4px 12px #0000001a}}.modal-gallery h3{margin-bottom:.5rem;font-size:1rem}@media screen and (max-width:767px){.modal-gallery h3{padding:0 1rem}}.modal-gallery-grid{grid-template-columns:repeat(2,1fr);gap:.5rem;margin-top:.5rem;display:grid}@media screen and (max-width:767px){.modal-gallery-grid{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;flex-direction:row;gap:.75rem;margin-top:0;padding:0 1rem .5rem;display:flex;overflow-x:auto}.modal-gallery-grid::-webkit-scrollbar{height:6px}.modal-gallery-grid::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}.modal-gallery-grid::-webkit-scrollbar-thumb{background:#888;border-radius:10px}.modal-gallery-grid::-webkit-scrollbar-thumb:hover{background:#555}}.modal-gallery-item{aspect-ratio:4/3;cursor:pointer;background:#f3f4f6;border:none;border-radius:8px;padding:0;transition:all .3s;position:relative;overflow:hidden}@media screen and (max-width:767px){.modal-gallery-item{aspect-ratio:16/9;scroll-snap-align:start;flex-shrink:0;width:28vw;max-width:180px}}.modal-gallery-item img{object-fit:cover;width:100%;height:100%;transition:transform .3s}.modal-gallery-item:hover{transform:translateY(-4px);box-shadow:0 8px 16px #00000026}@media screen and (max-width:767px){.modal-gallery-item:hover{transform:scale(1.02);box-shadow:0 4px 12px #00000026}}.modal-gallery-item:hover img{transform:scale(1.1)}@media screen and (max-width:767px){.modal-gallery-item:hover img{transform:scale(1.05)}}.modal-gallery-item:hover .modal-gallery-overlay{opacity:1}.modal-gallery-item:focus{outline-offset:2px;outline:3px solid #036}.modal-gallery-item:focus .modal-gallery-overlay{opacity:1}.modal-gallery-overlay{opacity:0;background:#00000080;justify-content:center;align-items:center;transition:opacity .3s;display:flex;position:absolute;inset:0}.modal-gallery-overlay .view-icon{font-size:32px}.case-study-page{max-width:1200px;margin:0 auto;padding:0 1rem}@media screen and (min-width:768px){.case-study-page{padding:0 1.5rem}}.case-study-page-header{text-align:center;margin-bottom:2rem;padding:1rem 0}.case-study-page-header h1,.case-study-page-header h2{letter-spacing:-.025em;color:#036;margin-bottom:1rem;font-family:Inter,SF Pro Display,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:1.5rem;font-weight:700;line-height:1.25}@media screen and (min-width:768px){.case-study-page-header h1,.case-study-page-header h2{font-size:1.875rem}}.case-study-page-header h1:after,.case-study-page-header h2:after{content:"";background:#036;border-radius:2px;width:60px;height:3px;margin:.75rem auto 0;display:block}.case-study-page-header p{letter-spacing:0;color:#1f2937;max-width:600px;margin:0 auto;font-family:Inter,SF Pro Text,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:1rem;font-weight:400;line-height:1.625}.case-study-filters{margin-bottom:2rem;padding:1rem 0}@media screen and (max-width:768px){.case-study-filters{background:#f9fafb;border-radius:12px;padding:1rem}}.case-study-filters .filter-toggle{color:#fff;cursor:pointer;background:#036;border:none;border-radius:8px;justify-content:space-between;align-items:center;width:100%;padding:.75rem;font-size:15px;font-weight:600;transition:all .3s;display:none}@media screen and (max-width:768px){.case-study-filters .filter-toggle{display:flex}}.case-study-filters .filter-toggle:hover{background:#001f3d;transform:translateY(-2px);box-shadow:0 4px 12px #0033664d}.case-study-filters .filter-toggle:active{transform:translateY(0)}.case-study-filters .filter-toggle svg{font-size:14px;transition:transform .3s}@media screen and (max-width:768px){.case-study-filters .filter-content{opacity:1;max-height:1000px;margin-top:.75rem;padding-right:6px;transition:max-height .3s,opacity .3s;overflow:visible}.case-study-filters .filter-content.collapsed{opacity:0;max-height:0;margin-top:0;overflow:hidden}.case-study-filters .filter-content.expanded{animation:.3s slideDown}}@media screen and (min-width:769px){.case-study-filters .filter-content{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}}.filter-buttons{flex-wrap:wrap;flex:1;justify-content:center;gap:.5rem;display:flex}@media screen and (max-width:768px){.filter-buttons{flex-direction:column;gap:.5rem;width:100%;margin-bottom:.75rem;padding-right:6px}}.filter-sort{color:#6b7280;cursor:pointer;background:#fff;border:2px solid #e5e7eb;border-radius:8px;min-width:150px;padding:8px 16px;font-size:14px;font-weight:500;transition:all .2s}.filter-sort:hover{border-color:#036}.filter-sort:focus{outline-offset:2px;border-color:#036;outline:2px solid #036}@media screen and (max-width:768px){.filter-sort{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;border-radius:8px;width:100%;padding:12px 36px 12px 16px;font-size:15px}}.filter-btn{color:#6b7280;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:20px;padding:8px 20px;font-size:14px;font-weight:500;transition:all .2s}.filter-btn:hover{color:#036;background:#0033660d;border-color:#036}.filter-btn.active{color:#fff;background:#036;border-color:#036;box-shadow:0 2px 8px #00336640}.filter-btn:focus-visible{outline-offset:2px;outline:2px solid #036}@media screen and (max-width:768px){.filter-btn{text-align:left;border-radius:8px;justify-content:space-between;align-items:center;width:100%;padding:12px 16px;font-size:15px;font-weight:600;display:flex}.filter-btn:after{content:"";background:#fff;border:2px solid #e5e7eb;border-radius:50%;flex-shrink:0;width:20px;height:20px;transition:all .2s}.filter-btn.active{color:#036;background:#fff;border-color:#036}.filter-btn.active:after{background:#036;border-color:#036;box-shadow:inset 0 0 0 3px #fff}.filter-btn:hover{color:#036;background:#fff;border-color:#036;transform:translate(4px)}.filter-btn:hover:after{border-color:#036}.filter-btn.active:hover{color:#036;background:#fff;border-color:#036}.filter-btn.active:hover:after{background:#036;border-color:#036;box-shadow:inset 0 0 0 3px #fff}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.case-study-compact-grid{grid-template-columns:1fr;gap:1.5rem;margin-bottom:1.5rem;display:grid}@media screen and (min-width:480px){.case-study-compact-grid{grid-template-columns:repeat(2,1fr)}}@media screen and (min-width:1024px){.case-study-compact-grid{grid-template-columns:repeat(3,1fr)}}.no-results{text-align:center;color:#9ca3af;grid-column:1/-1;padding:3rem 1rem;font-size:1.125rem}.project-count{text-align:center;color:#6b7280;border-top:1px solid #e5e7eb;margin-top:1rem;padding:1rem 0;font-size:14px}.case-study-compact-card{background:#fff;border-radius:12px;flex-direction:column;transition:all .3s;display:flex;overflow:hidden;box-shadow:0 2px 8px #00000014}.case-study-compact-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f}.case-study-compact-card:focus-within{outline-offset:2px;outline:2px solid #036}.card-image-wrapper{cursor:pointer;width:100%;height:240px;position:relative;overflow:hidden}.card-image-wrapper:focus{outline-offset:-2px;outline:2px solid #036}.card-image-wrapper:hover .card-overlay{opacity:1}.card-image-wrapper:hover .card-image{transform:scale(1.05)}.card-image{object-fit:cover;width:100%;height:100%;transition:transform .4s}.card-overlay{opacity:0;background:#0009;justify-content:center;align-items:center;transition:opacity .3s;display:flex;position:absolute;inset:0}.card-overlay .view-icon{color:#fff;filter:drop-shadow(0 2px 4px #0000004d);width:48px;height:48px}.image-count{color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000bf;border-radius:12px;padding:4px 12px;font-size:12px;font-weight:500;position:absolute;bottom:12px;right:12px}.card-content{flex-direction:column;flex:1;gap:.75rem;padding:1rem;display:flex}.card-meta{flex-wrap:wrap;align-items:center;gap:.5rem;font-size:13px;display:flex}.category-badge{color:#fff;background:#036;border-radius:12px;padding:4px 12px;font-size:12px;font-weight:500}.location-text{color:#6b7280;align-items:center;gap:4px;font-size:12px;display:flex}.card-title{color:#036;margin:0;font-size:1.125rem;font-weight:700;line-height:1.3}.card-description{color:#4b5563;-webkit-line-clamp:2;line-clamp:2;text-overflow:ellipsis;-webkit-box-orient:vertical;margin:0;font-size:14px;line-height:1.5;display:-webkit-box;overflow:hidden}.card-footer{border-top:1px solid #f3f4f6;margin-top:auto;padding-top:.5rem}.duration-badge{color:#6b7280;align-items:center;gap:4px;font-size:13px;font-weight:500;display:inline-flex}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.image-placeholder{background:linear-gradient(90deg,#e0e0e0 25%,#f0f0f0 50%,#e0e0e0 75%) 0 0/200% 100%;justify-content:center;align-items:center;width:100%;height:100%;animation:2s infinite shimmer;display:flex}.image-placeholder.featured-placeholder{min-height:250px}@media screen and (min-width:768px){.image-placeholder.featured-placeholder{min-height:300px}}@media screen and (min-width:1024px){.image-placeholder.featured-placeholder{min-height:400px}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.case-study-card{background:#fff;border-radius:8px;transition:all .3s;overflow:hidden;box-shadow:0 4px 16px #00000014}.case-study-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000001f}.case-study-card:focus-within{outline-offset:4px;outline:2px solid #036;box-shadow:0 8px 24px #0000001f}@media screen and (min-width:1024px){.case-study-card{grid-template-columns:1fr 1fr;align-items:stretch;display:grid}}.case-study-visual{padding:24px;position:relative}.case-study-featured{width:100%;position:relative}.case-study-featured-wrapper{cursor:pointer;border-radius:8px;position:relative;overflow:hidden}.case-study-featured-wrapper:hover .featured-overlay{opacity:1}.case-study-featured-wrapper:hover .case-study-featured-image{transform:scale(1.05)}.case-study-featured-wrapper:focus{outline-offset:4px;outline:3px solid #036}.case-study-featured-wrapper:focus:not(:focus-visible){outline:none}.case-study-featured-wrapper:focus-visible{outline-offset:4px;outline:3px solid #036}.case-study-featured-image{object-fit:cover;width:100%;height:250px;transition:transform .4s;display:block}@media screen and (min-width:768px){.case-study-featured-image{height:300px}}@media screen and (min-width:1024px){.case-study-featured-image{height:100%;min-height:400px}}.featured-overlay,.gallery-item-overlay{opacity:0;background:#0009;justify-content:center;align-items:center;transition:opacity .3s;display:flex;position:absolute;inset:0}.featured-overlay .view-icon,.gallery-item-overlay .view-icon{color:#fff;text-shadow:0 2px 4px #0000004d;font-size:18px;font-weight:600}.case-study-gallery{display:none}@media screen and (min-width:768px){.case-study-gallery{background:#fffffff2;grid-template-columns:repeat(3,1fr);gap:.5rem;padding:.75rem;display:grid;position:absolute;bottom:0;left:0;right:0}}.case-study-gallery-item{cursor:pointer;border-radius:.25rem;transition:transform .3s;position:relative;overflow:hidden}.case-study-gallery-item:hover{transform:scale(1.05)}.case-study-gallery-item:hover .gallery-item-overlay{opacity:1}.case-study-gallery-item:focus{outline-offset:2px;outline:2px solid #036;transform:scale(1.05)}.case-study-gallery-item:focus .gallery-item-overlay{opacity:1}.case-study-gallery-item:focus:not(:focus-visible){outline:none}.case-study-gallery-item:focus-visible{outline-offset:2px;outline:2px solid #036}.case-study-gallery-image{object-fit:cover;width:100%;height:50px;transition:transform .3s;display:block}.case-study-content{padding:1.5rem}@media screen and (min-width:768px){.case-study-content{padding:2rem}}@media screen and (min-width:1024px){.case-study-content{padding:2.5rem}}.case-study-header{text-align:center;margin-bottom:2rem}@media screen and (min-width:768px){.case-study-header{margin-bottom:2.5rem}}.case-study-title{letter-spacing:-.025em;color:#036;margin-bottom:1rem;font-family:Inter,SF Pro Display,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:1.125rem;font-weight:700;line-height:1.25}@media screen and (min-width:768px){.case-study-title{font-size:1.25rem}}@media screen and (min-width:1024px){.case-study-title{font-size:1.5rem}}.case-study-divider{background:#036;border-radius:2px;width:60px;height:3px;margin:0 auto}.case-study-body p{letter-spacing:0;color:#1f2937;text-align:left;margin-bottom:1rem;font-family:Inter,SF Pro Text,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:.875rem;font-weight:400;line-height:1.625}@media screen and (min-width:768px){.case-study-body p{margin-bottom:1.25rem;font-size:1rem}}.case-study-body p:first-child{color:#036;text-align:center;margin-bottom:1.5rem;font-style:italic;font-weight:500}@media screen and (min-width:768px){.case-study-body p:first-child{margin-bottom:2rem;font-size:1.125rem}}.case-study-body p:last-child{margin-bottom:0}.case-study-body h4{letter-spacing:-.025em;color:#036;background:#f8f9fa;border-left:3px solid #036;border-radius:8px;margin:1.25rem 0 .75rem;padding:.5rem .75rem;font-family:Inter,SF Pro Display,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:.875rem;font-weight:700;line-height:1.25}@media screen and (min-width:768px){.case-study-body h4{margin:1.5rem 0 1rem;padding:.75rem 1rem;font-size:1rem}}.case-study-body h4:first-of-type{margin-top:1rem}@media screen and (min-width:768px){.case-study-body h4:first-of-type{margin-top:1.5rem}}
