:root{--ink:#11211b;--muted:#5e6d64;--cream:#f4f1e9;--paper:#fffdf8;--gold:#f2a52d;--line:#d9ddd4;--night:#11261e;--max:1150px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif;font-size:16px;line-height:1.6}a{color:inherit}.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;z-index:8;background:white;padding:.6rem}header{min-height:82px;padding:1rem max(5vw,1.2rem);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #eceee8;background:#fffdf8;position:sticky;top:0;z-index:5}.brand{display:flex;align-items:center;gap:.65rem;text-decoration:none;font-weight:700;line-height:1.1}.brand b{display:block}.brand em{display:block;color:var(--muted);font-style:normal;font-size:.7rem;font-family:"DM Mono",monospace;text-transform:uppercase;letter-spacing:.06em;margin-top:.22rem}.mark{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:var(--gold);color:var(--ink);font-family:"Source Serif 4",serif;font-weight:700}.menu{display:none;background:none;border:0;font:inherit;font-weight:700;min-width:44px;min-height:44px}nav{display:flex;gap:1.35rem;align-items:center;font-size:.9rem;font-weight:700}nav a{text-decoration:none}.phone-link{color:#7d4b00;white-space:nowrap}.button{display:inline-block;padding:.85rem 1.05rem;background:var(--gold);border:0;border-radius:2px;font:700 .86rem Manrope,sans-serif;letter-spacing:.01em;text-decoration:none;color:var(--ink);cursor:pointer;box-shadow:inset 0 -2px #d78b17}.button:hover{background:#ffc14c}.small{padding:.72rem .85rem;min-height:44px}.hero{max-width:var(--max);margin:auto;padding:clamp(3rem,7vw,6.2rem) max(5vw,1.2rem);display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2.5rem,6vw,5rem);align-items:center}.page-hero{max-width:var(--max);margin:auto;padding:clamp(3.5rem,8vw,6.5rem) max(5vw,1.2rem);display:grid;grid-template-columns:1.2fr .8fr;gap:4rem;align-items:end}.page-hero .crumb{font-size:.78rem;color:var(--muted);margin-bottom:1.5rem}.page-hero aside{border-left:4px solid var(--gold);padding:1.2rem 1.4rem;background:var(--cream)}.page-hero aside p{margin:.4rem 0;font-size:.9rem}.eyebrow{color:#9a5e05;font:700 .75rem "DM Mono",monospace;text-transform:uppercase;letter-spacing:.11em;margin:0 0 1rem}h1,h2{font-family:"Source Serif 4",Georgia,serif;line-height:1.03;margin:.1rem 0 1.1rem;letter-spacing:-.035em}h1{font-size:clamp(3rem,6vw,5.25rem)}.page-hero h1{font-size:clamp(2.7rem,5vw,4.5rem)}h2{font-size:clamp(2.2rem,4vw,3.5rem)}h3{font-size:1.08rem;margin:.1rem 0 .55rem}.lede{font-size:1.16rem;max-width:39rem;color:#33463c}.actions{display:flex;gap:1.1rem;align-items:center;flex-wrap:wrap;margin-top:2rem}.text-link{font-weight:700;text-decoration:none}.micro{font-size:.77rem;color:var(--muted);margin-top:1.6rem}.hero figure{margin:0}.hero img{display:block;width:100%;height:510px;object-fit:cover;border-radius:2px;filter:saturate(.88) contrast(1.04)}figcaption{font-size:.72rem;font-family:"DM Mono",monospace;margin-top:.55rem;color:var(--muted)}.trust{background:var(--ink);color:#fff;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;padding:1.3rem max(5vw,1.2rem)}.trust div{max-width:360px;margin:auto}.trust b,.trust span{display:block}.trust b{color:var(--gold);font-size:.87rem}.trust span{font-size:.8rem;color:#d6ddd8}.section{max-width:var(--max);padding:clamp(4rem,8vw,7rem) max(5vw,1.2rem);margin:auto}.section.compact{padding-top:2rem;padding-bottom:4rem}.intro{max-width:680px;color:#46574e;font-size:1.05rem}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:2.4rem}.cards article{background:var(--paper);padding:1.45rem;min-height:220px;display:flex;flex-direction:column}.cards p{font-size:.9rem;color:var(--muted);margin:0 0 .7rem}.cards a{font-size:.82rem;font-weight:800;margin-top:auto;text-decoration:none;color:#8d5502}.two-col{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(2.5rem,7vw,6rem);align-items:start}.copy h2{font-size:clamp(2rem,3vw,3rem);margin-top:2.6rem}.copy h2:first-child{margin-top:0}.copy p,.copy li{color:#425249}.copy ul{padding-left:1.2rem}.sidebar{background:var(--cream);padding:1.5rem;position:sticky;top:105px}.sidebar h3{font-family:"Source Serif 4",serif;font-size:1.5rem}.sidebar a:not(.button){display:block;padding:.65rem 0;border-bottom:1px solid #d8d5ca;text-decoration:none;font-weight:700;font-size:.86rem}.dark{max-width:none;background:var(--night);color:#fff}.dark .eyebrow{color:#efba5c}.dark .intro{color:#ccdad3}.dark>p,.dark>h2,.dark>.intro,.gallery,.dark>.center{max-width:var(--max);margin-left:auto;margin-right:auto}.gallery{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:1rem;margin-top:2.3rem}.gallery.wide{grid-template-columns:repeat(2,1fr)}.gallery figure{margin:0}.gallery img{height:325px;width:100%;object-fit:cover;filter:saturate(.82)}.dark figcaption{color:#bacbc2}img{max-width:100%}.projects{display:grid;gap:4rem}.project-pair{max-width:var(--max);margin:auto}.project-pair>div:first-child{max-width:720px}.project-pair h2{font-size:clamp(2rem,3.5vw,3.2rem)}.project-pair p{color:#ccdad3}.before-after{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.75rem}.before-after figure{position:relative}.before-after img{display:block;width:100%;height:430px;object-fit:cover}.before-after span{position:absolute;z-index:1;top:.75rem;left:.75rem;background:var(--gold);color:var(--ink);padding:.35rem .55rem;font:800 .72rem "DM Mono",monospace;text-transform:uppercase;letter-spacing:.08em}.before-after figcaption{color:#d6e0da}img{max-width:100%}.projects{display:grid;gap:4rem}.project-pair{max-width:var(--max);margin:auto}.project-pair>div:first-child{max-width:720px}.project-pair h2{font-size:clamp(2rem,3.5vw,3.2rem)}.project-pair p{color:#ccdad3}.before-after{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.75rem}.before-after figure{position:relative}.before-after img{display:block;width:100%;height:430px;object-fit:cover}.before-after span{position:absolute;z-index:1;top:.75rem;left:.75rem;background:var(--gold);color:var(--ink);padding:.35rem .55rem;font:800 .72rem "DM Mono",monospace;text-transform:uppercase;letter-spacing:.08em}.before-after figcaption{color:#d6e0da}.center{text-align:center;margin-top:2rem}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-top:2.5rem}.steps span{font:700 .78rem "DM Mono",monospace;color:#9a5e05}.steps p{color:var(--muted);font-size:.9rem}.band,.cta{background:var(--cream);padding:3rem max(5vw,1.2rem);display:flex;justify-content:center;align-items:center;gap:clamp(2rem,8vw,8rem)}.band>div,.cta>div{max-width:730px}.band h2,.cta h2{font-size:clamp(2rem,3.5vw,3rem)}.faq{max-width:850px}.faq details{border-top:1px solid var(--line);padding:1.1rem 0}.faq details:last-of-type{border-bottom:1px solid var(--line)}summary{font-weight:800;cursor:pointer}.faq details p{color:var(--muted);font-size:.94rem;max-width:660px}.location-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:2rem}.location-grid article{background:var(--paper);padding:1.3rem}.location-grid p{font-size:.86rem;color:var(--muted)}.estimate{background:var(--cream);padding:clamp(4rem,8vw,7rem) max(5vw,1.2rem);display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,7vw,7rem)}.estimate>div,.estimate form{max-width:530px}.estimate>div{justify-self:end}.estimate form{display:grid;gap:.85rem}label{font-size:.79rem;font-weight:800}label span{font-weight:400;color:var(--muted)}input,textarea,select{display:block;width:100%;margin-top:.3rem;padding:.72rem;border:1px solid #bac4ba;border-radius:2px;background:white;color:var(--ink);font:400 1rem Manrope,sans-serif}textarea{resize:vertical}.form-note,.tracking{font-size:.78rem;color:var(--muted)}.success{margin:0;color:#22633a;font-weight:700;font-size:.86rem}footer{padding:2.5rem max(5vw,1.2rem);background:var(--ink);color:#e7eee9;display:flex;justify-content:space-between;gap:2rem;align-items:center;font-size:.8rem}footer .brand{color:white}footer p{margin:.4rem 0;color:#c6d2cb}footer a{color:#fff}nav a[aria-current="page"]{text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:3px;text-underline-offset:.35rem}@media(max-width:950px){header{min-height:70px}.menu{display:block}nav{display:none;position:absolute;top:70px;left:0;right:0;padding:1rem 5vw 1.5rem;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:1rem}nav.open{display:flex}.hero,.page-hero,.estimate,.two-col{grid-template-columns:1fr;gap:2.25rem}.hero{padding-top:3.2rem}.hero img{height:340px}.trust{grid-template-columns:1fr;padding:1.4rem 5vw}.trust div{margin:0}.cards,.steps{grid-template-columns:1fr 1fr}.gallery,.gallery.wide,.before-after{grid-template-columns:1fr}.gallery img{height:280px}.before-after img{height:auto;max-height:520px}.before-after img{height:auto;max-height:520px}.sidebar{position:static}.estimate>div{justify-self:start}.band,.cta{align-items:flex-start;flex-direction:column}.location-grid{grid-template-columns:1fr 1fr}footer{display:block}footer>*+*{margin-top:1.6rem!important}}@media(max-width:480px){.cards,.steps,.location-grid{grid-template-columns:1fr}.hero img{height:280px}h1{font-size:2.75rem}.page-hero h1{font-size:2.65rem}}
