.projects-page,.projects-page *,.projects-page :before,.projects-page :after{box-sizing:border-box}.projects-page{--teal:#00a99d;--grey:#6b7280;--lgrey:#f9fafb;--rule:#e5e7eb;--body:#374151;color:#111;-webkit-font-smoothing:antialiased;background:#fff;font-family:system-ui,-apple-system,Segoe UI,sans-serif}.filters-wrap{border-bottom:1px solid var(--rule);padding:0 2rem}.filters{flex-wrap:wrap;justify-content:center;gap:.5rem;max-width:1200px;margin:0 auto;padding:1.25rem 0;display:flex}.filter-btn{border:1px solid var(--rule);color:var(--grey);cursor:pointer;letter-spacing:.02em;background:0 0;border-radius:20px;padding:6px 14px;font-size:12px;font-weight:500;transition:all .15s}.filter-btn:hover{color:#111;border-color:#111}.filter-btn.active{color:#fff;background:#111;border-color:#111}.grid-wrap{max-width:1200px;margin:0 auto;padding:2.5rem 2rem}.projects-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem;display:grid}.card-wrap{perspective:1000px;aspect-ratio:4/3;border-radius:10px;overflow:visible}.card-inner{width:100%;height:100%;transform-style:preserve-3d;border-radius:10px;transition:transform .5s cubic-bezier(.4,0,.2,1);position:relative}.card-wrap:hover .card-inner,.card-wrap.flipped .card-inner{transform:rotateY(180deg)}.card-front,.card-back{backface-visibility:hidden;border-radius:10px;position:absolute;inset:0;overflow:hidden}.card-front{background:var(--lgrey)}.card-photo{width:100%;height:100%}.card-photo img{object-fit:cover;width:100%;height:100%;display:block}.card-overlay{background:linear-gradient(#0000 0%,#0000001a 45%,#000000b8 100%);flex-direction:column;justify-content:flex-end;padding:1.25rem;display:flex;position:absolute;inset:0}.overlay-location{color:#fff;letter-spacing:.01em;margin-bottom:3px;font-size:15px;font-weight:600}.overlay-cap{color:#ffffffb3;letter-spacing:.06em;font-size:12px;font-weight:500}.overlay-tag{letter-spacing:.1em;text-transform:uppercase;color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;border-radius:3px;padding:3px 8px;font-size:10px;font-weight:600;position:absolute;top:1rem;left:1rem}.hover-hint{color:#ffffffd9;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);cursor:pointer;background:#0006;border:1px solid #ffffff40;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;transition:transform .3s,background .2s;display:flex;position:absolute;bottom:1rem;right:1rem}.hover-hint:hover{background:#0000008c}.card-wrap:hover .hover-hint,.card-wrap.flipped .hover-hint{transform:rotate(180deg)}.hover-hint svg{pointer-events:none;width:15px;height:15px}.card-back{border:1px solid var(--rule);background:#fff;flex-direction:column;justify-content:space-between;padding:1.5rem;display:flex;transform:rotateY(180deg)}.back-close{width:30px;height:30px;color:var(--grey);background:var(--lgrey);border:1px solid var(--rule);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:background .2s,color .2s;display:flex;position:absolute;bottom:1rem;right:1.5rem}.back-close:hover{color:#fff;background:#111}.back-close svg{pointer-events:none;width:15px;height:15px}.back-category{letter-spacing:.12em;color:var(--teal);text-transform:uppercase;margin-bottom:.75rem;font-size:10px;font-weight:600}.back-location{color:#111;letter-spacing:-.01em;margin-bottom:3px;font-size:20px;font-weight:500;line-height:1.2}.back-product{color:var(--teal);letter-spacing:.04em;margin-bottom:.875rem;font-size:12px;font-weight:500}.back-desc{color:var(--body);font-size:12px;line-height:1.7}.back-specs{border-top:1px solid var(--rule);flex-direction:column;gap:5px;margin-top:.875rem;padding-top:.875rem;display:flex}.spec-row{justify-content:space-between;font-size:11px;display:flex}.spec-label{color:var(--grey)}.spec-val{color:#111;font-weight:500}.back-footer{letter-spacing:.1em;color:#d1d5db;text-transform:uppercase;margin-top:.75rem;font-size:10px}@media (max-width:900px){.projects-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.projects-grid{grid-template-columns:1fr}.grid-wrap{padding:1.5rem 1.25rem}.filters-wrap{padding:0 1.25rem}}
