@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.8e0177b5.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.b97b3418.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.853070df.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_2c9c473f-module__Ttw9gW__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_2c9c473f-module__Ttw9gW__variable{--font-geist-sans:"Geist","Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.c1fdd6c2.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.799d8ef8.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.dbea232f.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_26a60eca-module__OnMyuG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_26a60eca-module__OnMyuG__variable{--font-geist-mono:"Geist Mono","Geist Mono Fallback"}
@media (min-width:475px){.xs\:flex-row{flex-direction:row}}@media (min-width:475px){.xs\:items-center{align-items:center}}@media (min-width:475px){.xs\:inline{display:inline}}@media (min-width:475px){.xs\:hidden{display:none}}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-hide::-webkit-scrollbar{display:none}.hide-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.hide-scrollbar::-webkit-scrollbar{display:none}@media (max-width:767px){.bottom-nav-button{touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.bottom-nav-container{pointer-events:auto!important;z-index:9999!important}}@media (max-width:640px){button,.button,[role=button]{touch-action:manipulation;min-height:44px}.project-card-action{touch-action:manipulation;min-width:44px;min-height:44px}.project-card{margin-bottom:1rem}.projects-grid{grid-template-columns:1fr;gap:.75rem}.project-stats-grid{grid-template-columns:repeat(2,1fr);gap:.5rem}.mobile-card{margin-bottom:.75rem}.mobile-text{line-height:1.5}.mobile-button-group>*+*{margin-top:.5rem}.mobile-modal{width:calc(100vw - 2rem);max-height:calc(100vh - 2rem);margin:1rem}.touch-friendly{min-width:44px;min-height:44px}}button:focus,input:focus,select:focus,textarea:focus{outline-offset:2px;outline:2px solid #3b82f6}@media (max-width:640px){.loading-spinner{width:1.5rem;height:1.5rem}.projects-header{padding:1rem}.projects-stats-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}.project-card-grid{grid-template-columns:1fr;gap:1rem}.project-filters{flex-direction:column;gap:.75rem}.project-search{width:100%}.project-tabs{scrollbar-width:none;-ms-overflow-style:none;overflow-x:auto}.project-tabs::-webkit-scrollbar{display:none}.project-tab{flex-shrink:0;min-width:max-content;padding:.5rem .75rem;font-size:.875rem}}@media (min-width:641px) and (max-width:1023px){.projects-stats-grid{grid-template-columns:repeat(3,1fr)}.project-card-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.projects-stats-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.project-card-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width:1280px){.project-card-grid{grid-template-columns:repeat(4,1fr)}}@media (max-width:480px){.photo-grid{grid-template-columns:repeat(2,1fr);gap:.5rem}}@media (min-width:481px) and (max-width:768px){.photo-grid{grid-template-columns:repeat(3,1fr);gap:.75rem}}@media (min-width:769px) and (max-width:1024px){.photo-grid{grid-template-columns:repeat(4,1fr);gap:1rem}}@media (max-width:640px){.mobile-tabs{-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;scroll-snap-type:x proximity;overflow-x:auto}.mobile-tabs::-webkit-scrollbar{display:none}.mobile-tab{white-space:nowrap;scroll-snap-align:start;touch-action:manipulation;min-width:max-content}.mobile-tab:active{transition:transform .1s;transform:scale(.98)}.mobile-tab-container{gap:.25rem;padding:.25rem}.mobile-dropdown{max-height:70vh;margin-top:.5rem}}@media (min-width:641px) and (max-width:1023px){.tablet-tabs{scroll-snap-type:x proximity;padding:.5rem}.tablet-tab{scroll-snap-align:start;min-width:max-content;padding:.75rem 1rem}}@media (max-width:374px){.mobile-dropdown{max-height:60vh;margin-top:.25rem}.mobile-tab-button{padding:.5rem .75rem;font-size:.75rem}.mobile-dropdown-item{padding:.75rem 1rem;font-size:.875rem}}@media (min-width:375px) and (max-width:640px){.mobile-dropdown{max-height:70vh}.mobile-tab-button{padding:.75rem 1rem;font-size:.875rem}}.touch-target{min-width:44px;min-height:44px;position:relative}.tab-button{-webkit-user-select:none;user-select:none}.tab-container{align-items:center;gap:.25rem;display:flex}@media (max-width:480px){.responsive-tabs{padding:.5rem .75rem;font-size:.75rem}}@media (min-width:481px) and (max-width:768px){.responsive-tabs{padding:.625rem .875rem;font-size:.875rem}}@media (min-width:769px){.responsive-tabs{padding:.75rem 1rem;font-size:.875rem}}.custom-scrollbar{scrollbar-width:thin;scrollbar-color:#cbd5e0 transparent}.custom-scrollbar::-webkit-scrollbar{width:4px;height:4px}.custom-scrollbar::-webkit-scrollbar-track{background:0 0}.custom-scrollbar::-webkit-scrollbar-thumb{background-color:#cbd5e0;border-radius:2px}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background-color:#a0aec0}@media (max-width:640px){.tab-indicator{height:2px;transition:all .2s ease-in-out}}.project-status-grid{gap:.75rem;width:100%;display:grid}.project-status-grid.single-status{grid-template-columns:1fr;justify-items:center}.project-status-grid.two-status{grid-template-columns:1fr 1fr;justify-items:center;gap:1rem}.project-status-grid.three-status{grid-template-columns:repeat(3,1fr);justify-items:center}@media (min-width:640px){.project-status-grid{gap:1rem}.project-status-grid.single-status{grid-template-columns:1fr 1fr 1fr;justify-items:center}.project-status-grid.single-status .current-status{grid-column:2}.project-status-grid.two-status{grid-template-columns:1fr 1fr;justify-items:center;gap:1.5rem}.project-status-grid.three-status{grid-template-columns:repeat(3,1fr);justify-items:center;gap:1rem}}.status-card{justify-self:center;width:100%;max-width:200px;transition:all .2s ease-in-out}.status-card:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}@media (max-width:639px){.project-status-grid.two-status{gap:.75rem}.project-status-grid.two-status .status-card{min-width:0;max-width:none}}.project-status-grid.two-status .current-status{justify-self:center}@media (min-width:320px) and (max-width:480px){.project-status-grid.two-status{grid-template-columns:1fr 1fr;gap:.5rem;padding:0}}.dark .status-card:hover{box-shadow:0 4px 12px #0000004d}.keyboard-focus:focus-visible{outline-offset:2px;border-radius:.375rem;outline:2px solid #3b82f6}.tab-focus:focus{outline-offset:2px;z-index:10;outline:2px solid #3b82f6}.smooth-scroll{scroll-behavior:smooth;-webkit-overflow-scrolling:touch}@media (max-width:640px){.mobile-card-stack{flex-direction:column;gap:.75rem;display:flex}.mobile-card-stack>*{width:100%}}@media (max-width:1023px){.mobile-sidebar-stack{order:2}.mobile-main-content{order:1}}@media (max-width:768px){.activity-feed-dropdown{transform:translate(-20px);width:100%!important;max-width:calc(100vw - 2rem)!important}.activity-feed-mobile{font-size:14px;line-height:1.4}.activity-item-mobile{border-radius:8px;padding:12px}.activity-icon-mobile{width:32px;height:32px;padding:6px}}.activity-scroll{-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#cbd5e0 transparent}.activity-scroll::-webkit-scrollbar{width:4px}.activity-scroll::-webkit-scrollbar-track{background:0 0}.activity-scroll::-webkit-scrollbar-thumb{background-color:#cbd5e0;border-radius:2px}.activity-scroll::-webkit-scrollbar-thumb:hover{background-color:#a0aec0}@media (max-width:639px){.project-details-container{padding:.75rem}.project-details-header{border-radius:.5rem;margin-bottom:.75rem;padding:.75rem}.project-details-title{font-size:1.125rem;line-height:1.5}.project-details-meta{flex-direction:column;gap:.5rem;font-size:.75rem}.construction-timeline{border-radius:.5rem;margin-bottom:.75rem}.construction-timeline-header{flex-direction:column;gap:.75rem;padding:.75rem}.construction-timeline-title{font-size:1rem}.construction-timeline-subtitle{margin-top:.25rem;font-size:.75rem}.status-card{border-radius:.5rem;padding:.75rem}.status-card-grid{grid-template-columns:1fr;gap:.75rem}.status-card-icon{width:2rem;height:2rem;padding:.5rem}.status-card-title{font-size:.75rem}.status-card-value{font-size:1.125rem}.action-button{min-height:52px;padding:.75rem}.action-button-icon{width:2rem;height:2rem;padding:.375rem}.action-button-text{font-size:.875rem}.timeline-item{gap:.75rem}.timeline-dot{width:2rem;height:2rem}.timeline-content-card{border-radius:.5rem;padding:.75rem}.timeline-title{font-size:.875rem}.timeline-description{font-size:.75rem}.timeline-meta{flex-direction:column;gap:.25rem;font-size:.75rem}.milestone-card{border-radius:.5rem;padding:.75rem}.milestone-header{flex-direction:column;gap:.75rem}.milestone-title{font-size:1rem}.milestone-meta{flex-direction:column;gap:.5rem}.milestone-due-date{font-size:.75rem}.milestone-actions{gap:.25rem}.milestone-action-btn{min-width:44px;min-height:44px;padding:.5rem}.empty-state{border-radius:.5rem;padding:1.5rem}.empty-state-icon{width:3rem;height:3rem;margin-bottom:.75rem}.empty-state-title{font-size:1rem}.empty-state-description{font-size:.875rem}.empty-state-action{min-height:44px;margin-top:.75rem;font-size:.875rem}.project-info-grid{grid-template-columns:1fr;gap:.75rem}.project-info-card{padding:.75rem}.project-info-label{font-size:.75rem}.project-info-value{font-size:.875rem}.progress-label,.progress-percentage{font-size:.75rem}.progress-bar,.progress-fill{height:.5rem}.progress-meta{flex-direction:column;gap:.25rem;font-size:.75rem}}@media (min-width:640px) and (max-width:1023px){.status-card-grid,.project-info-grid{grid-template-columns:repeat(2,1fr)}.timeline-meta,.milestone-meta{flex-direction:row;gap:.75rem}.progress-meta{flex-direction:row;justify-content:space-between}}@media (min-width:1024px){.status-card-grid,.project-info-grid{grid-template-columns:repeat(4,1fr)}.construction-timeline-header{flex-direction:row;justify-content:space-between;align-items:center}.milestone-header{flex-direction:row;justify-content:space-between;align-items:flex-start}.timeline-title-badge{flex-direction:row;align-items:center}.project-details-container{padding:1.5rem}}@media (hover:none) and (pointer:coarse){.milestone-action-btn,.action-button,.empty-state-action{min-width:44px;min-height:44px}.timeline-content-card{touch-action:manipulation}}.image-carousel-container{width:100%;max-width:100%;position:relative;overflow:hidden}.image-carousel-main{background-color:#f9fafb;justify-content:center;align-items:center;width:100%;height:300px;display:flex;position:relative}.image-carousel-main img{-o-object-fit:contain;object-fit:contain;-o-object-position:center;object-position:center;max-width:100%;max-height:100%}@media (max-width:640px){.image-carousel-main{height:250px;padding:8px}.image-carousel-controls{padding:8px 12px;font-size:12px}.image-carousel-nav-btn{width:36px;height:36px;padding:8px}}@media (min-width:641px) and (max-width:768px){.image-carousel-main{height:350px;padding:12px}.image-carousel-controls{padding:10px 16px;font-size:14px}.image-carousel-nav-btn{width:40px;height:40px;padding:10px}}@media (min-width:769px){.image-carousel-main{height:450px;padding:16px}.image-carousel-controls{padding:12px 20px;font-size:16px}.image-carousel-nav-btn{width:44px;height:44px;padding:12px}}.fullscreen-image-container{z-index:9999;background-color:#000000f2;justify-content:center;align-items:center;padding:8px;display:flex;position:fixed;inset:0}.fullscreen-image-wrapper{justify-content:center;align-items:center;width:auto;max-width:98vw;height:auto;max-height:98vh;display:flex;position:relative}.fullscreen-image-wrapper img{-o-object-fit:contain;object-fit:contain;-o-object-position:center;object-position:center;width:auto;max-width:100%;height:auto;max-height:100%}.thumbnail-container{scroll-behavior:smooth;-webkit-overflow-scrolling:touch;gap:8px;padding:8px 0;display:flex;overflow-x:auto}.thumbnail-item{cursor:pointer;border-radius:8px;flex-shrink:0;transition:all .2s;position:relative;overflow:hidden}.thumbnail-item:hover{opacity:.9;transform:scale(1.05)}.thumbnail-item.active{border:2px solid #3b82f6;box-shadow:0 4px 12px #3b82f64d}@media (max-width:640px){.thumbnail-item{width:80px;height:60px}}@media (min-width:641px) and (max-width:768px){.thumbnail-item{width:96px;height:72px}}@media (min-width:769px){.thumbnail-item{width:128px;height:96px}}.image-nav-button{color:#fff;cursor:pointer;touch-action:manipulation;background-color:#0006;border:none;border-radius:50%;justify-content:center;align-items:center;min-width:44px;min-height:44px;transition:all .2s;display:flex}.image-nav-button:hover{background-color:#0009;transform:scale(1.1)}.image-nav-button:active{transform:scale(.95)}@media (max-width:640px){.project-details-image-section{padding:8px}.project-details-image-section img{-o-object-fit:contain;object-fit:contain;border-radius:8px;width:100%;height:auto;max-height:300px}.project-image-gallery{padding:12px}.project-image-gallery .main-image{border-radius:8px;height:250px;overflow:hidden}.project-image-gallery .main-image img{-o-object-fit:contain;object-fit:contain;background:#f8f9fa;width:100%;height:100%}}@media (min-width:641px) and (max-width:768px){.project-image-gallery .main-image{height:350px}.project-image-gallery .main-image img{-o-object-fit:contain;object-fit:contain;background:#f8f9fa}}@media (min-width:769px){.project-image-gallery .main-image{height:450px}.project-image-gallery .main-image img{-o-object-fit:contain;object-fit:contain;background:#f8f9fa}}
@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.animate-shimmer{animation:2s infinite shimmer}.marketplace-card{transition:all .3s cubic-bezier(.4,0,.2,1)}.marketplace-card:hover{transform:translateY(-8px)scale(1.02);box-shadow:0 25px 50px -12px #00000040}.marketplace-image{transition:transform .7s cubic-bezier(.4,0,.2,1)}.marketplace-card:hover .marketplace-image{transform:scale(1.1)}.marketplace-button{transition:all .2s cubic-bezier(.4,0,.2,1)}.marketplace-button:hover{transform:translateY(-2px)scale(1.05);box-shadow:0 10px 25px -5px #0000001a}.marketplace-badge{transition:all .2s cubic-bezier(.4,0,.2,1)}.marketplace-badge:hover{transform:scale(1.1);box-shadow:0 4px 12px #00000026}.spec-card{transition:all .2s cubic-bezier(.4,0,.2,1)}.spec-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px -8px #0000001a}.skeleton-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.grid-item{opacity:0;animation:.6s cubic-bezier(.4,0,.2,1) forwards fadeInUp;transform:translateY(20px)}.grid-item:first-child{animation-delay:.1s}.grid-item:nth-child(2){animation-delay:.2s}.grid-item:nth-child(3){animation-delay:.3s}.grid-item:nth-child(4){animation-delay:.4s}.grid-item:nth-child(5){animation-delay:.5s}.grid-item:nth-child(6){animation-delay:.6s}.grid-item:nth-child(7){animation-delay:.7s}.grid-item:nth-child(8){animation-delay:.8s}@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}.marketplace-focusable:focus{outline-offset:2px;border-radius:8px;outline:2px solid #3b82f6}.color-transition{transition:color .2s cubic-bezier(.4,0,.2,1),background-color .2s cubic-bezier(.4,0,.2,1),border-color .2s cubic-bezier(.4,0,.2,1)}@media (max-width:768px){.touch-feedback:active{transition:transform .1s ease-out;transform:scale(.98)}}.gradient-animation{background-size:200% 200%;animation:3s infinite gradientShift}@keyframes gradientShift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.image-placeholder{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%) 0 0/200% 100%;animation:1.5s infinite loading}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-color-scheme:dark){.image-placeholder{background:linear-gradient(90deg,#374151 25%,#4b5563 50%,#374151 75%) 0 0/200% 100%}}.micro-bounce:hover{animation:.3s ease-in-out microBounce}@keyframes microBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.search-input-focus{transition:all .3s cubic-bezier(.4,0,.2,1)}.search-input-focus:focus{transform:scale(1.02);box-shadow:0 0 0 3px #3b82f61a}.filter-slide-in{animation:.3s cubic-bezier(.4,0,.2,1) slideIn}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.success-pulse{animation:.6s cubic-bezier(.4,0,.2,1) successPulse}@keyframes successPulse{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}
