body{margin:0;padding:0;width:100%;min-height:100vh;box-sizing:border-box;overflow-x:hidden;background-color:#d3d3d3;font-family:Arial,sans-serif}#root{width:100%;max-width:1440px;margin:0 auto;background:#f5f0e1}.header{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;background:#2f4f4f;color:#f5f0e1;width:100%;position:sticky;top:0;box-sizing:border-box;z-index:1000;min-height:74px}.logo-container{display:flex;align-items:center;gap:.5rem}.brand-name{margin:0;font-size:1.5rem;font-weight:700}.logo{height:40px;width:auto}.nav-links{list-style:none;display:flex;gap:1rem;margin:0;padding:0}.nav-links li{margin:0}.nav-links a{color:#f5f0e1;text-decoration:none;font-size:1rem}.nav-links a:hover{color:#6b8e23}.menu-toggle{display:none;background:#f5f0e114;border:1px solid rgba(245,240,225,.35);border-radius:5px;color:#f5f0e1;font-size:.95rem;font-weight:700;padding:.45rem .75rem;cursor:pointer}@media (max-width: 768px){.header{padding:.75rem 1rem}.menu-toggle{display:block;position:relative;z-index:1002}.nav-links{position:fixed;top:0;right:0;height:100vh;width:min(78vw,280px);background:#2f4f4f;flex-direction:column;align-items:center;justify-content:center;gap:2rem;margin:0;padding:2rem;transform:translate(100%);transition:transform .3s ease-in-out;z-index:1001}.nav-links.open{transform:translate(0)}.nav-links li{width:100%;text-align:center}.nav-links a{font-size:1.2rem;color:#f5f0e1}.nav-links a:hover{color:#6b8e23}}@media (max-width: 375px){.brand-name{font-size:1.2rem}.logo{height:30px}.menu-toggle{font-size:.85rem;padding:.4rem .6rem}}.hero{position:relative;width:100%;min-height:min(760px,92vh);display:flex;justify-content:center;align-items:center;background-image:url(/images/hero-bg.jpg);background-size:cover;background-position:center 45%;background-repeat:no-repeat;box-sizing:border-box;overflow:hidden}.hero:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,#1c2d27c7,#2f4f4f85);z-index:1}.hero-content{position:relative;z-index:2;text-align:left;color:#f5f0e1;padding:2rem;max-width:800px;width:min(100%,1100px)}.hero-content h1{font-size:clamp(2.2rem,6vw,4.75rem);margin-bottom:1rem;line-height:1;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.hero-content p{font-size:clamp(1.1rem,2.4vw,1.55rem);margin-bottom:1.5rem;max-width:560px;text-shadow:1px 1px 2px rgba(0,0,0,.5)}.quote-button{display:inline-block;padding:.75rem 1.5rem;background:sienna;color:#f5f0e1;text-decoration:none;font-size:1.1rem;font-weight:700;border-radius:5px;border:1px solid #8b4513;transition:background .3s ease,transform .2s ease}.quote-button:hover{background:#6b8e23;transform:scale(1.05)}@media (max-width: 768px){.hero{min-height:74vh;align-items:flex-end;background-position:64% center}.hero:before{background:linear-gradient(180deg,#1c2d272e,#1c2d27d1)}.hero-content{padding:1.25rem}.quote-button{font-size:1rem;padding:.7rem 1rem}}@media (max-width: 375px){.quote-button{font-size:.9rem}.hero{min-height:68vh}}.about{padding:2rem;text-align:center;background:#f5f0e1;color:#2f4f4f}.about h2{font-size:2rem;margin-bottom:1rem;color:#8b4513}.about p{max-width:600px;margin:0 auto;font-size:1.1rem}@media (max-width: 768px){.about{padding:1rem}}.services{padding:3rem 1rem;text-align:center;width:100%;box-sizing:border-box;overflow-x:hidden;background:#f5f0e1;color:#2f4f4f}.services h2{font-size:2rem;margin-bottom:1rem;color:#8b4513}.service-list{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;max-width:1200px;margin:0 auto;padding:0 1rem}.service-card{border:1px solid #a0522d;padding:1rem;width:220px;max-width:100%;background:#fff;border-radius:5px;box-shadow:0 2px 5px #0000001a;box-sizing:border-box;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.service-card:focus-visible,.service-card:hover{transform:scale(1.02);box-shadow:0 4px 10px #00000026}.service-card:focus-visible{outline:3px solid #6b8e23;outline-offset:3px}.service-card.expanded{width:300px;background:#fff8e7}.service-card h3{font-size:1.3rem;margin-bottom:.5rem;color:#2f4f4f}.service-card p{font-size:1rem;color:#555}.service-details{margin-top:1rem;text-align:left}.service-details p{font-size:.95rem;margin-bottom:.5rem}.service-details ul{list-style-type:disc;padding-left:1.5rem;font-size:.9rem;color:#2f4f4f}.service-details li{margin-bottom:.3rem}@media (max-width: 1200px){.service-card{width:30%;min-width:200px}.service-card.expanded{width:40%}}@media (max-width: 900px){.service-card{width:45%;min-width:180px}.service-card.expanded{width:80%}}@media (max-width: 700px){.service-card{width:100%;max-width:300px}.service-card.expanded{width:100%;max-width:400px}.services{padding:2rem 1rem}}.projects{padding:3rem 1rem;text-align:center;width:100%;box-sizing:border-box;overflow-x:hidden;background:#f5f0e1}.projects h2{font-size:2rem;margin-bottom:1.5rem;color:#8b4513}.project-grid{max-width:1000px;margin:0 auto;padding:0 1rem;box-sizing:border-box;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.project-item{transition:transform .3s ease;cursor:pointer}.project-item:first-child{grid-column:1 / -1}.image-container{border:1px solid #a0522d;border-radius:5px;padding:.5rem;background:#fff;box-shadow:0 2px 5px #0000001a}.image-container img{width:100%;aspect-ratio:16 / 10;height:100%;object-fit:cover;border-radius:5px;display:block}.project-item:hover .image-container{transform:scale(1.05);z-index:10}.project-caption{font-size:.9rem;color:#2f4f4f;margin:.5rem 0 0;text-align:center}.image-popout{position:fixed;top:0;left:0;width:100%;height:100%;background:#2f4f4fcc;display:flex;justify-content:center;align-items:center;z-index:2000}.image-popout img{max-width:90%;max-height:90%;border:2px solid #a0522d;border-radius:5px;box-shadow:0 4px 15px #0000004d}@media (max-width: 900px){.project-grid{grid-template-columns:1fr;max-width:640px}.image-popout img{max-width:85%;max-height:85%}}@media (max-width: 700px){.project-grid{padding:0}.projects{padding:2rem 1rem}.image-popout img{max-width:80%;max-height:80%}}.reviews{padding:1rem;text-align:center;width:100%;box-sizing:border-box;overflow-x:hidden;background:#f5f0e1;color:#2f4f4f}.reviews h2{font-size:2rem;margin-bottom:1rem;color:#8b4513}.review-list{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;max-width:1200px;margin:0 auto;padding:0 1rem}.review-card{border:1px solid #a0522d;padding:1rem;width:300px;max-width:100%;background:#fff;border-radius:5px;box-shadow:0 2px 5px #0000001a;box-sizing:border-box}.review-quote{font-size:1rem;font-style:italic;color:#555;margin-bottom:.5rem}.review-author{font-size:.9rem;color:#2f4f4f;font-weight:700}@media (max-width: 1200px){.review-card{width:45%;min-width:250px}}@media (max-width: 900px){.review-card{width:100%;max-width:400px}}@media (max-width: 700px){.review-card{width:100%;max-width:300px}}.contact{padding:2rem;text-align:center;background:#f5f0e1;color:#2f4f4f}.contact h2{font-size:2rem;margin-bottom:1rem;color:#8b4513}.contact p{font-size:1.1rem;margin:.5rem 0}.contact a{color:#6b8e23;text-decoration:none}.contact a:hover{text-decoration:underline;color:sienna}@media (max-width: 768px){.contact{padding:1rem}}.footer{text-align:center;padding:1rem;background:#2f4f4f;color:#f5f0e1;width:100%}.footer p{margin:.5rem 0;font-size:1rem}@media (max-width: 768px){.footer{padding:.5rem}}.app{font-family:Arial,sans-serif;padding:0;display:flex;flex-direction:column;align-items:center;width:100%;min-height:100vh;margin:0;box-sizing:border-box;overflow-x:hidden}
