/* ============================================================================  Site header — mega menu (desktop base)  Loads after custom-style; overrides Bootstrap caret + simple dropdown  ============================================================================ */
.container{max-width: 1640px; padding-left: 20px; padding-right: 20px;}

.site__header{position: fixed; top: 0; left: 0; width: 100%; z-index: 1000; border-bottom: 1px solid rgba(255, 255, 255, 0.2);}
.site__header.light__header{border-bottom: 1px solid rgb(0 0 0 / 20%);}
.site__header.active{background: linear-gradient(277deg, #010824 41.44%, #00071F 46.47%, #000822 51.89%, #001C57 94.31%);}
.site__header.light__header.active{background: #fff;}
.site__header.light__header .nav__menu a{color:#000000;}
.site__header.light__header .gbl__btn.get__started__btn{color: #000000; border: 1px solid #000; padding: 12px 12px 12px 24px; font-size: 18px;}
.site__header.light__header .gbl__btn.get__started__btn:hover{background-color: #fff;}
.site__header.light__header .gbl__btn.get__started__btn:after{width: 48px; height: 48px; background-color: #1B54E8; background-size: 24px; background-position: center center; background-repeat: no-repeat; border-radius: 8px;}

/* Hide Bootstrap default caret on custom nav toggles */
.site__header .dropdown__toggle.dropdown-toggle::after,
.site__header .nav__link.dropdown__toggle::after{display: none;}

/* Dropdown trigger + angle-down icon */
.site__header .dropdown__toggle{display: inline-flex; align-items: center; column-gap: 6px;}
.site__header .dropdown__icon{display: inline-flex; align-items: center; justify-content: center; line-height: 0; color: currentColor; transition: transform 0.3s ease; top: 2px; position: relative;}
.site__header .dropdown__icon svg{display: block; width: 12px; height: 12px;}
/* Rotate caret when open via hover or click */
.site__header .mega__dropdown:hover > .dropdown__toggle .dropdown__icon,
.site__header .mega__dropdown.is-open > .dropdown__toggle .dropdown__icon{transform: rotate(180deg);}

/* --------------------------------------------------------------------------
 * Mobile mega parent — split hit targets (≤1200px, matches MOBILE_NAV_MAX)
 * Label: 1st tap opens, 2nd tap goes to page. Caret: always toggles only.
 * -------------------------------------------------------------------------- */
@media (max-width: 1200px) {
  .site__header .mega__dropdown > .dropdown__toggle{position: relative;}
  .site__header .mega__dropdown > .dropdown__toggle > span:first-child{flex: 1 1 auto; min-width: 0;}
  .site__header .mega__dropdown > .dropdown__toggle .dropdown__icon{flex-shrink: 0; width: 44px; height: 44px; margin: -8px -4px -8px 4px; padding: 0; top: 0; border-radius: 100%; cursor: pointer; -webkit-tap-highlight-color: transparent; position: relative; z-index: 2;}
  .site__header .mega__dropdown > .dropdown__toggle .dropdown__icon:active{background: rgba(255, 255, 255, 0.08);}
  .site__header .mega__dropdown:hover > .dropdown__toggle .dropdown__icon{transform: none;}
  .site__header .mega__dropdown.is-open > .dropdown__toggle .dropdown__icon{transform: rotate(180deg);}
}

/* --------------------------------------------------------------------------
 * Mega menu panel — white dual-column card under Services / Insights
 * Matches header dropdown design (centered under trigger)
 * -------------------------------------------------------------------------- */
.site__header .mega__dropdown{position: relative;}
.site__header .mega__menu.dropdown-menu,
.site__header .mega__menu{display: block; position: absolute; left: 50%; /* Flush under trigger — visual gap comes from padding-top (keeps hover continuous) */ top: 100%; right: auto; bottom: auto; transform: translateX(-50%) translateY(6px); min-width: 560px; width: max-content; max-width: min(640px, calc(100vw - 40px)); padding: 35px 0 0; margin: 0; background: transparent; border: 0; border-radius: 0; box-shadow: none; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity 0.25s ease, visibility 0.25s ease, transform 0.25s ease; z-index: 1100; overflow: visible;}

/* Open on hover + click — lock top so custom-style 115% cannot shift it */
.site__header .mega__dropdown:hover > .mega__menu,
.site__header .mega__dropdown.is-open > .mega__menu{top: 100%; opacity: 1; visibility: visible; pointer-events: auto; transform: translateX(-50%) translateY(0);}

/* Two equal columns with center divider — this is the visible white card */
.site__header .mega__menu__inner{display: grid; grid-template-columns: 1fr 1fr; gap: 0; min-height: 100%; background: #ffffff; border-radius: 0px 0px 12px 12px; box-shadow: 0 16px 40px rgba(0, 0, 0, 0.18); overflow: hidden;}
.site__header .mega__menu__col{padding: 28px 32px; border-right: 1px solid #e8e8e8;}
.site__header .mega__menu__col:last-child{border-right: 0;}

/* Column heading — small uppercase muted label */
.site__header .mega__menu__title{margin: 0 0 16px; padding: 0; font-family: "Plus Jakarta Sans", sans-serif; font-size: 16px; font-weight: 900; text-transform: uppercase; color: #000000; line-height: 1.2;}
.site__header .mega__menu__list{list-style: none; margin: 0; padding: 0;}

/* Kill custom-style / Bootstrap item borders inside mega menu */
.site__header .mega__menu__list li,
.site__header .mega__menu li{border-bottom: 0; list-style: none; margin: 0; padding: 0;}
.site__header .mega__menu .dropdown-item,
.site__header .mega__menu__list a{display: block; padding: 8px 0; border-radius: 0; color: #1a1a1a; font-family: "Plus Jakarta Sans", sans-serif; font-size: 16px; font-weight: 500; line-height: 1.45; background: transparent; white-space: normal;}
.site__header .mega__menu .dropdown-item:hover,
.site__header .mega__menu .dropdown-item:focus,
.site__header .mega__menu__list a:hover{background: transparent; color: #d89a23;}
.site__header .mega__menu .dropdown-item.active,
.site__header .mega__menu__list a.active{color: #d89a23; font-weight: 600;}

/* Animated hamburger — hidden on desktop; shown from 1024px in extended-responsive */
.site__header .nav__hamburger{display: none; width: 32px; height: 24px; position: relative; margin: 0; padding: 0; border: 0; background: transparent; transform: rotate(0deg); transition: 0.5s ease-in-out; cursor: pointer; flex-shrink: 0;}
.site__header .nav__hamburger span{display: block; position: absolute; height: 3px; width: 100%; background: #ffffff; border-radius: 3px; opacity: 1; left: 0; transform: rotate(0deg); transition: 0.25s ease-in-out;}
.site__header.light__header .nav__hamburger span{background: #000;}
.site__header .nav__hamburger span:nth-child(1){top: 0;}
.site__header .nav__hamburger span:nth-child(2){top: 10px;}
.site__header .nav__hamburger span:nth-child(3){top: 20px;}
.site__header .nav__hamburger.open span:nth-child(1){top: 10px; transform: rotate(135deg);}
.site__header .nav__hamburger.open span:nth-child(2){opacity: 0; left: -32px;}
.site__header .nav__hamburger.open span:nth-child(3){top: 10px; transform: rotate(-135deg);}

/* About banner — page-specific extensions (loads after system CSS) */
.inner__banner{background-image: url('../assets/images/inner-banner.svg'); background-size: cover; background-position: center; background-repeat: no-repeat; padding-top: 70px;}
.about__hero__banner__image img{width: 100%;}
.hero__content{max-width: 55%;}
.inner__banner__description{max-width: 800px; font-family: "Plus Jakarta Sans"; font-weight: 400; font-size: 18px; line-height: 1.65em; margin-block-start: 24px; color: #EEEEEE !important;}
.inner__banner__description span{color: #FFFFFF !important; font-weight: 500;}
.inner__banner__image{max-width: 45%;}
.inner__banner__image:after{content: ''; width: 200px; height: 200px; position: absolute; background: #C8962C; filter: blur(150px); right: 0; bottom: 0; z-index: 1;}
.inner__banner__image img{max-width: 100%; width: 100%; z-index: 1; display: block; width: 100%; -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 50%, transparent 100%
); mask-image: linear-gradient( to bottom, #000 0%, #000 50%, transparent 100%);}
.hero__content .hero__certificates .counter__wrap h2{font-size: 40px; line-height: 1.1;}
.hero__content .hero__certificates .counter__wrap p{font-family: "Plus Jakarta Sans"; font-weight: 400; font-size: 18px; line-height: 1.5em; margin-block-start: 0; color: #A2A2A2 !important;}
.hero__certificates .counter__wrap{position: relative;}
.hero__certificates .counter__wrap:after{content: ''; width: 1px; height: calc(100% - 30%); background: #707171; position: absolute; top: 50%; right: -20px; transform: translate(0%, -50%);}
.hero__certificates .counter__wrap:last-child:after{display: none;}
.inner__banner__image{position: relative;}
.inner__banner__wrapper__holder{width: 100%;}
.arrow__animator{position: absolute; top: 0; left: -100px; z-index: 0;}
.arrow1, .arrow2, .arrow3{  opacity: 0.15;   animation: arrowFlow 1.5s infinite linear;   transition: opacity .3s;}
.arrow1 { animation-delay: 0s; }
.arrow2 { animation-delay: 0.25s; }
.arrow3 { animation-delay: 0.5s; }

@keyframes arrowFlow{  0%, 20%, 100%{      opacity: .15;   }   40%{      opacity: 1;   }   60%{      opacity: .4;   }
}

/* Hero image without floating overlays */
.hero__image{top: 0; height: 100%; pointer-events: none;}
.hero__image img{object-fit: contain; object-position: center right; max-height: 100%;}

/* CTA hover polish */
.linear__btn:hover{color: var(--font-color-dark-golden);}

/* Our Story — timeline + layout */
.our__story__content__description p{font-size: var(--sm-font-size); line-height: 1.65; margin-block-start: 0;}
.our__story__section .content__heading{max-width: 560px;}
.our__story__section .our__story__content__heading__wrap{max-width: 500px;}
.our__story__content__description__wrap{max-width: 716px;}
.our__story__section .our__story__content__description__wrap{max-width: 716px;}
.our__story__section .our__story__content__timeline__wrapper .our__story__content__timeline__left__column{max-width: 788px; width: 100%;}
.our__story__section .our__story__content__timeline__wrapper .our__story__content__timeline__right__column{max-width: 716px; width: 100%;}
.our__story__section .our__story__content__timeline__wrapper .our__story__content__timeline__left__column__image{width: 95%; height: 100%;}
.our__story__section .our__story__content__description__heading__wrap > p{color: var(--font-color-dark-gray); font-size: var(--sm-font-size);}
.our__story__section .our__story__content__description > p > span{color: var(--font-color-black); font-weight: 600;}

/* --------------------------------------------------------------------------
 * Career page — Hiring Process Step (cloned from Our Story layout)
 * -------------------------------------------------------------------------- */
.hiring__process__step__content__description p{font-size: var(--sm-font-size); line-height: 1.65; margin-block-start: 0;}
.hiring__process__step__section .content__heading{max-width: 560px;}
.hiring__process__step__section .hiring__process__step__content__heading__wrap{max-width: 800px;}
.hiring__process__step__content__description__wrap{max-width: 700px;}



.hiring__process__step__section .hiring__process__step__content__timeline__wrapper .hiring__process__step__content__timeline__left__column{max-width: 788px; width: 100%;}
.hiring__process__step__section .hiring__process__step__content__timeline__wrapper .hiring__process__step__content__timeline__right__column{max-width: 716px; width: 100%;}
.hiring__process__step__section .hiring__process__step__content__timeline__wrapper .hiring__process__step__content__timeline__left__column__image{width: 95%; height: 100%;}
.hiring__process__step__section .hiring__process__step__content__timeline__wrapper .hiring__process__step__content__timeline__left__column__image img{  height: 100%;   object-fit: cover;   object-position: center; }
.hiring__process__step__section .hiring__process__step__content__description__heading__wrap > p{color: var(--font-color-dark-gray); font-size: var(--sm-font-size);}
.hiring__process__step__section .hiring__process__step__content__description > p > span{color: var(--font-color-black); font-weight: 600;}
.hiring__process__step__badge{border: 1px solid var(--border-color-light-silver, #e6e6e6); background: #fff; color: var(--font-color-faded-black, #1a1a1a);}
.hiring__process__step__badge img{width: 16px; height: 16px; display: block;}
.bg__color__white.py__80 .heading__wrap > p{font-size: var(--sm-font-size); color: var(--font-color-dark-gray); line-height: 1.65;}

/* Our Story timeline list */
.timeline__list{position: relative;}
.timeline__list__item{align-items: flex-start;}
.timeline__circle__icon{width: 33px; height: 33px; flex: 0 0 33px; background: #1B54E8; background: linear-gradient(180deg, rgba(27, 84, 232, 1) 0%, rgba(0, 196, 224, 1) 100%); border-radius: 50px; z-index: 1;}
.timeline__list__item:not(:last-child)::before{content: ""; position: absolute; left: 15.5px; top: 20px; bottom: calc(-1 * var(--spacing-30)); width: 2px; background: var(--font-color-blue); z-index: 0;}

/* --------------------------------------------------------------------------
 * Hiring Process — dotted timeline that fills solid on scroll
 * -------------------------------------------------------------------------- */
.hiring__process__step__section .hiring__process__timeline{--timeline-progress: 0px; --timeline-line-top: 16.5px; --timeline-line-bottom: 122px; position: relative;}
.hiring__process__step__section .hiring__process__timeline .timeline__list__item:not(:last-child)::before{display: none;}

/* Dotted base track */
.hiring__process__step__section .hiring__process__timeline::before{content: ""; position: absolute; left: 16px; top: var(--timeline-line-top); bottom: var(--timeline-line-bottom); width: 2px; transform: translateX(-50%); background: #1B54E8; -webkit-mask: repeating-linear-gradient(to bottom, #000 0px, #000 12px, transparent 12px, transparent 24px); mask: repeating-linear-gradient(to bottom, #000 0px, #000 10px, transparent 10px, transparent 20px); z-index: 0; pointer-events: none;}

/* Solid fill grows with --timeline-progress */
.hiring__process__step__section .hiring__process__timeline::after{content: ""; position: absolute; left: 16px; top: var(--timeline-line-top); width: 2px; height: var(--timeline-progress); max-height: calc(100% - var(--timeline-line-top) - var(--timeline-line-bottom)); transform: translateX(-50%); background: linear-gradient(to bottom, #1b54e8 0%, #00c4e0 100%); border-radius: 2px; z-index: 0; pointer-events: none;}
.hiring__process__step__section .hiring__process__timeline .timeline__circle__icon{position: relative; z-index: 1;}
.timeline__circle__icon .timeline__circle__icon__inner{width: 15px; height: 15px; background: #fff; border-radius: 50px;}
.timeline__list__item__title{font-size: 24px; font-weight: 600; line-height: 1.5em;}
.timeline__list__item__text p{color:#2F2F2F; font-size: var(--sm-font-size); line-height: 1.55; margin-block-start: 0;}
.bg__color__white.py__80 .bg__color__royal__blue{background-color: var(--bg-color-royal-blue);}

/* --------------------------------------------------------------------------
 * Our Foundation — Purpose, Vision & Values
 * -------------------------------------------------------------------------- */
.foundation__section{background-image: url('../assets/images/inner-banner.svg'); background-size: cover; background-position: center; background-repeat: no-repeat; padding-bottom: 130px;}
.foundation__header__left{max-width: 800px; width: 100%;}
.foundation__header__right{max-width: 715px; width: 100%;}
.foundation__header__right p{font-size: var(--sm-font-size); line-height: 1.65; margin-block-start: 0;}
.foundation__tabs{max-width: 560px; width: 100%; flex-shrink: 0;}
.foundation__tab{background: transparent; border: 0; border-bottom: 1px solid rgba(255, 255, 255, 0.2); border-radius: 0; padding: var(--spacing-32) 0; text-align: left; cursor: pointer; width: 100%; transition: opacity 0.3s ease; align-items: flex-end;}
.foundation__tab:first-child {padding-top: 56px;}
.foundation__tab:last-child {border-bottom: 0;}
.foundation__tab.active .foundation__tab__title{padding-right: 0px;}
.foundation__tab .foundation__tab__title{padding-right: 40px;}
.foundation__tab:not(.active){opacity: 0.45;}
.foundation__tab:not(.active) .foundation__tab__badge,
.foundation__tab:not(.active) .foundation__tab__arrow{display: none;}
.foundation__tab.active{opacity: 1;}
.foundation__tab__badge{margin-block-end: var(--spacing-16); margin-inline-end: 40px;}
.foundation__tab__title{text-align: right; font-size: 28px; line-height: 1.35; width: 100%;}
.foundation__tab__arrow{flex-shrink: 0; width: 24px; top: 8px; position: relative;}
.foundation__tab__arrow img{width: 24px; height: 24px; display: block; -webkit-transform: scale(-1, -1); -moz-transform: scale(-1, -1); -o-transform: scale(-1, -1); transform: scale(-1, -1);}
.foundation__tab__copy{display: none;}
.foundation__media{max-width: 380px; width: 100%; flex-shrink: 0;}

/* react-card-stack-carousel base + foundation overrides */
.foundation__section .rcsc-container{position: relative; display: flex; justify-content: center; perspective: 90em; width: 100%; margin: 0 auto; overflow: visible;}
.foundation__section .rcsc-item{position: absolute; top: 12%; width: 100%; max-width: 380px; aspect-ratio: 3 / 4; transform-origin: center center; transform-style: preserve-3d; will-change: transform, opacity; background: #12151c; box-shadow: 0 20px 48px rgba(0, 0, 0, 0.45); backface-visibility: hidden; -webkit-backface-visibility: hidden; pointer-events: none;}
.foundation__section .rcsc-item img{width: 100%; height: 100%; object-fit: cover; display: block; border-radius: inherit; pointer-events: none; user-select: none; -webkit-user-drag: none;}
.foundation__panel{max-width: 560px; width: 100%; padding-top: 56px; margin:auto;}
.foundation__panel p{font-size: var(--sm-font-size); line-height: 1.65; margin-block-start: 0; opacity: 1; transform: translateY(0); transition: opacity 0.25s ease, transform 0.3s ease;}
.foundation__panel p.is-fading{opacity: 0; transform: translateY(8px);}
.foundation__panel p.is-entering{animation: foundationPanelIn 0.35s ease forwards;}

@keyframes foundationPanelIn{from{  opacity: 0;   transform: translateY(10px); } to{  opacity: 1;   transform: translateY(0); }
}

/* --------------------------------------------------------------------------
 * Our Location
 * -------------------------------------------------------------------------- */
 .our__location__section{padding-bottom: 0px;
 }
.our__location__content{max-width: 787px; width: 100%;}
.our__location__section .our__location__content .heading__wrap{max-width: 550px;}
.our__location__copy p{font-size: var(--sm-font-size); line-height: 1.65; margin-block: 0;}
.our__location__map{max-width: 788px; width: 100%; flex-shrink: 1;}
.our__location__map img{width: 100%; height: auto; display: block;}
.our__location__cards{gap: 25px;}
.our__location__card{padding: 24px 16px; min-width: 0; border: 1px solid #C0C0C0; border-radius: 16px; background: #F6F8FB;}
.our__location__card__flag{width: 82px; height: 82px; flex-shrink: 0; border-radius: 50%; overflow: hidden;}
.our__location__card__flag img{width: 100%; height: 100%; object-fit: cover; display: block;}
.our__location__card__text h3{font-size: 18px; line-height: 1.45;}
.our__location__card__text p{font-size: 14px; line-height: 1.4; margin-block: 0;}
.our__location__card__text h4{font-size: 18px; line-height: 1.35;}

/* --------------------------------------------------------------------------
 * Services page — Our Services overview (vertical tabs + white card)
 * -------------------------------------------------------------------------- */
.services__overview__section{background-color: #05070a;}
.services__overview__header__left{max-width: 800px; width: 100%;}
.services__overview__header__right{max-width: 700px; width: 100%;}
.services__overview__header__right p{font-size: var(--sm-font-size); line-height: 1.65; margin-block: 0;}
.services__overview__nav{max-width: 653px; width: 100%; flex-shrink: 0;}
.services__overview__tab{width: 100%; background: transparent; border: 0; border-bottom: 1px solid #939393; border-radius: 0; padding: 24px 0; text-align: left; cursor: pointer; opacity: 0.7; transition: opacity 0.3s ease;}
.services__overview__tab:last-child{border-bottom: 0; padding-bottom: 0;}
.services__overview__tab.active{opacity: 1;}
.services__overview__tab:not(.active) .services__overview__tab__icon{display: none;}
.services__overview__tab__icon img{width: 56px; height: 56px; display: block; object-fit: contain;}
.services__overview__tab__label{font-size: 26px; line-height: 1.35;}
.services__overview__panels{max-width: 846px; width: 100%;}
.services__overview__panels > .tab-pane{display: none;}
.services__overview__panels > .tab-pane.active,
.services__overview__panels > .tab-pane.show{display: block;}
.services__overview__card{overflow: hidden; box-shadow: 0 20px 60px rgba(0, 0, 0, 0.28); min-height: 420px; padding: 24px; gap: 20px;}
.services__overview__card__content{flex: 1; min-width: 0; display: flex; flex-direction: column; justify-content: center;}
.services__overview__features{list-style: none; margin: 24px 0 0; padding: 0; display: flex; flex-direction: column; row-gap: 32px;}
.services__overview__feature__icon{width: 40px; height: 40px; flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; background: #e4eefc; border-radius: 8px; padding: 8px;}
.services__overview__feature__icon img{width: 100%; display: block;}
.services__overview__features p{font-size: var(--sm-font-size); line-height: 1.55; margin-block: 0;}
.services__overview__card__media{width: 100%; max-width: 360px; flex-shrink: 0; border-radius: 24px;   overflow: hidden;}
.services__overview__card__media img{width: 100%; height: 100%; object-fit: cover; display: block;}
.services__overview__card__content__link{padding-left: 24px;}
.services__overview__card__content__link:hover {color: #fff !important;}

/* Services banner */
.services__banner__description{max-width: 820px; font-family: "Plus Jakarta Sans"; font-weight: 400; font-size: 18px; line-height: 1.65em; margin-block-start: 0; color: #EEEEEE !important;}
.services__banner__description span{color: #FFFFFF !important; font-weight: 500;}
.services__overview__card__content__title{font-size: 24px; line-height: 1.45;}

/* --------------------------------------------------------------------------
 * Testimonials (Slick slider)
 * -------------------------------------------------------------------------- */
.testimonials__section{background-color: #131F37;}
.testimonials__header__left{max-width: 800px; width: 100%;}
.testimonials__intro p{font-size: var(--sm-font-size); line-height: 1.65; margin-block: 0;}
.testimonials__summary{flex-shrink: 0;}
.testimonials__summary__count{font-size: 72px; line-height: 1.15; font-weight: 500; letter-spacing: -1.44px;}
.testimonials__avatars img{width: 40px; height: 40px; border-radius: 50%; object-fit: cover; border: 2px solid #0c192c; margin-left: -20px; display: block;}
.testimonials__avatars img:first-child{margin-left: 0;}
.testimonials__slider:after{content: ''; filter: blur(0px); width: 80px; height: 100%; position: absolute; right: -15px; top: 0; z-index: 1; background: rgba(19, 31, 55, 4.3); background: linear-gradient(90deg, rgba(19, 31, 55, 0) 0%, rgba(19, 31, 55, 1) 50%, rgba(19, 31, 55, 1) 100%);}
.testimonials__slider__wrap{padding-bottom: 96px;}
.testimonials__slider .slick-list{margin: 0 -10px;}
.testimonials__slider .slick-track{display: flex !important;}
.testimonials__slider .slick-slide{height: inherit !important;}
.testimonials__slider .slick-slide > div{height: 100%;}
.testimonials__slide{padding: 0 10px; height: 100%;}
.testimonials__card{background: #1A2B4C; border-radius: 20px; padding: 32px 24px; height: 100%; display: flex; flex-direction: column;}
.testimonials__quote{flex: 1;}
.testimonials__quote p{margin-block: 0; font-size: 20px; font-weight: 400; line-height: 1.65;}
.testimonials__divider{height: 1px; background: #ffffff; background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 50%, rgba(255, 255, 255, 0) 100%); margin-top: 47px; margin-bottom: 24px; opacity: 0.4;}
.testimonials__author__avatar{width: 64px; height: 64px; flex-shrink: 0; border-radius: 50%; overflow: hidden;}
.testimonials__author__avatar img{width: 100%; height: 100%; object-fit: cover; display: block;}
.testimonials__author__name{font-size: 20px;}
.testimonials__author p{margin-block: 0; font-size: 18px; font-weight: 400; line-height: 1.65;}
.testimonials__nav{position: absolute; right: 80px; bottom: 0;}
.testimonials__nav__btn{width: 48px; height: 48px; border-radius: 50%; border: 1px solid #848484; background: transparent; color: #848484; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; transition: background 0.25s ease, border-color 0.25s ease;}
.testimonials__nav__btn:hover{background: rgba(255, 255, 255, 0.08); border-color: #fff;}
.testimonials__nav__btn path{transition: all 0.2s ease;;}
.testimonials__nav__btn:hover path{fill: #fff;}
.testimonials__slider .slick-arrow{display: none !important;}

/* --------------------------------------------------------------------------
 * Services page — Technology stack
 * -------------------------------------------------------------------------- */
.technology__header__left{max-width: 820px; width: 100%;}
.technology__header__right{max-width: 420px; width: 100%;}
.technology__header__right p{font-size: var(--sm-font-size); line-height: 1.65; margin-block: 0;}
.technology__tabs__wrap{width: 100%;}
.technology__tabs{width: 100%; border: 1px solid var(--border-color-light-silver); border-radius: 16px; padding: 8px; gap: 6px; flex-wrap: wrap; background: #fff;}
.technology__tab{flex: 1 1 0; min-width: 140px; border: 0; background: transparent; border-radius: 12px; padding: 14px 18px; font-family: "Plus Jakarta Sans", sans-serif; font-size: 16px; font-weight: 600; color: var(--font-color-faded-black); cursor: pointer; transition: color 0.25s ease, background 0.25s ease, box-shadow 0.25s ease;}
.technology__tab.active{color: #fff; background: linear-gradient(90deg, #1b54e8 0%, #00c4e0 100%);}
.technology__tab:not(.active):hover{background: #f5f7fb;}
.technology__grid{display: grid; grid-template-columns: repeat(8, 1fr); gap: 16px;}
.technology__card{background: #f7f8fa; border: 1px solid #eceff3; border-radius: 16px; padding: 22px 12px 18px; row-gap: 14px; min-height: 128px;}
.technology__card__icon{width: 56px; height: 56px; border-radius: 12px; background: #fff; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 8px rgba(16, 24, 40, 0.06);}
.technology__card__icon img{width: 32px; height: 32px; object-fit: contain; display: block;}
.technology__card p{margin-block: 0; font-size: 14px; font-weight: 500; line-height: 1.3; text-align: center;}

/* --------------------------------------------------------------------------
 * FAQ accordion
 * -------------------------------------------------------------------------- */
 .faq__section{padding-bottom: 0px; }
.faq__layout{position:relative;}
.faq__intro{max-width: 540px; width: 100%; position: sticky; top: 150px; height: fit-content;}
.faq__intro__copy{margin-top: 70px;}
.faq__intro__copy p{font-size: 16px; font-weight: 400; line-height: 1.65; margin-block: 0;}
.faq__accordion{max-width: 788px; width: 100%;}
.faq__item{border-bottom: 1px solid #e6e6e6;}
.faq__question{width: 100%; background: transparent; border: 0; padding: 24px 0; text-align: left; cursor: pointer;}
.faq__item:first-child .faq__question{padding-top: 0 !important;}
.faq__item:first-child{border-top: 0 !important;}
.faq__item:last-child{border-bottom: 0 !important;}
.faq__question__text{color: #606060; font-size: 24px; font-weight: 500; line-height: 1.25;}
.faq__item.is-open .faq__question__text{color: #000;}
.faq__icon{width: 20px; height: 20px; flex-shrink: 0; position: relative; display: inline-flex; align-items: center; justify-content: center;}
.faq__icon img{width: 14px; height: 14px; display: block;}
.faq__icon__minus{display: none !important;}
.faq__item.is-open .faq__icon__minus{display: block !important;}
.faq__item.is-open .faq__icon__plus{display: none !important;}
.faq__answer{max-height: 0; overflow: hidden; transition: max-height 0.35s ease, padding 0.35s ease; padding-bottom: 0;}
.faq__item.is-open .faq__answer{max-height: 220px; padding-bottom: 24px;}
.faq__answer p{margin-block: 0; font-size: 18px; font-weight: 400; line-height: 1.65;}

/* --------------------------------------------------------------------------
 * Services We Provide — service-details page
 * Two-column layout: intro + illustration | stacked service cards
 * -------------------------------------------------------------------------- */

/* Section shell */
.services__provide__section{overflow: hidden;}

/* Main two-column row */
.services__provide__layout{width: 100%;}

/* Left column — heading, copy, graphic */
.services__provide__intro{max-width: 720px; width: 100%;}
.services__provide__copy{margin-bottom:0px;}
.services__provide__copy p{margin-block: 0; font-size: var(--sm-font-size); font-weight: 400; line-height: 1.65; color: var(--font-color-dark-gray);}

/* Illustration under the intro copy */
.services__provide__media{width: 100%; position: relative;}
.services__provide__media img{width: 100%; height: auto; display: block; z-index: 1;   position: relative; border-radius:20px;}
.shape__wrapper{position: absolute; top: 60%; left: 50%; transform: translate(-50%, -50%); z-index: 0; width: 100%;}
.shape__wrapper .shape__holder{ position: relative; width: 100%; height: 100%;}


.shape__overlay__ellipse{width: 200px; height: 200px; position: absolute; filter: blur(180px);}
.shape__overlay__ellipse:nth-child(1){ background: #00C4E0;
top: 0; left: 50%;}
.shape__overlay__ellipse:nth-child(2){ background: #7AD5FF; bottom: 0; left: 30%;}
.shape__overlay__ellipse:nth-child(3){ background: #C8962C; top: 30%; left: 0%;}
.shape__img{width: 100%; height: 100%; opacity: 0.20; /* overall fade, adjust to taste */
 /* radial gradient fade using mask */ -webkit-mask-image: radial-gradient(   ellipse at center,   rgba(0, 0, 0, 1) 0%,   rgba(0, 0, 0, 0.6) 20%,   rgba(0, 0, 0, 0) 60% ); mask-image: radial-gradient(   ellipse at center,   rgba(0, 0, 0, 1) 0%,   rgba(0, 0, 0, 0.6) 20%,   rgba(0, 0, 0, 0) 60% ); -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-size: 100% 100%; mask-size: 100% 100%;}
.shape__img img{width: 100%; height: 100%; object-fit: cover; display: block;}

/* Right column — vertical card stack */
.services__provide__list{max-width: 688px; width: 100%; flex-shrink: 0;}

/* Individual service card */
.services__provide__card{background: #fff; border-radius: 24px;
 transition: border-color 0.25s ease, background 0.25s ease, box-shadow 0.25s ease; padding: 1px;}
.services__provide__card__wrapper{background: #F6F8FB; padding: 24px; border-radius: 24px;}

/* Active / hover state — thin blue border as in the design */
.services__provide__card:hover,
.services__provide__card.is-active{background: #1B54E8; background: linear-gradient(180deg,rgba(27, 84, 232, 1) 0%, rgba(0, 196, 224, 1) 100%);}
.services__provide__card__icon{width: 40px; height: 40px; margin-bottom: 31px;}
.services__provide__card__icon img{width: 100%; height: 100%; display: block; object-fit: contain;}
.services__provide__card__title{font-size: 24px; line-height: 1.35; color: var(--font-color-faded-black); margin-bottom: 10px;}
.services__provide__card__text{margin-block: 0; font-size: 16px; font-weight: 400; line-height: 1.6; color: var(--font-color-dark-gray);}

/* --------------------------------------------------------------------------
 * Process — service-details page
 * Exact design: header + 4-column alternating timeline (above / below center line)
 * -------------------------------------------------------------------------- */

/* Section shell + background art */
.process__section{background-color: #010719; background-image: url("../assets/images/inner-content-bg.svg"); background-size: cover; background-position: center top; background-repeat: no-repeat; overflow: hidden;}

/* Header: title left, intro copy right */
.process__header{align-items: flex-end;}
.process__header__left{max-width: 760px; width: 100%;}
.process__header__left .f__h2 span{display: inline;}
.process__header__right{max-width: 517px; width: 100%;}
.process__header__right p{margin-block: 0; font-size: 18px; font-weight: 400; line-height: 1.65; color: #EEEEEE;}

/* Timeline — four equal columns */
.process__timeline{position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 96px;}

/* Full-width center horizontal rule */
.process__timeline::before{content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 1px; background: #595959; /* transform: translateY(-50%); */ z-index: 1; pointer-events: none;}

/* Each step = 5-row grid: top content | top dash | dot | bottom dash | bottom content */
.process__step{position: relative; display: grid; grid-template-rows: 1fr 0px 0px 0px 1fr; min-height: 520px; z-index: 2;}
.process__step__content{position: relative; max-width: 100%; width: 100%;}
.process__step__icon{width: 32px; height: 32px; margin-bottom: 32px; line-height: 0;}
.process__step__icon img{width: 100%; height: 100%; display: block; object-fit: contain;}
.process__step__title{font-size: 32px; line-height: 1.3; margin-bottom: 12px; letter-spacing: -0.01em;}
.process__step__text{margin-block: 0; font-size: 18px; font-weight: 400; line-height: 1.65; color: rgba(238, 238, 238, 0.93);}
.gradient__line__wrap{position: absolute; left: 10px; bottom: -10px;}
.process__step--bottom .gradient__line__wrap{top: -10px; left: 0;}
.gradient__line{width: 1px; height: 335px; position: relative;}
.process__step--top .gradient__line::before{content: ""; position: absolute; inset: 0;
 /* Your Figma Gradient */ background: linear-gradient(     to bottom,     #1B54E81A 0%,     #00C4E0 100% );
 /* Create the dashes */ -webkit-mask: repeating-linear-gradient(     to bottom,     #000 0px,     #000 12px,     transparent 12px,     transparent 24px );
 mask: repeating-linear-gradient(     to bottom,     #000 0px,     #000 8px,     transparent 8px,     transparent 16px );}
.process__step--bottom .gradient__line::before{content: ""; position: absolute; inset: 0;
 /* Your Figma Gradient */ background: linear-gradient(     to top,     #1B54E81A 0%,     #00C4E0 100% );
 /* Create the dashes */ -webkit-mask: repeating-linear-gradient(     to top,     #000 0px,     #000 12px,     transparent 12px,     transparent 24px );
 mask: repeating-linear-gradient(     to top,     #000 0px,     #000 8px,     transparent 8px,     transparent 16px );}
/* Glowing blue node — centered on the horizontal rule */
/* .process__step__dot{grid-row: 3; justify-self: start; align-self: center; width: 16px; height: 16px; margin-left: 12px; border-radius: 50%; background: #2d67ff; box-shadow:   0 0 0 5px rgba(45, 103, 255, 0.2),   0 0 18px 4px rgba(0, 196, 224, 0.55); z-index: 3;} */

/* Dashed vertical connector aligned under icon center */
/* .process__step__connector{justify-self: start; width: 0; margin-left: 19px; border-left: 1.5px dashed rgba(255, 255, 255, 0.4); z-index: 2;} */

/* Top steps: content above the line */
.process__step--top .process__step__content{grid-row: 1; align-self: end; padding-left: 45px; padding-bottom: 42px;}
.process__step__dot{display: block; width: 19px; height: 19px; border-radius: 100%; background: linear-gradient(180deg, #1B54E8 0%, #00C4E0 100%); backdrop-filter: blur(2px); border: 3px solid #595959; position: absolute; left: -9px;}
.process__step--top .process__step__dot{bottom: 0;}
.process__step--bottom .process__step__dot{top: 0;}
/* .process__step--top .process__step__connector{grid-row: 2; height: 100%;} */

/* .process__step--top .process__step__dot{grid-row: 3;} */

/* Bottom steps: content below the line */
/* .process__step--bottom .process__step__dot{grid-row: 3;} */

/* .process__step--bottom .process__step__connector{grid-row: 4; height: 100%;} */

.process__step--bottom .process__step__content{grid-row: 5; align-self: start; padding-top: 38px; padding-left: 45px; padding-bottom: 31px;}

/* --------------------------------------------------------------------------
 * Tech stack page — Technology Stacks slider
 * -------------------------------------------------------------------------- */
.tech__stacks__header{width: 100%;}
.tech__stacks__header__left{max-width: 720px; width: 100%;}
.tech__stacks__header__right{max-width: 604px; width: 100%;}
.tech__stacks__header__right p{margin-block: 0; font-size: 18px; font-weight: 400; line-height: 1.65; color: #2F2F2F;}
.tech__stacks__slider__wrap{position: relative;}
.tech__stacks__slider .slick-list{margin: 0 -12px;}
.tech__stacks__slider .slick-slide{padding: 0 12px; height: auto;}
.tech__stacks__slider .slick-track{display: flex !important;}
.tech__stacks__slider .slick-slide > div{height: 100%;}
.tech__stacks__slide{height: 100%;}
.tech__stacks__card{height: 100%; border-radius: 28px; padding: 32px 28px 36px; display: flex; flex-direction: column; row-gap: 36px; min-height: 420px; background: #fff; position: relative; overflow: hidden;}
.tech__stacks__slide .tech__stacks__card:before{content: ''; width: 200px; height: 200px; position: absolute; filter: blur(180px); z-index: 0;}
.tech__stacks__slide:nth-child(3n + 1) .tech__stacks__card:before{right: -30%; bottom: -30%; background: #00C4E0;}
.tech__stacks__slide:nth-child(3n + 2) .tech__stacks__card:before{top: -30%; left: -30%; background: #C8962C;}
.tech__stacks__slide:nth-child(3n) .tech__stacks__card:before{left: -30%; bottom: -30%; background: #7AD5FF;}


.tech__stacks__card__head {
z-index: 1;}
.tech__stacks__card__icon{flex-shrink: 0; width: 88px; height: 88px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; padding: 20px;}
.tech__stacks__slide:nth-child(3n + 1) .tech__stacks__card .tech__stacks__card__icon {
background: #F6F8FB;}
.tech__stacks__slide:nth-child(3n + 2) .tech__stacks__card .tech__stacks__card__icon{background: #fff;}
.tech__stacks__slide:nth-child(3n) .tech__stacks__card .tech__stacks__card__icon{background: #F6F8FB;}
.tech__stacks__card__icon img{width: 100%; height: 100%; object-fit: contain; display: block;}
.tech__stacks__card__title{font-size: 24px; line-height: 1.3; color: #000000;}
.tech__stacks__card__subtitle{margin-block-start: 10px; font-size: 14px; line-height: 1.5; color: #000000;}
.tech__stacks__grid{display: flex; gap: 40px; margin-top: auto; z-index: 1; flex-wrap: wrap; justify-content: center;}

/* Center the second row when it has only two items */

.tech__stacks__item{display: flex; flex-direction: column; align-items: center; text-align: center; row-gap: 10px;}
.tech__stacks__item__icon{width: 72px; height: 72px; border-radius: 18px; background: #fff; display: flex; align-items: center; justify-content: center; border: 1px solid #C0C0C0;}
.tech__stacks__item__icon img{width: 36px; height: 36px; object-fit: contain; display: block;}
.tech__stacks__item span{font-size: 18px; line-height: 1.35; color: #303030; font-weight: 400;}
.tech__stacks__nav{width: calc(100% + 120px); position: absolute; bottom: 0; left: -60px;}
.tech__stacks__nav__btn{width: 48px; height: 48px; border-radius: 50%; border: 1px solid #1a1a1a; background: transparent; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; transition: background 0.25s ease, border-color 0.25s ease, color 0.25s ease, opacity 0.25s ease; opacity: 0.5;}
.tech__stacks__nav__btn:hover, .tech__stacks__nav__btn:focus{background: #fff !important; opacity: 1;}
.tech__stacks__nav__btn path{transition: fill 0.25s ease;}
.tech__stacks__nav__btn:hover path{fill: #000;}
.tech__stacks__slider .slick-arrow{display: none !important;}

/* --------------------------------------------------------------------------
 * Industries page — Who We Serve (hub & spoke orbit)
 * -------------------------------------------------------------------------- */
.who__we__serve__header{width: 100%;}
.who__we__serve__header__left{max-width: 720px; width: 100%;}
.who__we__serve__header__right{max-width: 500px; width: 100%;}
.who__we__serve__header__right p{margin-block: 0; font-size: 18px; font-weight: 400; line-height: 1.65; color: #2F2F2F;}
.who__we__serve__item__wrapper{display: flex; flex-wrap: wrap; row-gap: 120px;}
.who__we__serve__item{width: 50%;}
.who__we__serve__item .who__we__serve__item__pin{display: flex; gap: 40px; max-width: 450px; align-items: center;;}
.who__we__serve__item:nth-child(odd) .who__we__serve__item__pin{flex-direction: row-reverse; margin-right: auto;}
.who__we__serve__item:nth-child(even) .who__we__serve__item__pin{flex-direction: row; margin-left: auto;}
.who__we__serve__item:nth-child(odd) .who__we__serve__item__title{text-align: right;}
.who__we__serve__item:nth-child(odd) .who__we__serve__item__text{ text-align: right;}
.who__we__serve__item:nth-child(even) .who__we__serve__item__title{text-align: left;}
.who__we__serve__item:nth-child(even) .who__we__serve__item__text{ text-align: left;}
.who__we__serve__item:nth-child(1) .who__we__serve__item__pin{transform: translateX(120px);}
.who__we__serve__item:nth-child(2) .who__we__serve__item__pin{ transform: translateX(-120px);}
.who__we__serve__item:nth-child(3) .who__we__serve__item__pin{transform: translateX(40px);}
.who__we__serve__item:nth-child(4) .who__we__serve__item__pin{transform: translateX(-40px);}
.who__we__serve__item:nth-child(5) .who__we__serve__item__pin{  transform: translateX(120px);}
.who__we__serve__item:nth-child(6) .who__we__serve__item__pin{transform: translateX(-120px);}
.dotted__circle img{width: 100%;}
.who__we__serve__hub__wrap{position: absolute; top: 50%;           left: 50%;          transform: translate(-50%, -50%);}
.who__we__serve__orbit{position: relative;}
.who__we__serve__orbit .shape__wrapper{top: 50%;}
.who__we__serve__item__icon{width: 88px; height: 88px; flex: 0 0 88px; background: #E4EEFC; display: flex; align-items: center; justify-content: center; border-radius: 50%; padding: 20px;}


.who__we__serve__hub__middle__icon{position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); background: #fff; padding: 30px; border-radius: 16px; box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.25);}


.featured__industry__slider__section {
overflow: hidden;
padding-bottom: 96px;}
.featured__industry__slider__section .project__slider .card{box-shadow: 0 4px 69.9px 0 rgba(0, 0, 0, 0.12); border: 0;}

/* --------------------------------------------------------------------------
 * Industries page — Expertise comparison (Frontier vs Traditional)
 * -------------------------------------------------------------------------- */
 .expertise__compare__section{padding-bottom: 96px;
 }
.expertise__compare__header{width: 100%;}
.expertise__compare__header__left{max-width: 748px; width: 100%;}
.expertise__compare__header__left .f__h2 span{display: block;}
.expertise__compare__header__right{max-width: 622px; width: 100%; padding-bottom: 4px;}
.expertise__compare__header__right p{margin-block: 0; font-size: 18px; font-weight: 400; line-height: 1.65; color: #2F2F2F;}
.expertise__compare__grid{display: flex; flex-wrap: wrap; align-items: start; margin-top: 45px;}
.expertise__compare__col{width: 35%;}
.expertise__compare__col .expertise__compare__list{width: 555px;}
.expertise__compare__vs{width: 30%;}
.expertise__compare__col__title{font-size: 24px; line-height: 1.3; color: #000000; margin-block-end: 0; padding-block-end: 24px;}
.expertise__compare__list{list-style: none; margin: 0; padding: 0;}
.expertise__compare__item{display: flex; align-items: flex-start; align-items: center; column-gap: 14px; padding-block: 16px; border-bottom: 1px solid #A4A3A3;}
.expertise__compare__item:last-child{border-bottom: 0; padding-block-end: 0;}
.expertise__compare__icon{flex-shrink: 0; width: 20px; height: 20px; margin-block-start: 2px; display: inline-flex; align-items: center; justify-content: center;}
.expertise__compare__icon img{width: 20px; height: 20px; display: block;}
.expertise__compare__text{font-size: 18px; line-height: 1.65; color: #000000; font-weight: 400;}
.expertise__compare__vs{display: flex; align-items: stretch; justify-content: center; align-self: stretch; padding-block-start: 0;}
.expertise__compare__vs__card{width: 100%; max-width: 235px; height: 100%; min-height: 100%; padding: 40px 28px; border-radius: 24px; background: #EBF0FE; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; row-gap: 50px;}
.expertise__compare__vs__label{font-size: 22px; line-height: 1.35; color: #000000; max-width: 100%;}
.expertise__compare__vs__badge{width: 64px; height: 64px; border-radius: 50%; background: linear-gradient(180deg, #1B54E8 0%, #00C4E0 100%); display: flex; align-items: center; justify-content: center; flex-shrink: 0; padding: 20px;}
.expertise__compare__vs__badge span{color: #fff; font-size: 18px; font-weight: 700; font-family: "Inter Tight"; line-height: 1;}

/* --------------------------------------------------------------------------
 * Contact page — Our Location Worldwide (header row + full-width map)
 * -------------------------------------------------------------------------- */
.contact__location__top{width: 100%; padding-bottom: 70px;}
.contact__location__top .our__location__content{max-width: 620px; width: 100%;}
.contact__location__intro{max-width: 540px; width: 100%;}
.contact__location__map{width: 100%; max-width: 1200px; margin: 0 auto;}
.contact__location__map img{width: 100%; height: auto; display: block;}

/* --------------------------------------------------------------------------
 * Stories page — Case Studies grid + filter
 * -------------------------------------------------------------------------- */
.case__studies__header{width: 100%; margin-bottom: 32px;}
.case__studies__header__left{max-width: 640px; width: 100%;}
.case__studies__header__right{max-width: 588px; width: 100%; padding-bottom: 4px;}
.case__studies__header__right p{margin-block: 0; font-size: 18px; font-weight: 400; line-height: 1.65; color: #2F2F2F;}
.case__studies__filters{display: flex; flex-wrap: wrap; align-items: center; gap: 24px; padding: 16px; border: 1px solid var(--border-color-light-silver, #e6e6e6); border-radius: 12px; background: #fff; width: fit-content; max-width: 100%;}
.case__studies__filter{border: 0;   background: transparent;   border-radius: 6px;   padding: 10px 16px;   font-family: "Plus Jakarta Sans", sans-serif;   font-size: 18px;   font-weight: 500;   color: var(--font-color-faded-black, #1a1a1a);   cursor: pointer;   transition: color 0.25s ease, background 0.25s ease;   white-space: nowrap;}
.case__studies__filter:hover, .case__studies__filter:focus{background-color:transparent;  color: #000;}
.case__studies__filter.is-active{color: #fff; background: linear-gradient(180deg, #1b54e8 0%, #00c4e0 100%);}
.case__studies__filter:not(.is-active):hover{background: #f5f7fb; color: #000;}
.case__studies__grid{display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 48px;}
.case__studies__card{background: #F6F8FB; border-radius: 24px; padding: 24px; display: flex; flex-direction: column; min-height: 100%; transition: opacity 0.25s ease, transform 0.25s ease;}
.case__studies__card.is-hidden{display: none;}
.case__studies__card__tag{font-family: "Inter Tight"; align-self: flex-start;   display: inline-flex;   align-items: center;   padding: 8px 16px;   border-radius: 8px;   border: 1px solid #D9D9D9;   background: #fff;   font-size: 14px;   line-height: 1.45;   font-weight: 500;   text-transform: uppercase;   color: #3D4753;}
.case__studies__card__logo{display: flex; align-items: center; justify-content: center; min-height: 140px; padding-block: 56px 56px;}
.case__studies__card__logo img{max-width: 100%; max-height: 128px; width: auto; height: auto; object-fit: contain; display: block;}
.case__studies__card__body{display: flex; flex-direction: column; row-gap: 24px; margin-top: auto;}
.case__studies__card__stack{display: flex; align-items: center; column-gap: 8px;}
.case__studies__card__stack img{width: 18px; height: 18px; flex-shrink: 0; display: block;}
.case__studies__card__stack span{font-size: 18px; line-height: 1.4; color: #000000;}
.case__studies__card__title{font-size: 24px; line-height: 1.35; color: #000000;}
.case__studies__card__text{font-size: 18px; line-height: 1.6; color: #606060;}
.case__studies__card__link{appearance: none; -webkit-appearance: none; display: inline-flex; align-items: center; column-gap: 10px; margin-block-start: 8px; padding: 0; border: 0; background: transparent; font-size: 18px; font-weight: 600; font-family: inherit; color: #1b54e8; text-decoration: none; width: fit-content; cursor: pointer;}



.case__studies__card__link__icon{width: 48px; height: 48px; border-radius: 8px; background: #1585EA; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; transition: all 0.5s ease;}
.case__studies__card__link:hover .case__studies__card__link__icon{ transform: translateX(10px);}
.case__studies__card__link__icon img{width: 20px; height: 20px; display: block;}
.case__studies__empty{margin-block-start: 24px; text-align: center; color: var(--font-color-gray, #6b6b6b); font-size: 15px;}
.case__studies__empty[hidden]{display: none;}

/* --------------------------------------------------------------------------
 * Stories page — Case Study detail modal
 * Same shell/layout as career .job__apply__modal details step.
 * Cards feed content via data-* + .case__detail__source (WP-friendly).
 * -------------------------------------------------------------------------- */
.case__detail__source[hidden]{display: none !important;}
.case__study__modal{position: fixed; inset: 0; z-index: 1200; display: flex; align-items: center; justify-content: center; padding: 24px;}
.case__study__modal[hidden]{display: none;}
.case__study__overlay{position: absolute; inset: 0; background: rgba(5, 7, 13, 0.72);}
.case__study__dialog{position: relative; z-index: 1; width: min(880px, 100%); max-height: calc(100vh - 48px); background: #fff; border-radius: 20px; overflow: hidden; box-shadow: 0 24px 80px rgba(0, 0, 0, 0.35);}
.case__study__close{position: absolute; top: 16px; right: 16px; z-index: 3; width: 40px; height: 40px; border: 0; border-radius: 50%; background: #f3f5f8; display: inline-flex; align-items: center; justify-content: center; cursor: pointer;}
.case__study__panel{max-height: calc(100vh - 48px); overflow-y: auto; padding: 40px;}
.case__study__logo{width: 200px; max-width: 40%; margin-block-end: 20px;}
.case__study__logo img{width: 100%; height: auto; display: block; object-fit: contain;}
.case__study__tags{flex-wrap: wrap; margin-block-end: 12px;}
.case__study__tags .case__studies__card__tag{position: static; display: inline-flex;}
.case__study__title{font-size: 28px; line-height: 1.25; color: #1a1a1a; padding-inline-end: 40px;}
.case__study__stack{margin-block-start: 14px; font-size: 15px; color: #6b6b6b;}
.case__study__stack img{width: 18px; height: 18px; display: block;}
.case__study__description{margin-block-start: 24px; color: #2f2f2f; font-size: 15px; line-height: 1.65;}
.case__study__description h4{margin: 20px 0 10px; font-size: 16px; font-weight: 600; color: #1a1a1a;}
.case__study__description p{margin: 0 0 12px;}
.case__study__description ul{margin: 0 0 12px; padding-inline-start: 20px;}
.case__study__description li{margin-block-end: 6px;}

/* Same contact-form blue button treatment as .job__apply__cta */
.case__study__cta{margin-block-start: 28px; width: fit-content; display: inline-flex; align-items: center; justify-content: center; column-gap: 12px; padding: 8px 12px 8px 16px; border: 0; border-radius: 12px; background-color: var(--bg-color-royal-blue, #1b54e8); color: var(--font-color-white, #fff); font-size: var(--sm-font-size, 18px); font-weight: 600; font-family: "Plus Jakarta Sans", sans-serif; line-height: 1.2; text-decoration: none; cursor: pointer; transition: color 0.25s ease;}
.case__study__cta:hover{color: var(--font-color-light-blue, #cfe3ff);}
.case__study__cta__icon{width: 48px; height: 48px; flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; line-height: 0;}
.case__study__cta__icon img{width: 48px; height: 48px; display: block;}

body.is-case-modal-open{overflow: hidden;}

/* --------------------------------------------------------------------------
 * Career page — Open Positions
 * -------------------------------------------------------------------------- */
.open__positions__section{background-color: #05070d; background-image: url("../assets/images/inner-section-bg.svg"); background-size: cover; background-position: center; background-repeat: no-repeat;}
.open__positions__header__left{max-width: 700px; width: 100%;}
.open__positions__header__right{max-width: 715px; width: 100%;}
.open__positions__header__right p{margin-block: 0; font-size: 18px; line-height: 1.65; color: #eee;}
.open__positions__filters{width: 100%;}
.open__positions__search{flex: 1 1 auto; width: 524px;}
.open__positions__select__wrap{flex: 0 0 auto; width: 245px; position: relative;}
.open__positions__control{width: 100%; padding: 21px 24px; border-radius: 16px; border: 1px solid #595959; background: transparent; color: #A2A2A2; font-size: 18px; line-height: 1.65; font-weight: 400; outline: none; transition: border-color 0.2s ease;}
.open__positions__control::placeholder{color: #5F5F5F;}
.open__positions__control:focus{border-color: rgba(21, 133, 234, 0.7);}
.open__positions__select{appearance: none; -webkit-appearance: none; padding-inline-end: 40px; cursor: pointer; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23ffffff' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 16px center; color-scheme: dark;}
.open__positions__select option{background: #0f141d; color: #fff;}
.open__positions__grid{display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-top: 48px;}
.open__positions__card{display: flex; flex-direction: column; padding: 24px; border-radius: 24px; border: 1px solid #595959; background: #090E18;}
.open__positions__card.is-hidden{display: none;}
.open__positions__card__title{font-size: 24px; line-height: 1.3; color: #fff; margin-bottom: 8px;}
.open__positions__card__meta{font-size: 14px; line-height: 1.25; font-weight: 400; color: #FFFFFF; margin-bottom: 16px;}
.open__positions__card__meta span{margin: 0 5px;}
.open__positions__card__tags{flex-wrap: wrap; gap: 10px;}
.open__positions__card__tag{display: inline-flex; align-items: center; padding: 8px; border-radius: 6px; border: 1px solid rgba(255, 255, 255, 0.12); background: #2A2A2A; font-size: 14px; line-height: 1.25; color: #fff; margin-bottom: 24px;}
.open__positions__card__text{font-size: 18px; line-height: 1.65; color: #EEEEEE; margin-bottom: 24px;}
.open__positions__card__link{appearance: none; -webkit-appearance: none; display: inline-flex; align-items: center; justify-content: flex-start; column-gap: 15px; width: 100%; margin-block-start: auto; padding: 8px 0 0; border: 0; background: transparent; font-size: 16px; font-weight: 600; font-family: inherit; color: #fff; text-align: left; text-decoration: none; cursor: pointer;}
.open__positions__card__link__icon{width: 48px; height: 48px; border-radius: 8px; background: #1585ea; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; transition: transform 0.35s ease;}
.open__positions__card__link:hover .open__positions__card__link__icon{transform: translateX(6px);}
.open__positions__card__link__icon img{width: 20px; height: 20px; display: block;}
.open__positions__empty{margin-block-start: 24px; text-align: center; color: rgba(255, 255, 255, 0.65); font-size: 15px;}
.open__positions__empty[hidden]{display: none;}
.visually__hidden{position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;}

/* --------------------------------------------------------------------------
 * Career page — Job Apply Modal (details → form slide)
 * WordPress: keep selectors stable; cards feed content via data-* + .job__detail__source
 * -------------------------------------------------------------------------- */
.job__detail__source[hidden]{display: none !important;}
.job__apply__modal{position: fixed; inset: 0; z-index: 1200; display: flex; align-items: center; justify-content: center; padding: 24px;}
.job__apply__modal[hidden]{display: none;}
.job__apply__overlay{position: absolute; inset: 0; background: rgba(5, 7, 13, 0.72);}
.job__apply__dialog{position: relative; z-index: 1; width: min(880px, 100%); max-height: calc(100vh - 48px); background: #fff; border-radius: 20px; overflow: hidden; box-shadow: 0 24px 80px rgba(0, 0, 0, 0.35);}
.job__apply__close{position: absolute; top: 16px; right: 16px; z-index: 3; width: 40px; height: 40px; border: 0; border-radius: 50%; background: #f3f5f8; display: inline-flex; align-items: center; justify-content: center; cursor: pointer;}
.job__apply__viewport{overflow: hidden; max-height: calc(100vh - 50px);}
.job__apply__track{display: flex; width: 200%; transition: transform 0.45s ease;}
.job__apply__modal.is-form .job__apply__track{transform: translateX(-50%);}
.job__apply__panel{width: 50%; flex-shrink: 0; max-height: calc(100vh - 75px); overflow-y: auto; padding: 40px;}
.job__apply__title{font-size: 28px; line-height: 1.25; color: #1a1a1a; padding-inline-end: 40px;}
.job__apply__meta{margin-block-start: 10px; font-size: 15px; color: #6b6b6b;}
.job__apply__tags{margin-block-start: 16px; flex-wrap: wrap;}
.job__apply__tags .open__positions__card__tag{border-color: #e2e8f0; background: #f5f7fb; color: #2f2f2f;}
.job__apply__description{color: #2f2f2f; font-size: 16px; line-height: 1.65;}
.job__apply__description h4{margin: 20px 0 10px; font-size: 16px; font-weight: 600; color: #1a1a1a;}
.job__apply__description p{margin: 0 0 12px;}
.job__apply__description ul{margin: 0 0 12px; padding-inline-start: 20px;}
.job__apply__description li{margin-block-end: 6px;}

/* Match contact form .btn__wrap__blue look (royal blue + white arrow badge) */
.job__apply__cta{margin-block-start: 28px; width: fit-content; display: inline-flex; align-items: center; justify-content: center; column-gap: 12px; padding: 8px 12px 8px 16px; border: 0; border-radius: 12px; background-color: var(--bg-color-royal-blue, #1b54e8); color: var(--font-color-white, #fff); font-size: var(--sm-font-size, 18px); font-weight: 600; font-family: "Plus Jakarta Sans", sans-serif; line-height: 1.2; cursor: pointer; transition: color 0.25s ease;}
.job__apply__cta:hover{color: var(--font-color-light-blue, #cfe3ff);}
.job__apply__cta__icon{width: 48px; height: 48px; flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; line-height: 0;}
.job__apply__cta__icon img{width: 48px; height: 48px; display: block;}
.job__apply__back{border: 0; background: transparent; color: #1B54E8; font-size: 18px; font-weight: 600; font-family: inherit; padding: 0; margin-block-end: 20px; cursor: pointer;}
.job__apply__form__heading{font-size: 24px; line-height: 1.3; color: #1a1a1a; margin-block-end: 24px; padding-inline-end: 36px;}
.job__apply__form{display: flex; flex-direction: column; row-gap: 16px;}
.job__apply__row{display: flex; gap: 16px;}
.job__apply__row--2 > .job__apply__field{width: 50%;}
.job__apply__field{width: 100%; position: relative;}
.job__apply__field input,
.job__apply__field select,
.job__apply__field textarea{width: 100%; min-height: 64px; padding: 18px 20px; border: 1px solid #d9dee7; border-radius: 12px; background: #fff; color: #1a1a1a; font-size: 18px; font-family: "Plus Jakarta Sans"; outline: none; box-shadow: none; appearance: none; -webkit-appearance: none;}
.job__apply__field textarea{min-height: 140px; resize: vertical;}
.job__apply__field input::placeholder, .job__apply__field textarea::placeholder{color: #5F5F5F;}
.job__apply__field input:focus, .job__apply__field select:focus, .job__apply__field textarea:focus{border-color: #1585ea;}
.job__apply__field--icon input, .job__apply__field--icon select{padding-inline-start: 48px;}
.job__apply__field__icon{position: absolute; left: 18px; top: 50%; transform: translateY(-50%); line-height: 0; pointer-events: none;}
.job__apply__field--select select{padding-inline-end: 44px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%239AA0A6' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 18px center; color: #9aa0a6; cursor: pointer;}
.job__apply__field--select select:valid, .job__apply__field--select select.has-value{color: #1a1a1a;}
.job__apply__attach__btn{display: inline-flex; align-items: center; column-gap: 10px; padding: 16px 32px; border: 1px solid #1B54E8; border-radius: 8px; color: #1B54E8; font-size: 18px; font-weight: 600; cursor: pointer; width: fit-content;}
.job__apply__attach__icon{line-height: 0;}
.job__apply__attach__names{margin-block-start: 8px; font-size: 13px; color: #6b6b6b;}
.job__apply__checks{display: flex; flex-direction: column; row-gap: 12px;}
.job__apply__check{display: flex; align-items: flex-start; column-gap: 10px; font-size: 18px; line-height: 1.35; color: #000000; cursor: pointer;}
.job__apply__check input{margin-block-start: 3px; width: 16px; height: 16px; flex-shrink: 0; accent-color: #1585ea;}
.job__apply__submit{width: fit-content; display: inline-flex; align-items: center; justify-content: center; column-gap: 12px; padding: 12px 12px 12px 24px; border: 0; border-radius: 12px; background-color: var(--bg-color-royal-blue, #1b54e8); color: var(--font-color-white, #fff); font-size: var(--sm-font-size, 18px); font-weight: 600; font-family: "Plus Jakarta Sans", sans-serif; line-height: 1.2; cursor: pointer; transition: color 0.25s ease;}
.job__apply__submit:hover{color: var(--font-color-light-blue, #cfe3ff);}
.job__apply__submit__icon{width: 48px; height: 48px; flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; line-height: 0;}
.job__apply__submit__icon img,
.job__apply__submit__icon svg{width: 48px; height: 48px; display: block;}
.job__apply__privacy{font-size: 18px; line-height: 1.65; color: #606060;}
.job__apply__privacy img{width: 16px; height: 16px; display: block;}

body.is-job-modal-open{overflow: hidden;}

/* --------------------------------------------------------------------------
 * Career page — Culture slider (grouped 2-row grids)
 * -------------------------------------------------------------------------- */
.culture__header__left{max-width: 640px; width: 100%;}
.culture__header__left .f__h2 span{display: block;}
.culture__header__right{max-width: 700px; width: 100%; padding-bottom: 6px;}
.culture__header__right p{margin-block: 0; font-size: 18px; line-height: 1.6; color: #2F2F2F;}
.culture__slider .slick-list{overflow: visible;}
.culture__slide{padding-inline-end: 20px;}
.culture__group{display: grid; gap: 20px;}

/* Group A: wide image top, card + image bottom */
.culture__group--a{grid-template-columns: 1fr 1fr; width: 700px;}
.culture__group--a .culture__cell--span{grid-column: 1 / -1;}

/* Group B: 2×2 equal cells */
.culture__group--b{grid-template-columns: 1fr 1fr; width: 700px;}

/* Group C: single column — image top, card bottom */
.culture__group--c{grid-template-columns: 1fr; width: 340px;}
.culture__cell{height: 354px; border-radius: 16px; overflow: hidden;}
.culture__cell--image img{width: 100%; height: 100%; object-fit: cover; display: block;}
.culture__cell--card{border: 1px solid #C0C0C0;
background: #F6F8FB; padding: 24px; display: flex; flex-direction: column;}
.culture__card__icon{width: 32px; line-height: 1; flex-shrink: 0;}
.culture__card__icon img{width: 100%; display: block;}
.culture__card__title{font-size: 24px; line-height: 1.3; color: #1a1a1a; margin-block-start: auto;}
.culture__card__text{margin-block-start: 24px; font-size: 16px; line-height: 1.6; color: #606060;}
.culture__slider .slick-arrow{display: none !important;}
.culture__nav{margin-top: 32px;}
.culture__nav__btn{width: 44px; height: 44px; border-radius: 50%; border: 1px solid #1a1a1a; background: transparent; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; transition: background 0.25s ease; padding:10px;}
.culture__nav__btn svg{width: 15px; height: 15px;}
.culture__nav__btn path{transition: fill 0.25s ease;}
.culture__nav__btn:hover{background: #1a1a1a;}
.culture__nav__btn:hover path{fill: #fff;}

/* --------------------------------------------------------------------------
 * Blog Details page — Banner
 * WordPress: map title / excerpt / author / date / featured image from post.
 * Background: assets/images/inner-banner-v2.svg
 * -------------------------------------------------------------------------- */
.blog__details__banner{background-image: url("../assets/images/inner-banner.svg"); background-size: cover; background-position: center; background-repeat: no-repeat; padding-block: 160px 80px;}
.blog__details__banner__layout{width: 100%;}
.blog__details__banner__content{max-width: 788px; width: 100%;}
.blog__details__banner__badge{padding: 8px 16px; border: 1px solid rgba(0, 0, 0, 0.31); border-radius: 8px; background: #F5F5F5; font-size: 14px; line-height: 1.45; font-weight: 500; color: #2f2f2f; width: fit-content;}
.blog__details__banner__badge__icon{width: 16px; line-height: 1;}
.blog__details__banner__badge__icon img{width: 100%; display: block;}
.blog__details__banner__title{margin-block-start: 24px; font-size: 80px; line-height: 1.15; color:#fff;}
.blog__details__banner__title span{font-family: "Instrument Serif", serif; font-style: italic; font-weight: 400;}
.blog__details__banner__title span span{color: var(--font-color-dark-golden, #c8962c);}
.blog__details__banner__excerpt{margin-block-start: 24px; }
.blog__details__banner__excerpt p{margin-block: 0; font-size: 18px; line-height: 1.65; color: #FFF;}
.blog__details__banner__meta{margin-block-start: 32px; padding-block-start: 32px; border-top: 1px solid #D9D9D9; column-gap: 24px; row-gap: 16px;}
.blog__details__banner__avatar{width: 50px; height: 50px; border-radius: 50%; object-fit: cover; display: block; flex-shrink: 0; background: #1B54E8; background: linear-gradient(180deg, rgba(27, 84, 232, 1) 0%, rgba(0, 196, 224, 1) 100%); padding: 2px;}
.blog__details__banner__author__name{font-size: 18px;   font-weight: 500;   line-height: 1.3;   color: #FFF;   margin-bottom: 12px;}
.blog__details__banner__author__role{font-size: 14px; font-weight: 400; line-height: 1.35; color: #FFF;}
.blog__details__banner__date{font-size: 14px; color: #FFF; flex-shrink: 0;}
.blog__details__banner__date svg{display: block;}
.blog__details__banner__date svg path{stroke:#fff;}
.blog__details__banner__media{max-width: 746px; width: 100%; flex-shrink: 0; border-radius: 24px; overflow: hidden; line-height: 0;}
.blog__details__banner__media img{width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; display: block;}

/* --------------------------------------------------------------------------
 * Blog page — Latest Articles (filters + grid)
 * WordPress: loop .blog__filter__group / [data-blog-filter] and [data-blog-card]
 * Keep data-categories / data-date / data-title attrs for JS filtering.
 * -------------------------------------------------------------------------- */
 .blog__articles__header{margin-bottom: 24px; }
.blog__articles__header__left{max-width: 588px; width: 100%;}
.blog__articles__header__left .f__h2 span{display: inline;}
.blog__articles__header__right{max-width: 588px; width: 100%;}
.blog__articles__header__right p{margin-block: 0; font-size: 18px; line-height: 1.65; color: #2F2F2F;}
.blog__articles__toolbar{width: 100%; justify-content: space-between; margin-bottom: 56px;}
.blog__articles__search{position: relative; width: 588px;}
.blog__articles__search__icon{position: absolute; left: 18px; top: 50%; transform: translateY(-50%); line-height: 0; pointer-events: none;}
.blog__articles__search__input,
.blog__articles__sort__select{width: 100%; border: 1px solid #D9D9D9; border-radius: 16px; background: #fff; color: #5F5F5F; font-size: 18px; outline: none;}
.blog__articles__search__input{padding: 21px 18px 21px 50px;}
.blog__articles__search__input::placeholder{color: #5F5F5F;}
.blog__articles__search__input:focus, .blog__articles__sort__select:focus{border-color: #D9D9D9;}
.blog__articles__sort{width: 588px; position: relative;}
.blog__articles__sort__select{width: 160px; appearance: none; -webkit-appearance: none; padding: 21px 24px; cursor: pointer; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%231A1A1A' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 18px center;}
.blog__articles__layout{align-items: flex-start; gap: 24px;}
.blog__articles__sidebar{flex: 0 0 382px; width: 382px;}
.blog__filters{border: 1px solid #D9D9D9; border-radius: 16px; padding: 24px; background: #fff;}
.blog__filters__title{font-size: 36px; line-height: 1.2; color: #1a1a1a; padding-bottom: 16px; margin-bottom: 32px; border-bottom: 1px solid #D9D9D9;}
.blog__filter__group{margin-block-start: 24px;}
.blog__filter__group__label{font-size: 18px; font-weight: 400; color: #5F5F5F; margin-block-end: 16px;}
.blog__filter__list{list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; row-gap: 16px;}
.blog__filter__item{display: flex; align-items: center; column-gap: 10px; font-size: 18px; font-weight: 400; line-height: 1.35; color: #000000; cursor: pointer;}
.blog__filter__item--all{margin-block-end: 4px; font-weight: 500;}
.blog__filter__item input{width: 18px; height: 18px; flex-shrink: 0; accent-color: #1B54E8; cursor: pointer;}
.blog__articles__main{flex: 1 1 auto; min-width: 0;}
.blog__articles__grid{display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px 24px;}
.blog__article__card{display: flex; flex-direction: column; row-gap: 24px;}
.blog__article__card.is-hidden{display: none;}
.blog__article__card__media{display: block; border-radius: 16px; overflow: hidden; aspect-ratio: 4 / 3; background: #f3f5f8;}
.blog__article__card__media img{width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.35s ease;}
.blog__article__card:hover .blog__article__card__media img{transform: scale(1.04);}
.blog__article__card__meta{font-size: 14px; color: #000000;}
.blog__article__card__meta__item{display: inline-flex; align-items: center; column-gap: 6px;}
.blog__article__card__title{font-size: 24px; line-height: 1.35; color: #000;}
.blog__details__body .wp-block-list li{font-size:18px; margin-bottom:16px;}
.blog__article__card__title a{color: inherit; text-decoration: none;}
.blog__article__card__title a:hover{color: #1B54E8;}
.blog__article__card__author{margin-block-start: auto; font-size: 18px; color: #000000; font-weight: 500;}
.blog__article__card__avatar{width: 50px; height: 50px; border-radius: 50%; object-fit: cover; display: block; background: #1B54E8; background: linear-gradient(180deg, rgba(27, 84, 232, 1) 0%, rgba(0, 196, 224, 1) 100%); padding: 2px;}
.blog__articles__empty{margin-block-start: 24px; text-align: center; color: #6b6b6b; font-size: 15px;}
.blog__articles__empty[hidden]{display: none;}

/* Blog pagination — circular controls, right-aligned under the grid */
.blog__articles__pagination{display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 14px; margin-top: 56px;}
.blog__articles__pagination[hidden]{display: none;}
.blog__articles__page__btn{width: 48px; height: 48px; border-radius: 50%; border: 1px solid #848484; background: #fff; color: #1a1a1a; font-size: 18px; font-weight: 500; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; transition: border-color 0.2s ease, background 0.2s ease, color 0.2s ease; padding:5px;}
.blog__articles__page__btn:hover:not(:disabled){border-color: #1a1a1a;}
.blog__articles__page__btn.is-active{border-color: #1a1a1a; border-width: 1px; font-weight: 600;}
.blog__articles__page__btn:disabled{opacity: 0.4; cursor: not-allowed;}
.blog__articles__page__btn svg{width: 32px; height: 32px; display: block;}

/* --------------------------------------------------------------------------
 * Blog Details — Article body + TOC + share + Related Blogs
 * WordPress hooks (do not rename without updating PHP/JS):
 *   [data-blog-details-banner] [data-field="..."]
 *   [data-blog-details-content] [data-blog-toc-auto] [data-blog-heading]
 *   [data-share] [data-blog-post-nav] [data-blog-related]
 * -------------------------------------------------------------------------- */
.blog__details__content__layout{align-items: flex-start; gap: 24px;}
.blog__details__sidebar{flex: 0 0 382px; width: 382px; position: sticky; top: 120px;}
.blog__details__toc{border-radius: 24px; border: 1px solid #D9D9D9; background: #F6F8FB; padding: 32px; overflow: hidden;}
.blog__details__toc__label{font-size: 18px; font-weight: 500; color: #000000; margin-block-end: 24px;}
.blog__details__toc__nav{display: flex; flex-direction: column; row-gap: 24px;}
.blog__details__toc__link{position: relative; font-size: 18px; line-height: 1.45; color: #2f2f2f; text-decoration: none; transition: color 0.2s ease;}
.blog__details__toc__link::before{content: "";   position: absolute;   left: -34px;   top: 0;   width: 6px;   height: 100%;   border-radius: 16px;   background: transparent;   transition: background 0.2s ease;}
.blog__details__toc__link:hover,
.blog__details__toc__link.is-active{color: #1a1a1a;}
.blog__details__toc__link.is-active::before{background: #1b54e8;}
.blog__details__share__label{font-size: 18px; font-weight: 600; color: #000000; font-weight: 500; margin-top: 24px;}
.blog__details__share__btn{width: 40px; height: 40px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; line-height: 0; background: #1f4247; transition: transform 0.2s ease, opacity 0.2s ease, background-color 0.2s ease;}
.blog__details__share__btn{ border-radius: 20px;
background: linear-gradient(180deg, #1B54E8 0%, #00C4E0 100%);}


.blog__details__share__btn img{width: 20px; height: 20px; display: block;}
.blog__details__share__btn:hover{transform: translateY(-2px); opacity: 0.92;}
.blog__details__share__btn.is-copied{outline: 2px solid #1b54e8; outline-offset: 2px;}
.blog__details__article{flex: 1 1 auto;}
.blog__details__block + .blog__details__block{margin-block-start: 48px;}
.blog__details__article h2{ font-size: 48px; line-height: 1.25; color: #000000; margin-block-end: 32px;}
.blog__details__body p{margin: 0 0 18px; font-size: 18px; line-height: 1.65; color: #2f2f2f;}
.blog__details__body p:last-child{margin-block-end: 0;}
.blog__details__figure{margin: 28px 0 0; border-radius: 32px; overflow: hidden; line-height: 0;}
.blog__details__figure img{width: 100%; height: auto; display: block; object-fit: cover;}
.blog__details__heading + .blog__details__figure,
.blog__details__body + .blog__details__figure{margin-block-start: 28px;}
.blog__details__figure + .blog__details__heading{margin-block-start: 36px;}
.blog__details__post__nav{margin-block-start: 48px; padding-block-start: 21px; border-top: 1px solid #D9D9D9;}
.blog__details__post__nav__link{font-size: 18px; font-weight: 500; color: #000000; text-decoration: none; display: flex; align-items: center; gap: 10px;}
.blog__details__post__nav__link span{line-height: 0;}
.blog__details__post__nav__link.is-disabled,
.blog__details__post__nav__link[aria-disabled="true"]{color: #848484; pointer-events: none; font-weight: 500;}
.blog__details__post__nav__link.is-disabled,
.blog__details__post__nav__link[aria-disabled="true"] svg path{ fill: #848484;}
.blog__related__section{background: #F6F8FB;}
.blog__related__title{font-size: 56px; line-height: 1.2; color: #000000; margin-bottom: 48px;}
.blog__related__grid{display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px;}
.blog__related__card{display: flex; flex-direction: column; height: 100%; text-decoration: none; color: inherit; border-radius: 24px; background: #FFF;}
.blog__related__card__body{padding: 16px;}
.blog__related__card__media{border-radius: 16px; overflow: hidden; aspect-ratio: 4 / 3; background: #fff;}
.blog__related__card__media img{width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.35s ease;}
.blog__related__card:hover .blog__related__card__media img{transform: scale(1.04);}
.blog__related__card__meta{font-size: 14px; color: #000000; margin-top: 8px; margin-bottom: 24px;}
.blog__related__card__meta__item{display: inline-flex; align-items: center; column-gap: 6px;}
.blog__related__card__title{font-size: 24px; font-weight: 400; line-height: 1.35; color: #000000; margin-bottom: 24px;}
.blog__related__card__author{margin-block-start: auto; font-size: 18px; color: #000000; font-weight: 500;}
.blog__related__card__avatar{width: 50px; height: 50px; border-radius: 50%; object-fit: cover; display: block; background: #1B54E8; background: linear-gradient(180deg, rgba(27, 84, 232, 1) 0%, rgba(0, 196, 224, 1) 100%); padding: 2px;}

/* --------------------------------------------------------------------------
 * Our Technology — .tech__stack__slider
 * Desktop: existing CSS grid (unchanged).
 * ≤767px: Slick inits in extended.js; 10px gap via card margins.
 * -------------------------------------------------------------------------- */
.technology__section .tech__stack__slider.slick-initialized{display: block;}
.technology__section .tech__stack__slider .slick-list{margin-inline: -5px;}
.technology__section .tech__stack__slider .slick-track{display: flex !important; align-items: stretch;}
.technology__section .tech__stack__slider .slick-slide{height: auto; box-sizing: border-box;}
.technology__section .tech__stack__slider .slick-slide > div{height: 100%;}
.technology__section .tech__stack__slider.slick-initialized .tech__card{height: 100%; width: calc(100% - 10px) !important; max-width: calc(100% - 10px); margin-inline: 5px !important; box-sizing: border-box;}
.technology__section .tech__stack__slider .slick-dots{display: flex; justify-content: center; align-items: center; column-gap: 8px; margin: 20px 0 0; padding: 0; list-style: none;}
.technology__section .tech__stack__slider .slick-dots li{margin: 0; width: auto; height: auto;}
.technology__section .tech__stack__slider .slick-dots li button{width: 8px; height: 8px; padding: 0; border: 0; border-radius: 50%; background: #c0c0c0; font-size: 0; line-height: 0; cursor: pointer;}
.technology__section .tech__stack__slider .slick-dots li button::before{display: none;}
.technology__section .tech__stack__slider .slick-dots li.slick-active button{background: linear-gradient(180deg, #1b54e8 0%, #00c4e0 100%); width: 22px; border-radius: 999px;}

/* Case Studies Technology — title + text left, single image right */
.case__studies__technology .case__studies__tech__panel{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:48px 64px; align-items:center;}
.case__studies__technology .case__studies__tech__panel--text-only,
.case__studies__technology .case__studies__tech__panel--image-only{grid-template-columns:1fr;}
.case__studies__technology .case__studies__tech__copy h3{margin:0 0 20px; line-height:1.25;}
.case__studies__technology .case__studies__tech__text{color:var(--font-color-dark-gray);}
.case__studies__technology .case__studies__tech__text p{margin:0 0 16px; color:var(--font-color-dark-gray); font-size:var(--sm-font-size); line-height:1.65; font-family:"Plus Jakarta Sans",sans-serif;}
.case__studies__technology .case__studies__tech__text p:last-child{margin-bottom:0;}
.case__studies__technology .case__studies__tech__text ul,
.case__studies__technology .case__studies__tech__text ol{margin:0 0 16px; padding-left:1.25em; color:var(--font-color-dark-gray); font-size:var(--sm-font-size); line-height:1.65;}
.case__studies__technology .case__studies__tech__media{min-width:0;}
.case__studies__technology .case__studies__tech__media img{width:100%; height:400px; aspect-ratio:4 / 3; object-fit:cover; border-radius:var(--corner-radious-24); display:block;}


/*------------------------------------------------------------------- Last Added ---------------------------------------------------------------------*/ .who__we__serve__item .who__we__serve__item__title{font-size: 24px; margin-block-end:var(--spacing-16);}
.who__we__serve__item__content .who__we__serve__item__title{font-size: 24px; margin-block-end:var(--spacing-16);}
.who__we__serve__item__content p{font-size: 18px;}
.case__study__close, .job__apply__close{padding: 10px;}
.case__study__close:hover, .job__apply__close:hover{padding: 10px; background-color: #EBF0FE !important;}
.job__apply__close:focus, .job__apply__close:focus{background-color: #EBF0FE !important;}
.foundation__tab .foundation__tab__title{white-space: wrap;}
.culture__nav .slick-disabled{opacity: .35; cursor:default;}
.culture__nav__btn:hover path, .culture__nav__btn:focus path{fill:#000;}
.open__positions__control{padding: 21px 24px !important; border-radius: 16px !important;}
.job__apply__cta:hover, .job__apply__cta:focus, .job__apply__submit:hover, .job__apply__submit:focus, .btn__wrap__blue:hover, .btn__wrap__blue:focus{background-color: var(--bg-color-royal-blue) !important; color:#fff;}
.job__apply__back:hover, .job__apply__back:focus{color:var(--font-color-blue) !important;}
.hero__content .bg__color__deep__gray.border__solid__platinum.border__radius__08.d__inline__flex{text-transform:capitalize !important;}
#blog-articles-search{padding-left:50px; border-radius: 16px; height: 72px; border: 1px solid #D9D9D9;}
