* {
  margin : 0;
 padding     :   0;
  box-sizing: border-box;
}

:root {
    --color-primary: #2d7a4a;
    --color-secondary: #4caf50;
    --color-accent: #66bb6a;
    --color-dark: #1a3a2a;
    --color-light: #f0f7f4;
    --color-text: #333333;
    --color-text-light: #666666;
    --color-border: #e0e0e0;
    --color-white: #ffffff;
}

html {
   scroll-behavior: smooth;
}

body {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    line-height: 1.6;
  color: var(--color-text);
  background-color: var(--color-white);
}



.main-nav {

	  background-color: var(--color-white);
  border-bottom: 2px solid var(--color-light);
   position  :    sticky;
   top: 0;
      z-index     :   1000;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);}

.nav-container {
       max-width  :       1200px;
   margin: 0 auto;
                    padding: 1rem 2rem;
  display  :  flex;
    justify-content:      space-between;
   align-items: center;
     }

.logo-section {
   flex: 0 0 auto;
}

.logo-img {
    height     :    50px;
    width: auto;
  filter: brightness(0) invert(1);
}  

.burger-menu {
          display: none;
        background: none;
   border: none;
   cursor  :        pointer;
   padding: 0.5rem;
  flex-direction: column;
   gap: 0.4rem;
}

.burger-line {
  display   :      block;
  width: 25px;
    height: 3px;
  background-color: var(--color-primary);
    border-radius: 2px;
	 transition: all 0.3s ease;
}

.burger-menu.active .burger-line:nth-child(1) {
  transform: rotate(45deg) translate(10px, 10px);
}

.burger-menu.active .burger-line:nth-child(2) {
        opacity :        0;
}

.burger-menu.active .burger-line:nth-child(3) {
  transform: rotate(-45deg) translate(7px, -7px);
}

.nav-menu


{
   list-style: none;
  display: flex;
    gap   :       2rem;
}

.nav-link {
  text-decoration: none;
  color: var(--color-text);
    font-weight    :   500;
   transition     :    color 0.3s ease;
      padding: 0.5rem 0;
}

.nav-link:hover {
  color: var(--color-secondary);
}@media (max-width: 768px) {
    .burger-menu {
        display: flex;
    }

    .nav-menu {
        position: absolute;
        top: 70px;
        left: 0;
        right: 0;
        background-color: var(--color-white);
        flex-direction: column;
        gap: 0;
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.3s ease;
        border-bottom: 2px solid var(--color-light);
    }

    .nav-menu.active {
        max-height: 300px;
    }

    .nav-menu li {
        border-bottom: 1px solid var(--color-light);
    }

    .nav-link {
        display: block;
        padding: 1rem 2rem;
    }
}.hero-section {
   max-width: 1200px;
    margin: 0 auto;
                    padding     :    4rem 2rem;
    display: grid;
  grid-template-columns:1fr 1fr;
    gap: 3rem;
    align-items: center;
}

.hero-content h1 {
    font-size: 3rem;
 line-height: 1.2;
    margin-bottom: 1.5rem;
  color: var(--color-dark);

}

.hero-subtitle {
   font-size:     1.2rem;
  color: var(--color-text-light);
   margin-bottom: 2rem;
    line-height: 1.8;
}

.cta-button {
               display: inline-block;
  background-color: var(--color-primary);
  color: var(--color-white);
	 padding: 0.9rem 2rem;
   border-radius: 6px;
    text-decoration: none;
  font-weight    :  600;
  transition:    all 0.3s ease;
  border: 2px solid var(--color-primary);


}

.cta-button:hover {
    background-color: transparent;
  color: var(--color-primary);
}

.hero-img {
   width: 100%;
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
}
@media (max-width: 768px) {
    .hero-section {
        grid-template-columns: 1fr;
        padding: 2rem 1rem;
    }

    .hero-content h1 {
        font-size: 2rem;
    }

    .hero-subtitle {
        font-size: 1rem;
    }
}.services-preview {

	  background-color: var(--color-light);
   padding: 4rem 2rem;
	}

.services-grid {
   max-width:1200px;
  margin: 0 auto;
	 display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
}

.service-card  {
  background-color: var(--color-white);
    border-radius: 10px;
  overflow :   hidden;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
               transition:  transform 0.3s ease, box-shadow 0.3s ease;


}

.service-card:hover {
  transform: translateY(-8px);

  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
}

.service-image

{
   width: 100%;
       height     : 250px;
                  object-fit   :cover;
}

.service-card h3 {
    padding :1.5rem 1.5rem 0.5rem;
  color: var(--color-primary);
   font-size: 1.3rem;
}

.service-card p {
   padding: 0 1.5rem 1.5rem;
  color: var(--color-text-light);
  font-size: 0.95rem;
}@media (max-width: 768px) {
    .services-grid {
        grid-template-columns: 1fr;
    }
}.features-section {
   max-width    :     1200px;
    margin: 0 auto;
   padding: 4rem 2rem;
	}

.features-section h2 {
    font-size: 2.2rem;
  margin-bottom  :        3rem;
  text-align: center;
  color: var(--color-dark);
}

.features-container {
		 display: grid;
  grid-template-columns: repeat(4, 1fr);
   gap: 2rem;
}

.feature-item  
  {
  padding: 2rem;
  background: linear-gradient(135deg, var(--color-light) 0%, rgba(76, 175, 80, 0.05) 100%);
  border-left: 4px solid var(--color-secondary);
  border-radius: 8px;
  transition: transform 0.3s ease;
}

.feature-item:hover {
  transform: translateX(8px);
}

.feature-item h4 {
  color: var(--color-primary);
                    margin-bottom: 1rem;
	font-size: 1.1rem;
}  

.feature-item p    {


  color: var(--color-text-light);
   font-size:      0.95rem;
    line-height: 1.7;


}@media (max-width: 768px) {
    .features-container {
        grid-template-columns: repeat(2, 1fr);
    }
}.training-section {
  background-color: var(--color-light);
               padding: 4rem 2rem;
}

.training-section h2 {
  max-width: 1200px;
    margin: 0 auto 3rem;
                    font-size: 2.2rem;
  color: var(--color-dark);
}

.training-grid {
    max-width: 1200px;
	margin: 0 auto;
    display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap:  2rem;
}

.training-card {
  background-color: var(--color-white);
    border-radius: 10px;
  overflow :   hidden;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  display: flex;
   flex-direction: column;
}

.training-image {
	   width: 100%;
  height: 200px;
  object-fit: cover;}

.training-card h3 {
		padding: 1.5rem 1.5rem 0.5rem; 
	  color: var(--color-primary); 
	    font-size  :  1.2rem;
	}

.training-card p


{
    padding: 0 1.5rem 1rem;
  color: var(--color-text-light);
	 font-size: 0.9rem;
   line-height: 1.6;
	flex-grow: 1;
}

.training-duration {
   display :   block;
  padding: 0 1.5rem 1.5rem;
  color: var(--color-accent);
  font-weight    :  600;
    font-size     :   0.9rem;
}@media (max-width: 768px) {
    .training-grid {
        grid-template-columns: 1fr;
    }
}.cta-section {
  background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-dark) 100%);
  color: var(--color-white);
  padding: 4rem 2rem;
    text-align: center;


}

.cta-content {
   max-width: 600px;
  margin: 0 auto;
}

.cta-content h2 {


	 font-size  :        2.2rem;
  margin-bottom: 1rem;
     }

.cta-content p {
    font-size: 1.1rem;
               margin-bottom: 2rem;
  opacity: 0.95;
}

.cta-button-large {
  display: inline-block;
  background-color: var(--color-white);
  color: var(--color-primary);
                    padding: 1rem 2.5rem;
  border-radius: 6px;
    text-decoration: none;
    font-weight: 700;
	 font-size: 1.1rem;
	transition: all 0.3s ease;
  border: 2px solid var(--color-white);
}


.cta-button-large:hover {
    background-color: transparent;
  color: var(--color-white);
}

.contact-section	{
  max-width: 1200px;
   margin: 0 auto;
   padding: 4rem 2rem;
}

.contact-section h2 {
    font-size: 2.2rem;
  text-align: center;
  margin-bottom: 3rem;
  color: var(--color-dark);
}

.contact-container {

	    display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 3rem;
	}

.contact-form


{
     background-color: var(--color-light);
  padding: 2rem;
   border-radius :    10px; 
	
     }

.form-group {
    margin-bottom: 1.5rem;
}

.form-group label {
   display: block;
    margin-bottom: 0.5rem;
  color: var(--color-dark);
    font-weight :       600;
  font-size: 0.95rem;
}

.form-group input,
.form-group select,
.form-group textarea {
	   width: 100%;
       padding: 0.9rem;
  border: 2px solid var(--color-border);
   border-radius  :        6px;
  font-family: inherit;
       font-size: 0.95rem;
	transition: border-color 0.3s ease;
	}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
	                    outline: none;
  border-color: var(--color-primary);
     }

.submit-button {
  width: 100%;
   	 padding: 1rem;
     background-color: var(--color-primary);
     color: var(--color-white);
     border   :      none;
     border-radius: 6px;
     font-weight: 700;
                  font-size: 1rem;
     cursor  :     pointer;
      transition: all 0.3s ease;

}

.submit-button:hover {
  background-color: var(--color-dark);
  transform: translateY(-2px);
}

.contact-info {
  background-color: var(--color-light);
    padding: 2rem;
   border-radius: 10px;
  border-left: 4px solid var(--color-secondary);
}

.contact-info h3 {
  color: var(--color-primary);
  margin-bottom: 1.5rem;
   font-size: 1.3rem;
}

.contact-item {
    margin-bottom: 1.5rem;
  color: var(--color-text);
  line-height: 1.8;
}@media (max-width: 768px) {
    .contact-container {
        grid-template-columns: 1fr;
    }
}.main-footer {
  background-color: var(--color-dark);
  color: var(--color-white);
    padding: 3rem 2rem 1rem;
}

.footer-container {
  max-width: 1200px;
      margin: 0 auto;
      display: grid;
       grid-template-columns:1fr 3fr;
       gap: 3rem;
     margin-bottom: 2rem;
} 

.footer-logo-img {
    height: 60px;
    width: auto;
  filter: brightness(0) invert(1);
}

.footer-content {
   display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
}

.footer-column h4 {
   	margin-bottom: 1rem;
  color: var(--color-accent);
   font-size: 1.1rem;



}

.footer-column ul {
       list-style: none;
}

.footer-column a {
  color: var(--color-light);
   text-decoration: none;
   display: block;
  margin-bottom    :  0.7rem;
     transition     : color 0.3s ease;
}

.footer-column a:hover   {
     color: var(--color-accent);
}

.footer-column p {
	  color: var(--color-light);
	 font-size: 0.9rem;
    line-height: 1.7;
   margin-bottom: 1rem;

}


.footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.1);
    padding-top: 2rem;
	 text-align: center;
  color: var(--color-light);
    font-size: 0.9rem;
}@media (max-width: 768px) {
    .footer-container {
        grid-template-columns: 1fr;
    }

    .footer-content {
        grid-template-columns: 1fr;
    }
}.services-hero {
  background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-dark) 100%);
  color: var(--color-white);
  padding: 5rem 2rem;
  text-align: center;
}

.services-hero-content h1 {
   font-size: 3rem;
    margin-bottom    :       1rem;
   line-height: 1.2;
}

.services-hero-content p 
 {
    font-size: 1.2rem;
   opacity: 0.95;
	max-width :   600px;
    margin  :      0 auto;
}
@media (max-width: 768px) {
    .services-hero {
        padding: 3rem 1rem;
    }

    .services-hero-content h1 {
        font-size: 2rem;
    }

    .services-hero-content p {
        font-size: 1rem;
    }
}.services-main {

	    max-width: 1200px;
   margin: 0 auto;
  padding: 3rem 2rem;
	}

.service-detailed {
    margin-bottom: 4rem;
  background-color: var(--color-light);
	 border-radius: 12px;
   overflow: hidden;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.service-detail-header {
  background-color: var(--color-primary);
  color: var(--color-white);
  padding :    2rem;
}

.service-detail-header h2 {


   font-size: 1.8rem;
  margin: 0;}

.service-detail-content {
   display: grid;
 grid-template-columns: 1fr 1fr;
   gap: 2rem;
   padding: 2rem;
}



.service-detail-image {
       width    :       100%;
	    border-radius: 8px;
	    object-fit: cover;
	    height:  350px;
}

.service-detail-text h3 {
	  color: var(--color-primary);
   margin-top :  1.5rem;
	 margin-bottom: 0.8rem;
	font-size: 1.2rem;
     }

.service-detail-text h3:first-child {
    margin-top: 0;
}

.service-detail-text p {
  color: var(--color-text);
   line-height: 1.7;
  margin-bottom: 1rem;
}

.service-results {
   list-style: none;
   padding: 0;
   margin-bottom: 1rem;
}

.service-results li {
  padding-left: 1.5rem;
   margin-bottom: 0.8rem;
   position: relative;
  color: var(--color-text-light);
  line-height: 1.6;
}

.service-results li:before {
  content: "▪";
  position: absolute;
    left  :       0;
  color: var(--color-secondary);
    font-weight: bold;
}@media (max-width: 768px) {
    .service-detail-content {
        grid-template-columns: 1fr;
        padding: 1.5rem;
    }

    .service-detail-image {
        height: 250px;
    }

    .service-detail-header h2 {
        font-size: 1.4rem;
    }
}.pricing-section {
  background-color: var(--color-white);
    padding   :   4rem 2rem;
  max-width: 1200px;
	margin: 0 auto;
     }

.pricing-section h2 {
  font-size: 2.2rem;
     text-align: center;
   margin-bottom: 3rem;
  color: var(--color-dark);
}

.pricing-grid {
      display: grid;
  grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
}



.pricing-card {
  background-color: var(--color-light);
  border-radius: 10px;
  padding  :      2rem;
    border: 2px solid transparent;
    transition: all 0.3s ease;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.pricing-card:hover {
  border-color: var(--color-primary);
  box-shadow: 0 8px 24px rgba(45, 122, 74, 0.15);
  transform: translateY(-8px);
}

.pricing-card h3 {
  color: var(--color-primary);
  margin-bottom: 1rem;
               font-size: 1.3rem;
}
/* Browser compatibility */
.pricing-amount {
  font-size: 2rem;
  color: var(--color-secondary);
     font-weight: 700;
    margin-bottom: 0.3rem;
}

.pricing-duration {
  color: var(--color-text-light);
  font-size: 0.9rem;
    margin-bottom    :1.5rem;
}

.pricing-features {
   list-style  :    none;
  padding: 0;}

.pricing-features li {
   padding: 0.7rem 0;
  color: var(--color-text);
  border-bottom: 1px solid var(--color-border);
		padding-bottom: 0.7rem;
}

.pricing-features li:last-child {
    border-bottom: none;
}
@media (max-width: 768px) {
    .pricing-grid {
        grid-template-columns: 1fr;
    }
}.faq-section {
  background-color: var(--color-light);
    padding   :4rem 2rem;
   max-width: 1200px;
                    margin: 0 auto;
}

.faq-section h2 {
    font-size: 2.2rem;
    text-align: center;
        margin-bottom: 3rem;
  color: var(--color-dark);
}

.faq-container		{
  display: grid;
    grid-template-columns: 1fr 1fr;
  gap: 2rem;
}

.faq-item


{

	  background-color: var(--color-white);
               padding: 2rem;
     border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
  border-left: 4px solid var(--color-secondary);
	transition: transform 0.3s ease;

}

.faq-item:hover {
  transform: translateX(8px);
}

.faq-question {

	  color: var(--color-primary);
  font-size    :  1.1rem;
	margin-bottom: 1rem;
  font-weight: 600;}

.faq-answer {
  color: var(--color-text-light);
   line-height   :  1.7;
  font-size  :  0.95rem;
}@media (max-width: 768px) {
    .faq-container {
        grid-template-columns: 1fr;
    }
}.thankyou-section {


  background: linear-gradient(135deg, var(--color-light) 0%, rgba(76, 175, 80, 0.05) 100%);
  padding: 4rem 2rem;
   min-height:       70vh;
    display: flex;
  align-items:   center;
   justify-content: center;
     }

.thankyou-container
{
               max-width: 700px;
  width: 100%;
}

.thankyou-content     {
  background-color: var(--color-white); 
	    border-radius: 12px; 
	  padding: 3rem; 
	  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1); 
	   text-align: center;
}

.success-icon {
     margin-bottom: 2rem;
	}

.success-icon svg {
        animation: scaleIn 0.6s ease-out;
    display: inline-block;
}@keyframes scaleIn {
    from {
        transform: scale(0.5);
        opacity: 0;
    }
    to {
        transform: scale(1);
        opacity: 1;
    }
}.thankyou-content h1	{
  color: var(--color-primary);
  font-size: 2.2rem;
    margin-bottom: 1rem;
    line-height :     1.3; 

}

.thankyou-main-text

{
  color: var(--color-text-light);
  font-size     :       1.1rem;
				 margin-bottom: 2rem;
  line-height: 1.8;
}

.thankyou-info-box

{
  background-color: var(--color-light);
   padding: 2rem;
   border-radius: 8px;
  border-left: 4px solid var(--color-secondary);
    margin-bottom: 2rem;
        text-align: left;
}

.thankyou-info-box h3 {
	  color: var(--color-primary);
    margin-bottom: 1.5rem;
                    text-align: center;
	
}

.thankyou-steps  {
   list-style: none;
  padding  :   0;

}

.thankyou-steps li {
    margin-bottom: 1rem;
   padding-left: 1.5rem;
    position: relative;
  color: var(--color-text);
  line-height: 1.6;
} 

.thankyou-steps li:before {
  content: "✓";
    position:      absolute;
        left: 0;
  color: var(--color-secondary);
    font-weight: bold;
    font-size: 1.2rem;
}

.thankyou-additional-info {
  background-color: var(--color-light);
  padding: 2rem;
   border-radius: 8px;
  margin-bottom  :      2rem;
}

.thankyou-additional-info h3 {
  color: var(--color-primary);
   margin-bottom: 1.5rem;
    text-align: center;
}

.thankyou-suggestions   {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
   gap: 1.5rem;
	
}

.suggestion-item {
  background-color: var(--color-white);
   padding: 1.5rem;
    border-radius     :6px;
  border: 1px solid var(--color-border);
}

.suggestion-item h4 {
  color: var(--color-primary);
  margin-bottom: 0.7rem;
    font-size: 1rem;
}

.suggestion-item p {
  color: var(--color-text-light);
	    font-size: 0.9rem;
	    margin-bottom: 1rem;
	  line-height: 1.6;
}

.suggestion-link {
  display: inline-block;

  color: var(--color-secondary);

	 text-decoration: none;

  font-weight: 600;

	transition : color 0.3s ease;
}
	/* Minified version */

.suggestion-link:hover {
  color: var(--color-primary);
}

.thankyou-contact-box {
  background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-dark) 100%);
  color: var(--color-white);
    padding: 2rem;
    border-radius: 8px;
  margin-bottom: 2rem;
}

/* NOTE: keep for legacy support */
.thankyou-contact-box h3 {
  color: var(--color-white);
  margin-bottom: 1rem;
}

.thankyou-contact-box p {
		 margin-bottom: 0.8rem;
  line-height: 1.6;
}

.contact-phone {
   font-size: 1.2rem;
   font-weight: 600;
	margin-top: 1rem;
}

.contact-hours {

	   font-size: 0.9rem;
	opacity :       0.9;
	}

.thankyou-quote {
  background-color: var(--color-light);
    padding    :      1.5rem;
    border-radius  :     8px;
  border-left: 4px solid var(--color-secondary);
    font-style: italic;
}

.thankyou-quote p

{
  color: var(--color-text);

	   margin:  0;

	  line-height: 1.8;

}
@media (max-width: 768px) {
    .thankyou-content {
        padding: 2rem 1.5rem;
    }

    .thankyou-content h1 {
        font-size: 1.7rem;
    }

    .thankyou-suggestions {
        grid-template-columns: 1fr;
    }

    .suggestion-item {
        padding: 1rem;
    }

    .thankyou-info-box,
    .thankyou-additional-info {
        padding: 1.5rem;
    }
}.policySection {


		padding: 80px 2rem;
  background: var(--color-light);
     }

.policyContainer {
                    max-width: 900px;
          margin: 0 auto;
    text-align: left;
}

.policyContainer h2 {
	font-size: 2.8rem;
  color: var(--color-dark);
   margin-bottom: 2rem;
    font-weight    :        700;
  line-height: 1.2;
}

.policyContainer h3 {
	 font-size: 1.5rem;
  color: var(--color-primary);
    margin-top: 2rem;
  margin-bottom: 1rem;
   font-weight: 600;
}

.policyContainer p {
  color: var(--color-text-light);
  margin-bottom: 1.5rem;
    line-height :    1.8;
  font-size     : 1rem;
        text-align    :       justify;
}

.policyContainer ul {
    padding: 0;
   margin-bottom: 1.5rem;
               list-style   :     none;
}

.policyContainer li {
  color: var(--color-text-light);
    margin-bottom: 0.8rem;
   padding-left     :     1.5rem;
   position: relative;
      line-height:       1.8;
}

.policyContainer li:before {
  content: "•";
   position  :    absolute;
       left    : 0;
  color: var(--color-secondary);
   font-weight: bold;
}@media (max-width: 1024px) {
    .policyContainer {
        max-width: 800px;
    }

    .policyContainer h2 {
        font-size: 2.4rem;
    }

    .policyContainer h3 {
        font-size: 1.3rem;
    }
}

@media (max-width: 768px) {
    .policySection {
        padding: 60px 1.5rem;
    }

    .policyContainer {
        max-width: 100%;
    }

    .policyContainer h2 {
        font-size: 2rem;
        margin-bottom: 1.5rem;
    }

    .policyContainer h3 {
        font-size: 1.2rem;
        margin-top: 1.5rem;
        margin-bottom: 0.8rem;
    }

    .policyContainer p {
        font-size: 0.95rem;
        margin-bottom: 1rem;
        text-align: left;
    }

    .policyContainer li {
        font-size: 0.95rem;
        margin-bottom: 0.6rem;
        padding-left: 1.5rem;
    }
}

@media (max-width: 480px) {
    .policySection {
        padding: 40px 1rem;
    }

    .policyContainer h2 {
        font-size: 1.7rem;
        margin-bottom: 1.2rem;
    }

    .policyContainer h3 {
        font-size: 1.1rem;
        margin-top: 1.2rem;
        margin-bottom: 0.8rem;
    }

    .policyContainer p {
        font-size: 0.9rem;
        line-height: 1.6;
    }
}