.hero{padding:clamp(3rem,7vw,6.5rem) 0 var(--section);overflow:hidden}.hero-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,6vw,6rem);align-items:center}.hero-copy p{font-size:clamp(1.05rem,1.5vw,1.25rem);color:var(--muted);margin:1.5rem 0 2rem;max-width:36rem}.hero-actions{display:flex;gap:.8rem;flex-wrap:wrap}.hero-trust{display:flex;gap:1.2rem;flex-wrap:wrap;margin-top:2rem;color:var(--muted);font-size:.85rem}.hero-trust span::before{content:"✓";color:var(--copper-dark);font-weight:900;margin-right:.4rem}.hero-media{display:grid;grid-template-columns:1.15fr .85fr;grid-template-rows:1fr 1fr;gap:1rem;min-height:36rem;position:relative}.hero-media::before{content:"";position:absolute;inset:-2rem -3rem auto auto;width:12rem;height:12rem;background:repeating-linear-gradient(90deg,transparent 0 17px,rgba(182,101,67,.28) 18px 19px);z-index:-1}.hero-media img{width:100%;height:100%;object-fit:cover;border-radius:var(--radius)}.hero-media img:first-child{grid-row:1/3}.hero-media img:nth-child(2){border-radius:var(--radius) var(--radius) .35rem var(--radius)}.hero-media img:nth-child(3){border-radius:var(--radius) .35rem var(--radius) var(--radius)}.type-strip{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--line)}.type-strip a{padding:1.6rem;border-right:1px solid var(--line);font-weight:800;color:var(--ink);display:flex;justify-content:space-between}.type-strip a:last-child{border-right:0}.type-strip a span{color:var(--copper)}.intro-split{display:grid;grid-template-columns:.8fr 1.2fr;gap:4rem;align-items:start}.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2rem}.stat{padding:1.25rem 0;border-top:2px solid var(--copper)}.stat strong{font-size:1.5rem;color:var(--ink);display:block}.stat small{color:var(--muted)}.before-after{position:relative;overflow:hidden;border-radius:var(--radius);height:clamp(22rem,55vw,38rem);background:#ddd}.before-after img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.before-after .before{filter:grayscale(1) sepia(.18) contrast(.88)}.before-after .after{clip-path:inset(0 0 0 var(--position,50%))}.before-after input{position:absolute;inset:auto 1.5rem 1.5rem;width:calc(100% - 3rem);z-index:4;accent-color:var(--copper)}.before-after::after{content:"";position:absolute;top:0;bottom:0;left:var(--position,50%);width:3px;background:white;transform:translateX(-1px);pointer-events:none}.compare-label{position:absolute;top:1rem;z-index:3;background:rgba(14,41,43,.82);color:white;padding:.4rem .65rem;border-radius:999px;font-size:.75rem;font-weight:800}.compare-label--before{left:1rem}.compare-label--after{right:1rem}.areas{display:flex;flex-wrap:wrap;gap:.65rem}.areas span{border:1px solid var(--line);border-radius:999px;padding:.65rem .9rem;background:var(--paper)}.quote{padding:1.6rem;border-left:3px solid var(--copper);background:var(--paper)}.quote p{font-size:1.05rem;color:var(--text)}.quote footer{font-size:.8rem;color:var(--muted);margin-top:1rem}.page-hero{padding:3.5rem 0 5rem;background:var(--cream);position:relative;overflow:hidden}.page-hero::after{content:"";position:absolute;width:24rem;height:24rem;border:1px solid rgba(182,101,67,.25);right:-8rem;bottom:-15rem;transform:rotate(45deg)}.page-hero h1{font-size:clamp(2.5rem,5vw,4.8rem)}.page-hero p{font-size:1.1rem;color:var(--muted);margin-top:1.25rem}.media-copy{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,5rem);align-items:center}.media-copy img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius)}.media-copy__text>p{color:var(--muted);margin-top:1rem}.check-list{list-style:none;padding:0;margin:1.5rem 0}.check-list li{padding:.65rem 0 .65rem 1.7rem;border-bottom:1px solid var(--line);position:relative}.check-list li::before{content:"✓";position:absolute;left:0;color:var(--copper-dark);font-weight:900}.service-list{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.service-item{padding:1.5rem;background:var(--cream);border-radius:var(--radius-sm);display:flex;gap:1rem}.service-item span{color:var(--copper);font-weight:900}.filters{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:2rem}.filter-btn{border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:.65rem 1rem;font-weight:700;cursor:pointer}.filter-btn.is-active{background:var(--ink);color:white;border-color:var(--ink)}.project-card[hidden]{display:none}.project-hero{position:relative;min-height:70vh;display:flex;align-items:end;color:white}.project-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 20%,rgba(5,22,24,.88))}.project-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.project-hero__content{position:relative;z-index:2;padding-block:5rem}.project-hero h1{color:white}.project-hero p{margin-top:1rem;max-width:42rem}.gallery{display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:repeat(2,18rem);gap:1rem}.gallery img{width:100%;height:100%;object-fit:cover;border-radius:var(--radius-sm)}.gallery img:first-child{grid-row:1/3}.form-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,6vw,5rem)}.form-card{padding:clamp(1.5rem,4vw,2.5rem);background:var(--cream);border-radius:var(--radius)}.field{display:grid;gap:.42rem;margin-bottom:1rem}.field label{font-weight:750;color:var(--ink)}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:.65rem;background:white;padding:.85rem 1rem;color:var(--text)}.field textarea{min-height:8rem;resize:vertical}.field-error{font-size:.8rem;color:#9f2f2f;min-height:1.2rem}.contact-list{list-style:none;margin:1.5rem 0;padding:0}.contact-list li{padding:1rem 0;border-bottom:1px solid var(--line)}.map-placeholder{min-height:16rem;border-radius:var(--radius);background-color:var(--sand);background-image:linear-gradient(30deg,transparent 48%,rgba(23,56,59,.08) 49% 51%,transparent 52%),linear-gradient(-30deg,transparent 48%,rgba(182,101,67,.12) 49% 51%,transparent 52%);background-size:55px 55px;display:grid;place-items:center;text-align:center;padding:2rem}.policy h2{font-size:1.6rem;margin:2.2rem 0 .8rem}.policy p,.policy li{color:var(--muted)}.error-page{min-height:75vh;display:grid;place-items:center;text-align:center;padding:4rem 1.25rem}.error-code{font-size:clamp(6rem,20vw,13rem);font-weight:900;line-height:.8;color:var(--sand)}
