:root{--ink:#19241f;--orange:#f58232;--paper:#f4f5f1;--muted:#566058}body{font-family:Arial,Helvetica,sans-serif}header{background:#fff;padding-top:15px;padding-bottom:15px}.brand img{width:64px;height:64px}.brand{gap:14px}nav a{transition:color .15s}nav a:hover{color:#9c440b;text-decoration:none}.button{border-radius:4px;box-shadow:0 2px 0 #d56b22}.button:hover{transform:translateY(-1px)}.hero{padding:35px 4% 35px 0;gap:30px;min-height:650px;background:linear-gradient(110deg,#f3f5ef 0%,#fff 100%)}.hero-copy{padding-top:45px;padding-left:10%;padding-right:0}.hero h1{font-size:clamp(3rem,5.4vw,5.6rem);letter-spacing:-.05em}.hero h1 em{color:#9b4715}.hero-image{min-height:530px;border-radius:4px 70px 4px 4px;overflow:hidden;box-shadow:0 12px 35px #14251918}.photo-caption{border-left:3px solid var(--orange);backdrop-filter:blur(8px);font-size:.8rem}.hero-note{font-size:.8rem;letter-spacing:.08em}.eyebrow{font-size:.8rem;letter-spacing:.12em;color:#895025}.cta .eyebrow{color:#f5ad7a}.trust{background:#fff;font-size:.95rem}.section-heading p{font-size:1.075rem}.services-grid{gap:24px;border:0}.service,.service:nth-child(3n+2),.service:nth-child(3n+3){border:1px solid #d9dfd7;border-radius:5px;padding:27px;background:#fff;transition:box-shadow .2s,border-color .2s;display:flex;flex-direction:column}.service:hover{border-color:#d18c5c;box-shadow:0 7px 23px #18291b0d}.service h3{font-size:1.5rem;letter-spacing:-.035em}.service p{flex:1}.service-more{font-size:.9rem;font-weight:700;margin-top:22px;color:#863e0c;display:inline-block}.number{color:#955021;border-bottom:2px solid #eab48f;width:28px;padding-bottom:8px}.split>img{object-position:center}.areas{max-width:100%;background:#fff}.areas p{max-width:760px}.cta{background:radial-gradient(ellipse at 95% 100%,#334736 0%,#19241f 65%);border-top:5px solid var(--orange)}footer{line-height:1.8}.footer-services{grid-column:1/-1;border-top:1px solid #ddd;padding-top:24px;display:flex;gap:15px 25px;flex-wrap:wrap}.footer-services .eyebrow{width:100%;margin-bottom:0}.footer-services a{font-size:.875rem}.breadcrumbs{display:flex;gap:12px;flex-wrap:wrap;padding:16px 5%;font-size:.875rem;background:#f4f5f1;border-bottom:1px solid #dce0d8}.breadcrumbs a{text-decoration:underline;text-underline-offset:4px}.intro{padding-top:55px;background:#f4f5f1}.intro h1{max-width:1000px}.intro p{max-width:800px}.service-list h2 a:hover{text-decoration:underline;text-underline-offset:7px}.service-feature>img{height:520px;object-fit:cover}.service-detail{display:grid;grid-template-columns:1fr 1fr;gap:8%}.service-detail h2{font-size:2.4rem}.scope-list{list-style:none;padding:0}.scope-list li{border-bottom:1px solid #d9dfd7;padding:12px 0 12px 28px;position:relative}.scope-list li:before{content:'✓';position:absolute;left:0;color:#974713}.service-faq{margin:0 5% 65px;padding:40px;border-left:4px solid var(--orange);background:#f4f5f1}.service-faq h2{font-size:2rem}.service-faq p{max-width:950px}.service-faq a{text-decoration:underline}.related{padding:0 5% 60px;display:flex;gap:15px;flex-wrap:wrap}.related h2{font-size:1.5rem;width:100%;margin-bottom:5px}.related a{padding:12px 17px;border:1px solid #d2d9d0;border-radius:4px;font-size:.9rem}.project-jumps{padding:25px 5%;display:flex;gap:10px;flex-wrap:wrap;border-bottom:1px solid #dce0d8}.project-jumps a{font-size:.875rem;padding:9px 14px;border:1px solid #d1d8ce;border-radius:3px;background:#fff}.projects article{scroll-margin-top:30px;padding:45px 0 60px}.project-heading .eyebrow{margin-bottom:12px}.project-heading h2{font-size:2.7rem;margin-bottom:20px}.gallery{gap:22px;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}.gallery figure{margin:0}.gallery a{display:block;background:#edf0e9;border:1px solid #e0e4dd;border-radius:5px;overflow:hidden}.gallery img{height:auto;aspect-ratio:4/3;object-fit:contain;padding:5px;width:100%}.gallery figcaption{color:#586255;font-size:.8rem;padding:10px 0}.gallery figure:only-child{grid-column:span 2}.gallery figure:only-child img{max-height:530px;aspect-ratio:auto}.video-link{margin-top:25px}.contact-details{border-radius:6px;border-top:4px solid var(--orange)}.phone:hover{color:#9b4715}.ai-note{border-radius:0 5px 5px 0}.copyright{font-size:.875rem}@media(max-width:1000px){.hero{gap:25px;padding-right:4%}.hero-copy{padding-left:10%}.services-grid{grid-template-columns:repeat(2,1fr)}.hero h1{font-size:3.8rem}.hero-image{min-height:520px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.service-detail{gap:35px}.brand img{width:55px;height:55px}.hero-note{letter-spacing:.04em}}@media(max-width:650px){.hero{padding:0 0 25px;gap:0}.hero-copy{padding:38px 6% 25px}.hero h1{font-size:clamp(2.8rem,12vw,4.5rem)}.hero-image{margin:0 6%;min-height:340px;border-radius:4px 45px 4px 4px}.hero-copy p{font-size:1.05rem}.hero-note{margin-top:25px}.brand{gap:9px;font-size:1.25rem}.brand img{width:46px;height:46px}.services-grid{grid-template-columns:1fr;gap:16px}.service,.service:nth-child(3n+2),.service:nth-child(3n+3){padding:25px}.trust{font-size:.85rem}.service-detail{grid-template-columns:1fr;gap:30px}.service-feature>img{height:auto;max-height:420px;object-fit:contain}.service-faq{padding:26px;margin:0 6% 45px}.service-faq h2{font-size:1.6rem}.related{padding:0 6% 45px}.breadcrumbs{padding:14px 6%;font-size:.8rem}.intro{padding-top:38px}.intro h1{font-size:2.7rem}.project-jumps{padding:20px 6%;gap:8px}.project-jumps a{padding:8px 10px;font-size:.8rem}.gallery{gap:14px;grid-template-columns:1fr}.gallery figure:only-child{grid-column:auto}.gallery img{max-height:480px;aspect-ratio:auto}.project-heading h2{font-size:2.1rem}.projects article{padding-top:30px}.footer-services{display:grid;grid-template-columns:1fr 1fr;gap:12px}.footer-services .eyebrow{grid-column:1/-1}.footer-services a{font-size:.85rem}.service-detail h2{font-size:2rem}}@media(prefers-reduced-motion:reduce){.button:hover{transform:none}}

.google-profile-link{grid-column:1/-1}.google-profile-link a{text-underline-offset:4px}
header nav{gap:18px}
.resource-callout{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center;background:#f4f5f1}
.resource-callout h2,.resource-callout p{margin-bottom:0}.resource-callout .text-link{margin-top:20px}
.area-grid{display:grid;grid-template-columns:1fr 1fr;gap:7%}.area-grid article{border-top:4px solid var(--orange);padding-top:28px}.area-grid h2{font-size:2.7rem}.area-grid p{max-width:620px}
.location-details{display:grid;grid-template-columns:1fr 1fr;gap:8%;background:#f4f5f1}.location-details h2{font-size:2.7rem}.location-details .scope-list{margin:0}
.guide-steps{padding-top:30px}.guide-steps article{display:grid;grid-template-columns:75px 1fr;gap:28px;padding:34px 0;border-bottom:1px solid #d4dad3}.guide-steps article>span{font-size:1rem;font-weight:700;color:#914714;border-top:3px solid var(--orange);padding-top:10px}.guide-steps h2{font-size:2.25rem;margin-bottom:12px}.guide-steps p{max-width:850px;margin:0}
.official-links{display:grid;grid-template-columns:1.2fr 1fr;gap:8%;background:#17221e;color:#fff}.official-links p{color:#d8dfda}.official-links>div:last-child{display:flex;flex-direction:column;gap:14px;justify-content:center}.official-links a{border:1px solid #65726a;padding:18px 20px;border-radius:4px;font-weight:700}.official-links a:hover{border-color:#f48232;text-decoration:none}
.fence-process{display:grid;grid-template-columns:1.1fr 1fr;gap:8%;background:#17221e;color:#fff}.fence-process p{color:#d8dfda}.fence-process ol{list-style:none;margin:0;padding:0}.fence-process li{display:grid;gap:5px;padding:17px 0;border-bottom:1px solid #526058}.fence-process li:first-child{border-top:1px solid #526058}.fence-process li strong{font-size:1.15rem}.fence-process li span{color:#ccd5cf}
.faq-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 34px;margin:24px 0}.faq-list article{border-top:1px solid #ccd3cc;padding:22px 0}.faq-list h3{font-size:1.15rem;margin-bottom:8px}.faq-list p{margin:0}
@media(max-width:1000px){header nav{gap:22px}.resource-callout,.area-grid,.location-details,.official-links,.fence-process{gap:35px}.area-grid h2,.location-details h2{font-size:2.3rem}}
@media(max-width:650px){.resource-callout,.area-grid,.location-details,.official-links,.fence-process{grid-template-columns:1fr;gap:28px}.area-grid article+article{margin-top:10px}.guide-steps article{grid-template-columns:44px 1fr;gap:18px;padding:26px 0}.guide-steps h2{font-size:1.65rem}.faq-list{grid-template-columns:1fr;gap:0}.official-links a{padding:15px}.fence-process .button{font-size:.88rem}.location-details{padding-top:48px;padding-bottom:48px}}

/* One-photo-at-a-time project slideshows with touch swiping and arrow controls. */
.project-carousel{position:relative;max-width:980px;margin-top:28px;outline:none}
.project-carousel:focus-visible{outline:3px solid #f58232;outline-offset:6px}
.carousel-viewport{overflow:hidden;border-radius:6px;background:#edf0e9}
.project-carousel .gallery{display:flex!important;grid-template-columns:none!important;gap:0!important;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none}
.project-carousel .gallery::-webkit-scrollbar{display:none}
.project-carousel .gallery figure{flex:0 0 100%;min-width:100%;margin:0;scroll-snap-align:start;scroll-snap-stop:always;grid-column:auto}
.project-carousel .gallery a{display:flex;height:min(68vw,640px);align-items:center;justify-content:center;background:#edf0e9;border:0;border-radius:0;overflow:hidden}
.project-carousel .gallery img{width:100%;height:100%;max-height:none;aspect-ratio:auto;object-fit:contain;padding:8px}
.project-carousel .gallery figcaption{color:#586255;font-size:.85rem;padding:12px 4px;background:#fff}
.carousel-button{position:absolute;top:calc(50% - 30px);z-index:2;width:52px;height:52px;border:0;border-radius:50%;background:#19241fea;color:#fff;font-size:2.2rem;line-height:1;cursor:pointer;box-shadow:0 3px 15px #0003}
.carousel-prev{left:16px}.carousel-next{right:16px}
.carousel-button:hover{background:#9b4715}
.carousel-button:focus-visible{outline:3px solid #f58232;outline-offset:3px}
.carousel-button:disabled{opacity:.3;cursor:default}
.carousel-status{position:absolute;right:16px;bottom:48px;padding:7px 12px;border-radius:18px;background:#19241fe8;color:#fff;font-size:.85rem;font-weight:700}
@media(max-width:650px){
 .project-carousel{margin-top:22px}
 .project-carousel .gallery a{height:min(118vw,520px)}
 .project-carousel .gallery img{padding:4px}
 .carousel-button{width:44px;height:44px;font-size:1.9rem;top:calc(50% - 26px)}
 .carousel-prev{left:8px}.carousel-next{right:8px}
 .carousel-status{right:10px;bottom:45px}
}
