*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}:root{--navy:#1a365d;--navy-light:#2c5282;--gold:#a87708;--gold-hover:#8f6506;--gold-soft:#c6992e;--green:#2f855a;--blue:#3182ce;--red:#c2412d;--white:#ffffff;--light:#f6f7f9;--border:#e2e6ea;--text:#2d3748;--text-light:#64748b;--radius:10px;--shadow:0 2px 12px rgba(26, 54, 93, 0.06);--shadow-lg:0 12px 32px rgba(26, 54, 93, 0.10);--nav-height:72px}html{scroll-behavior:smooth;scroll-padding-top:var(--nav-height)}body{font-family:-apple-system,BlinkMacSystemFont,segoe ui,Roboto,helvetica neue,Arial,sans-serif;color:var(--text);background:var(--white);line-height:1.6}a{color:var(--navy-light);text-decoration:none}a:hover{color:var(--gold)}img{display:block;max-width:100%;height:auto}.icon{width:1.25em;height:1.25em;flex-shrink:0}.container{max-width:1140px;margin:0 auto;padding:0 16px}.center{text-align:center}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.8rem 1.75rem;font-size:1rem;font-weight:600;font-family:inherit;border-radius:6px;border:2px solid transparent;cursor:pointer;transition:background .2s,border-color .2s,color .2s,box-shadow .2s,transform .2s}.btn-primary{background:var(--gold);border-color:var(--gold);color:var(--white)}.btn-primary:hover{background:var(--gold-hover);border-color:var(--gold-hover);color:var(--white);transform:translateY(-1px);box-shadow:0 8px 20px rgba(168,119,8,.25)}.btn-neutral{background:var(--white);border-color:var(--border);color:var(--navy)}.btn-neutral:hover{border-color:var(--navy);color:var(--navy)}.btn-sm{padding:.5rem 1.1rem;font-size:.9rem}.btn-lg{padding:.95rem 2rem;font-size:1.05rem}.btn-full{width:100%}.navbar{position:fixed;inset:0 0 auto 0;height:var(--nav-height);display:flex;align-items:center;background:rgba(255,255,255,.95);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);z-index:100}.nav-container{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;width:100%;max-width:1140px;margin:0 auto;padding:0 16px}.nav-logo{display:flex;align-items:center;gap:.5rem;font-size:1.3rem;font-weight:700;color:var(--navy);letter-spacing:-.02em;white-space:nowrap}.nav-logo-img{height:3.5rem;width:auto;margin:-.25rem 0}.nav-logo:hover{color:var(--navy)}.nav-links{display:flex;list-style:none;gap:1.75rem}.nav-links a{color:var(--text);font-size:.85rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.nav-links a:hover{color:var(--gold)}.nav-actions{display:flex;align-items:center;gap:1rem}.nav-social{display:inline-flex;color:var(--navy)}.nav-social .icon{width:1.5rem;height:1.5rem}.hero{position:relative;display:flex;align-items:center;min-height:640px;padding:calc(var(--nav-height) + 3rem)0 3rem;overflow:hidden;background:var(--light)}.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:70% center}.hero-bg.placeholder{min-height:0;border:0;padding-left:45%}.hero .container{position:relative;z-index:1;width:100%}.hero-card{max-width:540px;background:var(--white);border:1px solid var(--border);border-radius:14px;padding:2.5rem;box-shadow:var(--shadow-lg)}.hero h1{font-size:2.8rem;line-height:1.1;font-weight:800;color:var(--navy);letter-spacing:-.02em;margin-bottom:.75rem}.hero-tagline{font-size:1.3rem;color:var(--gold);font-weight:600;margin-bottom:1rem}.hero-intro{font-size:1.05rem;color:var(--text-light);margin-bottom:2rem}.hero-cta{display:flex;gap:1rem;flex-wrap:wrap}.placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;min-height:200px;background:linear-gradient(135deg,#eef1f4 0%,#e1e6eb 100%);border:2px dashed #c3ccd5;color:var(--text-light);font-size:.9rem;font-style:italic}.placeholder .icon{width:2rem;height:2rem;opacity:.6}.section{padding:5rem 0}.section-alt{background:var(--light)}.section-title{text-align:center;font-size:2.2rem;font-weight:700;color:var(--navy);margin-bottom:.5rem}.section-subtitle{text-align:center;color:var(--text-light);font-size:1.1rem;margin-bottom:3rem}.section-title:not(:has(+.section-subtitle)){margin-bottom:3rem}.section-404{padding-top:calc(var(--nav-height) + 5rem);min-height:70vh}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.service-card{background:var(--white);border:1px solid var(--border);border-radius:8px;padding:2rem;text-align:center;transition:transform .25s,box-shadow .25s}.service-card:hover{transform:translateY(-4px);box-shadow:0 10px 30px rgba(0,0,0,8%)}.service-icon{display:flex;justify-content:center;margin-bottom:1rem;color:var(--navy)}.service-icon svg{width:48px;height:48px}.service-card h3{font-size:1.15rem;color:var(--navy);margin-bottom:.75rem}.service-card p{color:var(--text-light);font-size:.95rem;line-height:1.6}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}.about-text h2{font-size:2.2rem;color:var(--navy);margin-bottom:1.25rem}.about-text p{font-size:1.05rem;line-height:1.8;margin-bottom:1rem}.about-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2rem;padding-top:2rem;border-top:1px solid var(--border)}.stat-number{display:block;font-size:2rem;font-weight:800;color:var(--gold);line-height:1.2}.stat-label{font-size:.8rem;color:var(--text-light);text-transform:uppercase;letter-spacing:.05em}.about-media{padding-top:3.9rem}.about-media img,.about-media .placeholder{width:100%;aspect-ratio:9/10;object-fit:cover;border-radius:14px;box-shadow:var(--shadow-lg)}.pillars-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1.25rem}.pillar{text-align:center;padding:0 .5rem}.pillar-icon{display:flex;justify-content:center;margin-bottom:.75rem;color:var(--navy)}.pillar-icon svg{width:40px;height:40px}.accent-green{fill:var(--green)}.accent-blue{fill:var(--blue)}.accent-red{fill:var(--red)}.pillar h3{font-size:1.05rem;color:var(--navy);margin-bottom:.4rem}.pillar p{font-size:.9rem;color:var(--text-light)}.spoed-banner{display:block;background:var(--navy);color:var(--white);padding:.9rem 0;text-decoration:none;transition:background .2s}.spoed-banner:hover{background:#112845;color:var(--white)}.spoed-inner{display:flex;align-items:center;gap:.75rem;justify-content:center}.spoed-inner svg{width:22px;height:22px;flex-shrink:0;color:var(--red)}.spoed-text{font-size:.95rem}.spoed-text strong{color:#e8654f}.projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.project-card{background:var(--white);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:transform .25s,box-shadow .25s}.project-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.project-image{position:relative;display:block;width:100%;height:220px;padding:0;border:0;background:linear-gradient(135deg,#c4ccd4 0%,#a8b5c2 100%);cursor:pointer}.project-image img{width:100%;height:100%;object-fit:cover}.project-image-empty{display:flex;align-items:center;justify-content:center;cursor:default;color:rgba(255,255,255,.9);font-size:.85rem;font-style:italic}.project-card:nth-child(6n+2) .project-image-empty{background:linear-gradient(135deg,#b0bec5 0%,#90a4ae 100%)}.project-card:nth-child(6n+3) .project-image-empty{background:linear-gradient(135deg,#bcc5ce 0%,#95a5b3 100%)}.project-card:nth-child(6n+4) .project-image-empty{background:linear-gradient(135deg,#adb9c5 0%,#8a9bab 100%)}.project-card:nth-child(6n+5) .project-image-empty{background:linear-gradient(135deg,#c1c9d1 0%,#9daab8 100%)}.project-card:nth-child(6n) .project-image-empty{background:linear-gradient(135deg,#b5c0ca 0%,#92a2b0 100%)}.project-count{position:absolute;right:.75rem;bottom:.75rem;display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .75rem;border-radius:20px;background:rgba(255,255,255,.92);color:var(--navy);font-size:.8rem;font-weight:600}.project-count .icon{width:1rem;height:1rem}.project-info{padding:1.25rem}.project-info h3{font-size:1rem;color:var(--navy);margin-bottom:.2rem}.project-info p{color:var(--text-light);font-size:.85rem}.lightbox{width:100vw;height:100vh;max-width:none;max-height:none;border:0;background:rgba(15,23,42,.92);display:none;align-items:center;justify-content:center}.lightbox[open]{display:flex}.lightbox::backdrop{background:0 0}.lightbox figure{max-width:calc(100vw - 9rem);max-height:90vh;display:flex;flex-direction:column;align-items:center;gap:.75rem}.lightbox img{max-width:100%;max-height:calc(90vh - 2.5rem);width:auto;height:auto;object-fit:contain;border-radius:6px}.lightbox figcaption{color:rgba(255,255,255,.85);font-size:.95rem}.lightbox-btn{position:absolute;display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:var(--white);cursor:pointer}.lightbox-btn:hover{background:rgba(255,255,255,.25)}.lightbox-btn .icon{width:26px;height:26px}.lightbox-close{top:1rem;right:1rem}.lightbox-prev{left:1rem;top:50%;transform:translateY(-50%)}.lightbox-next{right:1rem;top:50%;transform:translateY(-50%)}.lightbox.single .lightbox-prev,.lightbox.single .lightbox-next{display:none}.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.review-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:2rem;display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s}.review-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.review-stars{display:flex;gap:.15rem;color:var(--gold-soft);margin-bottom:1rem}.review-text{font-style:italic;line-height:1.7;margin-bottom:1.5rem;flex-grow:1}.review-author{display:flex;align-items:center;gap:.75rem}.review-avatar{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--navy);color:var(--white);font-weight:700;font-size:.85rem;flex-shrink:0}.review-author strong{display:block;color:var(--navy);font-size:.95rem}.review-author span{color:var(--text-light);font-size:.85rem}.contact-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:2rem;align-items:stretch}.contact-info{display:flex;flex-direction:column;justify-content:space-evenly;gap:1.5rem;background:var(--white);border:1px solid var(--border);border-radius:14px;padding:2rem;box-shadow:var(--shadow)}.contact-item{display:flex;align-items:center;gap:1rem}.contact-icon{display:flex;color:var(--navy);flex-shrink:0}.contact-icon svg{width:28px;height:28px}.contact-icon-pin{color:var(--red)}.contact-item strong{display:block;color:var(--navy);font-size:.85rem;text-transform:uppercase;letter-spacing:.05em}.contact-item>div span,.contact-item a{color:var(--text-light)}.contact-item a:hover{color:var(--gold)}.phone-list{display:grid;grid-template-columns:auto 1fr;column-gap:.75rem;align-items:baseline}.phone-list dt{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-light);opacity:.8}.phone-list dd{margin:0}.contact-form{background:var(--white);border:1px solid var(--border);border-radius:14px;padding:2rem;box-shadow:var(--shadow)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group{margin-bottom:1.25rem}.form-group label{display:block;margin-bottom:.35rem;font-weight:600;font-size:.9rem;color:var(--navy)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem 1rem;border:1px solid var(--border);border-radius:6px;background:var(--white);color:var(--text);font-size:1rem;font-family:inherit;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(168,119,8,.15)}.form-message{margin-top:1rem;padding:.75rem 1rem;border-radius:8px;font-size:.9rem}.form-message-ok{background:#e8f5e9;color:#2e7d32}.form-message-err{background:#fbe9e7;color:#c62828}.contact-map{margin-top:3rem;border-radius:14px;overflow:hidden;border:1px solid var(--border);box-shadow:var(--shadow)}.contact-map iframe{display:block;width:100%;height:380px;border:0}.footer{background:var(--light);border-top:1px solid var(--border);padding:3.5rem 0 1.5rem;font-size:.9rem}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:2rem;margin-bottom:2rem}.footer h4{color:var(--navy);font-size:1.05rem;margin-bottom:1rem}.footer p,.footer li{color:var(--text-light);line-height:1.8}.footer ul{list-style:none}.footer a{color:var(--text-light)}.footer a:hover{color:var(--gold)}.footer-social{display:inline-flex;align-items:center;gap:.5rem;margin-top:1rem;color:var(--navy)!important;font-weight:600}.footer-bottom{border-top:1px solid var(--border);padding-top:1.5rem;text-align:center}.footer-bottom p{font-size:.85rem}@media(max-width:1024px){.nav-links{gap:1.1rem}.services-grid,.projects-grid,.reviews-grid{grid-template-columns:repeat(2,1fr)}.pillars-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:900px){.nav-links{display:none}.about-grid,.contact-grid{grid-template-columns:1fr}.hero{align-items:flex-end;min-height:0;padding-top:calc(var(--nav-height) + 16rem)}.hero-bg.placeholder{padding-left:0;justify-content:flex-start;padding-top:calc(var(--nav-height) + 5rem)}.hero-card{max-width:none}.about-grid{gap:2.5rem}.about-media{padding-top:0}}@media(max-width:640px){:root{--nav-height:64px}.nav-logo{font-size:1.1rem}.hero{padding:calc(var(--nav-height) + 12rem)0 1.5rem}.hero-card{padding:1.75rem}.hero h1{font-size:2.1rem}.hero-tagline{font-size:1.15rem}.hero-cta{flex-direction:column}.section{padding:3.5rem 0}.section-title,.about-text h2{font-size:1.8rem}.services-grid,.projects-grid,.reviews-grid,.footer-grid,.form-row{grid-template-columns:1fr}.pillars-grid{grid-template-columns:1fr 1fr}.pillar:last-child{grid-column:1/-1}.about-stats{grid-template-columns:1fr 1fr 1fr}.stat-number{font-size:1.5rem}.contact-form{padding:1.5rem}.contact-map iframe{height:300px}.lightbox figure{max-width:calc(100vw - 1rem)}.lightbox-prev,.lightbox-next{top:auto;bottom:1rem;transform:none}}