/*
 Theme Name:   Bisham & Sinaz Child Theme
 Description:  
 Author:       
 Template:     bishamandsinaz
*/

@font-face {
	font-family: 'Freehand';
	font-style: normal;
	font-weight: normal;
	src: local('The Signature'), url('Thesignature.woff') format('woff');
}

@font-face {
	font-family: 'Satoshi';
	font-style: normal;
	font-weight: normal;
	src: local('Satoshi Regular'), url('Satoshi-Regular.woff') format('woff');
}


@font-face {
	font-family: 'Satoshi Italic';
	font-style: normal;
	font-weight: normal;
	src: local('Satoshi Italic'), url('Satoshi-Italic.woff') format('woff');
}


@font-face {
	font-family: 'Satoshi Light';
	font-style: normal;
	font-weight: normal;
	src: local('Satoshi Light'), url('Satoshi-Light.woff') format('woff');
}


@font-face {
	font-family: 'Satoshi Light Italic';
	font-style: normal;
	font-weight: normal;
	src: local('Satoshi Light Italic'), url('Satoshi-LightItalic.woff') format('woff');
}


@font-face {
	font-family: 'Satoshi Medium';
	font-style: normal;
	font-weight: normal;
	src: local('Satoshi Medium'), url('Satoshi-Medium.woff') format('woff');
}


@font-face {
	font-family: 'Satoshi Medium Italic';
	font-style: normal;
	font-weight: normal;
	src: local('Satoshi Medium Italic'), url('Satoshi-MediumItalic.woff') format('woff');
}


@font-face {
	font-family: 'Satoshi Bold';
	font-style: normal;
	font-weight: normal;
	src: local('Satoshi Bold'), url('Satoshi-Bold.woff') format('woff');
}


@font-face {
	font-family: 'Satoshi Bold Italic';
	font-style: normal;
	font-weight: normal;
	src: local('Satoshi Bold Italic'), url('Satoshi-BoldItalic.woff') format('woff');
}


@font-face {
	font-family: 'Satoshi Black';
	font-style: normal;
	font-weight: normal;
	src: local('Satoshi Black'), url('Satoshi-Black.woff') format('woff');
}


@font-face {
	font-family: 'Satoshi Black Italic';
	font-style: normal;
	font-weight: normal;
	src: local('Satoshi Black Italic'), url('Satoshi-BlackItalic.woff') format('woff');
}
@font-face {
	font-family: 'Libre Baskerville';
	font-style: normal;
	font-weight: normal;
	src: local('Libre Baskerville'), url('LibreBaskerville-Regular.woff') format('woff');
}


@font-face {
	font-family: 'Libre Baskerville Italic';
	font-style: normal;
	font-weight: normal;
	src: local('Libre Baskerville Italic'), url('LibreBaskerville-Italic.woff') format('woff');
}


@font-face {
	font-family: 'Libre Baskerville Bold';
	font-style: normal;
	font-weight: normal;
	src: local('Libre Baskerville Bold'), url('LibreBaskerville-Bold.woff') format('woff');
}
:root {
    --legal-navy: #0a1d37; /* Match your Figma Navy */
    --legal-gold: #c5a367; /* Match your Figma Gold/Accent */
    --white: #ffffff;
}
p, a, li, ol, ul, div {
	font-family: 'Satoshi';
}
.main-navigation .main-nav ul li a {
    padding: 0px;
    font-family: Satoshi;
    font-weight: 400;
    font-style: Regular;
    font-size: 16px;
    leading-trim: NONE;
    line-height: 140%;
    letter-spacing: -2%;
}

.figma-template .hero-split {
    display: flex;
    min-height: 80vh;
}
img.bg-logo {
    position: absolute;
    height: 100%;
	z-index: -1;
}
.hero-content {
    flex: 1;
    color: var(--legal-navy);
/*     padding: 10% 5%; */
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.hero-content .content-container {
    padding-left: 120px;
    display: flex
;
    flex-direction: column;
    gap: 88px;
}
.title-text p.subtitle {
    font-family: Satoshi;
    font-weight: 500;
    color: #194185;
    font-size: 18px;
    margin-bottom: 12px;
    line-height: 140%;
    letter-spacing: 10%;
    text-transform: uppercase;
}
.title-text h2 {
    font-family: Libre Baskerville;
    font-weight: 400;
    font-size: 48px;
    line-height: 130%;
    color: #000;
    margin-bottom: 16px;
}
.title-text p.description {
    font-family: Satoshi;
    font-weight: 400;
    color: #535862;
    font-size: 18px;
    margin: 0px;
    line-height: 150%;
    letter-spacing: -2%;
}
a.btn-primary {
    font-family: Satoshi;
    font-weight: 500;
    font-size: 18px;
    color: #fff;
    line-height: 140%;
    text-decoration: none;
    padding: 12px 24px;
    background: #102A56;
    display: flex;
    width: fit-content;
    cursor: pointer;
	transition: all 0.2s ease-in-out;
}
a.btn-primary: hover {
	transition: all 0.2s ease-in-out;
	background: #000;
}
div#home-slider .slide-container {
    padding: 0px;
	height: 100%;
}
div#home-slider .slide-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.hero-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
}
div#home-slider .slide-container .content-container {
    height: 100%;
    display: flex
;
    flex-direction: column;
    justify-content: center;
}
.banner-footer {
    position: absolute;
    bottom: 32px;
}
.hero-image {
    flex: 1;
    background-size: cover;
    background-position: center;
}
section#banner {
    margin: 0px;
}
section.hero-split {
    max-height: 800px;
    min-height: unset !important;
    height: 80vh;
}
.sectors-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 20px;
    padding: 50px 0;
}
#home-slider .slide-content {
    height: 100%;
    position: relative;
}
div#home-slider .slide-container .content-container {
    padding-bottom: 70px;
}
.banner-left-content h2.slide-title {
    font-family: Libre Baskerville;
    font-weight: 400;
    font-size: 48px;
    line-height: 130%;
    color: #fff;
    text-transform: capitalize;
	margin-bottom: 24px;
}
.banner-left-content p.slide-text {
    font-family: Satoshi;
    font-weight: 400;
    font-size: 18px;
    line-height: 140%;
    color: #FFFFFFB2;
    margin-bottom: 48px;
}
.sector-card {
	height: auto;
    display: flex
;
    flex-direction: column;
    padding: 32px;
    color: white;
    transition: transform 0.3s ease;
    aspect-ratio: 427 / 500;
	background-size: cover;
}
span.sector-number {
    font-family: Satoshi;
    font-weight: 400;
    font-size: 18px;
    line-height: 150%;
    letter-spacing: -2%;
    text-align: left;
    margin-bottom: 8px;
}
.sector-card h3 {
    font-family: Libre Baskerville;
    font-weight: 400;
    font-style: Regular;
    font-size: 30px;
    leading-trim: NONE;
    line-height: 150%;
    letter-spacing: -2%;
    margin-bottom: auto;
}
.sector-card p {
    font-family: Satoshi;
    font-weight: 400;
    font-style: Regular;
    font-size: 18px;
    leading-trim: NONE;
    line-height: 150%;
    letter-spacing: -2%;
    margin-bottom: 32px;
}
/* .sector-card:hover {
    transform: translateY(-10px);
} */

.testimonial-split {
    display: grid;
    grid-template-columns: 1fr 1fr;
}

.testimonial-dark {
    background: var(--legal-navy);
    color: white;
    padding: 10%;
}

/* Slider Container */
.main-banner, .splide__track, .splide__list {
    height: 80vh; /* Adjust height as needed */
    width: 100%;
}

.banner-slide {
    position: relative;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    display: flex;
    align-items: center;
}

.slide-overlay {
    position: absolute;
    inset: 0;
    background: #102A56;
    z-index: 1;
}

.slide-container {
    width: 100%;
    margin: 0 auto;
    padding: 0 40px;
    z-index: 2;
}
.slide-container {
    display: flex;
    align-items: center;
}
.content-container {
    width: 100%;
    max-width: 660px;
}
.slide-content {
    display: flex;
    justify-content: flex-end;
}
.banner-left-content {
    max-width: 556px;
}
.slide-container > div {
    width: 50%;
}
.slide-title {
    font-size: clamp(2.5rem, 5vw, 4.5rem);
    color: #1a1a1a; /* Dark gray from Figma */
    line-height: 1.1;
    max-width: 700px;
    margin-bottom: 2rem;
}

/* Button Styling */
.slide-btn {
    display: inline-flex
;
    align-items: center;
    gap: 12px;
    background: #ffffff;
    padding: 12px 20px;
    text-decoration: none;
    color: #374151;
    transition: all 0.3s ease;
    font-family: Satoshi;
    font-weight: 500;
    font-size: 20px;
    line-height: 140%;
}
.worked-with-logos {
    display: flex
;
    gap: 24px;
    max-width: 100%;
    overflow-x: scroll;
}
.worked-with-logos img {
    height: 36px;
}
.slide-btn:hover {
    background: #f9fafb;
    transform: translateX(5px);
}.banner-footer p {
    margin-bottom: 18px;
    font-family: Satoshi;
    font-weight: 400;
    font-size: 18px;
    line-height: 140%;
    color: #FFFFFFB2;
}

/* Custom Arrows */
.custom-arrows {
    position: absolute;
    bottom: 40px;
    right: 10%;
    z-index: 10;
    display: flex;
    gap: 15px;
}

.splide__arrow {
    background: transparent !important;
    border: 1px solid rgba(0,0,0,0.1) !important;
    width: 50px !important;
    height: 50px !important;
    border-radius: 0 !important; /* Keep it sharp or adjust to match Figma */
    opacity: 1 !important;
    position: static !important;
    transform: none !important;
    transition: background 0.2s ease;
}

.splide__arrow:hover {
    background: #ffffff !important;
}

/* Arrow Icons (CSS only, no feather-icons needed) */
.chevron-left::before { content: '←'; color: #000; }
.chevron-right::before { content: '→'; color: #000; }

.inside-header.grid-container {
    padding: 12px 24px;
}

header#masthead {
	z-index: 1;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
section.hero-split {
    width: 100vw;
    transform: translateX(-50%);
    left: 50% !important;
    position: relative;
}
section.hero-split > div {
    width: 50% !important;
}
.main-navigation .main-nav ul li a {
    font-weight: 400;
    font-style: Regular;
    font-size: 16px;
    line-height: 140%;
    letter-spacing: -0.02rem;
}
.main-navigation .main-nav ul li:last-child a {
    background: #fff;
    font-weight: 500;
    font-size: 16px;
    line-height: 140%;
    letter-spacing: -0.02rem;
    color: var(--accent);
    padding: 8px 12px;
}
.main-navigation .main-nav ul li a {
    padding: 0px;
}

.main-navigation ul {
    display: flex;
    gap: 44px;
}
.main-navigation .main-nav ul li:last-child a:hover {
	background: #000;
}
#home-slider .slide-image {
    height: 100%;
}
/* Splide Slide Customization */
.testimonial-inner {
  display: flex;
  align-items: center;
  overflow: hidden;
  min-height: 450px;
	height: 100%;
}

.testimonial-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
	align-items: end;
}
.testimonial-content .content-container {
    padding-right: 120px;
}
.testimonial-image {
  flex: 1;
  align-self: stretch; /* Makes image height match content height */
}

.testimonial-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.testimonial-icon img {
  max-width: 50px;
  margin-bottom: 20px;
}

.testimonial-author strong {
  display: block;
  font-size: 1.1rem;
  margin-top: 15px;
}

/* Responsive: Stack on Mobile */
@media (max-width: 768px) {
  .testimonial-inner {
    flex-direction: column-reverse;
  }
  .testimonial-content {
    padding: 30px;
  }
  .testimonial-image {
    height: 300px;
    width: 100%;
  }
}



.insights-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 40px;
}

.insights-grid {
    display: grid;
    grid-template-columns: 1fr 1fr; /* Big post takes more space */
    gap: 20px;
}
article.featured-card-small h4 {
    font-family: Libre Baskerville;
    font-weight: 400;
    color: #000;
    font-size: 20px;
    margin-bottom: 8px;
    line-height: 140%;
	    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
	overflow: hidden;
    letter-spacing: -2%;
    text-transform: capitalize;
}
/* Big Card Styles */
.featured-card-big .card-image {
        position: relative;
    height: auto;
    margin-bottom: 32px;
    aspect-ratio: 651 / 333;
    width: 100%;
}
article.featured-card-small .card-content {
    display: flex
;
    flex-direction: column;
    justify-content: center;
}
article.featured-card-small .excerpt {
    font-family: Satoshi;
    font-weight: 400;
    font-size: 16px;
    line-height: 150%;
    text-transform: capitalize;
    color: #535862;
	    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
.featured-card-big img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 0px;
    margin: 0px;
}

/* Small Card Styles */
.insight-sidebar {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.featured-card-small .card-link {
    display: flex;
    gap: 24px;
    text-decoration: none;
    color: inherit;
}


.featured-card-small .card-image {
    height: auto !important;
    aspect-ratio: 233 / 171;
    width: 100%;
    max-width: 233px;
}
.featured-card-small img {
    width: 100%; height: 100%; object-fit: cover; border-radius: 0px;
}

/* Category Tags */
.category-tag {
    display: flex
;
    padding: 0px;
    margin-bottom: 8px;
    font-family: Satoshi;
    font-weight: 500;
    font-size: 18px;
    line-height: 140%;
    letter-spacing: -2%;
    text-transform: capitalize;
    color: #112A56;
	margin-bottom: 8px;
}
a.card-link *, a.card-link p, a.card-link h3, a.card-link span, a.card-link {
    text-decoration: none !important;
}

article.featured-card-big span.category-tag {
    margin-bottom: 12px;
}
article.featured-card-big h3 {
    font-family: Libre Baskerville;
    font-weight: 400;
    font-style: Regular;
    font-size: 32px;
    leading-trim: NONE;
    line-height: 140%;
    letter-spacing: -2%;
    text-transform: capitalize;
    color: #000;
    margin-bottom: 8px;
	    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
	overflow: hidden
}
section.team-section {
    margin: 0px;
}
article.featured-card-big .excerpt {
    font-family: Satoshi;
    font-weight: 400;
    font-style: Regular;
    font-size: 18px;
    leading-trim: NONE;
    line-height: 150%;
    letter-spacing: -2%;
    text-transform: capitalize;
    color: #535862;
	    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
section.insights-section {
    padding: 120px 16px;
}
/* Mobile */
@media (max-width: 991px) {
    .insights-grid {
        grid-template-columns: 1fr;
    }
}

.faq-wrapper {
    max-width: 800px;
    margin: 40px auto;
}

.faq-item {
    border-bottom: 1px solid #E9EAEB;
    padding: 24px 0 16px;
}

/* Remove default browser arrow */
.faq-question::-webkit-details-marker {
    display: none;
}
.faq-question {
    list-style: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    font-size: 1.2rem;
    font-weight: 600;
}
.faq-question {
    font-family: Satoshi;
    font-weight: 500;
    font-style: Medium;
    font-size: 18px;
    leading-trim: NONE;
    line-height: 150%;
    letter-spacing: -2%;
    color: #000;
	    padding: 0px 0px 8px;
}

/* Custom Plus Icon */
.faq-icon {
    position: relative;
    width: 32px;
    height: 32px;
	    transition: transform 0.2s ease;
    background: #F8F9FC;
}
.answer-inner {
    font-family: Satoshi;
    font-weight: 400;
    font-style: Regular;
    font-size: 18px;
    color: #535862;
    line-height: 150%;
    letter-spacing: -2%;
}
.faq-icon span {
    position: absolute;
    background: #000; /* Match your brand color */
    transition: transform 0.3s ease;
	    transform: scale(0.7);
}

.line-1 {
    width: calc(100% - 12px);
    height: 2px;
    top: 15px;
    left: 6px;
}
.line-2 {
    height: calc(100% - 12px);
    width: 2px;
    left: 15px;
    top: 6px;
}

/* Rotation when <details> is open */
.faq-item[open] .line-1 { transform: rotate(45deg) scale(0.7); background: #fff;}
.faq-item[open] .line-2 { transform: rotate(45deg) scale(0.7); background: #fff;}
.faq-item[open] .faq-icon {
	transition: transform 0.3s ease;
    background: #102A56;
}
/* Smooth Reveal for Answer */
.faq-answer {
    padding-bottom: 20px;
    line-height: 1.6;
    color: #555;
    animation: slideDown 0.4s ease-out;
}

@keyframes slideDown {
    from { opacity: 0; transform: translateY(-10px); }
    to { opacity: 1; transform: translateY(0); }
}


/* Sticky state styles */
header#masthead.is-sticky {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 9999;
	background: #102A56; /* Ensure background isn't transparent */
	animation: slideDown 0.4s ease-out;
}
.single header#masthead, .page-template-contact-template header#masthead {
	
	background: #102A56; /* Ensure background isn't transparent */
}
.single div#page,  .page-template-contact-template div#page {
    padding-top: 65px;
}
section#banner {
    height: 800px;
    width: 100vw;
    transform: translateX(-50%);
    left: 50%;
	background: #102A56;
}
div#home-slider, .splide__track {
    height: 100%;
}
@keyframes slideDown {
	from { transform: translateY(-100%); }
	to { transform: translateY(0); }
}


.separate-containers .site-main {
    margin-top: 0px;
}
header#masthead {
    background: none;
    border-bottom: 1px solid #ffffff1a;
	transition: all 0.3s ease-in-out;
	width: 100%;
	position: absolute;
    top: 0;
}
.pre-footer-cta {
	background-color: #0a0a0a; /* Match your theme brand */
	padding: 80px 20px;
	color: #ffffff;
	border-top: 1px solid rgba(255,255,255,0.1);
}
.cta-inner {
	max-width: 1200px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 30px;
}
.cta-left h2 {
	font-size: 38px;
	line-height: 1.2;
	margin: 0;
	font-weight: 700;
	max-width: 500px;
}
.cta-btn {
	display: inline-block;
	background: #fff;
	color: #000;
	padding: 18px 40px;
	text-decoration: none;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 1px;
	transition: all 0.3s ease;
}
.cta-btn:hover {
	background: #e0e0e0;
	transform: translateY(-3px);
}
.cta-btn .arrow {
	margin-left: 8px;
}
section.hero-split {
    margin: 0px;
}
section.sectors-section {
    padding: 240px 16px;
}
.title-text.center-aligned p.subtitle {
    text-align: center;
}
.title-text.center-aligned p.description {
    text-align: center;
}
.title-text.center-aligned {
    max-width: 680px;
    margin: 0 auto 60px;
}
    display: flex;
    gap: 20px;
}

.sector-card {
    background-size: cover;
}

.sector-cards {
    display: flex;
    gap: 20px;
}
section.pre-footer-cta {
    border: 0px;
    background: #F8F9FC;
	position: relative;
}
section.pre-footer-cta .cta-inner {
    position: relative;
}
img.bg-logo.light-blue {
    right: 0;
    top: 0;
    z-index: 0;
}
.site-footer .footer-widgets-container .inner-padding {
    padding: 0px;
}
.site-footer .footer-widgets-container .inside-footer-widgets {
    display: flex
;
    justify-content: space-between;
}
.site-footer .footer-widgets-container .inside-footer-widgets > div {
    flex: unset;
}
.footer-widgets .widget-title {
    color: #fff;
    font-family: Satoshi;
    font-weight: 500;
    font-style: Medium;
    font-size: 16px;
    line-height: 100%;
    margin-bottom: 16px;
}
.site-footer .footer-widgets-container .inner-padding ul li {
    margin: 0px;
}
.site-footer .footer-widgets-container .inner-padding ul {
    display: flex
;
    flex-direction: column;
    gap: 8px;
}
.site-footer .footer-widgets-container .inner-padding ul li a {
    text-decoration: none;
    font-family: Satoshi;
    font-weight: 400;
    font-size: 16px;
    line-height: 100%;
    color: #FFFFFFB2;
    cursor: pointer;
}
.site-footer .footer-widgets-container .inner-padding ul li a:hover {
	color:#fff;
    cursor: pointer;
}
.site-footer .footer-widgets-container .inner-padding ul li {
    line-height: 20px;
}
.footer-widgets .widget address {
    display: flex
;
    flex-direction: column;
    gap: 8px;
}
.footer-widgets .widget address li {
    list-style-type: none;
    font-family: Satoshi;
    font-weight: 400;
    font-size: 16px;
    line-height: 150%;
    color: #FFFFFFB2;
}
.footer-widgets .widget address li a {
    text-decoration: none;
}
img.bg-logo.light-blue {
    height: 288px;
    right: -120px;
    top: -73px;
}
section.pre-footer-cta h2 {
    font-family: Libre Baskerville;
    font-weight: 400;
    color: #000000;
    font-size: 48px;
    max-width: 680px;
    line-height: 130%;
    letter-spacing: -2%;
}
a.cta-btn.blue-btn {
    background: #002266;
    color: #fff;
    font-size: 18px;
}
a.cta-btn.blue-btn:hover {
    background: #000;
}
.testimonial-slider .splide__arrows.splide__arrows--ltr {
    display: none;
}
.testimonial-slider {
    height: 837px;
    width: 100vw;
    transform: translateX(-50%);
    left: 50%;
    background: #102A56;
}
/* Responsive styling */
@media (max-width: 768px) {
	
	.cta-inner {
		flex-direction: column;
		text-align: center;
	}
	.cta-left h2 {
		font-size: 28px;
	}
}
i.testimonial-icon {
    width: 100px;
    height: 96px;
    display: block;
	margin-bottom: 24px;
}
h4.testimonial-subtitle {
    font-family: Libre Baskerville;
    font-weight: 400;
    margin-bottom: 16px;
    font-size: 32px;
    color: #fff;
    line-height: 130%;
}

.testimonial-content blockquote.testimonial-description {
    font-family: Satoshi;
    font-weight: 400;
    font-style: normal;
    font-size: 18px;
    border: 0px !important;
    line-height: 150%;
    color: #FFFFFFCC;
    margin: 0px !important;
    padding: 0px;
}
.testimonial-author {
    margin-top: 40px;
}

a.btn-primary.btn-white {
    font-size: 16px;
    background: #fff;
    color: #000000;
}
a.btn-primary.btn-white:hover {
    background: #102A56;
    color: #fff;
}
main#primary {
    width: 100%;
}
.testimonial-author strong {
margin: 0px;
    font-family: 'Freehand';
    font-weight: 400;
    font-style: Regular;
    font-size: 48px;
    color: #FFFFFFCC;
    line-height: 120%;
    letter-spacing: -0.03em;
}
.testimonial-author span {
    font-family: Satoshi;
    font-weight: 400;
    font-size: 18px;
    line-height: 150%;
    color: #FFFFFFCC;
}
.testimonial-slider {
    margin: 0px;
}
.testimonial-content {
    height: 100%;
    justify-items: center;
	position: relative;
}
.testimonial-content .content-container {
    padding-bottom: 85px;
}
.testimonial-slider ul.splide__pagination.splide__pagination--ltr {
    position: absolute;
    bottom: 120px;
    left: calc(50vw - 660px);
    right: unset;
    padding: 0px;
	width: 480px;
}
.testimonial-slider ul.splide__pagination.splide__pagination--ltr li button {
    height: 5px;
    padding: 0px;
    margin: 0px;
    background: #FFFFFF33;
    opacity: 1;
	width: 100%;
	    border-radius: 999px;
}
section.clients-section {
    padding: 120px 16px;
    background: #F8F9FC;
    width: 100vw;
    transform: translateX(-50%);
    left: 50% !important;
    display: block;
    margin: 0px;
    position: relative;
}
section.clients-section .container {
    max-width: 1320px;
    margin: 0 auto;
	display: flex
;
    gap: 48px;
}
section.clients-section .container .title-text {
    max-width: 448px;
}
.clients-grid {
    display: flex
;
    gap: 16px;
	    flex-wrap: wrap;
}
.client-logo-item {
    width: calc(100% / 3 - 12px);
    aspect-ratio: 223 / 120;
    height: auto;
    background: #fff;
}
.client-logo-item {
    display: flex
;
    align-items: center;
    justify-items: center;
}
.client-logo-item img {
    padding: 32px;
}
section.clients-section img.bg-logo.light-blue {
    position: absolute;
    right: 0px;
    bottom: 0px;
    top: unset;
    height: 100%;
    z-index: -1;
    right: calc(50vw - 660px - 120px);
}
section.team-section {
    padding: 120px 16px;
}
.title-text.center-aligned h2 {
    text-align: center;
}
.team-grid {
    display: flex
;
    flex-wrap: wrap;
    gap: 20px;
}

.testimonial-slider ul.splide__pagination.splide__pagination--ltr .splide__pagination__page.is-active {
    transform: scale(1);
    background: #FFFFFFCC;
}
.testimonial-slider ul.splide__pagination.splide__pagination--ltr {
    gap: 8px;
}
.testimonial-slider ul.splide__pagination.splide__pagination--ltr li {
    height: 100%;
    flex: 1;
	    display: flex
;
}
.team-member-item {
    width: 100%;
    max-width: calc(1 / 4 * 100% - 16px);
}
.team-member-item .member-photo {
    position: relative;
    aspect-ratio: 315 / 400;
    width: 100%;
    height: auto;
}
.team-member-item .member-photo p.designation {
    font-family: Satoshi;
    font-weight: 500;
    color: #fff;
    font-size: 18px;
    padding: 6px 12px;
    line-height: 150%;
    position: absolute;
    bottom: 16px;
    background: #FFFFFF33;
    backdrop-filter: blur(12px);
    left: 15px;
    margin: 0px;
}
.member-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.team-member-item .member-photo {
    margin-bottom: 24px;
}
h3.member-name {
    font-family: Satoshi;
    font-weight: 400;
    font-style: Regular;
    font-size: 24px;
    color: #112A56;
    line-height: 150%;
    margin: 0px;
}
p.member-description {
    font-family: Satoshi;
    font-weight: 400;
    font-size: 16px;
    color: #535862;
    line-height: 150%;
    margin: 0px;
}
.insights-header h2 {
    margin: 0px;
}
section.hero-split-column.blue-full .content-container {
    max-width: 1320px;
    width: 100%;
    margin: 0 auto;
    padding: 136px 16px 120px;
}
section.hero-split-column.blue-full p.subtitle {
    margin-bottom: 16px;
    color: #FFFFFFB2;
}
section.hero-split-column.blue-full h2 {
    color: #FFFFFF;
	    max-width: 488px;
}
section.hero-split-column.blue-full .hero-image {
    display: flex
;
    aspect-ratio: 1440 / 700;
    width: 100%;
    height: auto;
}
section.sectors-section {
    margin: 0px;
}
section.hero-split-column.blue-full {
    width: 100vw;
    transform: translateX(-50%);
    left: 50% !important;
    position: relative;
    background: #102A56;
    padding-top: 64px;
	    margin: 0px;
}

section.hero-split.text-left.blue-split {
    background: #102A56;
    height: 774px;
}
section.hero-split.text-left.blue-split p.subtitle {
    color: #FFFFFFB2;
}
section.hero-split.text-left.blue-split h2 {
    color: #fff;
}
section.hero-split.text-left.blue-split p.description {
    color: #FFFFFFB2;
}

section.team-section.team-and-hiring .team-member-item, .team-member-hiring {
    max-width: calc(1 / 3 * 100% - 14px);
}
.team-grid {
    justify-content: center;
}

section.team-section.team-and-hiring .team-member-item .member-photo {
    aspect-ratio: 426 / 500;
}
.team-member-hiring .hiring-card {
    aspect-ratio: 426 / 500;
    padding: 32px;
    background: #102A56;
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.team-member-hiring .hiring-card h3.hiring-title {
    font-family: Libre Baskerville;
    font-weight: 400;
    font-size: 32px;
    color: #FFFFFF;
    line-height: 130%;
    margin-top: auto;
    margin-bottom: 0px;
}
.team-member-hiring .hiring-card p.hiring-description {
    font-family: Satoshi;
    font-weight: 400;
    font-style: Regular;
    font-size: 16px;
    color: #FFFFFFCC;
    line-height: 150%;
    margin-bottom: 16px;
}

.team-member-hiring a.white-btn {
    font-family: Satoshi;
    font-weight: 500;
    padding: 12px 24px;
    font-size: 18px;
    background: #fff;
    line-height: 140%;
    color: #102A56;
    text-decoration: none;
    width: fit-content;
}
.team-member-hiring a.white-btn:hover {
    background: #f0f2f8;
    color: #000;
}
section.team-section.team-and-hiring {
    padding-bottom: 240px;
}
img.hiring-logo {
    width: 70px;
}

.expertise-rows {
    height: 800px !important;
}
.expertise-rows.row-1, .expertise-rows.row-3, .expertise-rows.row-5, .expertise-rows.row-7 {
    flex-direction: row-reverse;
}
.expertise-rows .hero-content {
    width: 44% !important;
    flex: unset;
}
a.btn-primary.btn-blue:hover {
    background: #000;
}
section.faq-section {
    padding: 120px 16px 150px;
}
section.insights-section {
    padding: 120px 16px;
    margin: 0px;
}
#primary {
    margin-bottom: 0px;
}

.faq-question .faq-icon {
		transition: all 0.2s ease-in-out;

}
.faq-question:hover .faq-icon {
		transition: all 0.3s ease-in-out;

    filter: brightness(0.97);
}
.faq-question:hover .faq-icon {
		transition: all 0.3s ease-in-out;

    filter: brightness(0.97);
}

.blog section.hero-split-column.blue-full h2 {
    max-width: 740px;
}

/* Animation for newly loaded cards */
.animate-in {
    animation: fadeInUp 0.4s ease forwards;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Style for the "All Categories" active state */
#gp-post-filters li a.active {
    background: #102A56;
    color: #fff;
    border-color: #102A56;
}

.load-more-wrapper #load-more-btn {
    display: none; /* JS will show it if has_more is true */
}

/* Hide any residual pagination or navigation links */
.blog .nav-links, 
.archive .nav-links,
.blog .paging-navigation,
.archive .paging-navigation {
    display: none !important;
}

/* Ensure the Load More wrapper has consistent spacing now that pagination is gone */
.load-more-wrapper {
    margin-top: 60px;
    margin-bottom: 100px;
    clear: both;
}
ul#gp-post-filters li a {
    font-family: Satoshi;
    font-weight: 500;
    text-decoration: none;
    font-size: 18px;
    padding: 12px 24px;
			transition: all 0.2s ease-in-out;

    line-height: 140%;
}
ul#gp-post-filters {
    margin: 80px auto 40px;
    display: flex
;
    gap: 24px;
    list-style-type: none;
}

ul#gp-post-filters li a:hover {
    background: #f8f9fc;
			transition: all 0.3s ease-in-out;

}
ul#gp-post-filters li a.active:hover {
    background: #102A56;
			transition: all 0.3s ease-in-out;

}

ul#gp-post-filters li {
    display: flex
;
}

div#ajax-posts-container {
    display: grid
;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 32px;
    row-gap: 78px;
}
div#ajax-posts-container article.featured-card-small {
    display: flex
;
    flex-direction: column;
    gap: 32px;
}
div#ajax-posts-container article.featured-card-small .card-image {
    width: 100%;
    max-width: unset;
    aspect-ratio: 418 / 333;
}
div#ajax-posts-container article.featured-card-small span.category-tag {
    color: #194185;
    margin-bottom: 12px;
}
div#ajax-posts-container article.featured-card-small h4.card-title a {
    text-decoration: none;
    font-family: Libre Baskerville;
    font-weight: 400;
    font-style: Regular;
    font-size: 24px;
    leading-trim: NONE;
    line-height: 140%;
    letter-spacing: -2%;
    text-transform: capitalize;
    color: #000;
}
div#ajax-posts-container article.featured-card-small .excerpt {
    font-family: Satoshi;
    font-weight: 400;
    font-style: Regular;
    font-size: 18px;
    color: #535862;
    line-height: 150%;
    letter-spacing: -2%;
    text-transform: capitalize;
    -webkit-line-clamp: 3;
}

a.read-article-link
 {
    font-family: Satoshi;
    font-weight: 500;
    font-size: 18px;
    color: #194185;
    line-height: 28px;
    letter-spacing: 0%;
    text-decoration: none;
    display: flex
;
    gap: 8px;
    margin-top: 24px;
    align-items: center;
}
a.read-article-link svg {
	transition: all 0.15s ease-in-out;
}

a.read-article-link:hover svg {
    transform: translate(2.5px, -2.5px);
	transition: all 0.2s ease-in-out;
}

.load-more-wrapper {
    display: flex
;
    justify-content: center;
    margin-bottom: 80px !important;
}

a#load-more-btn {
    background: #F8F9FC;
    font-size: 14px;
    padding: 12px 24px;
    color: #112a56;
}

a#load-more-btn:hover {
    color: #fff;
    background: #002266;
	transform: unset;
}


/* Hide Meta, Header, and Comments on Single Posts */
.single-post .entry-header,
.single-post .entry-meta,
.single-post footer.entry-meta,
.single-post .comments-area,
.single-post #comments {
    display: none !important;
}

/* Adjust spacing for the custom title block we created */
.single-post-header {
    margin-bottom: 40px;
    padding-top: 20px;
}

/* Ensure the featured image is the first thing after the title block */
.single-post .featured-image {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Remove default padding GP adds to the bottom of the article since comments are gone */
.single-post .site-content {
    padding-bottom: 0 !important;
}

.single section.pre-footer-cta {
    display: none;
}

section.related-articles-section {
    padding: 100px 16px 140px;
    background: #F8F9FC;
    position: relative;
    width: 100vw;
    left: 50%;
    margin-top: 148px;
    transform: translateX(-50vw);
}

section.related-articles-section .insights-header {
    margin-bottom: 60px;
}
.single .inside-article {
    padding-bottom: 0px;
}

.single main#main {
    margin-bottom: 0px !important;
}

.single .title-text.center-aligned {
    max-width: 800px;
    margin-top: 2px;
}
.single .title-text.center-aligned a {
    text-decoration: none;
}
.featured-image.page-header-image-single.grid-container.grid-parent {
    width: 100%;
    max-width: 100%;
    height: auto;
    max-height: 600px;
    overflow: hidden;
    margin-bottom: 80px;
	    position: relative;
    display: flex
;
}
.featured-image.page-header-image-single.grid-container.grid-parent img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    aspect-ratio: unset;
}
.single .inside-article .entry-content {
    max-width: 650px;
    margin: 0 auto;
}
.single .inside-article .entry-content p {
    font-family: Satoshi;
    font-weight: 400;
    font-style: Regular;
    font-size: 20px;
    leading-trim: NONE;
    line-height: 160%;
    letter-spacing: -2%;
    text-align: justify;
    text-transform: capitalize;
    color: #535862;
    margin-bottom: 60px;
}
.single .inside-article .entry-content h1 {
    font-size: 28px;
}
.single .inside-article .entry-content h2 {
    font-family: Libre Baskerville;
    font-weight: 400;
    font-style: Regular;
    font-size: 24px;
    color: #000;
    line-height: 130%;
    letter-spacing: -2%;
    margin-bottom: 16px;
}

.single .inside-article .entry-content h3 {
    font-size: 22px;
}

.single .inside-article .entry-content h4 , .single .inside-article .entry-content h5, .single .inside-article .entry-content h6 {
    font-size: 20px;
}

.single article {
    margin-bottom: 0px;
}

.contact-container {
    padding: 96px 16px 120px;
    display: flex
;
}
.contact-info {
    display: flex
;
    flex-direction: column;
    justify-content: center;
}
.contact-info .title-text h2 {
    margin-bottom: 8px;
}
.contact-info p.description {
    margin-bottom: 32px;
}
.contact-info .info-item {
    display: flex
;
    flex-direction: column;
    gap: 4px;
}
.contact-info .info-item:last-child {
    margin-top: 48px;
}

.contact-info .info-item strong {
    font-family: Satoshi;
    font-weight: 400;
    font-style: Regular;
    font-size: 24px;
    color: #102A56;
    line-height: 140%;
    letter-spacing: -2%;
}
.contact-info .info-item a {
    font-family: Satoshi;
    font-weight: 400;
    font-style: Regular;
    font-size: 18px;
    leading-trim: NONE;
    line-height: 140%;
    letter-spacing: -2%;
    text-decoration: underline;
    text-decoration-style: solid;
    text-decoration-offset: 0%;
    text-decoration-thickness: 0%;
    text-decoration-skip-ink: auto;
    color: #102A56;
}
.contact-container {
    justify-content: space-between;
}
.contact-form-side {
    background: #F8F9FC;
    padding: 32px;
	    max-width: 640px;
	width: 100%;
}
.contact-info {
    max-width: 448px;
}
.form-title h3 {
    color: #000;
    margin: 0px;
    font-family: Satoshi;
    font-weight: 500;
    font-style: Medium;
    font-size: 32px;
    leading-trim: NONE;
    line-height: 140%;
    letter-spacing: -2%;
}
.form-title p {
    font-family: Satoshi;
    font-weight: 400;
    font-style: Regular;
    font-size: 18px;
    leading-trim: NONE;
    line-height: 140%;
    letter-spacing: -2%;
    color: #535862;
}
.form-title {
    padding: 0 16px;
    display: flex;
	    margin-bottom: 40px;
    flex-direction: column;
    gap: 8px;
    max-width: 400px;
}

.fluentform .ff-el-group {
    margin: 0px;
}

.fluentform.ff-default .ff-el-form-control {
    padding: 24px 16px;
    border-radius: 0px;
    font-family: Satoshi;
    font-weight: 400;
    font-style: Regular;
    font-size: 18px;
    leading-trim: NONE;
    line-height: 140%;
    border-width: 0px;
    border-bottom-width: 1px;
    border-color: #D5D7DA;
}
.fluentform .ff-el-group {
    margin-bottom: 0px !important;
}
.form-title p {
	margin: 0px;
}
.page-template-contact-template section.pre-footer-cta {
    display: none;
}
.fluentform.ff-default textarea.ff-el-form-control
 {
    max-height: 145px;
}
.fluentform button.ff-btn.ff-btn-submit.ff-btn-md.blue-btn.primary-btn.ff_btn_no_style {
    font-family: Satoshi;
    font-weight: 500;
    font-style: Medium;
    font-size: 18px;
    leading-trim: NONE;
    line-height: 140%;
    letter-spacing: -2%;
    padding: 12px 24px;
    margin-top: 48px;
}
.site-footer .footer-widgets-container .inside-footer-widgets img {
    width: 117px;
}
.footer-widgets {
    padding: 20px 0;
}
/* 1. Transition for the header background */
.site-header {
    transition: background-color 0.3s ease, box-shadow 0.3s ease;
}

/* 2. Styling when the mobile menu is active */
.mobile-menu-open .site-header {
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}
.cta-right {
    z-index: 1;
}


/* Hide the Bars when expanded */
.toggled .menu-toggle .gp-icon svg:nth-child(1) {
    opacity: 0;
    transform: scale(0.5) rotate(45deg);
}



body {
    overflow-x: hidden;
}

@media (max-width: 768px) {
	.slide-container {
		flex-direction: column-reverse;
		gap: 40px;
	}
	section#banner {
		height: fit-content;
	}
	
	.slide-container > div {
		width: 100%;
	}
	.slide-content {
		justify-content: center;
	}
	div#home-slider .slide-container .content-container {
		max-width: 100%;
		padding: 0 20px 60px;
	}
	.banner-left-content {
		max-width: 100%;
	}
	.banner-left-content h2.slide-title {
		font-size: 36px;
		margin-bottom: 16px;
	}
	#home-slider .slide-content {
		height: fit-content;
		padding-bottom: 100px;
	}
	a.slide-btn {
		font-size: 16px;
	}
	.worked-with-logos img {
		height: 28px;
	}
	.banner-footer {
		position: relative;
		bottom: unset;
		margin-top: 80px;
	}
	.worked-with-logos {
		overflow: hidden;
		flex-wrap: wrap;
		row-gap: 16px;
	}
	#home-slider .slide-content {
		height: fit-content;
		padding-bottom: 0px;
	}
	.figma-template .hero-split {
		flex-direction: column;
		gap: 32px;
		max-height: unset;
		height: fit-content;
	}
	.hero-content .content-container {
		max-width: unset;
		padding: 0 20px 20px;
		gap: 40px;
	}
	section.sectors-section {
		padding: 100px 16px;
	}
	section.hero-split > div {
		width: 100% !important;
	}
	.title-text p.subtitle {
		font-size: 14px;
		margin-bottom: 8px;
	}
	.title-text h2 {
		font-size: 36px;
		margin-bottom: 12px;
		line-height: 120%;
	}
	.sector-cards {
		flex-wrap: wrap;
	}
	.title-text p.description {
		font-size: 16px;
	}
	#home-slider .slide-image {
		min-height: 408px;
	}
	.sector-card {
		padding: 28px;
		height: fit-content !important;
		aspect-ratio: unset;
	}
	.sector-card h3 {
		padding-bottom: 48px;
	}
	header#masthead {
		border-bottom: 1px solid #fff4;
		backdrop-filter: blur(6px);
		background: #0000;
	}
	.main-navigation .main-nav ul li a {
		text-align: center;
		padding: 12px;
		font-size: 18px;
	}
	.has-inline-mobile-toggle #site-navigation.toggled {
		margin-top: 12px;
	}
	.main-navigation .main-nav ul li:last-child a {
		width: fit-content;
		margin: 10px auto;
		font-size: 18px;
	}
	.mobile-menu-open header#masthead {
		background: #0006;
		padding-bottom: 28px;
	}
	.mobile-menu-open header#masthead.is-sticky {
		background: #102A56;
	}
	.testimonial-slider {
		height: fit-content;
	}
	h4.testimonial-subtitle {
		font-size: 28px;
	}
	 img.bg-logo.light-blue {
		aspect-ratio: 732 / 852;
		height: auto !important;
		width: 100% !important;
		right: 0px !important;
		top: 0 !important;
	}
	section.pre-footer-cta .cta-inner {
		position: static;
	}
	section.pre-footer-cta img.bg-logo.light-blue {
		height: 100% !important;
		width: auto !important;
	}
	section.clients-section .container {
		flex-direction: column;
	}
	.client-logo-item {
		width: calc(100% / 2 - 8px);
	}
	section.clients-section {
		padding: 100px 16px;
	}
	section.team-section {
		padding: 100px 16px;
	}
	team-member-item {
		max-width: 100%;
	}
	.team-grid {
		gap: 48px;
	}
	section.insights-section {
		padding: 90px 16px;
	}
	.title-action {
		display: none;
	}
	.featured-card-big .card-image {
		margin-bottom: 20px;
		aspect-ratio: 1.175;
	}
	article.featured-card-big .excerpt {
		font-size: 16px;
	}
	.insights-grid {
		gap: 40px;
	}
	.featured-card-small .card-link {
		flex-direction: column;
		gap: 16px;
	}
	.featured-card-small .card-image img {
		height: auto !important;
		aspect-ratio: 1.5;
	}
	insight-sidebar {
		gap: 40px;
	}
	.featured-card-small .card-image {
		max-width: unset;
		aspect-ratio: unset !important;
		height: auto !important;
		width: 100%;
	}
	.insight-sidebar {
		gap: 40px;
	}
	section.faq-section {
		padding: 90px 16px 100px;
	}
	section.pre-footer-cta h2 {
		font-size: 32px;
	}
	span.category-tag {
		font-size: 14px;
		margin-bottom: 8px !important;
	}
	a.cta-btn.blue-btn {
		font-size: 14px;
	}
	.team-member-item {
		max-width: 100%;
	}
	section.hero-split-column.blue-full .content-container {
		padding: 100px 16px 76px;
	}
	section.hero-split-column.blue-full .hero-image {
		aspect-ratio: 1.25;
	}
	section.hero-split.text-left.blue-split {
		height: fit-content;
		padding: 32px 0 0;
	}
	section.team-section.team-and-hiring .team-member-item, .team-member-hiring {
		max-width: 100%;
	}
	.site-footer .footer-widgets-container .inside-footer-widgets img {
		width: 90px;
	}
	section.hero-split.text-left.expertise-rows {
		height: fit-content !important;
	}
	.expertise-rows .hero-content {
		width: 100% !important;
		padding-top: 32px;
	}
	section.hero-split.text-left.expertise-rows .title-text h2 {
		font-size: 32px;
	}
	span.sector-number {
		font-size: 14px;
		margin-bottom: 8px;
		display: block;
	}
	.contact-container {
		flex-direction: column;
		gap: 60px;
	}
	.contact-form-side {
		padding: 20px 0px;
	}
	.form-title h3 {
		font-size: 28px;
	}
	.form-title p {
		font-size: 16px;
	}
	.fluentform .ff-el-group {
		padding-left: 16px;
		padding-right: 16px;
	}
	ul#gp-post-filters {
		gap: 16px;
		padding: 12px;
		flex-wrap: wrap;
	}
	ul#gp-post-filters li a {
		font-size: 14px;
		padding: 10px 16px;
	}
	div#ajax-posts-container {
		grid-template-columns: 1fr;
		padding: 0 16px;
	}
	.single .inside-article {
		padding: 32px 16px 0px;
	}
	.featured-image.page-header-image-single.grid-container.grid-parent {
		margin-bottom: 44px;
	}
	.single .title-text.center-aligned {
		margin-bottom: 40px;
	}
	.single .inside-article .entry-content p {
		margin-bottom: 32px;
	}
	section.related-articles-section {
		padding: 60px 0 100px;
	}
	div#ajax-posts-container article.featured-card-small {
		gap: 24px;
	}
	section.related-articles-section .insights-header {
		margin-bottom: 32px;
		padding: 0 16px;
	}
	article.featured-card-big h3 {
		font-size: 24px;
	}
	.testimonial-slider ul.splide__pagination.splide__pagination--ltr {
		left: 20px;
		width: calc(100% - 40px);
		bottom: 40px;
	}
	.testimonial-content .content-container {
		padding: 0px 0px 100px;
	}

}