* {
       margin: 0;
  padding :    0;
   box-sizing    :    border-box;
}

body {
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
       line-height     :        1.7;
	color: #2d2d2d;
  background: #fafafa;
}

.main-navbar {
  background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);
    padding   : 1.2rem 0;
    position: sticky;
    top: 0;
		 z-index: 1000;
  box-shadow: 0 4px 15px rgba(0,0,0,0.15);
}

.nav-wrapper    {
  max-width: 1320px;
  margin :0 auto;
   padding:0 2rem;
  display: flex;
   justify-content: space-between;
   align-items: center;
}

.brand-section .site-logo{
    height: 52px;
	width: auto;
	-moz-transition: transform 0.3s ease;
    -webkit-transition: transform 0.3s ease;
    transition    :    transform 0.3s ease;
}

.brand-section .site-logo:hover 
 {

  transform: scale(1.05);
}

.links-container {
  display: flex;
  gap   :        2.5rem;
	}

.nav-item {
   color: #e8e8e8;
  text-decoration  :      none;
  font-weight: 500;
   font-size: 1.05rem;
    transition: all 0.3s;
    position: relative;
}

.nav-item::after {

	  content: '';
	position :       absolute;
               bottom: -5px;
  left   : 0;
    width  :     0;
    height: 2px;
    background: #4a90e2;
  transition :   width 0.3s;
}

.nav-item:hover::after,
.nav-item.active-link::after {
       width:       100%;


}

.nav-item:hover {
   color: #4a90e2;


}

.menu-trigger {
   display: none;
  flex-direction: column;
  background: transparent;
    border: none;
    cursor: pointer;
	padding    :      0.5rem;
}

.bar-line    {
    width: 28px;
   height: 3px;
          background: #e8e8e8;
  margin: 4px 0;
        transition: 0.3s;
  border-radius: 2px;
}

.hero-banner
	{
  background: linear-gradient(165deg, #0f2027 0%, #203a43 50%, #2c5364 100%);
  padding: 6rem 2rem;
  color: white;
}

.hero-content-wrap {
   max-width: 1320px; 
    margin: 0 auto; 
    display: grid; 
  grid-template-columns: 1fr 1fr; 
    gap: 4rem; 
    align-items: center;
}

.text-block h1 {
   margin-bottom: 1.5rem;
                    font-size :        3.2rem;
	font-weight: 700;
   line-height: 1.2;
}

.lead-paragraph {
					font-size  :     1.25rem;
    margin-bottom: 2.5rem;
	opacity: 0.95;
    line-height    :   1.8;
}

.cta-buttons {
               display:     flex;
   gap: 1.5rem;
}

.primary-btn,
.secondary-btn {
   border-radius: 8px;
    padding: 1rem 2.5rem;
    display: inline-block;
    font-size: 1.05rem;
	 text-decoration: none;
   transition: all 0.3s;
    font-weight: 600;
	
}

.primary-btn {
	background: #4a90e2;
    color: white;
}

.primary-btn:hover {
                    background: #357abd;
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(74, 144, 226, 0.4);
}

.secondary-btn {
		background :       transparent;
  color: white;
   border:     2px solid white;
     }

.secondary-btn:hover  {
   background: white;
   color  :  #0f2027;
}

.image-block img {
   width: 100%;
  border-radius: 12px;
  box-shadow: 0 15px 40px rgba(0,0,0,0.3);
}

.offerings-zone		{
  padding: 5rem 2rem;
  background: #ffffff;
}



.section-container {

	  max-width: 1320px;
			margin: 0 auto;
}

.section-heading {
    text-align  :    center;
  font-size: 2.8rem;
    margin-bottom: 3.5rem;
   color: #1a1a2e;
   font-weight: 700;
}

.services-grid     {
	display :      grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
   gap: 2.5rem;
}

.service-card {

      background: #f8f9fa;
  border-radius: 10px;
    overflow  : hidden;
  transition: transform 0.3s, box-shadow 0.3s;
     }

.service-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 12px 30px rgba(0,0,0,0.15);
}

.card-image {
      width: 100%;
  height: 240px;
    object-fit: cover;

}

.service-card h3 {
  padding: 1.5rem 1.5rem 1rem;
    color: #1a1a2e;
    font-size: 1.6rem;
	
}

.service-card p {
    padding: 0 1.5rem 1.5rem;
   	 color: #555;
       line-height: 1.7;

}


.methodology-section {
   padding: 5rem 2rem;
  background: #f4f6f8;
}

.method-layout {
    display: grid;
  grid-template-columns: 1fr 1fr;
   gap: 4rem;
    align-items: center;
}

.method-visual img {
   width: 100%;
    border-radius: 10px;
  box-shadow: 0 10px 25px rgba(0,0,0,0.12);
}

.method-description h2 {
    font-size: 2.5rem;
    margin-bottom: 2rem;
  color: #1a1a2e;
}

.process-steps {
  display: flex;

  flex-direction: column;

   gap: 1.8rem;
}

.step-item h4 {
    font-size: 1.4rem;
    color: #2c5364;
    margin-bottom: 0.5rem;
}

.step-item p {
	line-height: 1.7;
  color   :  #555;
}

.cta-highlight {

	  background: linear-gradient(135deg, #4a90e2 0%, #357abd 100%);
    padding: 5rem 2rem;
  text-align: center;
   color: white;}

.cta-inner h2 {
    font-size  :2.8rem;
   margin-bottom: 1.5rem;
}

.cta-subtitle {


   font-size: 1.2rem;
    margin-bottom: 2.5rem;
   max-width: 800px;
   margin-left: auto;
  margin-right :   auto;
   opacity: 0.95;


}

.cta-action-btn {


                    display: inline-block;
  padding: 1.2rem 3rem;
     background: white;
  color: #4a90e2;
  text-decoration: none;
               border-radius: 8px;
   font-weight: 700;
  font-size:1.15rem;
    transition: all 0.3s;


}

.cta-action-btn:hover {
  transform: scale(1.05);
  box-shadow: 0 10px 30px rgba(0,0,0,0.2);
}

.testimonials-area {
  padding: 5rem 2rem;
   background : #ffffff;
}

.reviews-layout {
       display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
         gap     :2.5rem;
}

.review-box {
  background: #f8f9fa;
	padding     :        2rem;
   border-radius: 10px;
	border-left: 4px solid #4a90e2;
}

.review-text {
  font-style: italic;
    margin-bottom: 1.2rem;
  color: #444;
   line-height: 1.8;
	
}

.reviewer-name {
	font-weight: 600;
  color: #2c5364;
}

.contact-section
	{
    padding: 5rem 2rem;
	background: #f4f6f8;
}

.contact-wrapper {
  display: grid;
   grid-template-columns:    1.5fr 1fr;
    gap: 4rem;
    max-width :      1200px;
    margin: 0 auto;
}  

.contact-form {
    background: white;
  padding: 2.5rem;
    border-radius: 10px;
  box-shadow: 0 5px 20px rgba(0,0,0,0.08);
}

.form-group {
    margin-bottom: 1.5rem; 
	
}

.form-group label		{

  display: block;
   margin-bottom: 0.5rem;
    font-weight     :    600;
  color: #2d2d2d;


	}

.form-group input,
.form-group select,
.form-group textarea {
	padding   : 0.9rem;
   font-family: inherit;
    border: 1px solid #ddd;
    border-radius: 6px;
   transition :border-color 0.3s;
    font-size: 1rem;
	 width: 100%;
	
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
	  outline: none;
  border-color: #4a90e2;
     }

.submit-btn {
    width: 100%;
    padding: 1rem;
        background: #4a90e2;
  color  :white;
   border: none;
    border-radius    :6px;
    font-size: 1.1rem;
   font-weight: 600;
    cursor: pointer;
  transition: background 0.3s;
}

.submit-btn:hover {
     background: #357abd;


}

.info-container {
    background: white;
   padding  :      2.5rem;
   border-radius: 10px;
  box-shadow: 0 5px 20px rgba(0,0,0,0.08);
}

.info-container h3{
  font-size: 1.8rem;
	margin-bottom:        1.5rem;
         color: #1a1a2e;
}

.contact-details 
 {
    display: flex;
    flex-direction: column;
      gap: 1.5rem;
	}

.detail-item strong {

    display: block;
    margin-bottom: 0.5rem;
   color: #2c5364;
   font-size: 1.1rem;
     }

.detail-item p

{
   color: #555;
	 line-height: 1.6;
}

.site-footer {
    background: #1a1a2e;
  color: #e8e8e8;
   padding: 3rem 2rem 1.5rem;


}

.footer-content  {
     max-width: 1320px;
   margin: 0 auto;
   display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
   gap :       2.5rem;
   margin-bottom    :   2rem;


}

.footer-section h4 {
	 font-size: 1.3rem;
  color: white;
   margin-bottom: 1rem;
}

.footer-logo{
	  height: 48px;
  margin-bottom: 1rem;
  filter: brightness(0) invert(1);
}

.footer-desc {
               opacity: 0.85; 
	    line-height: 1.6;
}

.footer-nav {
  display: flex;
    flex-direction    : column;
  gap: 0.7rem;
}

.footer-nav a {
  color: #e8e8e8;
  text-decoration: none;
    transition: color 0.3s;
}

.footer-nav a:hover {
   color  :        #4a90e2;
}



.footer-section p {
    opacity:     0.85;
   line-height: 1.6;
}

.footer-bottom {
    text-align     :center;
   padding-top     : 1.5rem;
  border-top: 1px solid rgba(255,255,255,0.1); 
	
}

.footer-bottom p {
  opacity: 0.7;
}@media (max-width: 992px) {
    .hero-content-wrap {
        grid-template-columns: 1fr;
    }
    
    .method-layout {
        grid-template-columns: 1fr;
    }
    
    .contact-wrapper {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .menu-trigger {
        display: flex;
    }
    
    .links-container {
        position: fixed;
        top: 76px;
        left: -100%;
        width: 100%;
        background: #16213e;
        flex-direction: column;
        padding: 2rem;
        gap: 1.5rem;
        transition: left 0.3s;
        box-shadow: 0 4px 15px rgba(0,0,0,0.2);
    }
    
    .links-container.active {
        left: 0;
    }
    
    .text-block h1 {
        font-size: 2.2rem;
    }
    
    .cta-buttons {
        flex-direction: column;
    }
    
    .services-grid {
        grid-template-columns: 1fr;
    }
}.policySection {
		 padding: 80px 2rem;
	 background: #f8f9fa;
}

.policyContainer {
	   max-width :        800px;
  margin  :0 auto;
    text-align: left;
}

.policyContainer h2    {
     font-size :        2.5rem;
   color: #2c3e50;
    margin-bottom: 1.5rem;
   font-weight: 700;

}

.policyContainer p {
     color     :       #7f8c8d;
    margin-bottom  :   1.5rem;
     line-height: 1.7;
  font-size:1.1rem;}@media (max-width: 768px) {
    .policyContainer h2 {
        font-size: 2rem;
    }

    .policyContainer p {
        font-size: 1rem;
    }

    .policySection {
        padding: 60px 1rem;
    }
}.page-header-zone {
  background: linear-gradient(rgba(15, 32, 39, 0.85), rgba(44, 83, 100, 0.85)), url('photos/self_control_mastery_photos_1.webp') center/cover;
    padding: 8rem 2rem 5rem;
  text-align: center;
  color:white;
  position: relative;

}

.header-overlay h1 {
   font-size     :   3.5rem;
  margin-bottom: 1rem;
   font-weight: 800;
}

.header-subtitle

{
 font-size: 1.4rem;
   opacity: 0.9;
}

.story-section {

                    padding: 5rem 2rem;
    background: #ffffff;
	}

.story-grid {
	display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 3.5rem;
	align-items: center;
}

.story-content h2 {
       font-size: 2.6rem;
  margin-bottom: 1.5rem;
   color: #1a1a2e;
}

.story-content p {
  margin-bottom: 1.3rem;
  line-height: 1.8;
				 color: #555;
    font-size: 1.05rem;
}

.story-visual img {


   width: 100%;
    border-radius: 12px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.15);
     }

.values-zone {
        padding: 5rem 2rem;
    background:      #f4f6f8; 

} 

.values-grid {
  display  :      grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 2rem;
}

.value-card {
        background: white;
       padding    :2.5rem 2rem;
       border-radius: 10px;
     box-shadow: 0 5px 15px rgba(0,0,0,0.08);
       transition: transform 0.3s;
}

.value-card:hover {
  transform: translateY(-5px);
} 

.value-card h3{
   font-size: 1.6rem;
  margin-bottom: 1rem;
                    color: #2c5364;
}

.value-card p {
	 line-height: 1.7;
    color: #666; 

}

.mission-banner    {
  background: linear-gradient(135deg, #2c5364 0%, #1a1a2e 100%);
   padding:     4.5rem 2rem;
   color: white;
  text-align: center;

     }

.mission-content {
  max-width: 900px;
  margin: 0 auto;
}

.mission-content h2

{
     font-size: 2.8rem;
               margin-bottom    :  1.5rem;
	}

.mission-content p {
      opacity   :      0.95;
    font-size: 1.2rem;
 line-height: 1.9;
} 

.approach-section 
 {
  padding: 5rem 2rem;
	background: white;
}

.approach-layout {
    display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
   gap: 2.5rem;
	}

.approach-item {

	  position: relative;
  padding: 2rem;
  background: #f8f9fa;
         border-radius: 10px;
  border-left: 4px solid #4a90e2;}

.approach-number {
    font-size: 3rem;
   font-weight: 800;
         color: #4a90e2;
	opacity: 0.2;
    position : absolute;
    top :  1rem;
   right    :      1.5rem;


}

.approach-item h3 {
    font-size: 1.5rem;
   margin-bottom: 1rem;
 color: #1a1a2e;
}

.approach-item p {
       line-height: 1.7;
    color: #666;
}

.team-showcase 
 {
  padding: 5rem 2rem;
    background: #f4f6f8;
}

.benefits-list {
		display: flex;
    flex-direction: column;
  gap: 3rem;}

.benefit-row {
  display: grid; 
	   grid-template-columns: 1fr 1.2fr; 
	   gap     :   3rem; 
	  align-items: center;
}



.benefit-row.reverse-row {
   grid-template-columns     :   1.2fr 1fr;
}

.benefit-row.reverse-row .benefit-img

{
    order: 2;
}

.benefit-row.reverse-row .benefit-text {
   order: 1;
}

.benefit-img {
   width: 100%;
  border-radius: 10px;
  box-shadow: 0 8px 25px rgba(0,0,0,0.12);
	
}

.benefit-text h3 {
    font-size: 1.9rem;
  margin-bottom: 1rem;
 color: #1a1a2e;


}

.benefit-text p  {
         line-height: 1.8;
	color: #555;
   font-size: 1.05rem;
}

.final-cta-zone {
  background: linear-gradient(135deg, #4a90e2 0%, #357abd 100%);
   padding  :      5rem 2rem;
  text-align: center;
    color     :        white;
}

.final-cta-inner h2 {
  font-size: 2.8rem;
    margin-bottom :       1.5rem;
}

.final-cta-inner p {


  font-size: 1.2rem;
               margin-bottom: 2.5rem;
   max-width: 750px;
    margin-left: auto;
    margin-right: auto;
     }

.thankyou-main

{
 min-height: 80vh; 
    display: flex; 
         align-items: center; 
   padding: 4rem 2rem; 
  background: linear-gradient(135deg, #f4f6f8 0%, #e8ecf0 100%);
}  

.thankyou-container {
   max-width: 800px;
   margin: 0 auto;
	 background: white;
  padding: 4rem 3rem;
  border-radius: 15px;
  box-shadow: 0 10px 40px rgba(0,0,0,0.1);
  text-align: center;

}

.success-icon-wrapper     {
   margin-bottom: 2rem;
}

.success-checkmark  
  {
   display: inline-block;
}

.check-circle {
  width  :   120px;
   height: 120px;
    position    :relative;
   margin: 0 auto;
}

.check-background   {
   width :     100%;
    height: 100%;
   background: #4a90e2;
	border-radius: 50%;
  opacity     :    0.15;
     }

.check-mark {
   width: 120px;
    height: 120px;
               position: absolute;
  top: 0;
  left: 0;
}

.check-path   {
	stroke: #4a90e2;
	 stroke-width: 4;
     stroke-linecap: round;
  stroke-linejoin: round; 
	
}

.thankyou-title {
    font-size: 2.8rem;
     color: #1a1a2e;
  margin-bottom: 1.5rem;
   font-weight: 700;
}

.thankyou-message {
  font-size   :    1.2rem;
    color :   #555;
   line-height: 1.8;
  margin-bottom: 3rem;
}

.next-steps-block
	{


    background: #f8f9fa;
    padding: 2.5rem 2rem;
  border-radius     :     10px;
    margin-bottom: 3rem;


}

.next-steps-block h2 {

	 color: #1a1a2e;
       font-size: 1.9rem;
  margin-bottom: 2rem;}

.steps-info {

	  display: flex;
  flex-direction: column;
	 text-align :left;
    gap: 1.5rem;
	}

.step-info-item{
	      display: flex;
 align-items: flex-start;
    gap    :  1.5rem;
     }

.step-num	{
    background: #4a90e2;
    color: white;
  width:        40px;
   height: 40px;
       border-radius: 50%;
  display: flex;
      align-items    :        center;
   justify-content: center;
  font-weight: 700;
   font-size: 1.2rem;
    flex-shrink: 0;
}

.step-info-item p {

	       color: #555;
   line-height: 1.7;
  margin-top: 0.5rem;
}

.thankyou-actions {

    display: flex;
  gap: 1.5rem;
  justify-content : center;
          margin-bottom:3rem;
    flex-wrap: wrap;
}

.return-home-btn,
.learn-more-btn {
               padding: 1rem 2.5rem;
    text-decoration     :   none;
   border-radius   :      8px;
   font-weight: 600;
    font-size: 1.05rem;
  transition     :       all 0.3s;
    display: inline-block;
}

.return-home-btn {

       background  : #4a90e2;

   color: white;
}

.return-home-btn:hover {
  background: #357abd;
     transform: translateY(-2px);
}

.learn-more-btn {
   background: transparent;

	   color: #4a90e2;

	  border: 2px solid #4a90e2;

} 

.learn-more-btn:hover {
  background: #4a90e2;
	color: white;
}  

.additional-info-box {
    border-top: 2px solid #e8ecf0; 
  padding-top: 2rem;
}

.additional-info-box h3 {
   font-size: 1.6rem;
    color: #1a1a2e;
    margin-bottom: 1rem;
}

.additional-info-box p


{
   color: #666;
  line-height    :  1.7;
   margin-bottom: 0.8rem;
}

.contact-phone {

				 font-size: 1.3rem;
    font-weight: 700;
  color: #4a90e2;
        margin: 1rem 0;


}

.contact-address {
     font-size: 1.05rem; 
	    color: #777;
     }@media (max-width: 992px) {
    .story-grid {
        grid-template-columns: 1fr;
    }
    
    .benefit-row,
    .benefit-row.reverse-row {
        grid-template-columns: 1fr;
    }
    
    .benefit-row.reverse-row .benefit-img,
    .benefit-row.reverse-row .benefit-text {
        order: initial;
    }
}

@media (max-width: 768px) {
    .page-header-zone {
        padding: 5rem 2rem 3rem;
    }
    
    .header-overlay h1 {
        font-size: 2.5rem;
    }
    
    .approach-layout {
        grid-template-columns: 1fr;
    }
    
    .thankyou-container {
        padding: 3rem 2rem;
    }
    
    .thankyou-title {
        font-size: 2.2rem;
    }
    
    .thankyou-actions {
        flex-direction: column;
    }
    
    .return-home-btn,
    .learn-more-btn {
        width: 100%;
    }
}