/* Reset and base styles */
*, *::before, *::after {
  box-sizing: border-box;
}

body {
  margin: 0;
  padding: 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
  background-color: #fafaf7;
  color: #333333;
  line-height: 1.6;
  font-size: 16px;
}

.container {
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1rem;
  padding-right: 1rem;
}

/* Header */
header {
  background-color: #f5f7f3;
  padding: 1.5rem 1rem;
  text-align: center;
}

header .logo img {
  max-width: 120px;
  height: auto;
  margin-bottom: 0.5rem;
}

header h1 {
  font-size: 1.75rem;
  color: #556b2f; /* olive green tone */
  margin: 0.25rem 0;
}

header .tagline {
  font-weight: 500;
  color: #6b8e23; /* olive green lighter */
  margin-bottom: 1rem;
}

/* Navigation */
nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem;
}

nav a {
  color: #6b8e23;
  text-decoration: none;
  font-weight: 600;
  padding: 0.5rem 0.75rem;
  border-radius: 4px;
  transition: background-color 0.3s ease, color 0.3s ease;
}

nav a:hover, nav a:focus {
  background-color: #556b2f;
  color: #fff;
}

/* Sections common styling */
section {
  padding-top: 3rem;
  padding-bottom:3rem;
}

section > .container {
   max-width: none; /* override if inside container */
}
h2 {
    font-size:1.8rem;
    color:#556b2f; /* olive green */
    margin-bottom:1.25rem;
    font-weight:700;
    line-height:1.2;
}
p {
    margin-top:0;
    margin-bottom:1rem;
    color:#444444;
    font-size:1rem;
}
a {
    color:#6b8e23; /* olive green */
    text-decoration:none;
}
a:hover,a:focus {
    text-decoration:underline;
    color:#556b2f;
}
ul {
    list-style-type:none; /* custom bullets below */
    padding-left:0.75rem;
    margin-top:.5rem;
m   margin-bottom:.75rem;
m   color:#444444; 
m   font-size:.95rem; 
m   line-height:1.4; 
m   }
ul li {
m   position:relative; 
m   padding-left:.9em; 
m   margin-bottom:.7em; 
m   border-bottom:dotted thin #dcefdc; 
m   }
ul li:last-child {border:none;margin-bottom:.7em;}
ul li::before {
m   content:"\2022"; 
m   position:absolute; 
m   left:.25em; 
m   color:#6b8e23; 
m   font-weight:bold; 
m   top:.05em; 
m   font-size:.9em; 
m   }
h3 {
m   font-size:1.4rem; 
m   font-weight:bold; 
m   color:#333333; 
m   margin-top:.75rem; 
m   margin-bottom:.5rem; 
m }
div.service, div.faq-item, article.case-study {
m   margin-bottom:1.5rem; 
m }
div.service p, div.faq-item p, article.case-study p {
m   font-size:.95rem; 
m   color:#444444; 
m }
div.team-member {
m   border-radius:.5rem; 
m   border:1px solid #ccc; 
m   padding:1.25rem; 
m   background-color:#fff; 
m   box-shadow:none; 
m   text-align:center; 
m }
div.team-member img {
m   width:120px; 
m   height:auto; 
m   border-radius:50%; 
m   object-fit:cover; 
m   margin-bottom:.75rem; 
m }
div.team-member h3 {
m   font-size:1.25rem; 
m   color:#222222; 
m }
div.team-member p:last-of-type {
m   font-weight:bold; 
m   color:#6b8e23; /* olive green */
m }
div.testimonials-section blockquote {
m   background-color:#e8f5e9; /* light olive green */
m   border-left:.35em solid #6b8e23; /* olive border */
m   padding:.75em .75em .75em .85em ;
m   font-style:italic; 
m   color:#33691e ;
m   margin-bottom:.75em ;
m   border-radius:.25em ;
m }
div.testimonials-section cite {
m     display:block ;
m     text-align:right ;
m     color:#558b2f ;
m     font-style:none ;
m     font-weight:bold ;
m     margin-top:-0.5em ;
m     margin-bottom:.75em ;
m     font-size:.9rem ;
m }
div.gallery-section .gallery {
layout:grid ;
grid-template-columns : repeat(auto-fit,minmax(150px,1fr));
gap :15px ;
lmargin-top :20px ;
l }
div.gallery-section img {
lwidth :100% ;
lheight :auto ;
lborder-radius :.375rem ;
lbox-shadow :0px 2px 6px rgba(0,0,0,0.15) ;
ltransition : transform .25s ease-in-out, box-shadow .25s ease-in-out ;
lbackground-color:#fff ;
lborder :0.125rem solid #6b8e23 ; /* olive green border */
l }
div.gallery-section img:hover,
div.gallery-section img:focus {
ltransform : scale(1.05) ;
lbox-shadow :0px 4px 12px rgba(107,142,35,0.35) ; /* olive shadow */
loutline:none ;
l }
a.btn {
padding :0.65em 1.25em ;
border-radius :4px ;
border:none ;
cursor:pointer ;
background-color :#6b8e23 ; /* olive green */
ccolor :#fff ;
display:inline-block ;
typography :inherit ;
tfont-weight :600 ;
ttransition : background-color .3s ease , box-shadow .3s ease ;
ttext-align:center ;
ttext-decoration:none ;}
a.btn:hover,
a.btn:focus{
bbackground-color:#556b2f;color:#fff;text-decoration:none;text-shadow:none;text-outline:none;-webkit-box-shadow:none;-moz-box-shadow:none;-ms-box-shadow:none;-o-box-shadow:none;}/* darker olive on hover/focus*/a.btn::-moz-focus-inner{border:none;}/* remove dotted outline on Firefox*/input[type="email"]{
padding:.5em .75em;margin-right:.5em;border-radius:.375rem;border-width:.125rem;border-style:none;border-color:#6b8e23;background-color:#fff;color:#333;font-size:.95rem;width:auto;}input[type="email"]::placeholder{color:#999;}form.newsletter-form{
display:flex;flex-wrap:wrap;margin-top:.75em;margin-bottom:.75em;}form.newsletter-form label{
align-self:center;margin-right:.5em;font-weight:bold;color:#556b2f;}form.newsletter-form button{
padding:.55em .9em;background-color:#6b8e23;color:#fff;border-radius:.375rem;border:none;font-weight:bold;font-size:.95rem;margin-top:auto;margin-bottom:auto;border-radius:.375rem;}form.newsletter-form button:hover,form.newsletter-form button:focus{background-color:#556b2f;color:#fff;text-decoration:none;}/* Contact Section Links */#contact a{color:#6b8e23;text-decoration:none;font-weight:bold;}#contact a:hover,#contact a:focus{text-decoration:underline;color:#556b2f;}/* Footer Styles */footer.site-footer{
bbackground-color:#f5f7f3;padding-top:.75rem;padding-bottom:.75rem;text-align:center;color:#556b2f;font-size:.9rem;font-weight:bold;border-top:.05rem solid #dcefdc;}footer.site-footer a{
ccolor:#6b8e23;text-decoration:none;padding-left:.25rem;padding-right:.25rem;}footer.site-footer a:hover,footer.site-footer a:focus{
ccolor:#556b2f;text-decoration:none;}footer.site-footer nav.footer-nav{
padding-top:.5rem;padding-bottom:.5rem;font-size:.9rem;}/* Back to top link style and positioning*/a.back-to-top{
pposition:fiexed;pbottom :1.25rem;p right :1.25 rem;pbackground-color :#6 b8 e23;pcolor :#fff;ppadding :.65 em .9 em;pborder-radius :.375 rem;ptext-decoration :none;pfont-weight :600;pfont-size :.85 rem;popacity :.85;ptransition :opacity .3 s ease,pbackground-color .3 s ease;}a.back-to-top:hover,a.back-to-top :focus {popacity :1;pbackground-color :#556 b2 f;}/* Responsive Layout Adjustments*/@media (min-width :600 px){nav {justify-content:flex-start;}nav a {padding-left :1 rem;padding-right :1 rem;font-size :1 rem;}header h1 {font-size :2 rem;}h2 {font-size :2 rem;}div.team-member {display:inline-block;width:(calc(50% - (20 px)));margin-right :.625 rem;margin-bottom :.625 rem;text-align:left;padding :.75 rem;}div.team-member:last-child {margin-right :0;}form.newsletter-form {flex-wrap:no-wrap;}input[type="email"] {flex-grow :1;width:auto;margin-right :.75 rem;margin-bottom :0;} }@media (min-width :900 px){body {.font-size :.95 rem;}div.team-member {width:(calc(33 % - (20 px)));}nav a {font-size :1.125 rem;padding-left :1.25 rem;padding-right :1.25 rem;}header h1 {font-size :2.25 rem;}h2 {font-size :2.4 rem;} }