body {
	font-size: 1rem;
}
h1,h2,h3,h4,h5,h6 {
		font-weight: 600 !important;
}
h1 {
	font-size: 3rem;	
}
h2 {
	font-size: 1.75rem;
}

h3 {
	font-size: 1.5rem;
}

h4 {
	font-size: 1.4rem;
}

p{
	font-size: 1.2rem;
}

/* Sections */

section {
	padding: 80px 0px;
}

@media (min-width: 576px) {
	section {
		padding: 90px 0;
	}
}


@media (min-width: 1200px) {
	section {
		padding: 120px 0;
	}
}

/* Header */

.loader {
  width: 30px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0 0 0 #fff;
  animation: l2 1.5s infinite linear;
  position: relative;
	float: right;
	
}
.loader:before,
.loader:after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  box-shadow: 0 0 0 0 #fff;
  animation: inherit;
  animation-delay: -0.5s;
}
.loader:after {
  animation-delay: -1s;
}
@keyframes l2 {
    100% {box-shadow: 0 0 0 60px #0000}
}

/* Banner */

.section_banner {
	height: auto;
	padding: 80px 0px;
	background-color: #fff;
	background-image: url(https://ocsi.uk/wp-content/uploads/2026/06/background_circles.svg);
	background-repeat: no-repeat;
	background-position: 105% -30px;

}

.section_banner h1 {
	color: #4D4D4D;

}

.box_banner {
	background: rgb(223, 230, 160, 1);
	text-align: center;
	padding: 5px 10px;
	border-radius: 5px;
	color: rgb(105, 112, 31, 1);
	font-size: 0.75rem;
	display: inline-block;
	text-transform:uppercase;
	margin-bottom: 20px;
	font-weight: 600;
    letter-spacing: 0.3px;

}


/* Challenge */
.section_challenge {
	background-color: rgb(245, 245, 245);
		
}

.box_challenge_image {
	width: 226px;
	height: 226px;
	border-radius: 36px;
	background-color: #fff;
	margin: 0px auto;
	display: flex;
  flex-direction: column;
  justify-content: center;  /* Centering y-axis */
  align-items :center; /* Centering x-axis */
	
	
	box-shadow: 0px 0px 50px 0px rgba(96, 193, 200, 0.2);

	
}




/* Approach */
.section_approach {
	
}

/* Analysis */


.section_analysis {
	background-color: rgb(245, 245, 245);
	
		
}
.box_analysis {
	text-align: center;
	padding: 44px 24px;
	background: #FFFFFF;
	box-shadow: 0px 0px 30px rgba(51, 60, 77, 0.0784314);
	border-radius: 8px;
	border-bottom: 6px solid transparent;
	background: linear-gradient(white, white) padding-box, linear-gradient(to right, #6385C3, #40CBCE) border-box;
	border-left: 1px solid #e0e0e0;
	border-right: 1px solid #e0e0e0;
	border-top: 1px solid #e0e0e0;
	transition: transform 0.35s ease, box-shadow 0.35s ease;
	will-change: transform;
}

.box_analysis:hover {
	transform: translateY(-6px) scale(1.025);
	box-shadow: 0px 18px 44px rgba(51, 60, 77, 0.18);
}

.box_analysis h4 {
/* 	font-size: 1.125rem; */
}

.box_analysis p {
	font-size: 1.15rem;
	margin: 0;
}

 .box_analysis_image {
	width: 58px;
	height: 58px;
	padding: 5px;
	background-color: rgba(245, 245, 245, 1);
	border: 1px solid rgba(0, 0, 0, 0.12);
	border-radius: 5px;
	margin: 0px auto 20px auto;
		display: flex;
  flex-direction: column;
  justify-content: center;  /* Centering y-axis */
  align-items :center; /* Centering x-axis */
} 

/* Quote */
.section_quote {
  background-color: #fff;
	padding-top: 0px 
}

.section_quote .box_quote {
  height: auto;
  background-color: #f3f8f7;
  border-radius: 20px;
  padding: 44px;
  border-bottom: 4px solid #62A793;
  box-shadow: 0px 2px 6px 2px rgba(0, 0, 0, 0.15), 0px 1px 2px rgba(0, 0, 0, 0.3);
  background-image: url('images/icon_speech_left.svg'), url('images/icon_speech_right.svg');
  background-position: left 25px top 25px, right 25px bottom 25px;
  background-repeat: no-repeat, no-repeat;
}

/* Star color mapping */
.section_quote .fa {
  color: #FFD966;
}

/* Quote typography */
.section_quote h3 {
  font-weight: 300 !important;
  color: #3B685B;
  font-size: 20px;
}



/* Attribution typography */
.section_quote h4.text_quote {
  font-weight: 700 !important;
  color: #3B685B;
  font-size: 18px;
  margin-bottom: 0; /* Let Bootstrap spacing utilities handle this */
}

/* Responsive adjustments */
@media (min-width: 1200px) {
  .section_quote .box_quote {
    height: 300px; /* Works alongside 'h-100' class to vertically center everything */
  }

  .section_quote h3 {
    font-size: 28px !important;
  }

  .section_quote h4.text_quote {
    font-size: 20px !important;
  }
}

/* Case studies */

.section_case_studies {
/*     background: var(--colour-Misc-Grey-grey-lighten-4, rgba(245, 245, 245, 1)); */
}

/* Enforce cinematic 16:9 aspect ratio on the image */
.section_case_studies .card-img-top {
    aspect-ratio: 16 / 9;
    object-fit: cover; /* Prevents the image from squishing or stretching */
    width: 100%;
    height: auto;
}

/* --- Case Studies Premium Hover Effects --- */

/* Smoothly lift the white card and deepen its shadow */
.section_case_studies .card.transition-all {
    transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1), box-shadow 0.3s ease;
}

.section_case_studies .card.transition-all:hover {
    transform: translateY(-5px);
    box-shadow: 0 16px 24px rgba(0, 0, 0, 0.06) !important;
}

/* Subtle elegant zoom on the featured image */
.section_case_studies .group-hover img {
    transform: scale(1);
    transition: transform 0.5s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.section_case_studies .card:hover .group-hover img {
    transform: scale(1.04);
}

/* Nudge the action arrow to the right on hover */
.section_case_studies .action-link .arrow-icon {
    transition: transform 0.2s ease;
    display: inline-block;
}

.section_case_studies .card:hover .action-link .arrow-icon {
    transform: translateX(5px);
}



/* buttons */

.button_green {
	background-color: rgb(122, 214, 217);
		border-color: rgb(122, 214, 217);
color: rgb(61, 87, 105) !important;

}
.button_green:hover{
	color: #fff !important;
}



