:root{--navy:#102b3f;--navy-2:#183f59;--gold:#c99a42;--red:#c9363d;--ink:#17212b;--muted:#66717c;--line:#dbe1e6;--soft:#f3f5f7;--white:#fff;--shadow:0 18px 50px rgba(16,43,63,.12);--radius:18px;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--ink);line-height:1.65;background:#fff}img{max-width:100%;display:block}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}.container{width:min(var(--max),calc(100% - 40px));margin:auto}.section{padding:90px 0}.section.alt{background:var(--soft)}.eyebrow{display:inline-flex;gap:8px;align-items:center;color:var(--gold);font-size:.8rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.eyebrow:before{content:"";width:30px;height:2px;background:currentColor}.section-title{font-size:clamp(2rem,4vw,3.4rem);line-height:1.12;margin:.55rem 0 1rem;color:var(--navy)}.lead{font-size:1.1rem;color:var(--muted);max-width:700px}.topbar{background:#081c2a;color:#d8e2e8;font-size:.9rem}.topbar .container{display:flex;justify-content:space-between;gap:20px;padding:9px 0}.topbar-links{display:flex;gap:24px;flex-wrap:wrap}.navbar{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);box-shadow:0 4px 20px rgba(0,0,0,.06)}.nav-wrap{height:78px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px;font-weight:900;color:var(--navy);letter-spacing:.02em}.brand img{width:58px;height:42px;object-fit:contain}.brand span{font-size:1.08rem}.nav-links{display:flex;align-items:center;gap:28px;font-weight:700;font-size:.95rem}.nav-links a{position:relative}.nav-links a:not(.btn):after{content:"";position:absolute;left:0;bottom:-8px;width:0;height:2px;background:var(--gold);transition:.25s}.nav-links a:hover:after,.nav-links a.active:after{width:100%}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:13px 22px;border-radius:7px;border:2px solid transparent;font-weight:800;cursor:pointer;transition:.25s}.btn-primary{background:var(--gold);color:#111}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 25px rgba(201,154,66,.3)}.btn-dark{background:var(--navy);color:#fff}.btn-outline{border-color:#fff;color:#fff}.btn-outline:hover{background:#fff;color:var(--navy)}.menu-toggle{display:none;background:none;border:0;color:var(--navy);font-size:1.7rem}.hero{min-height:720px;display:grid;place-items:center;position:relative;color:#fff;background:linear-gradient(90deg,rgba(5,22,34,.9),rgba(5,22,34,.45)),url('../images/hero.webp') center/cover}.hero-content{padding:120px 0;max-width:760px}.hero h1{font-size:clamp(3rem,7vw,5.8rem);line-height:.98;margin:15px 0 24px;letter-spacing:-.04em}.hero h1 span{color:var(--gold)}.hero p{font-size:1.2rem;color:#e6edf1;max-width:650px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}.hero-stats{display:grid;grid-template-columns:repeat(3,1fr);max-width:650px;margin-top:48px;border-top:1px solid rgba(255,255,255,.25);padding-top:25px}.hero-stat strong{display:block;font-size:1.7rem;color:var(--gold)}.quick-grid,.service-grid,.project-grid,.team-grid,.values-grid{display:grid;gap:24px}.quick-grid{grid-template-columns:repeat(4,1fr);margin-top:-55px;position:relative;z-index:3}.quick-card{background:#fff;padding:28px;border-radius:12px;box-shadow:var(--shadow);border-bottom:4px solid transparent;transition:.25s}.quick-card:hover{transform:translateY(-6px);border-color:var(--gold)}.icon-box{width:54px;height:54px;display:grid;place-items:center;border-radius:12px;background:#eef3f6;color:var(--navy);font-size:1.55rem;margin-bottom:18px}.split{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}.image-stack{position:relative}.image-stack .main-img{height:520px;width:100%;object-fit:cover;border-radius:var(--radius)}.image-stack .badge{position:absolute;right:-25px;bottom:35px;background:var(--navy);color:#fff;padding:26px;border-radius:12px;box-shadow:var(--shadow);max-width:210px}.image-stack .badge strong{font-size:2rem;color:var(--gold);display:block}.check-list{display:grid;gap:13px;margin:25px 0;padding:0;list-style:none}.check-list li:before{content:'✓';display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#e8f0e7;color:#27633b;font-weight:900;margin-right:10px}.service-grid{grid-template-columns:repeat(3,1fr);margin-top:36px}.service-card{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;transition:.3s}.service-card:hover{transform:translateY(-7px);box-shadow:var(--shadow)}.service-card img{width:100%;height:210px;object-fit:cover}.service-body{padding:25px}.service-body h3{margin:0 0 10px;color:var(--navy)}.service-link{font-weight:800;color:var(--navy)}.service-link:hover{color:var(--gold)}.project-grid{grid-template-columns:repeat(2,1fr);margin-top:35px}.project-card{position:relative;overflow:hidden;border-radius:14px;min-height:380px;background:#111}.project-card img{width:100%;height:100%;position:absolute;object-fit:cover;transition:.45s}.project-card:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 30%,rgba(4,18,28,.94))}.project-card:hover img{transform:scale(1.06)}.project-info{position:absolute;z-index:2;left:28px;right:28px;bottom:25px;color:#fff}.project-info h3{font-size:1.45rem;margin:0 0 5px}.meta{display:flex;gap:18px;flex-wrap:wrap;color:#dce6ec;font-size:.9rem}.cta-strip{background:linear-gradient(120deg,var(--navy),#244e67);color:#fff}.cta-wrap{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:50px 0}.cta-wrap h2{font-size:clamp(2rem,4vw,3rem);line-height:1.1;margin:0}.page-hero{padding:125px 0 85px;color:#fff;background:linear-gradient(90deg,rgba(7,26,39,.92),rgba(7,26,39,.55)),url('../images/house.webp') center/cover}.page-hero h1{font-size:clamp(2.8rem,6vw,5rem);margin:10px 0}.breadcrumb{color:#dfe9ee}.values-grid{grid-template-columns:repeat(3,1fr);margin-top:35px}.value-card{padding:30px;background:#fff;border-radius:14px;border:1px solid var(--line)}.value-card h3{color:var(--navy)}.banner{min-height:430px;display:grid;align-items:end;color:#fff;background:linear-gradient(0deg,rgba(5,25,37,.88),rgba(5,25,37,.18)),url('../images/sustainable.webp') center/cover;border-radius:var(--radius);overflow:hidden}.banner-content{padding:45px;max-width:700px}.banner-content h2{font-size:2.6rem;margin:0}.project-filter{display:flex;gap:10px;flex-wrap:wrap;margin:28px 0}.filter-btn{border:1px solid var(--line);background:#fff;border-radius:999px;padding:10px 18px;font-weight:700;cursor:pointer}.filter-btn.active,.filter-btn:hover{background:var(--navy);color:#fff}.team-grid{grid-template-columns:repeat(3,1fr);margin-top:38px}.team-card{background:#fff;border-radius:14px;overflow:hidden;border:1px solid var(--line);transition:.3s}.team-card:hover{transform:translateY(-7px);box-shadow:var(--shadow)}.team-card img{width:100%;height:340px;object-fit:cover}.team-info{padding:24px}.team-info h3{margin:0;color:var(--navy)}.role{color:var(--gold);font-weight:800;margin:4px 0 12px}.quote-layout{display:grid;grid-template-columns:.78fr 1.22fr;gap:45px}.contact-panel{background:var(--navy);color:#fff;padding:40px;border-radius:var(--radius)}.contact-panel h2{font-size:2rem}.contact-item{display:flex;gap:14px;margin:26px 0}.contact-item strong{display:block;color:var(--gold)}.quote-form{background:#fff;padding:38px;border-radius:var(--radius);box-shadow:var(--shadow)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}.field label{font-weight:800;color:var(--navy)}.field input,.field select,.field textarea{width:100%;padding:13px 14px;border:1px solid #cfd8de;border-radius:8px;background:#fff;outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,154,66,.16)}.field.error input,.field.error select,.field.error textarea{border-color:#c9363d}.error-text{font-size:.82rem;color:#c9363d;min-height:18px}.form-message{display:none;padding:15px;border-radius:8px;margin-bottom:18px}.form-message.success{display:block;background:#e9f7ed;color:#1d6635}.form-message.fail{display:block;background:#fdecec;color:#9d2929}.footer{background:#071b28;color:#c8d5dc;padding:65px 0 20px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:38px}.footer h4{color:#fff}.footer a:hover{color:var(--gold)}.footer-links{display:grid;gap:10px}.socials{display:flex;gap:10px}.socials a{width:38px;height:38px;border:1px solid #355365;border-radius:50%;display:grid;place-items:center}.copyright{margin-top:45px;padding-top:20px;border-top:1px solid #223b4b;display:flex;justify-content:space-between;gap:20px;font-size:.9rem}.reveal{opacity:0;transform:translateY(26px);transition:.7s}.reveal.visible{opacity:1;transform:none}.hidden{display:none!important}@media(max-width:950px){.nav-links{position:fixed;inset:78px 0 auto 0;background:#fff;padding:25px;display:none;flex-direction:column;align-items:flex-start;box-shadow:0 15px 30px rgba(0,0,0,.12)}.nav-links.open{display:flex}.menu-toggle{display:block}.quick-grid{grid-template-columns:repeat(2,1fr)}.split,.quote-layout{grid-template-columns:1fr}.service-grid,.values-grid,.team-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:repeat(2,1fr)}.image-stack .badge{right:15px}.hero{min-height:650px}}@media(max-width:640px){.topbar{display:none}.container{width:min(100% - 28px,var(--max))}.section{padding:68px 0}.brand span{font-size:.9rem}.quick-grid,.service-grid,.project-grid,.values-grid,.team-grid,.footer-grid,.form-grid{grid-template-columns:1fr}.quick-grid{margin-top:-25px}.hero{min-height:620px}.hero-content{padding:90px 0}.hero-stats{grid-template-columns:1fr 1fr}.hero-stat:last-child{display:none}.page-hero{padding:95px 0 65px}.cta-wrap,.copyright{flex-direction:column;align-items:flex-start}.quote-form,.contact-panel{padding:25px}.team-card img{height:300px}}

.project-card.page-hidden{display:none}
.pagination{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;align-items:center;margin-top:40px}
.pagination button{min-width:44px;height:44px;padding:0 14px;border:1px solid var(--line);background:#fff;color:var(--navy);border-radius:999px;cursor:pointer;font-weight:700;transition:.2s ease}
.pagination button:hover{border-color:var(--gold);color:var(--gold)}
.pagination button.active{background:var(--navy);border-color:var(--navy);color:#fff}
.pagination button:disabled{opacity:.4;cursor:not-allowed}
.pagination-meta{text-align:center;color:var(--muted);margin:14px 0 0;font-size:.95rem}
.project-grid .project-card img{width:100%;height:240px;object-fit:cover}.brand-suffix{font-size:.65rem!important;font-weight:500!important;letter-spacing:.02em;text-transform:none;color:#8a939c!important;margin-left:.25em;white-space:nowrap;vertical-align:baseline}.brand small.brand-suffix,.footer .brand small.brand-suffix{font-size:.65rem!important;color:#8a939c!important}.footer .brand-suffix,.footer small.brand-suffix{color:rgba(255,255,255,.55)!important}