.opsg_ContactHero_charles {
 padding: 160px 0 80px;
  background: linear-gradient(135deg,#2c3e50 0%,#3498db 100%);
     position: relative;
}

.opsg_ContactHeroWrap_charles {
					max-width     :        1320px;
    margin     :      0 auto;
  padding: 0 25px;
}

.opsg_ContactHeroContent_charles {
  max-width: 800px;
  color: #fff;
   margin: 0 auto;
	text-align: center;
}

.opsg_ContactLabel_charles {
	         font-size: 14px;
  text-transform: uppercase;
  letter-spacing     :        2px;
  color: rgba(255,255,255,0.8);
    font-weight: 600;
   display: block;
    margin-bottom: 15px;
}

.opsg_ContactHeroContent_charles h1 {

	  font-family: 'Playfair Display',serif;
  font-size: 56px;
    font-weight: 800;
       color: #fff;
   margin-bottom: 25px;
         line-height: 1.2;
}

.opsg_ContactHeroContent_charles p		{
  font-size: 20px;
   line-height: 1.7;
  color: rgba(255,255,255,0.9);
}@media(max-width:768px){
    .opsg_ContactHeroContent_charles h1 {
        font-size:38px;
    }
    .opsg_ContactHeroContent_charles p {
        font-size:17px;
    }
}.opsg_ContactMain_charles {
    padding: 90px 0;
   background: #f8f9fa; 

}

.opsg_ContactWrap_charles {
   max-width   :   1320px;
  margin: 0 auto;
   padding: 0 25px;
}

.opsg_ContactLayout_charles {

  display: grid;
     grid-template-columns: 1fr 1.3fr;
   gap: 50px;
  align-items: start;


}

.opsg_ContactInfo_charles h2 {
  font-family: 'Playfair Display',serif;
   font-size: 36px;
    font-weight: 800;
  color: #1a1a1a;
   margin-bottom: 20px;
}

.opsg_ContactIntro_charles{

   font-size: 17px;
   line-height: 1.7;
    color: #5a5a5a;
   margin-bottom   :   40px;


}

.opsg_InfoBlocks_charles {
    margin-bottom: 50px;
}

.opsg_InfoBlock_charles {
  display: flex;
     gap: 20px;
   margin-bottom: 35px;
        align-items: flex-start;
}  

.opsg_InfoIcon_charles {
  width: 60px;
    height: 60px;
  background: linear-gradient(135deg,#3498db,#2c3e50);
   border-radius     :12px;
    display: flex;
      align-items: center;
  justify-content: center;
    flex-shrink: 0;
}

.opsg_InfoIcon_charles img {
  width   :       28px;
   height: 28px;
  filter: brightness(0) invert(1);
}

.opsg_InfoContent_charles h3 {
    font-weight: 600; 
	  font-size: 18px; 
	    color: #1a1a1a; 
	   margin-bottom: 10px;
}  

.opsg_InfoContent_charles p {
   font-size: 16px;
    color: #5a5a5a;
   line-height: 1.6;
   margin: 0;
}

.opsg_InfoContent_charles a {
  color: #3498db;
	transition: color 0.3s ease;
}

.opsg_InfoContent_charles a:hover {
		color: #2980b9;
    text-decoration: underline;
	}

.opsg_InfoNote_charles {
    display: block;
    font-size: 14px;
   color: #999;
   margin-top: 5px;
}

.opsg_WhyContact_charles
	{
       background : #fff;
    padding: 30px;
	border-radius     :12px;
  box-shadow: 0 4px 15px rgba(0,0,0,0.08);
	}

.opsg_WhyContact_charles h3 {
   font-size  :      20px;
    font-weight: 600;
	 color: #1a1a1a;
  margin-bottom: 20px;
}

.opsg_WhyContact_charles ul 
 {
   list-style: none;
  padding  :    0;
   margin :    0;
}

.opsg_WhyContact_charles li {
  display: flex;
   gap: 12px;
	 align-items: flex-start;
    margin-bottom: 15px;
   padding-bottom: 15px;
	 border-bottom: 1px solid #f0f0f0;
}

.opsg_WhyContact_charles li:last-child {
  border-bottom: none;
	margin-bottom: 0;
    padding-bottom: 0;}

.opsg_WhyContact_charles li img {
   width: 20px;
  height: 20px;
  filter: invert(48%) sepia(79%) saturate(2476%) hue-rotate(186deg);
    flex-shrink: 0;
   margin-top: 2px;
}

.opsg_WhyContact_charles li span {
   font-size  : 15px;
   color: #666;
    line-height: 1.6; 
	
}

.opsg_FormCard_charles {
  background: #fff;
    padding : 45px;
  border-radius: 15px;
  box-shadow: 0 8px 25px rgba(0,0,0,0.08); 
	
}

.opsg_FormCard_charles h2{
  font-family: 'Playfair Display',serif;
 font-size: 32px;
   font-weight: 700;
  color: #1a1a1a;
  margin-bottom     :    15px;
}



.opsg_FormIntro_charles {
  font-size   :16px;
  color: #666;
    line-height: 1.6;
          margin-bottom: 30px;
}

.opsg_Form_charles {
  display    :      flex;
    flex-direction: column;
   gap: 25px; 
	
}


.opsg_FormRow_charles {
   display :  grid;
   grid-template-columns: 1fr 1fr;
   gap: 20px;
}

.opsg_FormGroup_charles label {
    display: block;
    font-size: 14px;
  font-weight: 600;
	color: #1a1a1a;
  margin-bottom    :8px;
}

.opsg_FormGroup_charles input,
.opsg_FormGroup_charles select,
.opsg_FormGroup_charles textarea
{
    font-size: 15px;
  padding: 12px 15px;
   border-radius: 8px;
    transition    :   border-color 0.3s ease;
    border: 2px solid #e0e0e0;
  font-family: 'Roboto',sans-serif;
   width: 100%;
}

.opsg_FormGroup_charles input:focus,
.opsg_FormGroup_charles select:focus,
.opsg_FormGroup_charles textarea:focus {
  outline:none;
  border-color     :      #3498db;
}

.opsg_FormGroup_charles input.error,
.opsg_FormGroup_charles select.error,
.opsg_FormGroup_charles textarea.error {
   border-color: #e74c3c;


}

.opsg_FormGroup_charles textarea {
	 resize    :     vertical;
    min-height: 120px;
}


.opsg_FormError_charles {
    display: block;
    font-size: 13px;
    color: #e74c3c;
    margin-top: 5px;
  min-height: 18px;
}

.opsg_FormConsent_charles     {
    margin:        10px 0;
}

.opsg_FormConsent_charles label {
 display: flex;
	gap: 12px;
    align-items: flex-start;
   cursor: pointer;
}

.opsg_FormConsent_charles input[type="checkbox"] {
      width: 18px;
  height: 18px;
   flex-shrink: 0;
      margin-top: 2px;
  cursor: pointer;}

.opsg_FormConsent_charles span	{
  font-size: 14px;
        color: #666;
    line-height: 1.5;
}

.opsg_FormSubmit_charles {
     background: linear-gradient(135deg,#3498db,#2c3e50);
    color: #fff;
    border: none;
   padding: 16px;
	 border-radius: 8px;
  display: flex;
    align-items: center;
  justify-content: center;
	gap: 10px;
  font-size: 16px;
  font-weight: 600;
   cursor: pointer;
        transition: all 0.3s ease;


}

.opsg_FormSubmit_charles:hover {
	  transform: translateY(-2px);

	  box-shadow: 0 8px 20px rgba(52,152,219,0.3);
	}

.opsg_FormSubmit_charles:disabled {


      opacity: 0.6;
  cursor: not-allowed;
  transform     :    none;}

.opsg_FormSubmit_charles img {
  width: 22px; 
	          height: 22px; 
	  filter: brightness(0) invert(1);
}@media(max-width:968px){
    .opsg_ContactLayout_charles {
        grid-template-columns:1fr;
    }
    .opsg_FormRow_charles{
        grid-template-columns: 1fr;
    }
}.opsg_SuccessModal_charles {
	 display: none;
    position: fixed;
   top: 0;
         left: 0;
    width    :   100%;
   height: 100%;
  background: rgba(0,0,0,0.7);
  z-index: 2000;
               align-items: center;
    justify-content: center;
    padding: 20px;
}

.opsg_SuccessModal_charles.active {
	display: flex;
}

.opsg_ModalContent_charles {
    background     :       #fff;
   border-radius: 15px;
      max-width: 500px;
   width: 100%;
   padding: 50px 40px;
   text-align: center;
    animation: modalSlideUp 0.4s ease;
}@keyframes modalSlideUp {
    from{
        transform:translateY(50px);
        opacity:0;
    }
    to {
        transform:translateY(0);
        opacity:1;
    }
}.opsg_ModalIcon_charles {
   width: 80px;
  height: 80px;
  background: linear-gradient(135deg,#3498db,#2c3e50);
    border-radius: 50%;
  display: flex;
   align-items: center;
	justify-content: center;
    margin: 0 auto 25px;
}

.opsg_ModalIcon_charles img		{
	width: 45px;
    height: 45px;
  filter: brightness(0) invert(1);
}

.opsg_ModalContent_charles h2
	{
  font-family: 'Playfair Display',serif;
      font-size: 32px;
  font-weight: 700;
          color:    #1a1a1a;
   margin-bottom: 20px;
}

.opsg_ModalContent_charles p {
  font-size: 17px;
    line-height: 1.7;
   color   :        #5a5a5a;
    margin-bottom :   30px;
}

.opsg_ModalClose_charles {

    background    :   #3498db;
   color: #fff;
  border: none;
  padding: 14px 35px;
   border-radius:   8px;
   font-size: 16px;
   font-weight: 600;
   cursor: pointer;
    transition: all 0.3s ease;


}

.opsg_ModalClose_charles:hover {
    background: #2980b9;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(52,152,219,0.3);
}