*{box-sizing:border-box;margin:0;padding:0}:root{--color-background:#fff;--color-text-primary:#1a1a1a;--color-text-secondary:#666;--color-border:#e5e5e5;--color-hover:#f8f9fa;--font-primary:"Open Sans", system-ui, -apple-system, sans-serif;--spacing-xs:.5rem;--spacing-sm:1rem;--spacing-md:2rem;--spacing-lg:4rem;--spacing-xl:6rem}body{font-family:var(--font-primary);color:var(--color-text-primary);background-color:var(--color-background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;line-height:1.6}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{cursor:pointer;font-family:inherit}.header{-webkit-backdrop-filter:blur(10px);z-index:1000;background-color:#fffc;border-bottom:1px solid #0000001a;position:fixed;top:0;left:0;right:0}.header-container{max-width:1400px;padding:var(--spacing-sm) var(--spacing-md);justify-content:space-between;align-items:center;margin:0 auto;display:flex}.logo{letter-spacing:.08em;color:var(--color-text-primary);font-size:1rem;font-weight:700;transition:opacity .3s}.logo:hover{opacity:.6}.nav{gap:var(--spacing-md);display:flex}.nav-link{color:var(--color-text-secondary);font-size:.875rem;transition:color .3s}.nav-link:hover{color:var(--color-text-primary)}@media (width<=768px){.header-container{padding:var(--spacing-sm)}.nav{gap:var(--spacing-sm)}}.footer{border-top:1px solid var(--color-border);margin-top:var(--spacing-xl);background-color:var(--color-background)}.footer-container{max-width:1400px;padding:var(--spacing-lg) var(--spacing-md);gap:var(--spacing-lg);grid-template-columns:repeat(2,1fr);margin:0 auto;display:grid}.footer-section h4{margin-bottom:var(--spacing-sm);letter-spacing:.05em;text-transform:uppercase;font-size:.875rem;font-weight:600}.footer-section p{color:var(--color-text-secondary);margin-bottom:.25rem;font-size:.875rem;line-height:1.6}.footer-section a{color:var(--color-text-secondary);transition:color .3s}.footer-section a:hover{color:var(--color-text-primary)}.footer-bottom{border-top:1px solid var(--color-border);padding:var(--spacing-md);text-align:center}.footer-bottom p{color:var(--color-text-secondary);font-size:.8125rem}@media (width<=768px){.footer-container{gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-sm);grid-template-columns:1fr}}.project-card{transition:transform .3s;display:block}.project-card:hover{transform:translateY(-4px)}.project-card-image{aspect-ratio:16/10;background-color:var(--color-hover);width:100%;margin-bottom:var(--spacing-sm);overflow:hidden}.project-card-image img{object-fit:cover;width:100%;height:100%;transition:transform .5s}.project-card:hover .project-card-image img{transform:scale(1.05)}.project-card-content{padding:var(--spacing-xs) 0}.project-card-title{margin-bottom:var(--spacing-xs);font-size:1.25rem;font-weight:400;line-height:1.3}.project-card-meta{color:var(--color-text-secondary);margin-bottom:var(--spacing-xs);font-size:.875rem}.project-card-description{color:var(--color-text-secondary);font-size:.875rem;line-height:1.5}.filter-bar{gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);flex-wrap:wrap;display:flex}.filter-button{padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--color-border);color:var(--color-text-secondary);background-color:#0000;border-radius:0;font-size:.875rem;transition:all .3s}.filter-button:hover{background-color:var(--color-hover);color:var(--color-text-primary)}.filter-button.active{background-color:var(--color-text-primary);color:var(--color-background);border-color:var(--color-text-primary)}@media (width<=768px){.filter-bar{gap:var(--spacing-xs)}.filter-button{padding:.375rem .75rem;font-size:.8125rem}}.projects-page{width:100%;margin:0;padding:0}.hero-section{height:100vh;position:relative;overflow:hidden}.hero-slide{opacity:0;padding:var(--spacing-xl);background-position:50%;background-repeat:no-repeat;background-size:cover;align-items:flex-end;transition:opacity 1s ease-in-out;display:flex;position:absolute;inset:0}.hero-slide.active{opacity:1}.hero-overlay{padding:var(--spacing-xl);background:linear-gradient(#0000 0%,#0000004d 50%,#000000b3 100%);align-items:flex-end;display:flex;position:absolute;inset:0}.hero-content{color:#fff;width:100%;max-width:1400px;margin:0 auto}.hero-title{margin:0 0 var(--spacing-sm) 0;letter-spacing:-.02em;font-size:4rem;font-weight:300}.hero-location{opacity:.9;margin:0;font-size:1.5rem;font-weight:300}.hero-indicators{bottom:var(--spacing-md);gap:var(--spacing-xs);z-index:10;display:flex;position:absolute;left:50%;transform:translate(-50%)}.indicator{cursor:pointer;background:#ffffff80;border:none;border-radius:50%;width:10px;height:10px;padding:0;transition:background .3s}.indicator.active{background:#fff}.indicator:hover{background:#fffc}.page-header,.services-section,.projects-section-header,.filter-section,.projects-grid{max-width:1400px;padding-left:var(--spacing-md);padding-right:var(--spacing-md);margin-left:auto;margin-right:auto}.page-header{margin-bottom:var(--spacing-lg);margin-top:var(--spacing-xl);padding-top:var(--spacing-lg)}.page-title{margin-bottom:var(--spacing-sm);letter-spacing:-.02em;font-size:3rem;font-weight:300}.page-subtitle{color:var(--color-text-secondary);max-width:800px;font-size:1.125rem}.intro-section{max-width:1400px;padding-left:var(--spacing-md);padding-right:var(--spacing-md);margin-left:auto;margin-right:auto;margin-bottom:var(--spacing-xl)}.intro-text p{color:var(--color-text-secondary);margin-bottom:var(--spacing-md);max-width:860px;font-size:1.0625rem;line-height:1.8}.intro-text p:last-child{margin-bottom:0}@media (width<=768px){.intro-section{padding-left:var(--spacing-sm);padding-right:var(--spacing-sm)}.intro-text p{font-size:.9375rem}}.services-section{gap:var(--spacing-md);margin-bottom:var(--spacing-xl);padding-top:var(--spacing-md);border-top:1px solid var(--color-border);grid-template-columns:repeat(4,1fr);display:grid}.service h3{margin-bottom:var(--spacing-sm);letter-spacing:.02em;font-size:1rem;font-weight:600}.service p{color:var(--color-text-secondary);font-size:.9375rem;line-height:1.7}.projects-section-header{margin-bottom:var(--spacing-md)}.projects-section-header h2{letter-spacing:-.01em;font-size:2rem;font-weight:300}.filter-section{margin-bottom:var(--spacing-md)}.filter-label{margin-bottom:var(--spacing-xs);color:var(--color-text-primary);letter-spacing:.02em;font-size:.875rem;font-weight:600}.projects-grid{gap:var(--spacing-lg) var(--spacing-md);margin-top:var(--spacing-lg);grid-template-columns:repeat(auto-fill,minmax(400px,1fr));display:grid}@media (width<=768px){.hero-title{font-size:2.5rem}.hero-location{font-size:1.125rem}.hero-section,.hero-overlay{padding:var(--spacing-md)}.page-header,.services-section,.projects-section-header,.filter-section,.projects-grid{padding-left:var(--spacing-sm);padding-right:var(--spacing-sm)}.page-title{font-size:2rem}.page-subtitle{font-size:1rem}.services-section{gap:var(--spacing-lg);grid-template-columns:1fr}.filter-label{font-size:.8125rem}.projects-grid{gap:var(--spacing-md);grid-template-columns:1fr}}.project-detail-page{max-width:1200px;padding:calc(var(--spacing-lg) + 60px) var(--spacing-md) var(--spacing-lg);margin:0 auto}.back-link{color:var(--color-text-secondary);margin-bottom:var(--spacing-md);font-size:.875rem;transition:color .3s;display:inline-block}.back-link:hover{color:var(--color-text-primary)}.project-header{margin-bottom:var(--spacing-lg)}.project-title{margin-bottom:var(--spacing-sm);letter-spacing:-.02em;font-size:3.5rem;font-weight:300;line-height:1.2}.project-meta{color:var(--color-text-secondary);gap:var(--spacing-xs);font-size:1rem;display:flex}.project-category{text-transform:capitalize}.project-images{margin-bottom:var(--spacing-lg)}.project-image{width:100%;margin-bottom:var(--spacing-md);background-color:var(--color-hover)}.project-image:last-child{margin-bottom:0}.project-image img{width:100%;height:auto;display:block}.project-content{max-width:800px}.project-description{margin-bottom:var(--spacing-md)}.project-description h2{color:var(--color-text-secondary);font-size:1.5rem;font-weight:400;line-height:1.5}.project-text p{margin-bottom:var(--spacing-md);color:var(--color-text-primary);font-size:1rem;line-height:1.8}.not-found{text-align:center;padding:var(--spacing-xl) 0}.not-found h1{margin-bottom:var(--spacing-md);font-size:2rem;font-weight:300}.project-related{margin-top:var(--spacing-xl);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border);color:var(--color-text-secondary);font-size:.9375rem}.project-related a{color:var(--color-text-primary);text-decoration:underline}@media (width<=768px){.project-detail-page{padding:calc(var(--spacing-md) + 60px) var(--spacing-sm) var(--spacing-md)}.project-title{font-size:2rem}.project-meta{font-size:.875rem}.project-description h2{font-size:1.25rem}.project-text p{font-size:.9375rem}}.about-page{max-width:1100px;padding:calc(var(--spacing-lg) + 60px) var(--spacing-md) var(--spacing-xl);margin:0 auto}.about-header{margin-bottom:var(--spacing-xl)}.about-lead{color:var(--color-text-secondary);max-width:680px;margin-top:var(--spacing-sm);font-size:1.25rem;line-height:1.6}.about-stats{gap:var(--spacing-md);padding:var(--spacing-lg) 0;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);margin-bottom:var(--spacing-xl);grid-template-columns:repeat(4,1fr);display:grid}.stat{gap:var(--spacing-xs);flex-direction:column;display:flex}.stat-number{letter-spacing:-.03em;font-size:2.5rem;font-weight:300;line-height:1}.stat-label{letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-secondary);font-size:.8125rem;font-weight:600}.about-content{gap:var(--spacing-xl);flex-direction:column;display:flex}.about-section h2{margin-bottom:var(--spacing-sm);letter-spacing:-.01em;font-size:1.5rem;font-weight:400}.about-section p{color:var(--color-text-primary);margin-bottom:var(--spacing-sm);font-size:1rem;line-height:1.8}.about-section p:last-child{margin-bottom:0}.about-section--highlight{background:var(--color-surface,#f8f8f8);padding:var(--spacing-lg);border-left:3px solid var(--color-text-primary)}.about-disciplines{gap:var(--spacing-md);grid-template-columns:repeat(3,1fr);display:grid}.discipline-card{padding:var(--spacing-md);border:1px solid var(--color-border)}.discipline-card h3{margin-bottom:var(--spacing-sm);letter-spacing:.02em;font-size:1rem;font-weight:600}.discipline-card p{color:var(--color-text-secondary);margin:0;font-size:.9375rem;line-height:1.7}@media (width<=768px){.about-page{padding:calc(var(--spacing-md) + 60px) var(--spacing-sm) var(--spacing-lg)}.about-lead{font-size:1.0625rem}.about-stats{grid-template-columns:repeat(2,1fr)}.stat-number{font-size:2rem}.about-section h2{font-size:1.25rem}.about-section p{font-size:.9375rem}.about-section--highlight{padding:var(--spacing-md)}.about-disciplines{grid-template-columns:1fr}}.contact-page{max-width:900px;padding:calc(var(--spacing-lg) + 60px) var(--spacing-md) var(--spacing-lg);margin:0 auto}.contact-header{margin-bottom:var(--spacing-lg)}.contact-subtitle{color:var(--color-text-secondary);margin-top:var(--spacing-sm);font-size:1.125rem}.contact-layout{gap:var(--spacing-xl);grid-template-columns:1fr 2fr;align-items:start;display:grid}.contact-info{padding-right:var(--spacing-md);border-right:1px solid var(--color-border)}.contact-info-heading{margin-bottom:var(--spacing-md);letter-spacing:.02em;font-size:1rem;font-weight:600}.contact-nap{gap:var(--spacing-sm);color:var(--color-text-secondary);flex-direction:column;font-size:.9375rem;font-style:normal;line-height:1.6;display:flex}.contact-nap-name{color:var(--color-text-primary);font-weight:600}.contact-nap a{color:var(--color-text-secondary);text-decoration:none}.contact-nap a:hover{color:var(--color-text-primary)}.contact-hours{margin-top:var(--spacing-md);color:var(--color-text-secondary);font-size:.875rem}.contact-form{gap:var(--spacing-md);flex-direction:column;display:flex}.form-group{gap:var(--spacing-xs);flex-direction:column;display:flex}.form-label{color:var(--color-text-primary);letter-spacing:.02em;font-size:.875rem;font-weight:600}.form-input,.form-textarea{padding:var(--spacing-sm);border:1px solid var(--color-border);background-color:var(--color-background);color:var(--color-text-primary);border-radius:4px;font-family:inherit;font-size:1rem;transition:border-color .3s,box-shadow .3s}.form-input:focus,.form-textarea:focus{border-color:var(--color-text-primary);outline:none;box-shadow:0 0 0 3px #0000000d}.form-textarea{resize:vertical;min-height:120px}.submit-button{padding:var(--spacing-sm) var(--spacing-md);letter-spacing:.02em;color:var(--color-background);background-color:var(--color-text-primary);cursor:pointer;border:none;border-radius:4px;align-self:flex-start;font-size:.875rem;font-weight:600;transition:opacity .3s,transform .2s}.submit-button:hover{opacity:.8}.submit-button:active{transform:translateY(1px)}.form-status{padding:var(--spacing-sm);border-radius:4px;margin:0;font-size:.9375rem}.form-status.success{color:#155724;background-color:#d4edda;border:1px solid #c3e6cb}.form-status.error{color:#721c24;background-color:#f8d7da;border:1px solid #f5c6cb}@media (width<=768px){.contact-page{padding:calc(var(--spacing-md) + 60px) var(--spacing-sm) var(--spacing-md)}.contact-subtitle{font-size:1rem}.contact-layout{gap:var(--spacing-lg);grid-template-columns:1fr}.contact-info{border-right:none;border-bottom:1px solid var(--color-border);padding-right:0;padding-bottom:var(--spacing-lg)}.submit-button{width:100%}}.app,main{min-height:100vh}
