.text-content {
    padding-bottom: 204px;
}

.text-content-inner {
    display:flex;
    flex-direction: column;
    gap: 80px;
}

.text-content-content {
    display:flex;
    flex-direction: column;
    gap: 40px;
    padding-left: 114px;
}

.text-content-links {
    display:flex;
    align-items:center;
    gap:40px;
}

@media only screen and (max-width: 1024px){
    .text-content-inner {
        gap: 40px;
    }
    .text-content-content {
        gap: 20px;
        padding-left: 0px;
    }

    .text-content-links {
        gap:20px;
    }
}


/*************************/

.media-cards {
    background-color: #14769B;
    border-radius: 20px;
    overflow: hidden;
}

.media-cards-inner {
    display: flex;
    gap: 5vw;
    align-items: end;
    padding-top: 120px;
    padding-bottom: 120px;
}

.media-cards-image {
    height: 100%;
    flex-shrink: 0;
}
.media-cards-image .image-container {
    width: 100%;
    height: 100%;
}

.media-cards-image .image-container img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.media-cards-container {
    flex: 0 1 70%;
}

.media-cards-content {
    display: grid;
    
    grid-template-columns: repeat(2, 1fr);
    grid-column-gap: 80px;
    grid-row-gap: 80px;
}


.media-cards-card {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.media-cards-title {
    color: white;
    padding-bottom: 24px;
}

.media-cards-dot {
    display:block;
    width: 16px;
    height: 16px;
    border-radius: 100%;
    background-color: #00A3E0;
}
.media-cards-text,
.media-cards-title{
    color: white;
}

@media only screen and (max-width: 1024px){
    .media-cards {
        border-radius: 16px;
    }

    .media-cards-inner {
        padding-top: 60px;
        padding-bottom: 60px;
        align-items: start;
    }
    
    .media-cards-content {
        grid-template-columns: repeat(1, 1fr);
        grid-column-gap: 20px;
        grid-row-gap: 40px;
    }
    
    .media-cards-image {
        flex-shrink: 1;
    }
}

@media only screen and (max-width: 768px){

    .media-cards-inner {
        flex-direction: column;
    }
}


/*************************/

.team-inner {
    display:flex;
    flex-direction: column;
    gap: 80px;
    padding-top: 160px;
    padding-bottom: 80px;
}
.team-title {
    padding-left: 105px;
}

.team-card {
    display:flex;
    flex-direction: column;
    gap: 24px;
}

.team-card img{
    width: 100%;
}

.team-content {
    display: grid;
    width: 100%;    
    grid-template-columns: repeat(4, 1fr);
    grid-column-gap: 20px;
    grid-row-gap: 160px;
}



@media only screen and (max-width: 1024px){
    .team-inner {
        gap: 40px;
        padding-top: 80px;
        padding-bottom: 40px;
    }
    
    .team-title {
        padding-left: 0;
    }

    .team-content {
        grid-template-columns: repeat(3, 1fr);
        grid-column-gap: 12px;
        grid-row-gap: 80px;
    }
}

@media only screen and (max-width: 768px){
    .team-content {
        grid-template-columns: repeat(2, 1fr);
        grid-column-gap: 12px;
        grid-row-gap: 40px;
    }
}


/*****************************/


.media-text-inner {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding-top: 160px;
    padding-bottom: 160px;
}


.media-text-content {
    display: flex;
    flex-direction: column;
    gap: 104px;
    flex: 0 1 50%;
}
.media-text-media {
    flex: 0 1 40%;
}

.media-text-title {
    font-size: 50px;
    font-weight: 600;
    color: #00A3E0;
}

 .media-text-wrapper .s-content{
     padding-top: 24px;
     padding-bottom: 40px;
 }

 .media-text .link-container{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 40px;
 }

 .media-text .link{
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 600;
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-skip-ink: auto;
    text-decoration-thickness: auto;
    text-underline-offset: auto;
    text-underline-position: from-font;
}

@media only screen and (max-width: 1024px){
    
    .media-text-inner {
        padding-top: 80px;
        padding-bottom: 80px;
    }

    .media-text-content {
        gap: 52px;
    }
    .media-text {
        display: flex;
        flex-direction: column;
        justify-content: unset;
        gap: 24px;
        
    }
    
    .media-text-content {
       flex: 0 1 100%;
    }
     .media-text-media {
       flex: 0 1 100%;
    }

     .media-text-title {
        font-size: 32px;
    }
    
     .media-text-wrapper .s-content{
        padding-top: 12px;
        padding-bottom: 20px;
    }
}

@media only screen and (max-width: 768px){
    .media-text-inner {
        display: flex;
        flex-direction: column;
        justify-content: unset;
        gap: 24px;
    }
    .media-text-content {
       flex: 0 1 100%;
    }
     .media-text-media {
       flex: 0 1 100%;
    }
    
     .media-text-title {
        font-size: 32px;
    }
    
     .media-text-wrapper .s-content{
        padding-top: 12px;
        padding-bottom: 20px;
    }
}

/******************************************/


.cta {
    position: relative;
    padding: 60px 0;
    background-color: #D6F5FF;
}

.cta  .cta-shape {
    position: absolute;
    
}
.cta-shape-1 {
    left:0;
    top:0;
}

.cta-shape-2 {
    right:0;
    bottom:0;
}
.cta .cta-content{
    
    position: relative;
    z-index:2;
    text-align:center;
    color: white;
    width:900px;
    margin: 0 auto;
}

.cta .cta-content p{
    font-size: 19px;
    margin: 40px 0;
}

@media only screen and (max-width: 1024px){

    .cta  .cta-shape {
        position: absolute;
        
    }
    .cta-shape-1 {
        left:0;
        top:0;
    }
    
    .cta-shape-2 {
        right:0;
        bottom:0;
    }
    .cta .cta-content{
        width:100%
    }
    
    .cta .cta-content p{
        font-size: 17px;
        margin: 20px 0;
    }
}

/*****************************/

.accordions {
    padding-bottom: 204px;
}
.accordions-inner {
    display: flex;
    flex-direction: column;
    gap: 126px;
}

.accordions-container {
    display: flex;
    flex-direction: column;
    gap: 24px;
    width: 900px;
    margin: 0 auto;
}

.c-accordion {
    padding: 32px;
    border-radius: 20px;
    background-color: white;
    transition: box-shadow .6s ease;
}

.c-accordion.-is-open {
    box-shadow: 0 4px 24px 8px rgba(0, 163, 224, 0.12);
}

.c-accordion_head {
    display: flex;
    align-items:center;
    justify-content: space-between;
    gap: 24px;
    width: 100%;
    padding: 0;
    text-align:left;
}

.c-accordion_content {
   padding-top: 16px;
}


.c-accordion_body {
  overflow: hidden;
  height: 0;
  transition: height .6s ease;
}

.c-accordion_toggle-container {
  position: relative;
  display: flex;
  justify-content: center;
  align-items:center;
  flex-shrink:0;
  width: 40px;
  height: 40px;
  background-color: #D6F5FF;
  border-radius: 100%;
}

.c-accordion_toggle {
  position: relative;
  width: 12px;
  height: 12px;
  display: block;
  flex-shrink: 0;
}

/* traits communs */
.c-accordion_toggle::before,
.c-accordion_toggle::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 12px;              /* longueur */
  height: 2px;              /* épaisseur */
  background-color: black;  /* adapte à ta variable */
  border-radius: 2px;       /* linecap round */
  transform-origin: center;
  transition: transform 0.3s ease;
}

/* état fermé → "+" */
.c-accordion_toggle::before {
  transform: translate(-50%, -50%) rotate(0deg);   /* horizontal */
}

.c-accordion_toggle::after {
  transform: translate(-50%, -50%) rotate(90deg);  /* vertical */
}

/* état ouvert → "-" */
.c-accordion.-is-open .c-accordion_toggle::after {
  transform: translate(-50%, -50%) rotate(0deg);   /* la verticale pivote */
}

@media only screen and (max-width: 1024px){
    .accordions {
        padding-bottom: 102px;
    }
    .accordions-inner {
        gap: 60px;
    }
   .accordions-container {
        gap: 12px;
        width: 100%;
    }
    
    .c-accordion {
        padding: 16px;
        border-radius: 20px;
    }
    
    .c-accordion_head {
        align-items:start;
        gap: 12px;
    }
}


/*****************************/

.related-services-inner {
    display:flex;
    flex-direction: column;
    gap: 80px;
    padding-top: 0;
    padding-bottom: 120px;
}

.related-services-content{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-column-gap: 20px;
    grid-row-gap: 40px;
}

.related-services-card {
    display:flex;
    flex-direction: column;
    gap: 24px;
    text-decoration: none;
}

.related-services-info {
    display:flex;
    flex-direction: column;
    gap: 8px;
}

.related-services-card .image-container {
    overflow:hidden;
    border-radius: 10px;
}

.related-services-title, .related-services-link {
    transition: color .3s ease;
}

.related-services-link  {
    color: #14769B;
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-skip-ink: auto;
    text-decoration-thickness: auto;
    text-underline-offset: auto;
    text-underline-position: from-font;
}

.related-services-card:hover .related-services-title,
.related-services-card:focus .related-services-title{
    color: #00A3E0;
}

.related-services-card:hover .related-services-link,
.related-services-card:focus .related-services-link{
    color: black;
}

@media only screen and (max-width: 1024px){
    .related-services-inner {
        gap: 40px;
        padding-bottom: 60px;
    }
}

@media only screen and (max-width: 768px){

   .related-services-content{
        grid-template-columns: repeat(1, 1fr);
        grid-column-gap: 12px;
        grid-row-gap: 20px;
    }
}


/*****************************/


.c-form {
    position: relative;
}
.c-form-inner {
    
    display: flex;
    gap: 80px;
    padding-bottom: 204px;
}

.c-form-header {
    display: flex;
    flex-direction: column;
    
    position: sticky;
    top: 100px;
    align-self: flex-start;
    gap: 80px;
    flex: 0 1 40%;
}

.c-form-content {
    display: flex;
    flex-direction: column;
    gap: 40px;
    flex: 0 1 60%;
}

.c-form-address {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.c-form-contact-link {
    display:flex;
    align-items: flex-start;
    gap: 8px;
}

.c-form-google {
 width: 50%;   
}
.c-form-phone {
      display: flex;
    flex-direction: column;
    gap: 4px;
}

.c-form .gfield_label {
    display: none;
}

@media only screen and (max-width: 1024px){
    .c-form-inner {
        flex-direction: column;
        padding-bottom: 102px;
    }
    .c-form-header {
        
        position: static;
        top: unset;
        gap: 40px;
        flex: 0 1 100%;
    }
}

.ginput_container_consent input[type='checkbox']:checked + .gfield_consent_label::after {
    width: 12px!important;
    height: 6px!important;
}

.gform_wrapper.gravity-theme
.gfield.is-filled:not(.gfield--type-radio):not(.gfield--type-checkbox)
> .gfield_label,
.gform_wrapper.gravity-theme
.gfield:not(.gfield--type-radio):not(.gfield--type-checkbox):focus-within
> .gfield_label {
	top: 0 !important;
	transform: scale(0.95);
}
