.navigation{background:#1a1a1a;color:#fff;box-shadow:0 2px 8px #0000001a;position:sticky;top:0;z-index:1000}.navigation-container{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;align-items:center;justify-content:space-between;height:70px}.navigation-brand{flex-shrink:0}.navigation-brand-link{background:none;border:none;color:#fff;font-size:1.5rem;font-weight:700;cursor:pointer;text-decoration:none;padding:0;transition:opacity .2s ease;display:flex;align-items:center;height:100%}.navigation-brand-link:hover{opacity:.8}.navigation-logo{height:50px;width:auto;max-width:200px;object-fit:contain}.navigation-mobile-toggle{display:none;flex-direction:column;background:none;border:none;cursor:pointer;padding:.5rem;gap:4px}.navigation-mobile-toggle span{width:25px;height:3px;background:#fff;transition:all .3s ease}.navigation-menu{display:flex;list-style:none;margin:0;padding:0;gap:.5rem;align-items:center}.navigation-item{margin:0}.navigation-link{background:none;border:none;color:#fff;padding:.75rem 1.25rem;text-decoration:none;font-size:1rem;font-weight:500;cursor:pointer;border-radius:4px;transition:background-color .2s ease,color .2s ease;display:block}.navigation-link:hover{background-color:#ffffff1a;color:#64b5f6}.navigation-link-active{background-color:#1976d2;color:#fff}.navigation-link-active:hover{background-color:#1565c0;color:#fff}@media (max-width: 768px){.navigation-mobile-toggle{display:flex}.navigation-menu{position:absolute;top:100%;left:0;right:0;background:#1a1a1a;flex-direction:column;align-items:stretch;padding:1rem 0;box-shadow:0 4px 8px #0003;max-height:0;overflow:hidden;transition:max-height .3s ease}.navigation-menu-open{max-height:500px}.navigation-link{width:100%;text-align:left;padding:1rem 2rem;border-radius:0}}.layout{min-height:100vh;display:flex;flex-direction:column}.layout-main{flex:1;max-width:1200px;width:100%;margin:0 auto;padding:2rem}.page-title{font-size:2.5rem;font-weight:700;color:#1a1a1a;margin:0 0 2rem;text-align:center}.layout-footer{background:#1a1a1a;color:#fff;padding:2rem;margin-top:4rem}.footer-container{max-width:1200px;margin:0 auto;text-align:center}.footer-container p{margin:.5rem 0;color:#fffc}@media (max-width: 768px){.layout-main{padding:1.5rem 1rem}.page-title{font-size:2rem;margin-bottom:1.5rem}}.home{width:100%}.hero{text-align:center;padding:3rem 0;margin-bottom:4rem}.hero-title{font-size:3.5rem;font-weight:700;color:#1a1a1a;margin:0 0 1rem}.hero-subtitle{font-size:1.5rem;color:#1976d2;font-weight:500;margin:0 0 2rem}.hero-description{font-size:1.125rem;color:#555;line-height:1.8;max-width:800px;margin:0 auto}.home-highlights{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-bottom:4rem}.highlight-card{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 8px #0000001a;text-align:center;transition:transform .2s ease,box-shadow .2s ease}.highlight-card:hover{transform:translateY(-4px);box-shadow:0 4px 16px #00000026}.highlight-card h3{font-size:1.5rem;font-weight:600;color:#1a1a1a;margin:0 0 1rem}.highlight-card p{color:#666;line-height:1.6;margin:0}.home-cta{text-align:center;padding:3rem 2rem;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;margin-top:4rem}.home-cta h2{font-size:2rem;margin:0 0 1rem}.home-cta p{font-size:1.125rem;margin:0;opacity:.95}@media (max-width: 768px){.hero-title{font-size:2.5rem}.hero-subtitle{font-size:1.25rem}.home-highlights{grid-template-columns:1fr}}.project-card{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 2px 8px #0000001a;transition:transform .2s ease,box-shadow .2s ease;height:100%;display:flex;flex-direction:column}.project-card:hover{transform:translateY(-4px);box-shadow:0 4px 16px #00000026}.project-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem;gap:1rem}.project-card-title{margin:0;font-size:1.25rem;font-weight:600;color:#1a1a1a;flex:1}.project-card-year{background:#e3f2fd;color:#1976d2;padding:.25rem .75rem;border-radius:12px;font-size:.875rem;font-weight:500;white-space:nowrap}.project-card-client{color:#666;font-size:.9rem;margin-bottom:.75rem;font-style:italic}.project-card-description{color:#555;line-height:1.6;margin:0 0 1rem;flex:1}.project-card-technologies{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:auto}.tech-tag{background:#f5f5f5;color:#333;padding:.375rem .75rem;border-radius:4px;font-size:.875rem;border:1px solid #e0e0e0}.project-card-repository{margin-top:1rem;padding-top:1rem;border-top:1px solid #e0e0e0}.project-card-link{color:#1976d2;text-decoration:none;font-weight:500;font-size:.9rem;display:inline-flex;align-items:center;transition:color .2s ease}.project-card-link:hover{color:#1565c0;text-decoration:underline}.projects-page{width:100%}.projects-intro{max-width:800px;margin:0 auto 3rem;text-align:center;color:#555;font-size:1.125rem;line-height:1.8}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:2rem}.projects-empty{text-align:center;padding:4rem 2rem;color:#666;font-size:1.125rem}@media (max-width: 768px){.projects-grid{grid-template-columns:1fr}}.accolades-page{width:100%}.accolades-intro{max-width:800px;margin:0 auto 3rem;text-align:center;color:#555;font-size:1.125rem;line-height:1.8}.accolades-section{margin-bottom:4rem}.accolades-section-title{font-size:2rem;font-weight:600;color:#1a1a1a;margin:0 0 2rem;text-align:center;padding-bottom:1rem;border-bottom:2px solid #e0e0e0}.accolades-list{display:flex;flex-direction:column;gap:2rem}.accolade-card{background:#fff;border-radius:8px;padding:2rem;box-shadow:0 2px 8px #0000001a;transition:transform .2s ease,box-shadow .2s ease}.accolade-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #00000026}.accolade-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem;gap:1rem;flex-wrap:wrap}.accolade-title{margin:0;font-size:1.5rem;font-weight:600;color:#1a1a1a;flex:1}.accolade-type{background:#e3f2fd;color:#1976d2;padding:.25rem .75rem;border-radius:12px;font-size:.875rem;font-weight:500;white-space:nowrap}.accolade-organization{color:#1976d2;font-size:1.125rem;font-weight:500;margin-bottom:.5rem}.accolade-year{color:#666;font-size:.9rem;margin-bottom:1rem;font-style:italic}.accolade-description{color:#555;line-height:1.7;margin:0}.company-logo{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 2px 8px #0000001a;transition:transform .2s ease,box-shadow .2s ease;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:180px;height:100%;text-align:center}.company-logo-link{text-decoration:none;color:inherit;display:block}.company-logo:hover{transform:translateY(-4px);box-shadow:0 4px 16px #00000026}.company-logo-image{max-width:100%;max-height:80px;width:auto;height:auto;object-fit:contain;margin:0 auto 1rem;padding:.5rem;display:block}.company-logo-text-only .company-logo-image{display:none}.company-logo-text-only{padding:2rem 1.5rem}.company-logo-name{font-weight:600;color:#1a1a1a;font-size:1rem;line-height:1.4}.company-logo-description{margin-top:.5rem;font-size:.875rem;color:#666;line-height:1.4}.companies-page{width:100%}.companies-intro{max-width:800px;margin:0 auto 3rem;text-align:center;color:#555;font-size:1.125rem;line-height:1.8}.companies-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:2rem;align-items:stretch}.companies-grid>*{height:100%}@media (max-width: 768px){.companies-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1.5rem}}.real-estate-page{width:100%}.real-estate-intro{max-width:800px;margin:0 auto 3rem;text-align:center;color:#555;font-size:1.125rem;line-height:1.8}.real-estate-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem;margin-bottom:4rem}.stat-card{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:2.5rem;border-radius:12px;text-align:center;box-shadow:0 4px 16px #667eea4d}.stat-value{font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.stat-label{font-size:1.125rem;opacity:.95;font-weight:500}.real-estate-details{max-width:800px;margin:0 auto;background:#fff;padding:2.5rem;border-radius:12px;box-shadow:0 2px 8px #0000001a}.real-estate-details h2{font-size:2rem;font-weight:600;color:#1a1a1a;margin:0 0 1.5rem;text-align:center}.real-estate-details p{color:#555;line-height:1.8;margin:0 0 1.5rem;font-size:1.0625rem}.real-estate-details p:last-child{margin-bottom:0}@media (max-width: 768px){.real-estate-stats{grid-template-columns:1fr}.stat-value{font-size:2rem}}.offices-page{width:100%}.offices-intro{max-width:800px;margin:0 auto 3rem;text-align:center;color:#555;font-size:1.125rem;line-height:1.8}.offices-section{margin-bottom:4rem}.offices-section h2{font-size:2rem;font-weight:600;color:#1a1a1a;margin:0 0 2rem;text-align:center}.offices-rd{margin-bottom:4rem}.office-card{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 2px 8px #0000001a;transition:transform .2s ease,box-shadow .2s ease;position:relative}.office-card-featured{max-width:600px;margin:0 auto;border:2px solid #1976d2}.office-card:hover{transform:translateY(-4px);box-shadow:0 4px 16px #00000026}.office-type-badge{display:inline-block;background:#e3f2fd;color:#1976d2;padding:.375rem .875rem;border-radius:12px;font-size:.875rem;font-weight:500;margin-bottom:1rem}.office-name{font-size:1.75rem;font-weight:600;color:#1a1a1a;margin:0 0 1.5rem}.office-address{margin-bottom:1.5rem;color:#555;line-height:1.8}.office-address p{margin:.25rem 0}.office-description{color:#666;line-height:1.7;margin:0 0 1.5rem;font-style:italic}.office-phone{color:#555;margin-top:1rem;padding-top:1rem;border-top:1px solid #e0e0e0}.office-phone strong{color:#1a1a1a}.offices-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem}@media (max-width: 768px){.offices-grid{grid-template-columns:1fr}}.team-member{background:#fff;border-radius:8px;padding:2rem;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column;align-items:center;text-align:center;transition:transform .2s ease,box-shadow .2s ease}.team-member:hover{transform:translateY(-4px);box-shadow:0 4px 16px #00000026}.team-member-image-container{width:200px;height:200px;border-radius:50%;overflow:hidden;margin-bottom:1.5rem;background:#f5f5f5;display:flex;align-items:center;justify-content:center}.team-member-image{width:100%;height:100%;object-fit:cover}.team-member-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:4rem;font-weight:600}.team-member-info{width:100%}.team-member-name{margin:0 0 .5rem;font-size:1.5rem;font-weight:600;color:#1a1a1a}.team-member-title{color:#1976d2;font-size:1.1rem;font-weight:500;margin-bottom:1rem}.team-member-bio{color:#555;line-height:1.7;margin:0 0 1.5rem;text-align:left}.team-member-contact{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.team-member-link{color:#1976d2;text-decoration:none;font-weight:500;padding:.5rem 1rem;border:2px solid #1976d2;border-radius:4px;transition:background-color .2s ease,color .2s ease}.team-member-link:hover{background-color:#1976d2;color:#fff}@media (min-width: 768px){.team-member{flex-direction:row;text-align:left;align-items:flex-start}.team-member-image-container{margin-right:2rem;margin-bottom:0;flex-shrink:0}.team-member-contact{justify-content:flex-start}}.team-page{width:100%}.team-intro{max-width:800px;margin:0 auto 3rem;text-align:center;color:#555;font-size:1.125rem;line-height:1.8}.team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:3rem;max-width:1200px;margin:0 auto}@media (max-width: 768px){.team-grid{grid-template-columns:1fr;gap:2rem}}*{box-sizing:border-box}:root{--primary-color: #1976d2;--primary-dark: #1565c0;--primary-light: #64b5f6;--text-primary: #1a1a1a;--text-secondary: #555;--text-light: #666;--background: #ffffff;--background-alt: #f5f5f5;--border-color: #e0e0e0;--shadow: rgba(0, 0, 0, .1);--shadow-hover: rgba(0, 0, 0, .15)}html{font-size:16px;scroll-behavior:smooth}body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--background-alt);color:var(--text-primary);line-height:1.6}#root{min-height:100vh}h1,h2,h3,h4,h5,h6{margin:0;font-weight:600;line-height:1.2;color:var(--text-primary)}p{margin:0}a{color:var(--primary-color);text-decoration:none;transition:color .2s ease}a:hover{color:var(--primary-dark)}button{font-family:inherit;font-size:inherit;cursor:pointer}.container{max-width:1200px;margin:0 auto;padding:0 2rem}.text-center{text-align:center}img{max-width:100%;height:auto}code{font-family:Courier New,Courier,monospace;background:var(--background-alt);padding:.2rem .4rem;border-radius:3px;font-size:.9em}*:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}@media print{.navigation,.layout-footer{display:none}}
