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