*{margin:0;padding:0;box-sizing:border-box}:root{--color-white: #ffffff;--color-black: #000000;--color-red: #ff1744;--max-width: 1200px;--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 2rem;--spacing-lg: 4rem;--spacing-xl: 6rem}html{font-size:16px;scroll-behavior:smooth}body{font-family:Nunito,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400;line-height:1.6;color:var(--color-black);background-color:var(--color-white);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:Bebas Neue,sans-serif;font-weight:400;line-height:1.2;margin-bottom:var(--spacing-sm);letter-spacing:.02em}h1{font-size:clamp(3rem,8vw,6rem)}h2{font-size:clamp(2rem,5vw,3.5rem)}h3{font-size:clamp(1.5rem,4vw,2.5rem)}p{margin-bottom:var(--spacing-sm);font-size:1.125rem}a{color:var(--color-red);text-decoration:none;transition:opacity .2s ease}a:hover{opacity:.8}a:focus{outline:2px solid var(--color-red);outline-offset:2px}.container{max-width:var(--max-width);margin:0 auto;padding:0 var(--spacing-md)}header{border-bottom:1px solid rgba(0,0,0,.1);padding:var(--spacing-md) 0;background-color:var(--color-white)}header .container{display:flex;justify-content:space-between;align-items:center}nav ul{list-style:none;display:flex;gap:var(--spacing-md)}nav a{font-size:1.125rem;font-weight:400;color:var(--color-black);text-transform:uppercase;letter-spacing:.05em}nav a:hover{color:var(--color-red)}nav a.active{color:var(--color-red)}.btn{display:inline-block;padding:1rem 2rem;font-family:Nunito,sans-serif;font-size:1rem;font-weight:400;text-align:center;cursor:pointer;border:none;transition:opacity .2s ease;text-transform:uppercase;letter-spacing:.05em}.btn-primary{background-color:var(--color-red);color:var(--color-white)}.btn-primary:hover{opacity:.9}.btn-primary:focus{outline:2px solid var(--color-red);outline-offset:2px}.btn-secondary{background-color:transparent;color:var(--color-black);border:1px solid var(--color-black)}.btn-secondary:hover{background-color:var(--color-black);color:var(--color-white)}.btn-secondary:focus{outline:2px solid var(--color-red);outline-offset:2px}.form-group{margin-bottom:var(--spacing-sm)}.form-group label{display:block;margin-bottom:var(--spacing-xs);font-size:1rem;font-weight:400}.form-group input[type=email]{width:100%;padding:1rem;font-family:Nunito,sans-serif;font-size:1rem;border:1px solid var(--color-black);background-color:var(--color-white);color:var(--color-black)}.form-group input[type=email]:focus{outline:2px solid var(--color-red);outline-offset:0;border-color:var(--color-red)}.form-group button{margin-top:var(--spacing-xs)}.form-inline{display:flex;gap:var(--spacing-xs);align-items:flex-end}.form-inline .form-group{flex:1;margin-bottom:0}.form-inline button{margin-top:0;white-space:nowrap}.form-success{margin-top:var(--spacing-xs);color:var(--color-black);font-size:.9rem}.hero{padding:var(--spacing-xl) 0;text-align:center}.hero h1{margin-bottom:var(--spacing-md)}.hero p{font-size:1.25rem;margin-bottom:var(--spacing-lg);max-width:600px;margin-left:auto;margin-right:auto}.hero-ctas{display:flex;gap:var(--spacing-md);justify-content:center;flex-wrap:wrap}.section{padding:var(--spacing-xl) 0}.section-title{text-align:center;margin-bottom:var(--spacing-lg)}.newsletter-section{background-color:var(--color-white)}.newsletter-section .form-group{max-width:500px;margin:0 auto}.highlights-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--spacing-lg);margin-top:var(--spacing-lg)}.highlight-card{padding:var(--spacing-md)}.highlight-card h3{margin-bottom:var(--spacing-sm);color:var(--color-red)}.about-intro{text-align:center;max-width:700px;margin:0 auto var(--spacing-xl);font-size:1.25rem}.about-content{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.about-bio p{margin-bottom:var(--spacing-md)}.quick-facts{list-style:none}.quick-facts li{margin-bottom:var(--spacing-sm);padding-bottom:var(--spacing-sm);border-bottom:1px solid rgba(0,0,0,.1)}.quick-facts strong{display:block;margin-bottom:var(--spacing-xs);text-transform:uppercase;letter-spacing:.05em;font-size:.875rem}.about-cta{text-align:center;margin-top:var(--spacing-xl)}.about-cta .hero-ctas{margin-top:var(--spacing-md)}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--spacing-lg);margin-top:var(--spacing-lg)}.project-card{padding:var(--spacing-md);border:1px solid rgba(0,0,0,.1)}.project-card h3{margin-bottom:var(--spacing-sm);color:var(--color-black)}.project-card .project-problem,.project-card .project-built{margin-bottom:var(--spacing-sm);font-size:1rem}.project-card .project-problem{font-weight:600}.project-tools{list-style:none;display:flex;flex-wrap:wrap;gap:var(--spacing-xs);margin:var(--spacing-md) 0}.project-tools li{padding:.25rem .75rem;background-color:#0000000d;font-size:.875rem}.project-links{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid rgba(0,0,0,.1)}footer{border-top:1px solid rgba(0,0,0,.1);padding:var(--spacing-lg) 0 var(--spacing-md);margin-top:var(--spacing-xl)}.footer-content{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg);margin-bottom:var(--spacing-md)}.footer-newsletter h3{font-size:1.5rem;margin-bottom:var(--spacing-sm)}.footer-newsletter p{font-size:.9rem;margin-bottom:var(--spacing-sm)}.footer-newsletter .form-inline{margin-top:var(--spacing-sm)}.footer-copyright{text-align:center;padding-top:var(--spacing-md);border-top:1px solid rgba(0,0,0,.1);font-size:.875rem;color:#0009}@media (max-width: 768px){:root{--spacing-lg: 3rem;--spacing-xl: 4rem}header .container{flex-direction:column;gap:var(--spacing-sm)}nav ul{flex-direction:column;gap:var(--spacing-xs);text-align:center}.hero-ctas{flex-direction:column;align-items:stretch}.btn{width:100%}.about-content,.footer-content{grid-template-columns:1fr}.form-inline{flex-direction:column;align-items:stretch}.form-inline button{width:100%}}@media (max-width: 480px){.container{padding:0 var(--spacing-sm)}.highlights-grid,.projects-grid{grid-template-columns:1fr}}
