@font-face{font-family:'DM Sans';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/dm-sans-400.ttf') format('truetype')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/dm-sans-500.ttf') format('truetype')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:600;font-display:swap;src:url('/assets/fonts/dm-sans-600.ttf') format('truetype')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/dm-sans-700.ttf') format('truetype')}
700&family=DM+Sans:wght@400;450;500;550;600;650;700&display=swap');
:root{--ink:#191b17;--olive:#596047;--paper:#fff;--warm:#f2f2ed;--line:#dedfd8;--muted:#75796e}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font-family:'DM Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,select,textarea{outline-offset:5px}a:focus-visible,button:focus-visible{outline:2px solid var(--olive)}.wrap{max-width:1360px;width:calc(100% - 112px);margin:0 auto}.preview{padding:8px 28px;background:var(--warm);font-size:10px;letter-spacing:1.3px;display:flex;justify-content:space-between;color:#5b6153}.preview span{letter-spacing:.2px}.skip{position:fixed;left:16px;top:-100px;background:white;padding:15px;z-index:10}.skip:focus{top:12px}header{height:110px;display:flex;align-items:center;gap:38px}.wordmark{font-size:27px;font-weight:750;letter-spacing:-1.5px;white-space:nowrap}.wordmark span{margin-left:7px;font-weight:450}nav{display:flex;gap:30px;margin-left:auto;font-size:13px}nav a:hover,nav a[aria-current=page]{color:var(--olive);text-decoration:underline;text-underline-offset:7px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:38px;border:1px solid var(--olive);background:var(--olive);color:white;padding:17px 23px;font-size:13px;font-weight:500;cursor:pointer;transition:background .18s}.button:hover{background:#414833}.button.outline{background:transparent;color:var(--olive)}.button.outline:hover{background:var(--warm)}.button.light{background:#fff;color:var(--olive);border-color:white}.header-cta{padding:14px 18px;gap:20px}.menu{display:none}.eyebrow{font-size:10px;letter-spacing:2.6px;font-weight:550;margin:0 0 27px;text-transform:uppercase}.hero{display:grid;grid-template-columns:1fr 230px;padding-top:57px;padding-bottom:64px;gap:70px}.hero h1{font-size:clamp(45px,5.25vw,78px);line-height:1.025;letter-spacing:-3.8px;font-weight:550;max-width:900px;margin:0 0 27px}.intro{font-size:18px;line-height:1.6;max-width:680px;margin:0 0 30px;color:#4e5249}.hero aside{border-left:1px solid var(--line);padding-left:34px;align-self:stretch;display:flex;flex-direction:column;justify-content:center}.hero aside span{font-size:10px;line-height:1.9;letter-spacing:2.4px}.hero aside p{font-size:14px;color:var(--muted);line-height:1.8;margin-top:22px}.photo{position:relative;overflow:hidden;background-color:#e8e9e3;background-image:repeating-linear-gradient(130deg,transparent,transparent 9px,#bcc0b225 9px,#bcc0b225 10px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;min-height:170px;color:#69715c}.photo:before{content:'';position:absolute;border:1px solid #a7af9b65;width:72%;height:65%;transform:skewY(-8deg);background:#cfd3c41f;pointer-events:none}.photo:after{content:'';position:absolute;border-left:1px solid #a7af9b65;border-right:1px solid #a7af9b65;width:27%;height:90%;transform:skewY(-8deg);pointer-events:none}.photo span{z-index:1;position:relative;font-size:9px;letter-spacing:2px;background:#edf0e6e8;padding:12px 17px;text-align:center}.photo small{z-index:1;font-size:12px}.panorama{height:325px;background-color:#dedfd7}.panorama.short{height:260px}.section{padding-top:72px;padding-bottom:72px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.section-head .eyebrow{margin:0}.section-head>a{font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--olive)}.portfolio{display:grid;grid-template-columns:1.5fr 1fr;gap:30px}.project-card{display:block;min-width:0}.project-card:hover h3{text-decoration:underline;text-underline-offset:5px}.project-card .photo{height:180px;transition:background-color .2s}.project-card:hover .photo{background-color:#dde1d2}.project-card.featured .photo{height:400px}.project-stack{display:grid;gap:26px}.project-stack .project-card .photo{height:146px}.project-caption{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:17px}.project-caption h3{margin:0 0 7px;font-size:20px;letter-spacing:-.5px;font-weight:500}.featured .project-caption h3{font-size:28px}.project-caption p{font-size:12px;margin:0;color:var(--olive)}.project-caption>span{font-size:22px;color:var(--olive)}.project-description{font-size:12px;line-height:1.5;color:var(--muted);margin:9px 0 0}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:80px}h2{font-size:clamp(30px,3.2vw,46px);line-height:1.15;letter-spacing:-1.7px;font-weight:500;margin:0 0 28px}.body-copy{font-size:16px;line-height:1.85;color:#62675b;margin:0 0 24px}.services{border-top:1px solid var(--line)}.muted{color:var(--muted);font-size:12px}.service-list{margin-top:34px;border-top:1px solid var(--line)}.service-list a{display:grid;grid-template-columns:65px 1fr 30px;align-items:center;padding:25px 0;border-bottom:1px solid var(--line)}.service-list a:hover{color:var(--olive);background:#f8f9f5}.service-list h3{font-size:23px;font-weight:450;letter-spacing:-.7px;margin:0}.number{font-size:11px;color:var(--muted)}.service-list a>span:last-child{font-size:22px}.tinted{background:var(--warm)}.plant{list-style:none;padding:0;margin:30px 0 0}.plant li{padding:18px 0;border-top:1px solid #d6d8cf;display:flex;justify-content:space-between;gap:15px;align-items:baseline}.plant strong{font-size:21px;font-weight:500}.plant span{color:var(--muted);font-size:13px}.cta{background:var(--olive);color:white;margin-top:72px;margin-bottom:65px;padding:54px;display:flex;align-items:center;justify-content:space-between;gap:40px}.cta h2{margin-bottom:0}.cta .eyebrow{color:#d3d8c8;margin-bottom:20px}.footer-top{display:grid;grid-template-columns:1fr 1fr 1fr;gap:35px;padding:20px 0 45px}.footer-top p{font-size:13px;color:#6e7366;line-height:1.9;margin:0}.footer-top>div{display:flex;justify-content:flex-end;gap:28px;font-size:12px}.footer-bottom{border-top:1px solid var(--line);padding:22px 0 30px;display:flex;justify-content:space-between;font-size:10px;color:var(--muted)}.page-hero{padding-top:60px;padding-bottom:68px}.page-hero h1{font-size:clamp(42px,5.5vw,74px);line-height:1.08;letter-spacing:-3px;font-weight:500;margin:0 0 30px;max-width:1000px}.page-hero .intro{max-width:790px;margin-bottom:0}.page-hero>a.eyebrow{display:block}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;padding-bottom:30px}.project-grid .photo{height:240px}dl{display:grid;grid-template-columns:130px 1fr;font-size:13px;margin-top:35px;gap:16px}dt{color:var(--muted)}dd{margin:0}.text-link{font-size:14px;color:var(--olive);border-bottom:1px solid var(--olive);padding-bottom:5px}.note{font-size:12px;line-height:1.7;color:var(--muted)}.narrow{max-width:800px}.contact-layout{display:grid;grid-template-columns:1fr 1.8fr;gap:100px;padding-top:15px}.contact-layout aside p{font-size:14px;line-height:1.8}.contact-layout aside .note{font-size:12px}.notice{padding:23px;background:var(--warm);border-left:3px solid var(--olive);font-size:13px;margin-bottom:32px}.notice p{margin:8px 0 0;color:#676e5d;line-height:1.6}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}label{display:block;font-size:12px;margin-bottom:24px}label>span{color:var(--olive)}input,select,textarea{display:block;margin-top:10px;padding:13px;width:100%;border:1px solid #cdd1c4;background:white;border-radius:0;color:var(--ink)}input:focus,select:focus,textarea:focus{outline:2px solid var(--olive);outline-offset:2px}input:disabled{background:var(--warm);color:#777}#form-status{font-size:14px;line-height:1.7;color:var(--olive)}
@media(min-width:1600px){.hero{padding-top:80px;padding-bottom:80px}.panorama{height:390px}}@media(max-width:1000px){.wrap{width:calc(100% - 64px)}header{gap:22px;height:95px}nav{gap:20px}.header-cta{display:none}.hero{grid-template-columns:1fr 170px;gap:35px}.hero h1{letter-spacing:-2.5px}.hero aside{padding-left:22px}.two-col{gap:40px}.portfolio{gap:22px}.project-card.featured .photo{height:390px}.footer-top{grid-template-columns:1fr 1fr}.footer-top>div{justify-content:flex-start}.contact-layout{gap:40px}.project-grid{grid-template-columns:1fr 1fr}.cta{padding:36px}}
@media(max-width:650px){.wrap{width:calc(100% - 40px)}.preview{padding:8px 20px;font-size:9px;justify-content:center}.preview span{display:none}header{height:84px;position:relative;flex-wrap:wrap;justify-content:space-between}.wordmark{font-size:25px}.menu{display:flex;border:0;background:none;gap:15px;padding:10px 0;font-size:13px}.menu span{font-size:20px;line-height:16px}nav{display:none;position:absolute;left:-20px;right:-20px;top:84px;background:white;border-bottom:1px solid var(--line);z-index:5;margin:0;padding:24px 20px;flex-direction:column;gap:23px}nav.open{display:flex}.hero{display:block;padding-top:34px;padding-bottom:40px}.hero h1{font-size:45px;line-height:1.05;letter-spacing:-2px;margin-bottom:23px}.eyebrow{font-size:9px;letter-spacing:1.8px;margin-bottom:22px}.intro{font-size:16px;line-height:1.65}.hero aside{display:none}.button{padding:15px 20px;font-size:12px}.panorama{height:230px}.photo span{font-size:8px;letter-spacing:1px}.photo small{font-size:11px}.section{padding-top:44px;padding-bottom:44px}.section-head>a{font-size:9px}.portfolio{display:block}.project-card.featured .photo{height:270px}.project-stack{grid-template-columns:1fr;gap:25px;margin-top:30px}.project-stack .project-card .photo{height:220px}.project-caption h3,.featured .project-caption h3{font-size:22px}.two-col{grid-template-columns:1fr;gap:8px}h2{font-size:34px;letter-spacing:-1px}.body-copy{font-size:15px}.section-head .muted{display:none}.service-list{margin-top:17px}.service-list a{grid-template-columns:35px 1fr 22px;padding:22px 0}.service-list h3{font-size:19px}.plant strong{font-size:18px}.plant span{font-size:11px}.cta{margin-top:40px;margin-bottom:40px;padding:30px;display:block}.cta h2{font-size:34px}.cta .button{margin-top:30px}.footer-top{display:flex;flex-direction:column;gap:24px;padding-bottom:30px}.footer-top>div{gap:30px}.footer-bottom{gap:20px;font-size:9px}.page-hero{padding-top:35px;padding-bottom:42px}.page-hero h1{font-size:43px;letter-spacing:-1.8px}.project-grid{grid-template-columns:1fr;gap:35px}.project-grid .photo{height:250px}.contact-layout{grid-template-columns:1fr;gap:20px}.form-grid{grid-template-columns:1fr}.contact-layout aside h2{margin-bottom:10px}dl{grid-template-columns:105px 1fr;gap:15px;font-size:12px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* Temporary realistic imagery: replace via image_map in build_preview.py. */
.photo.photographic{background:#dedfd7;display:block}
.photo.photographic:before,.photo.photographic:after{display:none}
.photo.photographic img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.photo.photographic .image-label{position:absolute;right:12px;bottom:12px;padding:6px 9px;background:rgba(20,25,18,.75);color:white;font-size:9px;letter-spacing:.25px;font-weight:400;line-height:1.4;z-index:1}
.photo.photographic.panorama img{object-position:center 54%}
@media(max-width:650px){.photo.photographic .image-label{right:8px;bottom:8px;font-size:8px;padding:5px 7px}}

.site-gallery{display:grid;grid-template-columns:1fr 1fr;gap:28px}.site-gallery figure{margin:0}.site-gallery figure:first-child{grid-column:1/-1}.site-gallery img{display:block;width:100%;height:auto}.site-gallery figcaption{font-size:12px;color:var(--muted);padding-top:12px;line-height:1.6}.site-video{margin-top:65px}.site-video video{display:block;width:100%;background:#171915;max-height:720px}.photographic.panorama:has(img[src*="gates-road/overhead"]) img{object-position:center 47%}@media(max-width:650px){.site-gallery{grid-template-columns:1fr}.site-gallery figure:first-child{grid-column:auto}.site-video{margin-top:40px}}

/* Local content navigation */
.breadcrumbs{display:block;font-size:12px;line-height:1.7;padding-top:16px;overflow-wrap:anywhere;color:#575b4d}.breadcrumbs a{text-decoration:underline;text-underline-offset:3px}.body-copy h3{font-size:20px;line-height:1.4;margin:24px 0 8px}

/* Keep all seven footer destinations reachable on narrow screens. */
.footer-top>div{flex-wrap:wrap;gap:12px 20px;align-content:start}
.footer-top>div a{min-width:0;overflow-wrap:anywhere}
@media(max-width:650px){
 .footer-top>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 20px}
 .footer-top>div a{display:flex;align-items:center;min-height:44px}
}

.email-link{overflow-wrap:anywhere}.contact-checklist{padding-left:20px;line-height:1.8}.contact-email{display:inline-flex;align-items:center;min-height:44px;overflow-wrap:anywhere}
