:root{--green:#17785f;--dark:#111;--cream:#f5f3ee;--text:#222}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--text);line-height:1.55;background:white}img{width:100%;display:block;object-fit:cover}.top-strip{background:#111;color:white;text-align:center;padding:9px 5%;font-weight:800}header{position:sticky;top:0;z-index:20;background:white;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 6%;border-bottom:1px solid #e8e8e8}.logo{width:230px;max-height:80px;object-fit:contain}nav{display:flex;gap:20px;flex-wrap:wrap}nav a{color:#111;text-decoration:none;font-weight:800}.phone,.btn{background:var(--green);color:white;text-decoration:none;font-weight:900;padding:13px 18px;border-radius:4px;display:inline-block;margin-right:10px}.hero{min-height:78vh;background:linear-gradient(rgba(0,0,0,.50),rgba(0,0,0,.55)),url("images/hero.jpeg");background-size:cover;background-position:center;display:flex;align-items:center;color:white;padding:7%}.hero div{max-width:820px}.label{text-transform:uppercase;letter-spacing:2px;color:var(--green);font-size:13px;font-weight:900}.hero .label{color:#9cf0cc}h1,h2,h3{line-height:1.07;margin:0 0 18px}h1{font-size:clamp(42px,7vw,82px)}h2{font-size:clamp(32px,4vw,54px)}h3{font-size:28px}.hero p{font-size:22px;max-width:720px}.outline{background:transparent;border:2px solid white}.stats{max-width:1180px;margin:-45px auto 0;position:relative;z-index:5;padding:0 6%;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.stats div{background:white;box-shadow:0 10px 30px rgba(0,0,0,.14);padding:24px;text-align:center;border-radius:10px}.stats b{display:block;color:var(--green);font-size:22px}.stats span{color:#666}.section,.materials,.reviews,.area,.why{padding:82px 6%;text-align:center}.section{max-width:1250px;margin:0 auto}.services{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:34px;text-align:left}.services div{background:var(--cream);border-left:5px solid var(--green);padding:24px;border-radius:12px}.services ul{padding-left:20px;margin-bottom:0}.services li{margin:8px 0}.materials{background:#111;color:white}.materials .label,.contact .label{color:#9cf0cc}.materials span{display:inline-block;border:1px solid rgba(255,255,255,.3);padding:18px 34px;font-size:28px;font-weight:900;margin:10px;background:rgba(255,255,255,.06)}.portfolio{padding:82px 6%;background:#fafafa;text-align:center}.project{background:white;border:1px solid #e7e7e7;margin:34px auto;max-width:1300px;text-align:left}.project.feature{display:grid;grid-template-columns:.55fr 1.45fr}.project>div:first-child{padding:30px}.project span{color:var(--green);font-weight:900;text-transform:uppercase;font-size:12px;letter-spacing:1px}.project p{color:#555}.photos{display:grid;gap:6px;padding:6px;background:white}.photos img{height:310px;transition:.25s}.photos img:hover{transform:scale(1.035)}.photos.two{grid-template-columns:1fr 1fr}.photos.cedar{grid-template-columns:2fr 1fr 1fr}.photos.cedar img{height:430px}.photos.five{grid-template-columns:repeat(5,1fr)}.photos.six{grid-template-columns:repeat(3,1fr)}.photos.five img,.photos.six img{height:240px}.reviews{background:white}.reviews-content{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;max-width:1120px;margin:0 auto;text-align:left}.reviews-copy .intro{max-width:620px;margin:0 0 28px;color:#555;font-size:18px}.review-button{margin:0}.ryan-card{background:var(--cream);border-radius:16px;overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,.14)}.ryan-card img{height:480px;object-fit:cover;object-position:center}.ryan-caption{padding:20px 24px}.ryan-caption strong{display:block;font-size:24px;color:var(--green)}.ryan-caption span{color:#555;font-weight:700}.why{background:var(--cream)}.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;max-width:900px;margin:30px auto 0}.why-grid div{background:white;border-left:5px solid var(--green);padding:20px;font-weight:900;text-align:left}.area{background:white}.contact{display:grid;grid-template-columns:1fr 1fr;gap:34px;background:#111;color:white;padding:82px 6%}.big-phone,.email{display:block;color:white;text-decoration:none;font-weight:900;font-size:30px;margin:14px 0}.email{font-size:20px;color:#9cf0cc}form{background:white;padding:28px;border-radius:12px}input,textarea{width:100%;padding:14px;margin-bottom:12px;border:1px solid #ccc;font:inherit}textarea{height:140px}button{width:100%;background:var(--green);color:white;border:0;padding:15px;font-size:16px;font-weight:900}footer{text-align:center;background:#050505;color:white;padding:24px}.mobile-call{display:none}@media(max-width:950px){header{position:static;align-items:flex-start;flex-direction:column}.logo{width:220px}.stats,.services,.project.feature,.photos.cedar,.photos.two,.photos.five,.photos.six,.reviews-content,.why-grid,.contact{grid-template-columns:1fr}.stats{margin-top:0;padding-top:18px}.photos img,.photos.cedar img,.photos.five img,.photos.six img{height:270px}.reviews-content{text-align:center;gap:28px}.reviews-copy .intro{margin:0 auto 28px}.ryan-card img{height:auto;max-height:540px;object-fit:cover}.mobile-call{display:block;position:fixed;left:12px;right:12px;bottom:12px;z-index:50;background:var(--green);color:white;text-align:center;text-decoration:none;font-weight:900;padding:15px;border-radius:12px;box-shadow:0 10px 25px rgba(0,0,0,.25)}footer{padding-bottom:84px}}