:root{--color-black: #000000;--color-white: #ffffff;--color-yellow: #FF9812;--color-gray: #F3F3F3;--color-red: #F2371E;--space-xs: .5rem;--space-sm: 1rem;--space-md: 2rem;--space-lg: 4rem;--space-xl: 8rem;--font-primary: "Helvetica", monospace;--font-secondary: "Helvetica", monospace;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.25rem;--font-size-xl: 1.5rem;--font-size-2xl: 2rem;--font-size-3xl: 3rem;--font-size-4xl: 4rem}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-primary);background-color:var(--color-white);color:var(--color-black);line-height:1.5;-webkit-font-smoothing:antialiased}h1{font-size:var(--font-size-4xl);line-height:1;margin-bottom:var(--space-lg);letter-spacing:-.02em}h2{font-size:var(--font-size-3xl);line-height:1.1;margin-bottom:var(--space-md);text-transform:uppercase}h3{font-size:var(--font-size-2xl);line-height:1.2;margin-bottom:var(--space-sm)}p{font-size:var(--font-size-base);margin-bottom:var(--space-md);max-width:65ch}.container{max-width:1440px;margin:0 auto;padding:0 var(--space-md)}.navbar{position:fixed;top:0;left:0;width:100%;background:var(--color-white);border-bottom:1px solid var(--color-black);padding:var(--space-md);z-index:1000;padding-bottom:2rem}.nav-container{display:flex;justify-content:space-between;align-items:center;max-width:1440px;margin:0 auto}.nav-logo{font-size:var(--font-size-lg);font-weight:700;text-transform:uppercase;text-decoration:none;color:var(--color-black);transition:all .4s ease}.nav-logo:hover{transition:all .2s ease;color:var(--color-red)}.nav-links{display:flex;gap:var(--space-md);list-style:none}.nav-link{color:var(--color-black);text-decoration:none;text-transform:uppercase;font-weight:500;position:relative;padding:var(--space-xs) 0}.nav-link:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:2px;background-color:var(--color-red);transform:scaleX(0);transition:transform .3s ease}.nav-link:hover:after{transform:scaleX(1)}.mobile-menu-toggle{display:none;flex-direction:column;cursor:pointer;padding:.25rem;background:none;border:none}.hamburger-line{width:25px;height:3px;background-color:var(--color-black);margin:2px 0;transition:.3s}.mobile-menu{position:fixed;top:0;left:0;width:100%;height:100vh;background-color:var(--color-white);display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:999;transform:translateY(-100%);transition:transform .3s ease-in-out}.mobile-menu.active{transform:translateY(0)}.mobile-nav-links{list-style:none;display:flex;flex-direction:column;gap:var(--space-lg);text-align:center}.mobile-nav-link{color:var(--color-black);text-decoration:none;text-transform:uppercase;font-size:var(--font-size-xl);font-weight:600;padding:var(--space-sm);border-bottom:2px solid transparent;transition:all .3s ease}.mobile-nav-link:hover{color:var(--color-red);border-bottom-color:var(--color-red)}.mobile-menu-close{position:absolute;top:var(--space-md);right:var(--space-md);background:none;border:none;font-size:2rem;cursor:pointer;color:var(--color-black);padding:.5rem}.main-content{padding-top:12rem;min-height:calc(100vh - 400px);width:100%}.page{max-width:1440px;margin:0 auto;padding:var(--space-lg) var(--space-md)}.home-hero{height:calc(100vh - 100px);display:flex;flex-direction:column;justify-content:center}.home-hero h1{font-size:clamp(3rem,10vw,8rem);line-height:.9;margin-bottom:var(--space-md)}.home-latest{padding:var(--space-xl) 0}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-lg);margin:var(--space-xl) 0}.about-image{width:100%;height:100%;object-fit:cover;border:2px solid var(--color-black)}.about-text{text-align:justify}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-lg);margin:var(--space-xl) 0}.contact-form{display:flex;flex-direction:column;gap:var(--space-md)}.form-group{display:flex;flex-direction:column;gap:var(--space-xs)}.form-label{text-transform:uppercase;font-size:var(--font-size-sm)}.form-input,.form-textarea{padding:var(--space-sm);border:2px solid var(--color-black);font-family:var(--font-primary);background:var(--color-white)}.form-textarea{min-height:150px;resize:vertical}.submit-button{padding:var(--space-sm) var(--space-md);background:var(--color-black);color:var(--color-white);border:none;text-transform:uppercase;font-family:var(--font-primary);cursor:pointer;transition:all .3s ease}.submit-button:hover{background:var(--color-yellow);color:var(--color-black)}@font-face{font-family:Against;src:url(/against.ttf) format("truetype");font-weight:400;font-style:normal}.against-font{font-family:Against,cursive;font-size:3rem}.projects-container{min-height:100vh;background-color:#f9fafb;padding:2rem 1rem;margin-top:9rem}.projects-wrapper{max-width:1400px;margin:0 auto}.projects-title{font-size:2.5rem;font-weight:700;color:#111827;margin-bottom:2rem;text-align:center}.projects-filter{display:flex;gap:var(--space-sm);margin-bottom:var(--space-lg);flex-wrap:wrap}.filter-container{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;margin-bottom:1.5rem}.filter-button{padding:.75rem 1.5rem;border-radius:50px;font-size:.875rem;font-weight:500;transition:all .2s ease;border:1px solid #e5e7eb;cursor:pointer;text-transform:uppercase;font-family:var(--font-primary)}.filter-button.active{background-color:#f2371e;color:#fff;box-shadow:0 10px 25px -5px #2563eb40;border-color:#f2371e}.filter-button:not(.active){background-color:#fff;color:#374151}.filter-button:not(.active):hover{background-color:#f3f4f6}.subfilter-container{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin-bottom:2rem}.subfilter-button{padding:.5rem 1rem;border-radius:50px;font-size:.75rem;font-weight:500;transition:all .2s ease;border:none;cursor:pointer}.subfilter-button.active{background-color:#ffc0b1;color:#000;border:1px solid #ffc0b1}.subfilter-button:not(.active){background-color:#f3f4f6;color:#6b7280}.subfilter-button:not(.active):hover{background-color:#e5e7eb}.bento-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;grid-auto-rows:200px}@media (min-width: 768px){.bento-grid{grid-template-columns:repeat(6,1fr)}}.project-card{position:relative;overflow:hidden;border-radius:1rem;box-shadow:0 4px 6px -1px #0000001a;cursor:pointer;transition:all .3s ease}.project-card:hover{box-shadow:0 20px 25px -5px #0000001a;transform:scale(1.02)}.project-card.large{grid-column:span 2;grid-row:span 2}.project-card.medium{grid-column:span 2;grid-row:span 1}.project-card.small{grid-column:span 1;grid-row:span 1}.project-image{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.project-card:hover .project-image{transform:scale(1.1)}.project-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(to top,rgba(0,0,0,.7) 40%,rgba(0,0,0,.2) 80%,transparent 100%);opacity:0;transition:opacity .3s ease}.project-card:hover .project-overlay{opacity:1}.project-info{position:absolute;bottom:0;left:0;right:0;padding:1rem;color:#fff;transform:translateY(.5rem);transition:transform .3s ease}.project-card:hover .project-info{transform:translateY(0)}.project-title{font-weight:700;font-size:1.125rem;margin-bottom:.25rem;line-height:1.2}.project-meta{display:flex;justify-content:space-between;align-items:center;font-size:.875rem;opacity:.9;margin-bottom:.25rem}.project-subcategory{text-transform:capitalize}.project-location{font-size:.875rem;opacity:.75}.category-badge{position:absolute;top:.75rem;left:.75rem;padding:.25rem .5rem;background-color:#ffffffe6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);font-size:.75rem;font-weight:500;color:#374151;border-radius:50px;text-transform:capitalize}.no-results{text-align:center;padding:4rem 0;color:#6b7280;font-size:1.125rem}.features{padding:3rem}.footer{background:var(--color-white);border-top:1px solid var(--color-black);padding:var(--space-lg) 0;margin-top:var(--space-xl);width:100vw;position:relative;left:0;box-sizing:border-box}.footer-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--space-lg);max-width:1440px;margin:0 auto;padding:0 var(--space-md)}.footer-section{display:flex;flex-direction:column;gap:var(--space-sm)}.footer-heading{font-size:var(--font-size-lg);text-transform:uppercase;margin-bottom:var(--space-sm)}.footer-links{list-style:none;display:flex;flex-direction:column;gap:var(--space-xs)}.footer-link{color:var(--color-black);text-decoration:none;transition:color .3s ease}.footer-link:hover{color:var(--color-red)}.footer-social{display:flex;gap:var(--space-sm)}.footer-bottom{text-align:center;padding-top:var(--space-lg);font-size:var(--font-size-sm)}@media (max-width: 768px){.mobile-menu-toggle{display:flex}.nav-links{display:none}.navbar{padding:var(--space-sm) var(--space-md);padding-bottom:var(--space-sm)}.nav-logo{font-size:var(--font-size-base)}.main-content{padding-top:80px;min-height:auto}h1{font-size:2.5rem;margin-bottom:var(--space-md)}h2{font-size:2rem;margin-bottom:var(--space-sm)}h3{font-size:1.5rem;margin-bottom:var(--space-xs)}p{font-size:.9rem;margin-bottom:var(--space-sm)}.about-grid,.contact-grid{grid-template-columns:1fr}.home-hero{height:auto;padding:var(--space-xl) 0}.footer-container{grid-template-columns:1fr!important;padding:0 var(--space-sm)}.footer{padding:var(--space-md) 0}.projects-container{margin-top:5rem;padding:1rem .5rem}.projects-title{font-size:2rem}.project-card.large,.project-card.medium,.project-card.small{grid-column:span 1;grid-row:span 1}.bento-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem;grid-auto-rows:150px}.projects-filter{justify-content:center;gap:var(--space-xs)}.filter-button{padding:var(--space-xs);font-size:.75rem}.filter-container{gap:.5rem}.filter-button{padding:.5rem 1rem;font-size:.75rem}.subfilter-container{gap:.25rem}.subfilter-button{padding:.375rem .75rem;font-size:.625rem}.against-font{font-size:2rem}}@media (max-width: 480px){.container,.page{padding:0 var(--space-sm)}.navbar{padding:var(--space-xs) var(--space-sm)}.main-content{padding-top:70px}.footer-container{padding:0 var(--space-xs)}.mobile-nav-link{font-size:var(--font-size-lg)}.projects-container{padding:.5rem .25rem}.bento-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));grid-auto-rows:120px}h1{font-size:2rem}.projects-title{font-size:1.75rem;margin-bottom:1rem}}
