:root {
    /* Boxicons v3 SVG CDN (https://cdn.boxicons.com/3.0.8/svg/<pack>/<icon>.svg) */
    --bpIcons-font-family: "boxicons", "bpIcons";
    --bpIcons-icon-arrow: url("https://cdn.boxicons.com/3.0.8/svg/basic/bx-right-arrow.svg");
    --bpIcons-icon-baseplus-u: url("https://cdn.boxicons.com/3.0.8/svg/basic/bx-letter-u.svg");
    --bpIcons-icon-check: url("https://cdn.boxicons.com/3.0.8/svg/basic/bx-check.svg");
    --bpIcons-icon-chevron: url("https://cdn.boxicons.com/3.0.8/svg/basic/bx-chevron-right.svg");
    --bpIcons-icon-close: url("https://cdn.boxicons.com/3.0.8/svg/basic/bx-x.svg");
    --bpIcons-icon-envelope: url("https://cdn.boxicons.com/3.0.8/svg/basic/bx-envelope.svg");
    --bpIcons-icon-facebook: url("https://cdn.boxicons.com/3.0.8/svg/brands/bx-facebook.svg");
    --bpIcons-icon-google-g: url("https://cdn.boxicons.com/3.0.8/svg/brands/bx-google.svg");
    --bpIcons-icon-instagram: url("https://cdn.boxicons.com/3.0.8/svg/brands/bx-instagram.svg");
    --bpIcons-icon-linkedin: url("https://cdn.boxicons.com/3.0.8/svg/brands/bx-linkedin.svg");
    --bpIcons-icon-phone: url("https://cdn.boxicons.com/3.0.8/svg/basic/bx-phone.svg");
    --bpIcons-icon-play-button: url("https://cdn.boxicons.com/3.0.8/svg/basic/bx-play.svg");
    --bpIcons-icon-plus: url("https://cdn.boxicons.com/3.0.8/svg/basic/bx-plus.svg");
    --bpIcons-icon-quote-end: url("https://cdn.boxicons.com/3.0.8/svg/basic/bx-quote-right.svg");
    --bpIcons-icon-quote-start: url("https://cdn.boxicons.com/3.0.8/svg/basic/bx-quote-left.svg");
    --bpIcons-icon-search: url("https://cdn.boxicons.com/3.0.8/svg/basic/bx-search.svg");
    --bpIcons-icon-settings: url("https://cdn.boxicons.com/3.0.8/svg/basic/bx-cog.svg");
    --bpIcons-icon-share: url("https://cdn.boxicons.com/3.0.8/svg/basic/bx-share.svg");
    --bpIcons-icon-star-half: url("https://cdn.boxicons.com/3.0.8/svg/basic/bx-star-half.svg");
    --bpIcons-icon-star: url("https://cdn.boxicons.com/3.0.8/svg/basic/bx-star.svg");
    --bpIcons-icon-tiktok: url("https://cdn.boxicons.com/3.0.8/svg/brands/bx-tiktok.svg");
    --bpIcons-icon-whatsapp: url("https://cdn.boxicons.com/3.0.8/svg/brands/bx-whatsapp.svg");
}

@font-face {
    font-family: 'Mont';
    src: url('../fonts/Mont-SemiBold.eot');
    src: url('../fonts/Mont-SemiBold.eot?#iefix') format('embedded-opentype'),
        url('../fonts/Mont-SemiBold.woff2') format('woff2'),
        url('../fonts/Mont-SemiBold.woff') format('woff'),
        url('../fonts/Mont-SemiBold.ttf') format('truetype'),
        url('../fonts/Mont-SemiBold.svg#Mont-SemiBold') format('svg');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Manrope';
    src: url('../fonts/Manrope-VariableFont_wght.woff2') format('woff2');
    font-weight: 200 800;
    font-style: normal;
    font-display: swap;
}

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  vertical-align: baseline;
  list-style: none outside none;
  text-decoration: none;
  border: 0;
  outline: none;
  box-sizing: border-box;
}
* {
  vertical-align: top;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  color: #0E0E0E;
}
body{
  background: #0f1720;
}
body.search-open{
  overflow:hidden;
	height: 100vh;
}
html,
body {
  overflow-x: clip;
}

.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

strong {
    font-weight: 500;
}
.montserrat-font-class {
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}
h2{
  font-family: "Lato", sans-serif;
  font-weight: 700;
  font-size: 35px;
  line-height: 42px;
}
h3{
  font-family: "Montserrat", sans-serif;
  font-size: 25px;
  line-height: 32px;
  font-weight: 400;
}
/* HEADER */
header{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  padding-top: 45px;
  padding-bottom: 25px;
  z-index:10;
  /* background: transparent linear-gradient(92deg, #FFFFFF33 0%, #FCFCFC33 47%, #FFFCFC4D 100%) 0% 0% no-repeat padding-box;
  border-bottom:1px solid #707070; */
  transition: padding 0.25s ease, background-color 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease, backdrop-filter 0.25s ease;
}
header.header-scrolled{
  position: fixed;
  padding-top: 19px;
  padding-bottom: 25px;
  background: rgba(8, 14, 22, 0.94);
  border-bottom-color: rgba(255, 255, 255, 0.12);
  box-shadow: 0 12px 34px rgba(0, 0, 0, 0.26);
/*   backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px); */
}
.container-holder {
  max-width: 1440px;
  width: 100%;
  height: auto;
  margin:0 auto;
  padding-left: 20px;
  padding-right: 20px;
}
.content-holder{
  display:flex;
  height: auto;
  flex-wrap: wrap;
  display: -ms-flexbox;
  -ms-flex-wrap: wrap;
  padding-top: 50px;
  padding-bottom: 50px;;
}
header .content-holder{
  justify-content:space-between;
  align-items:center;
  padding-top: 0px;
  padding-bottom: 0px;
}
.header-actions{
  display:flex;
  align-items:center;
  gap:18px;
}
.logo{
  max-width: 200px;
  height: auto;
  transition: max-width 0.25s ease;
}
.logo a{
  display: block;
}
.logo img{
 width: 100%;
 display: block;
}
header.header-scrolled .logo{
  max-width: 165px;
}
nav{
  display:block;
}
.header-search-toggle{
  width: 49px;
  height: 45px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255, 255, 255, 0.22);
  border-radius:16px;
  background:rgba(255, 255, 255, 0.06);
  cursor:pointer;
  transition:background-color 0.22s ease, border-color 0.22s ease, transform 0.22s ease;
}
.header-search-toggle i{
  font-size:24px;
  color:#FFFFFF;
}
.header-search-toggle:hover,
.header-search-toggle:focus-visible{
  background:rgba(102, 199, 240, 0.12);
  border-color:rgba(102, 199, 240, 0.55);
  outline:none;
}
.mobile-menu-toggle{
  display:none;
}
.header-search-panel {
  position: fixed;
  inset: 0;
  width: 100vw;
  height: 100vh;
  padding: 132px 40px 40px;
  background: #0b1320;
  overflow-y: auto;
  z-index: 9999;
  opacity: 0.8;
  visibility: hidden;
  pointer-events: none;
  clip-path: circle(0vmax at calc(100% - 65px) 55px);
  transition:
    clip-path 1s cubic-bezier(0.76, 0, 0.24, 1),
    opacity 0.2s ease,
    visibility 0s linear 0.9s;
}

.header-search-panel.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  clip-path: circle(150vmax at calc(100% - 65px) 55px);
  transition:
    clip-path 1s cubic-bezier(0.76, 0, 0.24, 1),
    opacity 0.2s ease,
    visibility 0s linear 0s;
}
.header-search-form,
.header-search-topics {
  opacity: 0;
  transform: translateY(32px);
  transition:
    opacity 0.45s ease 0.25s,
    transform 0.45s ease 0.25s;
}

.header-search-panel.is-open .header-search-form,
.header-search-panel.is-open .header-search-topics {
  opacity: 1;
  transform: translateY(0);
}
body.search-open {
  overflow: hidden;
}
section.partners {
    padding: 0px 20px;
}
.partners + .partners .logos-track {
    animation-direction: reverse;
}

.header-search-close{
  position:absolute;
  top:32px;
  right:32px;
  width:56px;
  height:56px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255, 255, 255, 0.18);
  border-radius:16px;
  background:rgba(255, 255, 255, 0.06);
  cursor:pointer;
  transition:background-color 0.22s ease, border-color 0.22s ease, transform 0.22s ease;
  z-index:2;
}
.header-search-close i{
  font-size:28px;
  color:#FFFFFF;
}
.header-search-close:hover,
.header-search-close:focus-visible{
  background:rgba(102, 199, 240, 0.12);
  border-color:rgba(102, 199, 240, 0.55);
  outline:none;
}
.header-search-form{
  display:flex;
  align-items:center;
  gap:12px;
  width:min(100%, 1440px);
  margin:0 auto;
}
.header-search-input{
  flex:1 1 auto;
  min-width:0;
  padding:16px 18px;
  border:1px solid rgba(255, 255, 255, 0.12);
  border-radius:16px;
  background:rgba(255, 255, 255, 0.05);
  color:#FFFFFF;
  font-size:17px;
  line-height:24px;
}
.header-search-input::placeholder{
  color:rgba(255, 255, 255, 0.58);
}
.header-search-input:focus{
  border-color:rgba(102, 199, 240, 0.55);
  box-shadow:0 0 0 4px rgba(102, 199, 240, 0.12);
}
.header-search-submit{
  padding:16px 22px;
  border:1px solid #FF714A;
  border-radius:16px;
  background:#FF714A;
  color:#FFFFFF;
  font-size:16px;
  line-height:20px;
/*   font-weight:700; */
  font-family:"Montserrat", sans-serif;
  cursor:pointer;
  transition:transform 0.22s ease, background-color 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease;
}
.header-search-submit:hover,
.header-search-submit:focus-visible{
  background:#FF7F59;
  border-color:#FF7F59;
  transform:translateY(-1px);
  box-shadow:0 12px 30px rgba(242, 95, 56, 0.24);
  outline:none;
}
.header-search-topics{
  width:min(100%, 1440px);
  margin:18px auto 0;
}
.header-search-topics-title{
  margin-bottom:12px;
  color:#FFFFFF;
  font-size:14px;
  line-height:18px;
  letter-spacing:0.08em;
  text-transform:uppercase;
  opacity:0.72;
}
.header-search-topics-list{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
}
.header-search-topic-item{
  width:100%;
}
.header-search-topic-link{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  padding:16px 18px;
  border:1px solid rgba(255, 255, 255, 0.08);
  border-radius:18px;
  background:rgba(255, 255, 255, 0.04);
  transition:border-color 0.22s ease, background-color 0.22s ease, transform 0.22s ease;
}
.header-search-topic-link span{
  color:#FFFFFF;
}
.header-search-topic-label{
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:4px;
}
.header-search-topic-link:hover,
.header-search-topic-link:focus-visible{
  background:rgba(102, 199, 240, 0.1);
  border-color:rgba(102, 199, 240, 0.38);
  transform:translateY(-1px);
  outline:none;
}
.header-search-empty{
  margin-top:12px;
  color:rgba(255, 255, 255, 0.72);
  font-size:15px;
  line-height:22px;
}

.search-results-page{
  min-height:100vh;
  background:#F7F9FC;
}
.search-results-hero{
  padding:190px 0 48px;
  background:linear-gradient(180deg, #0B1320 0%, #101D30 100%);
}
.search-results-hero-inner{
  width:min(100%, 980px);
}
.search-results-kicker{
  margin-bottom:14px;
  color:#66C7F0;
  font-size:14px;
  line-height:18px;
  letter-spacing:0.08em;
  text-transform:uppercase;
}
.search-results-hero h1{
  color:#FFFFFF;
  font-size:clamp(38px, 5vw, 64px);
  line-height:1.02;
}
.search-results-summary{
  margin-top:16px;
  color:rgba(255, 255, 255, 0.72);
  font-size:18px;
  line-height:28px;
}
.search-results-form{
  display:flex;
  align-items:center;
  gap:12px;
  width:min(100%, 760px);
  margin-top:28px;
}
.search-results-form input{
  flex:1 1 auto;
  min-width:0;
  padding:16px 18px;
  border:1px solid rgba(255, 255, 255, 0.16);
  border-radius:16px;
  background:rgba(255, 255, 255, 0.08);
  color:#FFFFFF;
  font-size:17px;
  line-height:24px;
}
.search-results-form input::placeholder{
  color:rgba(255, 255, 255, 0.54);
}
.search-results-form button{
  padding:16px 22px;
  border:0;
  border-radius:16px;
  background:#FFFFFF;
  color:#0B1320;
  font-size:16px;
  line-height:20px;
  font-weight:700;
  cursor:pointer;
}
.search-results-section{
  padding:42px 0 80px;
}
.search-results-list{
  width:min(100%, 980px);
}
.search-results-item{
  border-bottom:1px solid #D8DFEA;
}
.search-results-link{
  display:block;
  width:100%;
  padding:24px 0 22px;
}
.search-results-link-topline{
  display:block;
  margin-bottom:10px;
  color:#64748B;
  font-size:13px;
  line-height:18px;
  letter-spacing:0.06em;
  text-transform:uppercase;
}
.search-results-link-title{
  display:inline;
  color:#0E1726;
  font-family:"Montserrat", sans-serif;
  font-size:28px;
  line-height:36px;
  font-weight:700;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:6px;
  transition:color 0.22s ease;
}
.search-results-link-excerpt{
  display:block;
  max-width:760px;
  margin-top:12px;
  color:#4B5563;
  font-size:16px;
  line-height:26px;
}
.search-results-link:hover .search-results-link-title,
.search-results-link:focus-visible .search-results-link-title{
  color:#005B83;
}
.search-results-link:focus-visible{
  outline:none;
}
.search-results-empty{
  width:min(100%, 760px);
  padding:12px 0 24px;
}
.search-results-empty h2{
  color:#0E1726;
}
.search-results-empty p{
  margin-top:12px;
  color:#4B5563;
  font-size:16px;
  line-height:26px;
}
.search-results-pagination{
  width:min(100%, 980px);
  margin-top:28px;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.search-results-pagination .page-numbers{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:44px;
  min-height:44px;
  padding:10px 14px;
  border:1px solid #D8DFEA;
  border-radius:999px;
  color:#0E1726;
  background:#FFFFFF;
}
.search-results-pagination .page-numbers.current{
  border-color:#0E1726;
}
.nav-list{
  display:flex;
  align-items:baseline;
  gap:35px;
}
nav a{
  text-decoration:none;
  color:white;
  font-size:22px;
  line-height: 27px;
  transition: color 0.22s ease, opacity 0.22s ease;
}
a.mega-menu-item.is-active::after {
    content: '';
    width: 10px;
    height: 10px;
    background: #66c6ef;
    border-radius: 100%;
    position: absolute;
    right: 14px;
}

.nav-link{
  position: relative;
  display: inline-flex;
  align-items: center;
  padding-bottom: 8px;
      font-weight: bold;
    text-transform: uppercase;
	    font-family: Mont;
    font-weight: 300;
}
.nav-link::after{
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 35%;
  height: 2px;
  background: #0098DA;
  border-radius: 999px;
  transform: translateX(-50%) scaleX(0);
  transform-origin: center;
  transition: transform 0.25s ease;
}
.nav-link:hover,
.nav-list > li:hover > .nav-link,
.nav-list li.is-active a,
.nav-dropdown a.is-active ,
.nav-link:focus-visible{
  color: #66C7F0;
}
.nav-link:hover::after,
.nav-list > li:hover > .nav-link::after,
.nav-link:focus-visible::after{
  transform: translateX(-50%) scaleX(1);
}
nav a:hover{
  opacity:1;
}
.cta{
  /* background: transparent linear-gradient(92deg, #0098DA9C 0%, #004C6D96 100%) 0% 0% no-repeat padding-box; */
  padding:10px 20px;
  border-radius:12px;
  /* min-width: 223px; */
  text-align: center;
  color: #FFFFFF;
  border: 1px solid #FFFFFF;
  font-size: 17px;
  line-height: 24px;
  transition: padding 0.25s ease, min-width 0.25s ease, background 0.25s ease, border-color 0.25s ease;
}
header .cta{
 background: #ffffff;
    border-radius: 32px;
    font-weight: 600;
    color: black;
    border: 1px solid #FFFFFF;
}


/* header.header-scrolled .cta{
  min-width: 190px;
  padding-top: 13px;
  padding-bottom: 13px;
  background: linear-gradient(92deg, #0098DA 0%, #005B83 100%);
  border-color: rgba(255, 255, 255, 0.55);
} */

/* MEGA MENU */
.nav-dropdown {
  position: relative;
}
.nav-dropdown-toggle {
  display: flex;
  align-items: center;
  gap: 6px;
}
.dropdown-arrow {
  font-size: 12px;
  color: #fff;
  transition: transform 0.3s ease;
}
.nav-dropdown:hover .dropdown-arrow,
.nav-dropdown.mega-menu-open .dropdown-arrow {
  transform: rotate(180deg);
}
.mega-menu {
  position: absolute;
  top: 100%;
  left: 0px;
  padding-top: 25px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s ease;
  z-index: 100;
}
.nav-dropdown:hover .mega-menu,
.nav-dropdown.mega-menu-open .mega-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.nav-dropdown.mega-menu-closed .mega-menu {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none;
}
.mega-menu-inner {
    display: flex;
    gap: 70px;
    min-width: 864px;
    background: transparent linear-gradient(180deg, #3A3944 0%, #0A070F 100%) 0% 0% no-repeat padding-box;
/*     backdrop-filter: blur(20px); */
    border: 0.5px solid #FFFFFF;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.5);
    padding: 20px 20px 0px 20px;
    overscroll-behavior: contain;
}
.mega-menu-left {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding-bottom: 20px;
}
.mega-menu-left li {
  width: 100%;
}
.mega-menu-item {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    padding: 8px 10px;
    border-radius: 12px;
    width: 100%;
    text-align: left;
    transition: background 0.25s ease, transform 0.25s ease;
    align-content: center;
    flex-wrap: wrap;
	position:relative;
}
 .mega-menu-item:hover,
  .mega-menu-item:focus-visible,
  .mega-menu-item.is-active {
    background:rgba(255, 255, 255, 0.055);
  }
.mega-menu-item:hover,
.mega-menu-item:focus-visible {
  transform: translateX(4px);
}
.mega-menu-icon {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  display:none;
}
.mega-menu-icon svg {
  opacity: 0.7;
}
.mega-menu-text h4 {
  font-family: "Montserrat", sans-serif;
  font-size: 18px;
  line-height: 22px;
  font-weight: 300;
  color: #fff;
}
.mega-menu-text p {
  font-family: "Montserrat", sans-serif;
  font-size: 14px;
  line-height: 18px;
  font-weight: 400;
  color: #D5D5D5;
}
.mega-menu-right {
    /* width: 430px; */
    /* background: transparent linear-gradient(128deg, #0098DA 0%, #0A070F 100%) 0% 0% no-repeat padding-box; */
    /* padding: 30px 25px; */
    /* border-radius: 18px 18px 0px 0px; */
    /* border: 0.5px solid #FFFFFF; */
    border-bottom: 0px;
    display: flex;
    flex-direction: column;
    gap: 18px;
    padding: 20px 0px 0px 20px;
}
.mega-menu-right h4 {
  font-family: "Montserrat", sans-serif;
  font-size: 18px;
  line-height: 22px;
  font-weight: 500;
  color: #fff;
}
.mega-menu-preview {
  flex: 1;
  overflow: hidden;
}
.mega-menu-preview img {
    width: auto;
    max-height: 500px;
    /* height: 100%; */
    /* object-fit: cover; */
    transition: opacity 0.18s ease;
}

/* HERO */
.hero{
  min-height:100vh;
  position:relative;
/*   padding-top: 148px; */
  overflow: hidden;
  background:
  radial-gradient(circle at 20% 60%, rgba(255,80,80,0.6), transparent 40%),
  radial-gradient(circle at 70% 30%, rgba(0,160,255,0.5), transparent 45%),
  #0b1420;
  background-size:200% 200%;
  /* animation: heroGradient 12s ease-in-out infinite alternate; */
}
.hero-video{
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  pointer-events: none;
}
.hero::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  bottom:0;
  z-index: 1;
  background:
  linear-gradient(90deg, rgba(11, 20, 32, 0.82) 0%, rgba(11, 20, 32, 0.56) 48%, rgba(11, 20, 32, 0.72) 100%),
  repeating-linear-gradient(
    90deg,
    rgba(255,255,255,0.06) 0px,
    rgba(255,255,255,0.06) 1px,
    transparent 1px,
    transparent 120px
  );
  pointer-events:none;
}
.hero .content-holder{
  position: relative;
  z-index: 2;
  padding-top:0px;
  padding-bottom:0px;
}
/* @keyframes heroGradient {
  0%{
    background-position:0% 50%, 100% 50%;
  }
  50%{
    background-position:40% 70%, 60% 30%;
  }
  100%{
    background-position:80% 40%, 20% 60%;
  }
} */
/* grid overlay */
.hero-content{
  width: 100%;
    display: flex;
    flex-direction: column;
    min-height: calc(100vh - 148px);
    justify-content: center;
    align-items: center;
}

.small-title{
  color: rgb(242 95 56);
    font-size: 26px;
    line-height: 32px;
    font-weight: 300;
  margin-bottom:10px;
	font-family: 'Manrope';
}

.hero h1, .hero h2 span{
  font-size: 81px;
    font-weight: 700;
    line-height: 86px;
    margin-bottom: 20px;
    color: #fff;
}
.hero h2{
  font-size: 81px;
  font-weight:700;
  color: transparent; /* remove fill */
  -webkit-text-stroke: 1px rgb(255 255 255 / 79%); /* add stroke */
}
.hero h1 span{
  display:block;
  font-weight:300;
  opacity:0.4;
}
/* SCROLL INDICATOR */
.scroll{
  margin-top:40px;
	    display: flex;
    gap: 10px;
    align-items: center;
}
.scroll-circle {
    width: 65px;
    height: 65px;
    border-radius: 50%;
    /* border: 1px solid #FFFFFF; */
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 40px;
    background: rgba(255, 255, 255, .15);
    /* backdrop-filter: blur(10px); */
    color: #fff;
    cursor: pointer;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: #FF714A;
	font-weight: 100;
    font-family: 'Manrope';
}
/* LOGOS Section */
section.partners {
    min-height: 120px;
    position: relative;
    padding: 60px 20px;
    overflow: hidden;
    background: #FFFFFF;
}
section.partners::after{
  content:"";
  display:block;
  max-width:1200px;
  height:1px;
  margin:50px auto 0;
  background:linear-gradient(90deg, transparent 0%, #E3E8EF 18%, #E3E8EF 82%, transparent 100%);
}
.partners-header{
  max-width:760px;
  margin:0 auto 34px;
  text-align:center;
}
/* .partners-header .small-title{
  color:#0098DA;
  font-size:16px;
  line-height:22px;
  font-weight:700;
  text-transform:uppercase;
  margin-bottom:10px;
} */
.partners-header h2{
  color:#111120;
  font-size:34px;
  line-height:42px;
  font-weight:700;
  margin-bottom:14px;
}
.partners-header p{
  color:#5F6670;
  font-size:17px;
  line-height:28px;
}

.logos{
  max-width:1200px;
  width:calc(100% - 40px);
  margin:0 auto;
  overflow:hidden;
  background:#FFFFFF;
  border-radius:18px;
  padding:26px 0;
}
.logos-track{
  display:flex;
  gap:18px;
  width:max-content;
  animation: partnersMarquee 72s linear infinite;
  will-change: transform;
}
.logos:hover .logos-track{
  animation-play-state: paused;
}
@keyframes partnersMarquee{
  from{
    transform: translate3d(0, 0, 0);
  }
  to{
    transform: translate3d(calc(-50% - 9px), 0, 0);
  }
}
@media (prefers-reduced-motion: reduce){
  .logos{
    overflow: visible;
  }
  .logos-track{
    width: auto;
    flex-wrap: wrap;
    justify-content: center;
    animation: none;
  }
}
.logo-box{
    position: relative;
    isolation: isolate;
    display: flex;
    justify-content: center;
    align-items: center;
    background:#FFFFFF;
    min-width: 243px;
    padding-top: 20px;
    padding-bottom: 20px;
    border-radius: 11px;
    color: black;
    font-weight: 700;
    border:0;
    flex:0 0 243px;
}
.logo-box::after{
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  border-radius: inherit;
  box-shadow: none;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.18s ease;
}
.logo-box img{
  position: relative;
  z-index: 1;
  display: block;
  max-width: 180px;
  filter: grayscale(1);
  opacity: 0.74;
  transition: filter 0.25s ease, opacity 0.25s ease;
}
.logo-box:hover img{
  filter: grayscale(0);
  opacity: 1;
}
/* PROJECTS SECTION */
.projects{
  background-color: #FFFFFF;
}
.projects .container-holder{
  padding-right: 0px;
}
.section-header{
  width: 100%;
  text-align: center;
  padding-top: 50px;
  padding-bottom: 50px;
}
.swiper {
  width: 100%;
  height: 100%;
}
.section-header h2{
  color:#fff;
}
.projects .projects-header{
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 36px;
  text-align: left;
  padding: 72px 20px 58px 0;
}
.projects-header-copy{
  max-width: 900px;
}
/* .projects .projects-header .small-title{
  margin-bottom: 22px;
  color: #111120;
  font-size: 14px;
  line-height: 18px;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
} */
.projects .projects-header h2{
  max-width: 940px;
  color: #111120;
  font-size: clamp(42px, 5vw, 72px);
  line-height: 1.05;
  font-weight: 800;
  letter-spacing: 0;
}
.stories-link{
  display: inline-flex;
  align-items: center;
  gap: 18px;
  flex-shrink: 0;
  margin-bottom: 8px;
  color: #111120;
  font-size: 14px;
  line-height: 18px;
  font-weight: 800;
}
.stories-link span{
  color: inherit;
  font-weight: inherit;
}
.stories-arrow{
  width: 54px;
  height: 54px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: #FF714A;
  transition: width 0.28s ease, transform 0.28s ease, background-color 0.28s ease, padding-right 0.28s ease;
}
.stories-arrow img{
  width: 18px;
  height: 15px;
  display: block;
  transition: transform 0.28s ease;
}
.stories-link:hover .stories-arrow,
.stories-link:focus-visible .stories-arrow{
  width: 82px;
  transform: translateX(4px);
  background: #FF7F59;
  justify-content: flex-end;
  padding-right: 21px;
}
.stories-link:hover .stories-arrow img,
.stories-link:focus-visible .stories-arrow img{
  transform: translateX(2px);
}
.projects-slider .swiper-slide {
  position: relative;
  flex-direction: column;
  border-radius: 40px;
  width: 600px !important;
  height: 400px !important;
  overflow: hidden;
	cursor:pointer;
}
.projects-slider .swiper-slide::after{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(180deg, #000000 0%, #00000000 100%);
  z-index:2;
}

.projects-slider .swiper-slide img{
  width:100%;
  height:100%;
  object-fit:cover;
  position:relative;
  z-index:1;
 }
 .slide-content {
  width: 100%;
  height: 100%;
  padding:25px;
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  flex-direction: column;
  gap: 40px;
  z-index: 10;
	     justify-content: space-evenly;
 }
 .slide-logo{
  max-width: 170px;
  max-height: 60px;
 }
.slide-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain !important;
}
.slide-content p {
  font-size: 16px;
  line-height: 21px;
  color: #fff;
}
.slide-content ul{
  display: flex;
    gap: 30px 7px;
    flex-wrap: wrap;
}
.slide-content ul li a {
  font-size: 14px;
  line-height: 21px;
  color: #fff;
  border: 1px solid #fff;
  border-radius:25px;
  padding: 10px 15px;
	pointer-events:none;
}
.projects-slider .swiper-wrapper{
  padding-bottom: 70px;
}

.slider-project-nav-wrapper{
    height: 50px;
	position: absolute;
  	left: 50%;
  	bottom: 0px;
  	transform: translateX(-50%);
  	z-index: 10;
  	display: flex;
  	align-items: center;
  	justify-content: center;
  	width: max-content;
}
.projects-slider .swiper-button-prev{
 /*top: 90% !important; */
    box-shadow: inset 0px 0px 37px #4040401A;
    border: 1px solid #FFFFFF;
    border-radius: 26px;
    /* top: 95% !important; */
    /* left: 37% !important;*/
	position: absolute;
  top: 100% !important;
  transform: translateY(-50%);
  margin: 0;
	left:-52px !important;
}
.projects-slider .swiper-button-prev svg{
  height: 11px;
  fill: #000000;
}
.projects-slider .swiper-button-next{
  /*top: 90% !important; */
    box-shadow: inset 0px 0px 37px #4040401A;
    border: 1px solid #FFFFFF;
    border-radius: 26px;
    /* top: 95% !important; */
    /* right: 44% !important;*/
	position: absolute;
  top: 100% !important;
  transform: translateY(-50%);
  margin: 0;
	right:-52px !important ;
}
.projects-slider .swiper-button-next svg{
  height: 11px;
  fill: #000000;
}
.projects-slider .swiper-pagination{

    align-items: center;
    padding-left: 25px;
    padding-right: 25px;
    
    background: #FCFCFC 0% 0% no-repeat padding-box;
    box-shadow: inset 0px 0px 37px #4040401A;
    border: 1px solid #FFFFFF;
    border-radius: 26px;
    z-index: 10;
    transform: translateX(-50%);
    width: auto !important;
	padding-top:10px;
	padding-bottom:10px;
	position: relative;
  
  width: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: 50% !important;
  top: 3px !important;
  transform: none;
}
.projects-slider .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active{
  width: 46px;
  height: 10px;
  border-radius: 6px;
  background: #000000;
}
.projects-slider .swiper-pagination-bullet{
  width: 10px;
  height: 10px;
  background: #B6B6B6;
  opacity:1;
  cursor: pointer;
}
/* SERVICES SECTION */
.services{
  position: relative;
  padding:120px 0;
  background:
  radial-gradient(circle at 20% 70%, rgba(255,80,80,0.4), transparent 40%),
  radial-gradient(circle at 80% 20%, rgba(0,160,255,0.35), transparent 45%),
  #0b1420;
}
/* layout */
.services-grid{
    display:flex;
    justify-content:space-between;
    gap:50px;
}
/* LEFT SIDE */
.services-left h2{
  font-family: "Montserrat", sans-serif;
  color: #fff;
  margin-bottom: 30px;
}
.services-left h3{
  color: #fff;
  margin-bottom: 45px;
}
.services-left{
  max-width:530px;
   
}
.services-left p{
  color:#fff;
  font-size:18px;
  line-height:32px;
}
.services-contact-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:28px;
  padding:10px 20px;
  border:1px solid rgba(255, 255, 255, 0.45);
  border-radius:12px;
  background:rgba(255, 255, 255, 0.08);
  color:#FFFFFF;
  font-size:17px;
  line-height:24px;
  font-weight:600;
  transition:transform 0.25s ease, background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease;
}
.services-contact-link::after{
  content:"";
  width:14px;
  height:12px;
  background:currentColor;
  clip-path: polygon(0 42%, 70% 42%, 46% 18%, 58% 5%, 100% 50%, 58% 95%, 46% 82%, 70% 58%, 0 58%);
  transition:transform 0.25s ease;
}
.services-contact-link:hover,
.services-contact-link:focus-visible{
  transform:translateY(-2px);
  background:#FF714A;
  border-color:#FF714A;
  color:#FFFFFF;
}
.services-contact-link:hover::after,
.services-contact-link:focus-visible::after{
  transform:translateX(4px);
}
/* RIGHT SIDE */
.services-right{
    display:flex;
    flex-direction:column;
    gap:30px;
    max-width: 860px;
}
/* SERVICE ITEM */
.service-item{
  display:flex;
  align-items:center;
  gap:20px;
  text-decoration: none;
  color: inherit;
}
.service-item:focus-visible{
  outline: 2px solid #0098DA;
  outline-offset: 8px;
  border-radius: 4px;
}
.service-item span{
  color:rgba(255,255,255,0.4);
  font-size:16px;
  width:35px;
}

.service-item h3{
  color:white;
  font-size:32px;
  font-weight:500;
  line-height:52px;
}
/* PROCESS SECTION */
.process{
  background-color:#f3f3f3;
  position:relative;
  /* grid background */
  background-image:
  linear-gradient(#dcdcdc 1px, transparent 1px),
  linear-gradient(90deg,#dcdcdc 1px, transparent 1px);
  background-size:80px 80px;
  padding-bottom: 50px;
}
/* .process .section-header .small-title{
  color:#0098DA;
  font-size:18px;
  line-height:24px;
  font-weight:700;
  text-transform: uppercase;
} */
.process .section-header h2{
  color:#111120;
}
/* HEADER */
.process-header{
  text-align:center;
  margin-bottom:70px;
}
/* .process-header .small-title{
  color:#0A84C6;
  font-size:22px;
  margin-bottom:10px;
} */
.process-header h2{
  font-size:36px;
}
/* GRID */
.process-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:40px;
  margin-top: 40px;
}
/* CARD */
.process-card{
  background:white;
  padding:40px;
  background: transparent linear-gradient(110deg, #F8F8F8 0%, #FFFFFF 100%) 0% 0% no-repeat padding-box;
  border: 2px solid #FFFFFF;
  border-radius: 22px;
  padding: 20px 25px 20px 35px;
}
/* TOP AREA */
.card-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:20px;
}
/* STEP NUMBER */
.step{
  font-family: "Lato", sans-serif;
  font-size:56px;
  line-height: 67px;
  font-weight: 600;
  margin-bottom: 17px;
}
/* PROCESS ICON BADGE */
.time{
  width:52px;
  height:52px;
  display:flex;
  align-items:center;
  justify-content:center;
  /* background:#F1F3F5; */
  border-radius:7px;
  border:1px solid #E1E5EA;
}
.time svg{
  width:24px;
  height:24px;
  stroke:#6B7280;
}
/* CARD TEXT */
.process-card h3{
  font-family: "Lato", sans-serif;
  font-size:28px;
  line-height: 34px;
  margin-bottom:17px;
}

.process-card p{
  font-size:16px;
  line-height:21px;
  color:#707070;
}
.process-card-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:22px;
  padding:10px 20px;
  border:1px solid rgba(17, 17, 32, 0.14);
  border-radius:12px;
  /* background:rgba(17, 17, 32, 0.04); */
  color:#111120;
  font-size:17px;
  line-height:24px;
	font-family: 'Manrope';
  font-weight:600;
  text-align:center;
  transition: transform 0.25s ease, background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease;
}
.process-card-link::after{
  content:"";
  width:14px;
  height:12px;
  background: currentColor;
  clip-path: polygon(0 42%, 70% 42%, 46% 18%, 58% 5%, 100% 50%, 58% 95%, 46% 82%, 70% 58%, 0 58%);
  transition: transform 0.25s ease;
}
.process-card-link:hover,
.process-card-link:focus-visible{
  transform: translateY(-2px);
  background:#FF714A;
  border-color:#FF714A;
  color:#FFFFFF;
}
.process-card-link:hover::after,
.process-card-link:focus-visible::after{
  transform: translateX(4px);
}

.before-after-section{
  background:#FFFFFF;
}
.before-after-header{
  max-width:860px;
}
.before-after-header h2{
  color:#111120;
}
.before-after-header p{
  margin-top:18px;
  font-size:18px;
  line-height:30px;
  color:#707070;
}
.before-after-compare{
  position:relative;
}
.before-after-frame{
  position:relative;
  padding:0;
  border-radius:40px;
  background:#FFFFFF;
}
.before-after-surface{
  position:relative;
  aspect-ratio:16 / 9;
  border-radius:28px;
  overflow:hidden;
  background:#F3F3F3;
  box-shadow:0 18px 40px rgba(17,17,32,0.08);
}
.before-after-image{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.before-after-overlay{
  position:absolute;
  inset:0;
  width:var(--before-after-position, 50%);
  overflow:hidden;
  will-change:width;
}
.before-after-image--after{
  width:100%;
  max-width:none;
}
.before-after-divider{
  position:absolute;
  top:0;
  bottom:0;
  left:var(--before-after-position, 50%);
  width:0;
  transform:translateX(-1px);
}
.before-after-divider::before{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:0;
  width:2px;
  background:rgba(255,255,255,0.95);
  box-shadow:0 0 0 1px rgba(17,17,32,0.08);
  pointer-events:none;
}
.before-after-handle{
  position:absolute;
  top:50%;
  left:0;
  width:74px;
  height:74px;
  transform:translate(-50%, -50%);
  border-radius:999px;
  background:#FFFFFF;
  border:1px solid rgba(17,17,32,0.08);
  box-shadow:0 16px 32px rgba(17,17,32,0.18);
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:ew-resize;
  touch-action:none;
  appearance:none;
  -webkit-appearance:none;
  padding:0;
}
.before-after-compare.is-dragging .before-after-handle{
  box-shadow:0 0 0 6px rgba(242,95,56,0.14), 0 16px 32px rgba(17,17,32,0.18);
}
.before-after-handle span{
  position:relative;
  width:22px;
  height:22px;
}
.before-after-handle span::before,
.before-after-handle span::after{
  content:"";
  position:absolute;
  top:50%;
  width:11px;
  height:11px;
  border-top:2px solid #F25F38;
  border-left:2px solid #F25F38;
}
.before-after-handle span::before{
  left:0;
  transform:translateY(-50%) rotate(-45deg);
}
.before-after-handle span::after{
  right:0;
  transform:translateY(-50%) rotate(135deg);
}
.before-after-badges{
  position:absolute;
  inset:22px 22px auto 22px;
  display:flex;
  justify-content:space-between;
  gap:18px;
  pointer-events:none;
}
.before-after-badge{
  display:inline-flex;
  align-items:center;
  min-height:42px;
  padding:10px 16px;
  border-radius:999px;
  background:rgba(17,17,32,0.65);
/*   backdrop-filter:blur(12px); */
  color:#FFFFFF;
  font-size:13px;
  line-height:18px;
  font-weight:700;
  letter-spacing:0.08em;
  text-transform:uppercase;
}
.before-after-frame:focus-within .before-after-handle{
  box-shadow:0 0 0 6px rgba(242,95,56,0.14), 0 16px 32px rgba(17,17,32,0.18);
}
@media (max-width: 1024px){
  .before-after-frame{
    border-radius:30px;
  }
  .before-after-surface{
    border-radius:22px;
  }
  .before-after-badges{
    inset:18px 18px auto 18px;
  }
  .before-after-badge{
    min-height:38px;
    padding:8px 14px;
    font-size:12px;
    line-height:16px;
  }
  .before-after-handle{
    width:62px;
    height:62px;
  }
}
@media (max-width: 640px){
  .before-after-header p{
    font-size:16px;
    line-height:26px;
  }
  .before-after-frame{
    border-radius:24px;
  }
  .before-after-surface{
    aspect-ratio:4 / 5;
    border-radius:18px;
  }
  .before-after-badges{
    inset:14px 14px auto 14px;
    gap:10px;
  }
  .before-after-badge{
    min-height:34px;
    padding:7px 12px;
    font-size:11px;
    line-height:14px;
    letter-spacing:0.06em;
  }
  .before-after-handle{
    width:54px;
    height:54px;
  }
  .before-after-handle span{
    width:18px;
    height:18px;
  }
  .before-after-handle span::before,
  .before-after-handle span::after{
    width:9px;
    height:9px;
  }
}
/* VIDEO TESTIMONIAL SECTION */
.video-testimonial-section{
  background:#FFFFFF;
  padding:90px 0 110px;
}
.video-testimonial-grid{
  align-items:center;
  justify-content:space-between;
  gap:70px;
}
.video-testimonial-copy{
  max-width:520px;
}
/* .video-testimonial-copy .small-title{
  color:#0098DA;
  font-size:18px;
  line-height:24px;
  font-weight:700;
  text-transform:uppercase;
  margin-bottom:14px;
} */
.video-testimonial-copy h2{
  color:#111120;
  font-size:42px;
  line-height:50px;
  font-weight:700;
  margin-bottom:24px;
}
.video-testimonial-copy p{
  color:#5F6670;
  font-size:18px;
  line-height:30px;
  margin-bottom:30px;
}
.video-testimonial-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 20px;
  border:1px solid rgba(17, 17, 32, 0.14);
  border-radius:12px;
  background:rgba(17, 17, 32, 0.04);
  color:#111120;
  font-size:17px;
  line-height:24px;
  font-weight:600;
  transition:transform 0.25s ease, background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease;
}
.video-testimonial-link::after{
  content:"";
  width:14px;
  height:12px;
  background:currentColor;
  clip-path: polygon(0 42%, 70% 42%, 46% 18%, 58% 5%, 100% 50%, 58% 95%, 46% 82%, 70% 58%, 0 58%);
  transition:transform 0.25s ease;
}
.video-testimonial-link:hover,
.video-testimonial-link:focus-visible{
  transform:translateY(-2px);
  background:#FF714A;
  border-color:#FF714A;
  color:#FFFFFF;
}
.video-testimonial-link:hover::after,
.video-testimonial-link:focus-visible::after{
  transform:translateX(4px);
}
.video-testimonial-media{
  flex:1;
  min-width:0;
  max-width:680px;
}
.video-testimonial-media video{
  display:block;
  width:100%;
  aspect-ratio:16 / 9;
  object-fit:cover;
  border-radius:22px;
  background:#0F1720;
  box-shadow:0 24px 60px rgba(15, 23, 32, 0.18);
}
/* TESTIMONIALS */
.testimonials{
    padding:120px 0;
    background:#F5F5F5;
}
.testimonial-slider{
    border-radius:40px;
    overflow:hidden;
}
/* slide */
.testimonial-slide{
  padding-top: 130px;
  padding-bottom: 130px;
  position:relative;
  height:auto !important;
  display:flex !important;
  align-items:center;
  justify-content:center;
  background-image:url("/assets/images/hero-image-1.webp");
  background-size:cover;
  background-position:top center;
}
/* simple overlay */
.testimonial-slide::before{
  content:"";
  position:absolute;
  inset:0;
  background: rgba(15, 23, 32, 0.82);
  z-index:1;
}
/* content */
.testimonial-content{
  max-width:800px; 
  color:white;
  position:relative;
  z-index:2;
}
/* text */
.testimonial-text{
  font-size:30px;
  line-height:45px;
  font-weight: 500;
  font-family:"Montserrat", sans-serif;
  color:#fff;
  margin-bottom:40px;
  text-align:center;
}
/* author */
.testimonial-author{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:15px;
}
.testimonial-author img{
  width: 68px;
  height:68px;
  border-radius:50%;
  object-fit:cover;
}
.author-name{
  font-weight:600;
  font-size:22px;
  line-height: 20px;
  color: #fff;
  margin-bottom: 6px;
}
.author-role{
  font-size:18px;
  line-height: 22px;
  font-weight: 300;
  color: #fff;
}
/* navigation buttons */
.testimonial-prev,
.testimonial-next{
  width: 63px !important;
  height:63px !important;
  border-radius:50%;
  border:1px solid #CCCCCC;
}
.testimonial-prev {
  left:10% !important
}
.testimonial-next {
  right:10% !important
}
.testimonial-prev svg,
.testimonial-next svg{
  height: 21px  !important;
  fill: #fff !important;
  stroke: #fff !important;
  color: #fff !important;
}
.testimonial-prev svg path,
.testimonial-next svg path{
  color: #fff !important;
}
 /* FAQ SECTION */
 .faq-section{
    background:#0F1720;
 }
.faq-list{
  max-width:900px;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  gap:20px;
}
/* item */
.faq-item{
  background:#171717;
  border-radius:11px;
  overflow:hidden;
/*   box-shadow:0 10px 25px rgba(0,0,0,0.05); */
  border: 1px solid #fff;
}
/* question */
.faq-question{
  width:100%;
  padding:25px 30px;
  background:none;
  border:none;
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:20px;
  line-height: 24px;
  font-weight:600;
  cursor:pointer;
  font-family: "Lato ", sans-serif;
  color: #fff;
	text-align:left;
}
/* icon */
.faq-icon{
  font-size:26px;
  transition:transform 0.3s;
  color: #fff;
}
/* answer */
.faq-answer{
  height:0;
  opacity:0;
  overflow:hidden;
  transition:height 0.45s ease, opacity 0.3s ease;
}
.faq-answer p{
  padding:0 30px 25px 30px;
  color: #fff;
  line-height:24px;
}

.faq-answer strong {
    color: #fff;
}
/* active state */
.faq-item.faq-open .faq-answer{
  opacity:1;
}
.faq-item.faq-open .faq-icon{
  transform:rotate(45deg);
}
.call-to-action-section {
  position:relative;
  background:#EEF2F6;
  padding:70px 0;
  box-shadow: inset 0 28px 55px rgba(15, 23, 32, 0.06), inset 0 -28px 55px rgba(15, 23, 32, 0.05);
}
/* Call to action */
.call-to-action-content {
    --cta-image-offset: 120px;
    height: 498px;
    max-height: 498px;
    width: 100%;
    padding: 46px 0 46px 64px;
    display: flex;
    gap: 0;
    align-items: stretch;
    justify-content: space-between;
    overflow: hidden;
    border-radius: 18px;
    background: linear-gradient(135deg, #434343 0%, #151827 62%, #1A2634 100%);
    box-shadow: 0 28px 80px rgba(15, 23, 32, 0.22), 0 1px 0 rgba(255, 255, 255, 0.08) inset;
}
.call_to_action_left{
  display: flex;
  flex:0 0 50%;
  max-width:50%;
  padding: 0 56px 0 0;
  flex-direction: column;
  justify-content: center;
}
.call_to_action_left h2{
  font-family: "Lato", sans-serif;
  color: #fff;
  font-size: 28px;
  line-height: 36px;
  font-weight: 700;
  margin-bottom: 16px;
}
.call_to_action_left p{
  font-family: "Montserrat", sans-serif;
  font-size: 17px;
  line-height: 26px;
  color: rgba(255, 255, 255, 0.78);
  font-weight: 400;
}
.call_to_action_right{
  flex:0 0 50%;
  max-width:50%;
  min-width:0;
  display:flex;
  align-items:flex-end;
  justify-content:flex-end;
  overflow:hidden;
  align-self:stretch;
  position:relative;
}
.call_to_action_right img{
  width: 118%;
  height: 170%;
  max-height:none;
  object-fit: cover;
  /* object-position:left top; */
  transform:translate3d(0, var(--cta-image-offset), 0) scale(1.08);
  transform-origin:left center;
  will-change: transform;
}
.btn_cta{
  width: fit-content;
  min-width: 230px;
  min-height: 76px;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 18px;
  border-radius: 999px;
  border: 1px solid rgb(242, 95, 56);
  background-color: transparent;
  color: #111111;
/*   font-family: "Montserrat", sans-serif; */
	    font-family: 'Manrope';
  font-size: 19px;
  font-weight: 600;
  line-height: 1.2;
  text-align: left;
  text-decoration: none;
  padding: 10px 12px 10px 28px;
  padding-right: 12px;
  margin-top:32px;
  position: relative;
  overflow: hidden;
  isolation: isolate;
  transition: transform 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}
.call-to-action-section .btn_cta{
     color: #fff;
        border-color: #fff;
}
.btn_cta::after{
  content: "";
  flex: 0 0 54px;
  width: 54px;
  height: 54px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgb(242, 95, 56);
  background-image: url('/assets/images/arr-cta.svg');
  background-repeat: no-repeat;
  background-position: center;
  background-size: 18px 15px;
  transition: width 0.28s ease, transform 0.28s ease, background-color 0.28s ease, padding-right 0.28s ease, background-position 0.28s ease;
}

.call_to_action_left .btn_cta {
    background-color: #54333400;
}
/* Footer */
footer{
  background:#090E15;
  padding-top:64px;
}
footer .content-holder{
  padding-bottom:0px;
}
.footer-widgets {
  width: 100%;
  display:flex;
  gap:48px;
  justify-content: space-between;
  align-items:flex-start;
}
.footer-col:first-child{
  max-width:270px;
}
.footer-col:nth-child(2){
  max-width:360px;
}
.footer-col img{
  max-width:150px;
  margin-bottom:22px;
}
.contact-details{
  margin-bottom:24px;
}
.footer-col p{
  font-family: "Montserrat", sans-serif;
  font-size:14px;
  line-height:23px;
  color:rgba(255, 255, 255, 0.68);
}
.footer-col h4{
  font-family: "Montserrat", sans-serif;
  font-size:14px;
  line-height: 22px;
  color:#fff;
  border-bottom:0;
  padding-bottom:0;
  margin-bottom:16px;
  font-weight:700;
}
.footer-col ul li {
  margin-bottom:9px;
}
.footer-col ul li a{
  font-family:"Montserrat", sans-serif;
  font-size:14px;
  line-height:22px;
  color:rgba(255, 255, 255, 0.62);
  transition: color 0.2s ease;
}
.footer-col ul li a:hover{
  color:#FFFFFF;
}
.footer-whatsapp-communication{
  width:100%;
}
.whatsapp-img{
  display: flex;
  align-items:center;
  gap:14px;
}
.whatsapp-img img{
  width:48px;
  height:48px;
  border-radius: 50%;
  margin-bottom: 0px;
  flex:0 0 auto;
	filter: grayscale(1);
}
.message_holder {
  background:rgba(255, 255, 255, 0.045);
  display: flex;
  flex-direction:column;
  min-width:0;
  max-width:260px;
  border-radius:8px;
  padding:14px 16px;
  border:1px solid rgba(255, 255, 255, 0.08);
}
.message_holder p{
  color:#FFFFFF;
  font-size:13px;
  line-height:20px;
  font-weight:500;
  margin-bottom:6px;
}
.message_holder p.person{
  font-size: 15px;
  line-height: 20px;
  font-weight:700;
  margin-bottom: 0px;
}
.message_holder span{
  font-size:12px;
  line-height:20px;
  color:rgba(255, 255, 255, 0.5);
}
.message_holder a{
  color:#A7D8FF;
  font-weight:600;
  font-size:12px;
  line-height:20px;
  margin-top:4px;
}
.whatsapp-link {
  background:#128c7e38;
  border-radius: 999px;
  width:fit-content;
  padding:8px 15px;
  border:1px solid rgba(255, 255, 255, 0.1);
  margin-top:12px;
  display:flex;
  margin-left:62px;
  justify-content: center;
  box-shadow:0 10px 24px rgba(18, 140, 126, 0.18);
  transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}
.whatsapp-link:hover{
  background:#0F766B;
  border-color:rgba(255, 255, 255, 0.16);
  box-shadow:0 14px 30px rgba(18, 140, 126, 0.24);
  transform:translateY(-2px);
}
.whatsapp-link a{
  color:#fff;
  font-size:13px;
  line-height:18px;
  font-weight:700;
} 
.footer-widgets{
   border-bottom:1px solid rgba(255, 255, 255, 0.08);
   padding-bottom:40px;
}
.footer-copyright {
  display: flex;
  width:100%;
  justify-content: center;
  padding-top:26px;
  padding-bottom:26px;
}
.footer-copyright ul {
  display: flex;
  gap:28px;
}
.footer-copyright ul li a{
  font-size:13px;
  color: rgba(255, 255, 255, 0.52);
  text-decoration: none;
  transition:color 0.2s ease;
}
.footer-copyright ul li a:hover{
  color:#FFFFFF;
}

.back-to-top{
  position:fixed;
  right:28px;
  bottom:28px;
  width:52px;
  height:52px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255, 255, 255, 0.95);
  border-radius:26px;
  background:#FFFFFF;
  box-shadow:inset 0px 0px 37px #4040401A, 0 16px 36px rgba(9, 14, 21, 0.16);
  cursor:pointer;
  opacity:0;
  visibility:hidden;
  transform:translateY(14px);
  z-index:90;
  transition:opacity 0.25s ease, visibility 0.25s ease, transform 0.25s ease, background-color 0.25s ease, border-color 0.25s ease;
}
.back-to-top.is-visible{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}
.back-to-top span{
  width:13px;
  height:13px;
  border-top:2px solid #000000;
  border-left:2px solid #000000;
  transform:translateY(3px) rotate(45deg);
  transition:border-color 0.25s ease, transform 0.25s ease;
}
.back-to-top:hover,
.back-to-top:focus-visible{
  background:#FF714A;
  border-color:#FF714A;
  transform:translateY(-3px);
  outline:none;
}
.back-to-top:hover span,
.back-to-top:focus-visible span{
  border-color:#FFFFFF;
  transform:translateY(0) rotate(45deg);
}

/* ===== AI SERVICES PAGE ===== */

/* AI Hero */
.hero-ai {
  min-height: 50vh;
    background-size: cover;
    /* background: radial-gradient(circle at 20% 60%, rgba(255, 80, 80, 0.6), transparent 40%), radial-gradient(circle at 70% 30%, rgba(0, 160, 255, 0.5), #000000f2 45%), url(/assets/images/image3.png); */
    background-position: center;
    animation: none;
}
.hero-ai .content-holder {
  position: relative;
  z-index: 2;
}
.hero-ai .hero-content {
 min-height: 38vh;
    /* width: 610px; */
    justify-content: flex-end;
    padding-top: 110px;
    padding-bottom: 72px;
}
.hero-ai h2 {
  font-size: 50px;
  font-weight: 400;
  -webkit-text-stroke: 1px rgba(255,255,255,0.4);
  color: transparent;
  font-family: "Lato", sans-serif;
  margin-bottom: 5px;
}
.hero-ai h1 {
  font-size: 48px;
  font-weight: 700;
  line-height: 60px;
  color: #fff;
  font-family: "Lato", sans-serif;
  margin-bottom: 0;
}
.hero .hero-cta{
  margin-top:40px;
  text-decoration:none;
}
.hero .cta.hero-cta{
  display: inline-flex;
    align-items: center;
    padding: 12px 20px;
    border-radius: 12px;
    width: fit-content;
    /* align-self: flex-start; */
    color: #FFFFFF !important;
    background: rgba(255, 255, 255, 0.08);
    /* backdrop-filter: blur(10px); */
    transition: transform 0.3s ease, box-shadow 0.3s ease, background 0.3s ease, border-color 0.3s ease, color 0.3s ease;
    justify-content: center;
}
.hero .cta.hero-cta:visited{
  color:#FFFFFF !important;
}
.hero .cta.hero-cta .hero-cta__text{
  color:#FFFFFF !important;
}
.hero .cta.hero-cta:hover,
.hero .cta.hero-cta:focus-visible{
  background: rgba(0, 152, 218, 0.22);
  border-color: rgba(255, 255, 255, 0.9);
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0, 152, 218, 0.35);
  color:#FFFFFF !important;
}
.hero .cta.hero-cta:hover .hero-cta__text,
.hero .cta.hero-cta:focus-visible .hero-cta__text{
  color:#FFFFFF !important;
}

.dachdev-richtext-section{
  background:#FFFFFF;
}
.dachdev-richtext{
  color:#707070;
}
.dachdev-richtext > *:first-child{
  margin-top:0;
}
.dachdev-richtext > *:last-child{
  margin-bottom:0;
}
.dachdev-richtext p,
.dachdev-richtext li{
  font-size:18px;
  line-height:30px;
  font-family:"Montserrat", sans-serif;
  color:#707070;
}
.dachdev-richtext p{
  margin-bottom:20px;
}
.dachdev-richtext h2,
.dachdev-richtext h3,
.dachdev-richtext h4{
  font-family:"Lato", sans-serif;
  color:#000000;
  font-weight:700;
  margin-bottom:16px;
}
.dachdev-richtext h2{
  font-size:42px;
  line-height:52px;
}
.dachdev-richtext h3{
  font-size:30px;
  line-height:40px;
}
.dachdev-richtext h4{
  font-size:24px;
  line-height:34px;
}
.dachdev-richtext a{
  color:#0098DA;
  text-decoration:none;
  transition:color 0.25s ease;
}
.dachdev-richtext a:hover,
.dachdev-richtext a:focus-visible{
  color:#0078AB;
}
.dachdev-richtext ul,
.dachdev-richtext ol{
  margin:24px 0;
  padding:0;
}
.dachdev-richtext ul li,
.dachdev-richtext ol li{
  position:relative;
  margin-bottom:14px;
}
.dachdev-richtext ul li{
  padding-left:28px;
  list-style:none;
}
.dachdev-richtext ul li::before{
  content:"";
  position:absolute;
  top:11px;
  left:0;
  width:10px;
  height:10px;
  border-radius:999px;
  background:#0098DA;
  box-shadow:0 0 0 6px rgba(0, 152, 218, 0.12);
}
.dachdev-richtext ol{
  counter-reset:dachdev-richtext-counter;
}
.dachdev-richtext ol li{
  padding-left:42px;
  list-style:none;
}
.dachdev-richtext ol li::before{
  counter-increment:dachdev-richtext-counter;
  content:counter(dachdev-richtext-counter);
  position:absolute;
  top:1px;
  left:0;
  width:28px;
  height:28px;
  border-radius:999px;
  background:#EFF8FD;
  color:#0098DA;
  font-size:14px;
  line-height:28px;
  font-weight:700;
  font-family:"Lato", sans-serif;
  text-align:center;
}
@media (max-width: 767px){
  .dachdev-richtext-section{
    padding-top:40px;
    padding-bottom:40px;
  }
  .dachdev-richtext p,
  .dachdev-richtext li{
    font-size:16px;
    line-height:28px;
  }
  .dachdev-richtext h2{
    font-size:34px;
    line-height:42px;
  }
  .dachdev-richtext h3{
    font-size:26px;
    line-height:34px;
  }
  .dachdev-richtext h4{
    font-size:22px;
    line-height:30px;
  }
}

/* AI Services Section */
.ai-services {
  background: #F5F5F5;
  padding: 60px 0;
}
.ai-services .content-holder {
  padding-top: 0;
  padding-bottom: 0;
}
.ai-services-grid {
  width: 100%;
  display: flex;
  align-items: stretch;
  gap: 180px;
  justify-content: space-between;
}
.ai-services-left {
  flex: 1;
  max-width: 700px;
}
.ai-services-left h2 {
  font-family: "Montserrat", sans-serif;
    font-weight: 700;
    font-size: 42px;
    line-height: 52px;
    color: #000000;
    margin-bottom: 15px;
}
.ai-services-left p {
  font-size: 18px;
  line-height: 30px;
  color: #707070;
  margin-bottom: 20px;
}
.ai-services-left p:last-child {
  margin-bottom: 0;
}
.ai-services-right {
  flex: 1;
  max-width: 600px;
}
.ai-services-right {
  flex: 1;
  max-width: 600px;
  display: flex;
}
.ai-services-right img {
  width: 100%;
  height: 100%;
  border-radius: 22px;
  object-fit: contain;
}

/* AI Leistungen Cards Section */
.ai-leistungen {
  padding: 60px 0px 120px 0px;
  background:
    radial-gradient(circle at 20% 70%, rgba(255,80,80,0.25), transparent 40%),
    radial-gradient(circle at 80% 20%, rgba(0,160,255,0.2), transparent 45%),
    #0f1720;
}
.ai-leistungen .content-holder {
  padding-top: 0;
  padding-bottom: 0;
}
.ai-leistungen .section-header{
    width: 940px;
    margin:0 auto;
}
.ai-leistungen .section-header h2 {
  color: #fff;
  font-family: "Montserrat", sans-serif;
}
.ai-leistungen-grid {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 25px;
  padding-left: 50px;
  padding-right: 50px;
}
.ai-leistungen-card {
  background:#171717;
  border: 1px solid #FFFFFFA6;
  border-radius: 43px;
  padding: 40px;
}
.ai-card-icon {
  width: 91px;
  height: 95px;
  background: transparent linear-gradient(136deg, #0098DA 0%, #000000 100%) 0% 0% no-repeat padding-box;
  border-radius: 13px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
}
.ai-card-icon svg{
  width: 60px;
  height: 60px;
}
.ai-leistungen-card h3 {
  font-family: "Montserrat", sans-serif;
  font-size: 35px;
  line-height: 21px;
  font-weight: 600;
  color: #fff;
  margin-bottom: 30px;
}
.ai-leistungen-card p {
  font-size: 18px;
  line-height: 24px;
  color: rgba(255,255,255,0.6);
  margin-bottom: 14px;
}
.ai-leistungen-card p:last-child {
  margin-bottom: 0;
}
.about-us-section .ai-leistungen-card:last-child {
  grid-column: 1 / -1;
}
/* Grey background section */
.section-bg-grey {
  background:#F5F5F5;
}
.section-bg-grey .section-header {
  width: 960px;
  margin:0 auto;
}
.section-bg-grey .section-header h2 {
  color: #000000;
  font-family: "Montserrat", sans-serif;
}
.section-grey-content-grid{
  display: flex;
  justify-content: space-between;
  gap: 60px;
}
.section-grey-content-left {
  max-width: 700px;
  display: flex;
  flex-direction: column;
  gap:30px;
}
.section-grey-content-right {
  max-width: 700px;
  display: flex;
  flex-direction: column;
  gap:30px;
}
.section-grey-content-grid h4{
  font-size: 18px;
  line-height: 32px;
  font-weight: 500;
}
.section-grey-content-grid p {
  font-size: 18px;
  line-height: 32px;
  color: #000;
  font-weight: 300;
}

/* Partners Section */
.section-partners {
  background: #F5F5F5;
  padding: 0px 0px 50px 0px;
}
.section-partners .section-header {
  width: 800px;
  margin:0 auto;
}
.section-partners .section-header h2 {
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  font-size: 35px;
  line-height: 43px;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #0E0E0E;
}
.partners-grid {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 20px;
}
.partner-box {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  background: #fff;
  border: 1px solid #B4B4B4;
  border-radius: 11px;
  padding: 28px 20px;
  font-family: "Montserrat", sans-serif;
  font-size: 14px;
  line-height: 20px;
  font-weight: 600;
  color: #333;
  min-height: 90px;
}
.partner-box img {
  width: 100%;
  max-height: 40px;
  object-fit: contain;
}
.process.process-services-page .section-header h2 {
  text-transform: uppercase;
  color:#000;
  font-family: "Montserrat", sans-serif;
}
/* Services Webdesign */
.hero-services-webdesign {
  min-height: 50vh;
  background-size: cover;
  background-position: center;
    background: radial-gradient(circle at 20% 60%, rgba(255, 80, 80, 0.6), transparent 40%), radial-gradient(circle at 70% 30%, rgba(0, 160, 255, 0.5), #000000f2 45%), url(./images/image6.png);

}
.hero-services-webdesign .hero-content {
    min-height: 38vh;
    width: 610px;
    justify-content: flex-end;
    padding-top: 110px;
    padding-bottom: 72px;
}
.webdesign-services h2{
  text-transform: uppercase;
}
.ai-services.webdesign-services .ai-services-right img{
  border-radius: 0px;
  object-fit: contain;
}
/* Individuelles CMS Page*/
.hero-individuelle-cms {
  min-height: 50vh;
  background-size: cover;
  background-position: center;
    background: radial-gradient(circle at 20% 60%, rgba(255, 80, 80, 0.6), transparent 40%), radial-gradient(circle at 70% 30%, rgba(0, 160, 255, 0.5), #000000f2 45%), url(./images/image7.png);

}
.individuelle-cms-services .ai-services-right{
  border-radius: 31px;
}
.individuelle-cms-services h2{
  text-transform: uppercase;
}

/* Reference Single Page */
.hero-reference-single {
  min-height: 50vh;
  background:
   radial-gradient(circle at 20% 60%, rgba(255, 80, 80, 0.6), transparent 40%), radial-gradient(circle at 70% 30%, rgba(0, 160, 255, 0.5), transparent 45%),
    url(/assets/images/hero-image-1.webp) !important;
  background-size: cover !important;
  background-position: center !important;
}
.hero-reference-single .hero-content {
  width: 100%;
  align-items: center;
  text-align: center;
  justify-content: center;
}
.hero-reference-content h2 {
  font-size: 45px;
  font-weight: 400;
  -webkit-text-stroke: 1px rgba(255, 255, 255, 0.35);
  color: transparent;
  font-family: "Lato", sans-serif;
  margin-bottom: 5px;
}
.hero-reference-content h1 {
  font-size: 51px;
  font-weight: 700;
  line-height: 62px;
  color: #fff;
  font-family: "Montserrat", sans-serif;
  margin-bottom: 25px;
}
.hero-tags {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  justify-content: center;
}
.hero-tags li {
  font-family: "Montserrat", sans-serif;
  font-size: 15px;
  line-height: 20px;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.6);
  border-radius: 25px;
  padding: 10px 22px;
}

/* Reference Detail Sections */
.ref-detail-section {
  padding: 50px 0 0px 0px;
  background: #fff;
}
.ref-detail-section.second-row{
  padding-top: 0px;
  padding-bottom: 50px;
}
.ref-detail-section .content-holder {
  padding-top: 50px;
  padding-bottom: 0;
}
.ref-detail-grid {
  display: flex;
  align-items: center;
  gap: 60px;
}
.ref-detail-text {
  flex: 1;
}
.ref-detail-text .small-title {
  margin-bottom: 10px;
}
.ref-detail-text h2 {
  font-size: 36px;
  font-weight: 700;
  line-height: 44px;
  color: #0b1420;
  font-family: "Lato", sans-serif;
  margin-bottom: 20px;
}
.ref-detail-text p {
  font-size: 16px;
  line-height: 28px;
  color: #444;
  margin-bottom: 16px;
}
.ref-detail-images {
  flex: 1;
}

/* Stacked mockup – two overlapping screenshots */
.ref-mockup-stack {
  position: relative;
  min-height: 445px;
}
.ref-mockup-stack .ref-mockup-desktop {
  width: 55%;
  border-radius: 8px;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
.ref-mockup-stack .ref-mockup-mobile {
  width: 55%;
    border-radius: 8px;
    position: absolute;
    top: 24px;
    right: 0;
    left: 50%;
    width: auto;
    z-index: 2;
    max-height: 350px;
}

/* Single tilted mockup */
.ref-mockup-single {
  display: flex;
  justify-content: center;
}
.ref-mockup-tilted {
  width: 90%;
  border-radius: 8px;
  box-shadow: 0 25px 60px rgba(0, 0, 0, 0.18);
  transform: perspective(1200px) rotateY(5deg);
}

/* Reversed layout (image left, text right) */
.ref-detail-reversed {
  flex-direction: row;
}
.ref-detail-reversed .ref-detail-images {
  order: -1;
}

/* Reference Bento Grid */
.ref-bento-section {
  padding: 0px 0px 60px 0;
  background: #fff;
}
.ref-bento-row {
  display: grid;
  gap: 24px;
  margin-bottom: 24px;
}
.ref-bento-row:last-child {
  margin-bottom: 0;
}
.ref-bento-row-top {
  grid-template-columns: 1.4fr 1fr;
}
.ref-bento-row-bottom {
  grid-template-columns: 1fr 1fr;
}
.ref-bento-row-bottom .ref-bento-card {
  padding-bottom: 50px;
}
.ref-bento-card {
  background: #F1F1F1;
  border-radius: 70px;
  padding: 65px 0px 0px 65px;
  overflow: hidden;
}
.card-content {
  max-width: 665px;
}
.ref-bento-card h3 {
  font-size: 35px;
  line-height: 43px;
  font-weight: 700;
  color: #0b1420;
  font-family: "Montserrat", sans-serif;
  margin-bottom: 10px;
}
.ref-bento-card p {
  font-size: 18px;
  line-height: 32px;
  color: #000;
}
.ref-bento-tall {
  min-height: 480px;
  position: relative;
}
.ref-bento-visual {
  margin-top: 20px;
  border-radius: 24px;
  overflow: hidden;
}
.ref-bento-visual img {
  width: 100%;
  display: block;
  border-radius: 24px;
  object-fit: contain;
}
/* Right card in top row — full height image */
.ref-bento-row-top .ref-bento-card:nth-child(2) {
  display: flex;
  flex-direction: column;
}
.ref-bento-row-top .ref-bento-card:nth-child(2) .ref-bento-visual {
  flex: 1;
  margin-top: 20px;
}
.ref-bento-row-top .ref-bento-card:nth-child(2) .ref-bento-visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
}
.ref-bento-icon {
  margin-bottom: 16px;
  width: 245px;
  height: 136px;
}
.ref-bento-icon img{
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.referenzen-slider-section{
  padding-bottom: 60px;
}
.referenzen-slider-section h2{
  font-family: "Montserrat", sans-serif;
  color: #000;
}
/* ===== BLOG PAGE ===== */
.blog-section {
  padding: 60px 0 80px;
  background: #fff;
}
.blog-filters {
  display: flex;
  gap: 10px;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 50px;
  width: 100%;
}
.blog-filter-btn {
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 30px;
  padding: 10px 24px;
  font-family: "Montserrat", sans-serif;
  font-size: 14px;
  color: #333;
  cursor: pointer;
  transition: all 0.25s ease;
}
.blog-filter-btn:hover,
.blog-filter-btn.active {
  border-color: #0098DA;
  color: #0098DA;
}

/* Blog grid — single container, layout via nth-child */
.blog-grid {
  display: grid;
  grid-template-columns: repeat(10, 1fr);
  gap: 24px;
  width: 100%;
}

/* Row 1–2: Post 1 tall left, Posts 2–5 as 2x2 grid on right */
.blog-grid .blog-card:nth-child(1) {
  grid-column: 1 / 5;
  grid-row: 1 / 3;
}
.blog-grid .blog-card:nth-child(2) {
  grid-column: 5 / 8;
  grid-row: 1;
}
.blog-grid .blog-card:nth-child(3) {
  grid-column: 8 / 11;
  grid-row: 1;
}
.blog-grid .blog-card:nth-child(4) {
  grid-column: 5 / 8;
  grid-row: 2;
}
.blog-grid .blog-card:nth-child(5) {
  grid-column: 8 / 11;
  grid-row: 2;
}

/* Row 3 (posts 6–7): left smaller, right wider — both tall */
.blog-grid .blog-card:nth-child(6) {
  grid-column: 1 / 4;
  min-height: 500px;
}
.blog-grid .blog-card:nth-child(7) {
  grid-column: 4 / 11;
  min-height: 500px;
}

/* Row 4 (posts 8–10): 3 equal */
.blog-grid .blog-card:nth-child(8) {
  grid-column: 1 / 4;
}
.blog-grid .blog-card:nth-child(9) {
  grid-column: 4 / 8;
}
.blog-grid .blog-card:nth-child(10) {
  grid-column: 8 / 11;
}

/* Posts beyond 10: fall back to ~3 per row */
.blog-grid .blog-card:nth-child(n+11) {
  grid-column: span 3;
}
.blog-grid .blog-card:nth-child(3n+13) {
  grid-column: span 4;
}

/* Unified blog card — image bg + gradient overlay */
.blog-card {
  border-radius: 24px;
  overflow: hidden;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  min-height: 280px;
  text-decoration: none;
  color: inherit;
}
.blog-card > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}
.blog-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(11, 20, 32, 0.6) 0%,
    rgba(11, 20, 32, 0.25) 40%,
    rgba(11, 20, 32, 0.5) 100%
  );
  z-index: 1;
  border-radius: 24px;
}
.blog-card .blog-card-body {
  position: relative;
  z-index: 2;
  padding: 30px;
  display: flex;
  flex-direction: column;
}

/* Card content */
.blog-tag {
  display: inline-block;
  font-family: "Montserrat", sans-serif;
  font-size: 13px;
  font-weight: 700;
  color: #0098DA;
  margin-bottom: 8px;
}
.blog-card h3 {
  font-family: "Montserrat", sans-serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 28px;
  color: #fff;
  margin-bottom: 10px;
}
.blog-card p {
  font-family: "Montserrat", sans-serif;
  font-size: 14px;
  line-height: 23px;
  color: rgba(255, 255, 255, 0.75);
  margin-bottom: 8px;
}
.blog-date {
  font-family: "Montserrat", sans-serif;
  font-size: 13px;
  color: rgba(255, 255, 255, 0.5);
  display: block;
  margin-top: 8px;
}

/* Blog card filter transitions */
.blog-card {
  transition: opacity 0.4s ease, transform 0.4s ease;
}
.blog-card-hidden {
  display: none !important;
}
/* When filtered, use simple auto-fill grid instead of nth-child positioning */
.blog-grid.blog-grid-filtered {
  grid-template-columns: repeat(3, 1fr);
}
.blog-grid.blog-grid-filtered .blog-card:nth-child(n) {
  grid-column: auto;
  grid-row: auto;
  min-height: 320px;
}

/* Blog card hover */
.blog-card:hover > img {
  transform: scale(1.05);
  transition: transform 0.5s ease;
}
.blog-card > img {
  transition: transform 0.5s ease;
}

.hero-contact {
  background:
    radial-gradient(circle at 18% 64%, rgba(255, 113, 74, 0.52), transparent 38%),
    radial-gradient(circle at 76% 22%, rgba(0, 152, 218, 0.48), transparent 42%),
    #0B1420 !important;
}

/* Contact page */
.contact-page-section {
  background:#F5F5F5;
  padding:40px 0;
}
.contact-page-grid {
  width:100%;
  display:grid;
  grid-template-columns:minmax(0, 0.9fr) minmax(0, 1.15fr);
  gap:54px;
  align-items:start;
}
.contact-page-copy {
  position:sticky;
  top:120px;
}
.contact-page-copy h2 {
  max-width:560px;
  color:#111120;
  font-family:"Lato", sans-serif;
  font-size:46px;
  line-height:54px;
  font-weight:700;
  margin-bottom:20px;
}
.contact-page-copy > p {
  max-width:570px;
  color:#5F6670;
  font-size:18px;
  line-height:30px;
}
.contact-highlights {
  display:grid;
  gap:14px;
  margin-top:14px;
}
.contact-highlight {
  display:grid;
  grid-template-columns:44px minmax(0, 1fr);
  column-gap:14px;
  padding:20px 22px;
  border-radius:14px;
  background:#FFFFFF;
  border:1px solid rgba(15, 23, 32, 0.08);
  box-shadow:0 18px 42px rgba(15, 23, 32, 0.06);
}
.contact-highlight-icon {
  width:44px;
  height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  grid-row:1 / span 2;
  border-radius:10px;
  background:rgba(255, 113, 74, 0.1);
  color:#FF714A;
}
.contact-highlight-icon svg {
  width:22px;
  height:22px;
  stroke:currentColor;
}
.contact-highlight h3 {
  color:#111120;
  font-size:18px;
  line-height:24px;
  font-weight:700;
  margin-bottom:6px;
}
.contact-highlight p {
  color:#68707A;
  font-size:14px;
  line-height:22px;
}
.contact-form {
  padding:34px;
  border-radius:18px;
  background:#FFFFFF;
  border:1px solid rgba(15, 23, 32, 0.08);
  box-shadow:0 28px 80px rgba(15, 23, 32, 0.13);
}
.contact-form-head {
  margin-bottom:24px;
  padding-bottom:18px;
  border-bottom:1px solid #E7ECF2;
}
.contact-form-head h3 {
  color:#111120;
  font-size:24px;
  line-height:30px;
  font-weight:700;
  margin-bottom:6px;
}
.contact-form-head p {
  color:#6B7280;
  font-size:13px;
  line-height:20px;
}
.contact-form-head span,
.form-field label span {
  color:#FF714A;
  font-weight:700;
}
.form-row {
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:18px;
}
.form-field {
  display:flex;
  flex-direction:column;
  gap:8px;
  margin-bottom:18px;
}
.form-field label {
  color:#111120;
  font-size:13px;
  line-height:18px;
  font-weight:700;
}
.form-field input,
.form-field textarea,
.form-field select {
  width:100%;
  min-height:52px;
  border:1px solid #DFE5EC;
  border-radius:10px;
  background:#F8FAFC;
  color:#111120;
  font-family:"Montserrat", sans-serif;
  font-size:14px;
  line-height:22px;
  padding:14px 16px;
  transition:border-color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
}
.form-field textarea {
  min-height:150px;
  resize:vertical;
}
.form-field input:focus,
.form-field textarea:focus,
.form-field select:focus {
  border-color:#0098DA;
  background:#FFFFFF;
  box-shadow:0 0 0 4px rgba(0, 152, 218, 0.1);
  outline:none;
}
.contact-submit {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-width:190px;
  min-height:52px;
  border:1px solid #FF714A;
  border-radius:10px;
  background:#FF714A;
  color:#FFFFFF;
  font-family:"Montserrat", sans-serif;
  font-size:15px;
  line-height:22px;
  font-weight:700;
  cursor:pointer;
  transition:transform 0.25s ease, background-color 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}
.contact-submit-arrow {
  width:18px;
  height:18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transition:transform 0.25s ease;
}
.contact-submit-arrow img{
  width:18px;
  height:18px;
  display:block;
}
.contact-submit:hover,
.contact-submit:focus-visible {
  transform:translateY(-2px);
  background:#F25F38;
  border-color:#F25F38;
  box-shadow:0 16px 34px rgba(255, 113, 74, 0.24);
  outline:none;
}
.contact-submit:hover .contact-submit-arrow,
.contact-submit:focus-visible .contact-submit-arrow {
  transform:translateX(4px);
}
.contact-form .select2-container {
  width:100% !important;
}
.contact-form .select2-container--default .select2-selection--single,
.contact-form .select2-container--default .select2-selection--multiple {
  min-height:52px;
  border:1px solid #DFE5EC;
  border-radius:10px;
  background:#F8FAFC;
  display:flex;
  align-items:center;
  transition:border-color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
}
.contact-form .select2-container--default.select2-container--focus .select2-selection--single,
.contact-form .select2-container--default.select2-container--focus .select2-selection--multiple,
.contact-form .select2-container--default.select2-container--open .select2-selection--single,
.contact-form .select2-container--default.select2-container--open .select2-selection--multiple {
  border-color:#0098DA;
  background:#FFFFFF;
  box-shadow:0 0 0 4px rgba(0, 152, 218, 0.1);
}
.contact-form .select2-container--default .select2-selection--single .select2-selection__rendered {
  color:#111120;
  line-height:52px;
  padding-left:16px;
  padding-right:42px;
  font-size:14px;
}
.contact-form .select2-container--default .select2-selection--single .select2-selection__placeholder,
.contact-form .select2-container--default .select2-search--inline .select2-search__field::placeholder {
  color:#8A93A0;
}
.contact-form .select2-container--default .select2-selection--single .select2-selection__arrow {
  height:50px;
  right:12px;
}
.contact-form .select2-container--default .select2-selection--multiple {
  padding:7px 10px;
}
.contact-form .select2-container--default .select2-selection--multiple .select2-selection__choice {
  margin-top:4px;
  border:0;
  border-radius:999px;
  background:rgba(0, 152, 218, 0.12);
  color:#0B4D69;
  font-size:13px;
  line-height:20px;
  padding:4px 9px 4px 24px;
}
.contact-form .select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
  border-right:0;
  color:#0B4D69;
  padding-left:7px;
}
.select2-dropdown {
  border:1px solid #DFE5EC;
  border-radius:10px;
  overflow:hidden;
  box-shadow:0 18px 42px rgba(15, 23, 32, 0.14);
}
.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
  background:#0098DA;
}
.select2-results__option {
  font-family:"Montserrat", sans-serif;
  font-size:14px;
  padding:10px 14px;
}
.contact-info-band {
  background:#FFFFFF;
  padding:0 0 28px;
}
.contact-info-band .content-holder {
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:20px;
}
.contact-info-card {
  display:flex;
  align-items:center;
  gap:16px;
  padding:24px;
  border-radius:14px;
  background:#F8FAFC;
  border:1px solid #E4EAF0;
}
.contact-info-icon {
  width:48px;
  height:48px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  border-radius:12px;
  background:#0F1720;
  color:#FFFFFF;
}
.contact-info-icon svg {
  width:23px;
  height:23px;
  stroke:currentColor;
}
.contact-info-card span {
  display:block;
  color:#6B7280;
  font-size:13px;
  line-height:18px;
  font-weight:700;
  margin-bottom:8px;
}
.contact-info-card a,
.contact-info-card p {
  color:#111120;
  font-size:17px;
  line-height:25px;
  font-weight:700;
}

.contact-details-map-section{
  padding:36px 0;
  background:#F5F5F5;
}
.contact-details-map-header{
  width:100%;
  max-width:860px;
  margin:0 auto 10px;
  text-align:center;
}
.contact-details-map-header .small-title{
  margin-bottom:10px;
}
.contact-details-map-header h2{
  color:#111120;
  font-family:"Lato", sans-serif;
  font-size:40px;
  line-height:48px;
  font-weight:800;
  margin-bottom:12px;
}
.contact-details-map-header p{
  color:#5F6670;
  font-size:16px;
  line-height:26px;
  margin:0;
}
.contact-details-map-grid{
  width:100%;
  display:grid;
  grid-template-columns:minmax(0, 0.7fr) minmax(0, 1.3fr);
  gap:24px;
  align-items:stretch;
}
.contact-details-card{
  background:#FFFFFF;
  border-radius:18px;
  padding:26px;
  box-shadow:0 28px 80px rgba(15, 23, 32, 0.10);
  border:1px solid rgba(15, 23, 32, 0.08);
  height:100%;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:14px;
}
.contact-details-card-title{
  width:100%;
  color:#111120;
  font-family:"Lato", sans-serif;
  font-size:22px;
  line-height:28px;
  font-weight:800;
}
.contact-direct-list{
  width:100%;
  display:flex;
  flex-direction:column;
  gap:14px;
}
.contact-direct-item{
  display:flex;
  align-items:center;
  gap:14px;
  padding:16px 18px;
  border:1px solid rgba(15, 23, 32, 0.08);
  border-radius:14px;
  background:#F8FAFC;
}
.contact-direct-item-whatsapp{
  border-color: rgba(18, 140, 126, 0.18);
  background: rgba(18, 140, 126, 0.06);
}
.contact-direct-icon-whatsapp{
  background: rgba(18, 140, 126, 0.12);
}
.contact-direct-icon-whatsapp svg{
  stroke: #0F766B;
}
.contact-direct-icon{
  width:46px;
  height:46px;
  border-radius:50%;
  background:rgba(0, 152, 218, 0.10);
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
}
.contact-direct-icon svg{
  width:22px;
  height:22px;
  stroke:#0098DA;
}
.contact-direct-item span{
  display:block;
  font-size:12px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.08em;
  color:#6B7280;
  margin-bottom:4px;
}
.contact-direct-item a{
  font-size:18px;
  font-weight:800;
  color:#111120;
  text-decoration:none;
  word-break:break-word;
}
.contact-direct-item a:hover{
  color:#0098DA;
}
.contact-map-wrap{
  background:#FFFFFF;
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 28px 80px rgba(15, 23, 32, 0.10);
  border:1px solid rgba(15, 23, 32, 0.08);
  height:100%;
  min-height:420px;
}
.contact-map-wrap iframe{
  width:100%;
  height:100%;
  min-height:420px;
  border:0;
  display:block;
}

/* ===== SINGLE POST PAGE ===== */
.hero-single-post {
  min-height: 48vh;
}

/* Post Meta Section */
.post-meta-section {
  background: #fff;
  padding: 10px 0 30px;
}
.post-meta {
  display: flex;
  justify-content: center;
  gap: 60px;
  transform: translateY(-65px);
  margin-bottom: -65px;
  position:relative;
	z-index: 9;
}
.post-meta-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
}
.post-meta-icon {
  width: 90px;
  height: 90px;
  border-radius: 50%;
  border: 1.5px solid rgba(180, 180, 180, 0.4);
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
}
.post-meta-icon svg {
  stroke: #aaa;
}
.post-meta-item span {
  font-family: "Montserrat", sans-serif;
  font-size: 14px;
  color: #999;
  font-weight: 400;
}

/* Post Content Section */
.post-content-section {
  background: #fff;
  padding: 0 0 80px;
}
.single .section-header h2{
	color:#111120;
}
.single .section-header{
	padding-top:0px;
}
.single .projects .content-holder{
	padding-top:0px;
}
.single .post-lead p{
	text-align:center;
}
.post-full-divider {
  border: none;
  border-top: 1px solid #ddd;
  margin: 0;
  width: 100%;
}
.post-content {
  max-width: 1100px;
  margin: 0 auto;
  padding: 40px 20px 0;
}
.post-divider {
  border: none;
  border-top: 1px solid #ddd;
  margin: 40px 0;
}
.post-lead p {
  font-family: "Montserrat", sans-serif;
  font-size: 24px;
  font-weight: 300;
  line-height: 40px;
  color: #1a1a1a;
}
.post-body p {
  font-family: "Montserrat", sans-serif;
  font-size: 18px;
  font-weight: 300;
  line-height: 27px;
  color: #555;
  margin-bottom: 24px;
}
.post-body p:last-child {
  margin-bottom: 0;
}
.post-body h2 {
  font-family: "Montserrat", sans-serif;
  font-size: 25px;
  font-weight: 500;
  line-height: 30px;
  color: #000;
  margin-bottom: 20px;
}
.post-body img {
  width: 100%;
  margin: 30px 0;
  object-fit: contain;
}
/* ===== SCROLL REVEAL ANIMATIONS ===== */
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(50px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes fadeInLeft {
  from { opacity: 0; transform: translateX(-50px); }
  to   { opacity: 1; transform: translateX(0); }
}
@keyframes fadeInRight {
  from { opacity: 0; transform: translateX(50px); }
  to   { opacity: 1; transform: translateX(0); }
}
@keyframes fadeInScale {
  from { opacity: 0; transform: scale(0.9); }
  to   { opacity: 1; transform: scale(1); }
}

/* Base reveal class — hidden by default */
.reveal {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94),
              transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.reveal.from-left {
  transform: translateX(-50px);
}
.reveal.from-right {
  transform: translateX(50px);
}
.reveal.from-scale {
  transform: scale(0.9);
}
/* Active state — triggered by Intersection Observer */
.reveal.active {
  opacity: 1;
  transform: translateY(0) translateX(0) scale(1);
}
.reveal.delay-1 { 
  transition-delay: 0.1s; 
}
.reveal.delay-2 { 
  transition-delay: 0.2s; 
}
.reveal.delay-3 { 
  transition-delay: 0.3s; 
}
.reveal.delay-4 { 
  transition-delay: 0.4s; 
}
.reveal.delay-5 { 
  transition-delay: 0.5s; 
}
.reveal.delay-6 { 
  transition-delay: 0.6s; 
}
.reveal.delay-7 { 
  transition-delay: 0.7s; 
}

/* ===== HOVER EFFECTS ===== */

/* Service items — underline slide + lift */
.service-item {
  transition: transform 0.3s ease, opacity 0.3s ease;
  position: relative;
  padding-bottom: 8px;
}
.service-item::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 55px;
  width: 0;
  height: 2px;
  background: #0098DA;
  transition: width 0.4s ease;
}
.service-item:hover {
  transform: translateX(10px);
}
.service-item:hover::after {
  width: 60%;
}
.service-item:hover h3 {
  color: #0098DA;
  transition: color 0.3s ease;
}

/* Process cards — lift + shadow */
.process-card {
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}
.process-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
}

/* Logo boxes — crisp hover lift */
.logo-box {
  backface-visibility: hidden;
  transform: translate3d(0, 0, 0);
  transition: transform 0.18s ease;
}
/* .logo-box:hover {
  transform: translate3d(0, -3px, 0);
} */
.logo-box:hover::after {
  opacity: 1;
}

/* CTA buttons — glow */
.btn_cta {
  transition: transform 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}
.btn_cta:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 30px rgba(242, 95, 56, 0.24);
}
.btn_cta:hover::after,
.btn_cta:focus-visible::after {
  width: 82px;
  transform: translateX(4px);
  background-color: rgb(255, 127, 89);
  justify-content: flex-end;
  padding-right: 21px;
  background-position: calc(100% - 21px) center;
}
.btn_cta:focus-visible {
  outline: none;
  color: #FFFFFF !important;
  box-shadow: 0 0 0 4px rgba(242, 95, 56, 0.18), 0 12px 30px rgba(242, 95, 56, 0.24);
}

/* Header CTA — subtle glow */
.cta {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.cta:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0, 152, 218, 0.35);
}

/* FAQ items — border highlight */
.faq-item {
  transition: border-color 0.3s ease, transform 0.3s ease;
}
.faq-item:hover {
  border-color: #0098DA;
  transform: translateY(-2px);
}

/* Scroll indicator — bounce */
.scroll-circle {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  animation: scrollBounce 2.5s ease-in-out infinite;
}
@keyframes scrollBounce {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(10px); }
}
.scroll-circle:hover {
  box-shadow: 0 0 30px rgba(0, 152, 218, 0.4);
}

/* Call-to-action card — subtle lift */
.call-to-action-content {
  transition: transform 0.4s ease, box-shadow 0.4s ease;
}
.call-to-action-content:hover {
  transform: translateY(-5px);
  box-shadow: 0 25px 50px rgba(0, 0, 0, 0.3);
}

/* AI Leistungen cards — hover glow */
.ai-leistungen-card {
  transition: transform 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease;
}
.ai-leistungen-card:hover {
  transform: translateY(-6px);
  border-color: #0098DA;
  box-shadow: 0 15px 40px rgba(0, 152, 218, 0.2);
}

/* Partner boxes — pop */
.partner-box {
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}
.partner-box:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
  border-color: #0098DA;
}

/* Nav links — no underline animation */

/* Swiper slide — subtle scale on hover */
.projects-slider .swiper-slide {
  transition: transform 0.4s ease, box-shadow 0.4s ease;
}
.projects-slider .swiper-slide:hover {
/*   transform: scale(1.02); */
 box-shadow: 1px 5px 16px rgba(0, 0, 0, 0.3);
}
.section-center-items {
  align-items: center;
}
.section-center-items .section-grey-content-grid{
  align-items:center;
}
.section-center-items .section-grey-content-right{
  width:100%;
  max-width:700px;
  min-width:0;
  overflow:hidden;
}
.section-grey-image-holder{
  width:100%;
  overflow:hidden;
  border-radius:24px;
}
.section-grey-image-holder img{
  display:block;
  width: 100%;
  max-width:100%;
  height:100%;
  min-height:420px;
  object-fit: cover;
  object-position:center;
}
/* About Page */
.about-us-content{
  background: #fff;
}
.about-us-content .content-holder{
  padding-bottom: 0px;
}
.about-us-content .container-holder{
  max-width: 1200px;
  margin: 0 auto;
}
.section-divider {
  border: none;
  border-top: 1px solid #ddd;
  margin: 40px 0;
  padding-top:28px;
  padding-bottom: 28px;
  border-bottom: 1px solid #ddd;
}
.section-divider p{
  font-family: "Montserrat", sans-serif;
  font-size: 30px;
  line-height: 37px;
  font-weight: 300;
  color: #000;
  text-align: center;
}

/* Team Section */
.team-section {
  background: #fff;
  padding-bottom: 100px;
}
.team-header {
  text-align: center;
  margin-bottom: 50px;
}
.team-header .small-title {
  margin-bottom: 8px;
}
.team-header h2 {
  font-family: "Montserrat", sans-serif;
  font-size: 35px;
  font-weight: 700;
  line-height: 43px;
  color: #000;
}
.team-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px 30px;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 50px;
}
.team-card {
  text-align: left;
}
.team-card-img {
  background: #f2f2f2;
  border-radius: 20px;
  overflow: hidden;
  aspect-ratio: 1 / 1.05;
  margin-bottom: 16px;
}
.team-card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.team-card h4 {
  font-family: "Montserrat", sans-serif;
  font-size: 25px;
  font-weight: 700;
  line-height: 30px;
  color: #000;
  margin-bottom: 16px;
  padding-left: 30px;
}
.team-card span {
  font-family: "Montserrat", sans-serif;
  font-size: 25px;
  line-height: 30px;
  font-weight: 400;
  color: #777;
  padding-left: 30px;
}


.wp-block-list li {
    padding-left: 1.875rem;
    margin-bottom: .75rem;
    position: relative;
}

 .wp-block-list li:before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 4px;
    width: 1.25rem;
    height: 1.25rem;
    background-color: currentColor;
    -webkit-mask-image: var(--bpIcons-icon-check);
    mask-image: var(--bpIcons-icon-check);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
}

/* body:not(.home) .process-grid {
    grid-template-columns: 3fr 3fr 3fr;
} */

/* ===== RESPONSIVE ===== */

/* Large desktop / small laptop */
@media (max-width: 1200px) {
  .projects-slider .swiper-slide {
    width: 500px !important;
    height: 350px !important;
  }
  .services-grid {
    gap: 30px;
  }
  .service-item h3 {
    font-size: 38px;
    line-height: 44px;
  }
  .footer-widgets {
    gap: 40px;
  }
  .call-to-action-content {
    padding: 40px 12px 12px 42px;
    gap: 32px;
  }
  .call_to_action_left h2 {
    font-size: 28px;
    line-height: 36px;
  }
  .call_to_action_left p {
    font-size: 16px;
    line-height: 25px;
  }
}

@media(max-width:1069px){
	.nav-list{
		gap:18px;
	}
	
}
/* Tablet */
@media (max-width: 1024px) {
   body.mobile-menu-open {
    overflow: hidden;
  }

  body.mobile-menu-open::before {
    display: none;
  }

  header {
    padding-top:18px;
    padding-bottom:18px;
  }
  header.header-scrolled {
    padding-top:14px;
    padding-bottom:14px;
  }
  header .content-holder,
  header.header-scrolled .content-holder {
    flex-direction:row;
    gap:16px;
  }
  .logo {
    max-width:165px;
  }
  header.header-scrolled .logo {
    max-width:150px;
  }
  nav {
    position: fixed;
    inset: 0;
    width: 100vw;
    height: 100dvh;
    display: block;
    padding: 104px 28px 34px;
    background: #090E15;
    overflow-y: auto;
    overscroll-behavior: contain;
    z-index: 95;

    transform: none;
    box-shadow: none;

    opacity: 0.8;
    visibility: hidden;
    pointer-events: none;

    clip-path: circle(0vmax at calc(100% - 52px) 52px);

    transition:
      clip-path 0.9s cubic-bezier(0.76, 0, 0.24, 1),
      opacity 1s ease,
      visibility 0s linear 0.9s;
  }
  .header-actions {
    gap: 12px;
  }
  body.mobile-menu-open nav {
     opacity: 1;
    visibility: visible;
    pointer-events: auto;

    clip-path: circle(150vmax at calc(100% - 52px) 52px);

    transition:
      clip-path 0.9s cubic-bezier(0.76, 0, 0.24, 1),
      opacity 0.25s ease,
      visibility 0s linear 0s;
  }
	
nav#site-navigation .nav-list > li {
    opacity: 0;
    transform: translateY(24px);
    transition:
      opacity 0.45s ease,
      transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
    transition-delay: 0s;
  }

  body.mobile-menu-open nav#site-navigation .nav-list > li {
    opacity: 1;
    transform: translateY(0);
  }

  body.mobile-menu-open nav#site-navigation .nav-list > li:nth-child(1) {
    transition-delay: 0.18s;
  }

  body.mobile-menu-open nav#site-navigation .nav-list > li:nth-child(2) {
    transition-delay: 0.24s;
  }

  body.mobile-menu-open nav#site-navigation .nav-list > li:nth-child(3) {
    transition-delay: 0.30s;
  }

  body.mobile-menu-open nav#site-navigation .nav-list > li:nth-child(4) {
    transition-delay: 0.36s;
  }

  body.mobile-menu-open nav#site-navigation .nav-list > li:nth-child(5) {
    transition-delay: 0.42s;
  }

  body.mobile-menu-open nav#site-navigation .nav-list > li:nth-child(6) {
    transition-delay: 0.48s;
  }

  body.mobile-menu-open nav#site-navigation .nav-list > li:nth-child(7) {
    transition-delay: 0.54s;
  }

  nav#site-navigation.is-closing .nav-list > li {
    opacity: 0;
    transform: translateY(18px);
    transition-delay: 0s !important;
    transition-duration: 0.2s;
  }	
	
  .header-search-toggle{
    width:52px;
    height:52px;
    border-radius:14px;
  }
  body.search-open .mobile-menu-toggle {
    opacity: 0;
    pointer-events: none;
  }
  .mobile-menu-toggle {
    position:relative;
    z-index:110;
    width:52px;
    height:52px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:7px;
    margin-right:-20px;
    border:0;
    border-left:1px solid rgba(255, 255, 255, 0.08);
    border-radius:12px 0 0 12px;
    background:#101418;
    cursor:pointer;
    transition:background-color 0.24s ease, transform 0.24s ease;
  }
  .mobile-menu-toggle span {
    width:18px;
    height:2px;
    display:block;
    border-radius:999px;
    background:#FFFFFF;
    transition:transform 0.24s ease, opacity 0.24s ease;
  }
  .mobile-menu-toggle:hover,
  .mobile-menu-toggle:focus-visible {
    background:#0198dc66;
    outline:none;
  }
  body.mobile-menu-open .mobile-menu-toggle span:first-child {
    transform:translateY(4.5px) rotate(45deg);
  }
  body.mobile-menu-open .mobile-menu-toggle span:last-child {
    transform:translateY(-4.5px) rotate(-45deg);
  }
	.mobile-menu-open .nav-list li:hover a::after{
		display:none;
	}
	.mobile-menu-open .nav-list .nav-dropdown.mega-menu-open:hover a::after{
		display:block;
	}
	.mobile-menu-open .nav-list li a{
		transition:all 0.5s ease;
	}
	.mobile-menu-open .nav-list li:hover a {
		text-indent: 20px;
	}
  .header-search-panel{
    padding:118px 22px 24px;
  }
  .header-search-close{
    top:22px;
    right:22px;
    width:52px;
    height:52px;
    border-radius:14px;
  }
  .header-search-form{
    flex-direction:column;
    align-items:stretch;
  }
  .header-search-submit{
    width:100%;
  }
  .search-results-hero{
    padding:164px 0 38px;
  }
  .search-results-form{
    flex-direction:column;
    align-items:stretch;
  }
  .search-results-form button{
    width:100%;
  }
  .search-results-link-title{
    font-size:24px;
    line-height:32px;
  }
  .nav-list {
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    width:100%;
  }
  .nav-list > li {
    width:100%;
    border-bottom:1px solid rgba(255, 255, 255, 0.08);
  }
  nav a,
  .nav-dropdown-toggle {
    width:100%;
    justify-content:space-between;
    font-size:18px;
    line-height:24px;
    color:#FFFFFF;
  }
  .nav-link {
    padding:18px 0;
  }
  .nav-link::after {
    left:0;
    bottom:10px;
    width:34px;
    transform:scaleX(0);
    transform-origin:left;
  }
  .nav-link:hover::after,
  .nav-list > li:hover > .nav-link::after,
  .nav-link:focus-visible::after {
    transform:scaleX(1);
  }
  .dropdown-arrow {
    color:#FFFFFF;
    font-size:13px;
  }
  .nav-dropdown {
    position:static;
  }
  .mega-menu {
    position:static;
    width:100%;
    padding-top:0;
    opacity:1;
    visibility:visible;
    transform:none;
    max-height:0;
    overflow:hidden;
    pointer-events:none;
    transition:max-height 0.32s ease;
  }
  .nav-dropdown:hover .mega-menu,
  .nav-dropdown.mega-menu-open .mega-menu {
    transform:none;
  }
  .nav-dropdown.mega-menu-open .mega-menu {
    max-height:640px;
    pointer-events:auto;
  }
  .nav-dropdown.mega-menu-closed .mega-menu {
    max-height:0 !important;
    opacity:1 !important;
    visibility:visible !important;
  }
  .mega-menu-inner {
    min-width:0;
    width:100%;
    max-height:none;
    display:block;
    margin:0;
    padding:0 0 16px;
    overflow:visible;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    backdrop-filter:none;
  }
  .mega-menu-left {
    gap:6px;
    padding-bottom:0;
  }
  .mega-menu-left li {
    border-bottom:0;
  }
  .mega-menu-item {
    gap:12px;
    padding:10px 0;
    border-radius:10px;
  }
  .mega-menu-item:hover,
  .mega-menu-item:focus-visible,
  .mega-menu-item.is-active {
    background:rgba(255, 255, 255, 0.055);
  }
  .mega-menu-icon {
    width:36px;
    height:36px;
  }
  .mega-menu-icon svg {
    width:26px;
    height:26px;
  }
  .mega-menu-text h4 {
    font-size:15px;
    line-height:20px;
  }
  .mega-menu-text p {
    font-size:12px;
    line-height:17px;
    color:rgba(255, 255, 255, 0.64);
  }
  .mega-menu-right {
    display:none;
  }
  .cta {
    width:100%;
    min-width:0;
    display:flex;
    justify-content:center;
    margin-top:22px;
    font-size: 16px;
    padding:13px 18px;
    border-color:rgba(255, 255, 255, 0.32);
    background:rgba(255, 255, 255, 0.06);
  }
  .cta:hover,
  .cta:focus-visible {
    background:#FF714A;
    border-color:#FF714A;
    color:#FFFFFF;
  }
  h2 {
    font-size: 28px;
    line-height: 36px;
  }
  .hero h1 {
    font-size: 40px;
    line-height: 50px;
  }
  .hero h2 {
    font-size: 36px;
  }
  .small-title {
    font-size: 22px;
    line-height: 28px;
  }
  .logos-track {
    gap: 20px;
  }
  .logo-box {
    min-width: 180px;
    flex-basis: 180px;
  }
  .projects .projects-header {
    padding: 56px 20px 44px 0;
  }
  .projects .projects-header h2 {
    font-size: clamp(34px, 5.5vw, 52px);
  }
  .stories-link {
    margin-bottom: 4px;
  }
  .projects-slider .swiper-slide {
    width: 450px !important;
    height: 320px !important;
  }
  .slide-content {
    padding: 30px;
    gap: 25px;
  }
  .services-grid {
    flex-direction: column;
  }
  .services-left {
    max-width: 100%;
    order: 2;
  }
  .services-right {
    max-width: 100%;
    order: 1;
  }
  .service-item h3 {
    font-size: 32px;
    line-height: 38px;
  }
  .testimonial-text {
    font-size: 24px;
    line-height: 36px;
  }
  .testimonial-slide {
    padding-top: 80px;
    padding-bottom: 80px;
  }
  .testimonial-prev {
    left: 5% !important;
  }
  .testimonial-next {
    right: 5% !important;
  }
  .call-to-action-content {
    flex-direction: column;
    height:auto;
    max-height: none;
    padding: 42px 42px 0;
  }
  .call_to_action_left {
    flex: none;
    width: 100%;
    max-width: 100%;
    padding: 0;
  }
  .call_to_action_right {
    flex: none;
    max-width: 100%;
    justify-content: center;
    min-height: 280px;
  }
  .call_to_action_right img {
    width: 100%;
    height: 150%;
    max-height:none;
    object-position:center top;
    transform:translate3d(0, var(--cta-image-offset), 0) scale(1.02);
  }
  .footer-widgets {
    flex-wrap: wrap;
    gap: 40px;
  }
  .footer-col {
    min-width: 200px;
  }
  .contact-page-grid {
    grid-template-columns:1fr;
    gap:36px;
  }
  .contact-page-copy {
    position:static;
  }
  .contact-page-copy h2 {
    font-size:38px;
    line-height:46px;
  }
  .contact-highlights {
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }
  .contact-details-map-grid{
    grid-template-columns:1fr;
  }
  .contact-details-map-header h2{
    font-size:34px;
    line-height:42px;
  }
  .contact-map-wrap{
    min-height:340px;
  }
  .contact-map-wrap iframe{
    min-height:340px;
  }
  /* Blog responsive — tablet */
  .blog-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
  .blog-grid .blog-card:nth-child(n) {
    grid-column: auto;
    grid-row: auto;
    min-height: 300px;
  }
  .blog-grid .blog-card:nth-child(1) {
    grid-column: 1 / -1;
    min-height: 400px;
  }
  .blog-grid.blog-grid-filtered {
    grid-template-columns: repeat(2, 1fr);
  }
  .blog-grid.blog-grid-filtered .blog-card:nth-child(n) {
    min-height: 280px;
  }
  /* Single post — tablet */
  .post-meta {
    transform: translateY(-50px);
    margin-bottom: -50px;
  }
  .post-meta-icon {
    width: 75px;
    height: 75px;
  }
  .post-meta-icon svg {
    width: 28px;
    height: 28px;
  }
  .post-content {
    max-width: 100%;
  }
  .post-lead p {
    font-size: 20px;
    line-height: 34px;
  }
  .post-body h2 {
    font-size: 22px;
    line-height: 28px;
  }
  .post-body p {
    font-size: 16px;
    line-height: 20px;
  }
}

/* Small tablet / large phone */
@media (max-width: 768px) {
  .ref-detail-grid {
    flex-direction: column;
    gap: 40px;
  }
  .ref-detail-reversed .ref-detail-images {
    order: -1;
  }
  .ref-detail-section {
    padding: 50px 0;
  }
  .ref-detail-text h2 {
    font-size: 28px;
    line-height: 36px;
  }
  .ref-mockup-stack {
    min-height: 300px;
  }
  .ref-mockup-tilted {
    width: 100%;
    transform: none;
  }
  .ref-bento-row-top,
  .ref-bento-row-bottom {
    grid-template-columns: 1fr;
  }
  .ref-bento-tall {
    min-height: auto;
  }
  .blog-grid {
    grid-template-columns: 1fr;
  }
  .blog-grid .blog-card:nth-child(n) {
    grid-column: 1 / -1;
    min-height: 260px;
  }
  .blog-grid .blog-card:nth-child(1) {
    min-height: 320px;
  }
  .blog-grid.blog-grid-filtered {
    grid-template-columns: 1fr;
  }
  .blog-grid.blog-grid-filtered .blog-card:nth-child(n) {
    min-height: 260px;
  }
  .blog-filters {
    gap: 8px;
    margin-bottom: 30px;
  }
  .blog-filter-btn {
    padding: 8px 18px;
    font-size: 13px;
  }
  .blog-card h3 {
    font-size: 18px;
    line-height: 26px;
  }
  .blog-card p {
    font-size: 13px;
    line-height: 21px;
  }
  /* Single post responsive */
  .hero-single-post {
    min-height: 55vh;
  }
  .post-meta {
    transform: translateY(-40px);
    margin-bottom: -40px;
    gap: 40px;
  }
  .post-meta-icon {
    width: 65px;
    height: 65px;
  }
  .post-meta-icon svg {
    width: 26px;
    height: 26px;
  }
  .post-meta-item span {
    font-size: 13px;
  }
  .post-lead p {
    font-size: 18px;
    line-height: 30px;
  }
  .post-body p {
    font-size: 16px;
    line-height: 26px;
  }
  .post-body h2 {
    font-size: 20px;
    line-height: 26px;
    margin-bottom: 16px;
  }
  .post-body img {
    margin: 20px 0;
  }
  .post-content {
    padding: 30px 15px 0;
  }
  .post-content-section {
    padding-bottom: 50px;
  }
  .post-divider {
    margin: 30px 0;
  }
  /* Team section — small tablet */
  .team-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 30px 24px;
  }
  .team-header h2 {
    font-size: 26px;
    line-height: 34px;
  }
  .team-section {
    padding: 40px 0 60px;
  }
  .section-divider p {
    font-size: 22px;
    line-height: 30px;
  }

  header {
    padding-top: 20px;
    padding-bottom: 20px;
  }
  header.header-scrolled {
    padding-top: 14px;
    padding-bottom: 14px;
  }
  header .content-holder {
    flex-direction: row;
    gap: 16px;
  }
  header.header-scrolled .content-holder {
    gap: 16px;
  }
	.mobile-menu-open .nav-list .nav-dropdown.mega-menu-open:hover a::after{
		margin-left:20px;
	}
  /* Mega menu — small tablet / phone */
  .nav-dropdown {
    position: static;
  }
  .mega-menu {
    position: static;
    top: auto;
    left: auto;
    right: auto;
    width: 100%;
    padding-top: 0;
    max-height: 0;
    overflow: hidden;
    pointer-events: none;
  }
  .mega-menu-inner {
    min-width: 0;
    width: 100%;
    margin: 0;
    display: block;
    padding: 0 0 16px;
    border-radius: 0;
    max-height: none;
    overflow: visible;
  }
  .mega-menu-left {
    gap: 6px;
    padding-bottom: 0;
  }
  .mega-menu-item {
    padding: 10px 0;
  }
  .mega-menu-icon {
    width: 36px;
    height: 36px;
  }
  .mega-menu-icon svg {
    width: 26px;
    height: 26px;
  }
  .mega-menu-text h4 {
    font-size: 15px;
  }
  .mega-menu-text p {
    font-size: 12px;
    line-height: 16px;
  }
  .mega-menu-right {
    display: none;
  }
  .nav-list {
    flex-wrap: nowrap;
    justify-content: flex-start;
    gap: 0;
  }
  nav a {
    font-size: 18px;
  }
  .cta {
    min-width: 0;
    font-size: 16px;
    padding: 13px 18px;
  }
  .hero:not(.hero-ai) {
    min-height: 50svh;
    padding-top: 112px;
  } 
  .hero:not(.hero-ai) .hero-content {
    min-height: calc(50svh - 112px);
    justify-content: center;
    padding-bottom: 34px;
  }
  .hero:not(.hero-ai) h1 {
    max-width: 640px;
    font-size: clamp(38px, 8vw, 56px);
    line-height: 1.08;
    margin-bottom: 14px;
  }
  .hero:not(.hero-ai) h2 {
    font-size: clamp(38px, 8vw, 56px);
    line-height: 1.08;
    margin-bottom: 10px;
  }
  .hero:not(.hero-ai) h2 span {
    font-size: inherit;
    line-height: inherit;
  }
  .small-title {
    font-size: 18px;
    line-height: 24px;
  }
  h2 {
    font-size: 24px;
    line-height: 32px;
  }
  h3 {
    font-size: 20px;
    line-height: 26px;
  }
  .scroll-circle {
    width: 65px;
    height: 65px;
    font-size: 28px;
    pointer-events: cursor;
  }
  .logos-track {
    gap: 12px;
  }
  .logos {
    width: calc(100% - 30px);
    padding: 18px 0;
    border-radius: 14px;
  }
  .logo-box {
    min-width: 190px;
    flex-basis: 190px;
    min-height: 86px;
    padding: 18px 24px;
    border-radius: 12px;
  }
  .logo-box img {
    max-width: 138px;
    max-height: 42px;
    object-fit: contain;
  }
  .content-holder {
    padding-top: 30px;
    padding-bottom: 30px;
  }
  .section-header {
    padding-top: 20px;
    padding-bottom: 30px;
  }
  .video-testimonial-section {
    padding:70px 0;
  }
  .video-testimonial-grid {
    flex-direction:column;
    align-items:flex-start;
    gap:36px;
  }
  .video-testimonial-copy {
    max-width:100%;
  }
  .video-testimonial-copy h2 {
    font-size:34px;
    line-height:42px;
  }
  .video-testimonial-copy p {
    font-size:16px;
    line-height:27px;
  }
  .video-testimonial-media {
    width:100%;
    max-width:100%;
  }
  .projects .projects-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
    padding: 20px 15px 20px 0;
  }
  .projects .projects-header .small-title {
    margin-bottom: 14px;
    font-size: 16px;
    line-height: 16px;
  }
  .projects .projects-header h2 {
    font-size: 38px;
    line-height: 1.08;
  }
  .stories-link {
    margin-bottom: 0;
  }
  .stories-arrow {
    width: 48px;
    height: 48px;
    font-size: 25px;
  }
  .stories-link:hover .stories-arrow,
  .stories-link:focus-visible .stories-arrow {
    width: 72px;
  }
  .projects-slider .swiper-slide {
    width: 85vw !important;
    height: 300px !important;
    border-radius: 20px;
  }
  .slide-content {
    padding: 25px;
    gap: 15px;
  }
  .slide-content p {
    font-size: 14px;
    line-height: 19px;
  }
  .slide-content ul {
    flex-wrap: wrap;
  }
  .slide-content ul li a {
    font-size: 14px;
    padding: 7px 12px;
	 
  }
  .services {
    padding: 30px 0;
  }
  .service-item h3 {
    font-size: 26px;
    line-height: 32px;
  }
	.process {
		padding-bottom:30px;
	}
  .process-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .step {
    font-size: 42px;
    line-height: 50px;
  }
  .process-card h3 {
    font-size: 22px;
    line-height: 28px;
  }
	section.partners {
		padding-top:30px;
	}
  .testimonials {
    padding: 30px 0;
  }
  .testimonial-text {
    font-size: 20px;
    line-height: 32px;
  }
  .testimonial-prev,
  .testimonial-next {
    width: 45px !important;
    height: 45px !important;
  }
  .testimonial-content {
    max-width: 65%;
  }
  .faq-question {
    font-size: 16px;
    padding: 20px;
  }
  .call-to-action-content {
    padding: 34px 28px 0;
    border-radius: 16px;
    gap: 26px;
  }
  .call-to-action-section {
    padding: 30px 0;
  }
  .call_to_action_left h2 {
    font-size: 26px;
    line-height: 34px;
  }
  .call_to_action_left p {
    font-size: 16px;
    line-height: 25px;
  }
  .call_to_action_right {
    width: 100%;
    min-height: 300px;
    border-radius: 0 0 16px 16px;
  }
  .call_to_action_right img {
    width: auto;
    height: 600px;
    object-position: center top;
    transform: translate3d(0, var(--cta-image-offset), 0) scale(1.03);
  }
  .btn_cta {
    max-width: 100%;
    width: fit-content;
  }
  footer {
    padding-top: 60px;
    text-align: center;
  }
  .footer-widgets {
    flex-direction: column;
    gap: 30px;
    align-items: center;
  }
  .footer-col {
    min-width: 100%;
    max-width: 420px;
  }
  .footer-col:first-child,
  .footer-col:nth-child(2) {
    max-width: 420px;
  }
  .footer-col img {
    margin-left: auto;
    margin-right: auto;
  }
  .contact-details {
    margin-bottom: 30px;
  }
  .whatsapp-img {
    justify-content: center;
  }
  .message_holder {
    align-items: center;
    text-align: center;
  }
  .whatsapp-link {
    margin-left: auto;
    margin-right: auto;
  }
  .call_to_action_left {
    width: 100%;
  }
  .contact-page-section {
    padding:20px 0;
  }
  .contact-highlights,
  .contact-info-band .content-holder {
    grid-template-columns:1fr;
  }
  .contact-highlight {
    grid-template-columns:40px minmax(0, 1fr);
  }
  .contact-highlight-icon {
    width:40px;
    height:40px;
  }
  .contact-form {
    padding:26px;
  }
  .form-row {
    grid-template-columns:1fr;
    gap:0;
  }
  .contact-info-band {
    padding-bottom:22px;
  }
  .contact-details-map-section{
    padding:28px 0;
  }
  .contact-details-map-header{
    margin-bottom:10px;
    text-align:left;
  }
  .contact-details-map-header h2{
    font-size:28px;
    line-height:36px;
  }
  .contact-details-card{
    padding:22px;
  }
  .contact-details-card-title{
    font-size:20px;
    line-height:26px;
  }
  .contact-direct-icon{
    width:42px;
    height:42px;
  }
  .contact-direct-item a{
    font-size:16px;
  }
  .contact-map-wrap{
    min-height:300px;
  }
  .contact-map-wrap iframe{
    min-height:300px;
  }
	.reference-grid-section {
		padding-bottom:30px !important;
	}
	.ref-detail-section {
		padding-top:0px;
	}
	.ref-detail-section.second-row {
		padding-bottom:20px;
	}
	.ref-bento-section {
		padding:0px;
	}
	.referenzen-slider-section{
		padding-bottom:0px;
	}
}

/* Mobile */
@media (max-width: 480px) {
  /* Team section — mobile */
  .team-grid {
    grid-template-columns: 1fr;
    gap: 30px;
    max-width: 320px;
  }
  .team-header h2 {
    font-size: 22px;
    line-height: 30px;
  }
  .team-header {
    margin-bottom: 30px;
  }
  .team-section {
    padding: 30px 0 50px;
  }
  .team-card h4 {
    font-size: 15px;
  }
  .team-card span {
    font-size: 13px;
  }
  .section-divider p {
    font-size: 18px;
    line-height: 26px;
  }
  /* Mega menu — mobile */
  .mega-menu-inner {
    width: 100%;
    padding: 0 0 14px;
    gap: 0;
  }
  .mega-menu-left {
    gap: 6px;
  }
  .mega-menu-item {
    gap: 12px;
    padding: 10px 0;
  }
  .mega-menu-icon {
    width: 32px;
    height: 32px;
  }
  .mega-menu-icon svg {
    width: 24px;
    height: 24px;
  }
  .mega-menu-text h4 {
    font-size: 14px;
    line-height: 18px;
  }
  .mega-menu-text p {
    font-size: 11px;
    line-height: 15px;
  }
  .mega-menu-right {
    display: none;
  }
  .mega-menu-right h4 {
    font-size: 14px;
  }
  .mega-menu-preview {
    max-height: 130px;
  }
  .container-holder {
    padding-left: 15px;
    padding-right: 15px;
  }
  .logo {
    max-width: 150px;
  }
  nav {
    width: 100%;
    padding: 92px 22px 28px;
  }
  .header-actions{
    gap:10px;
  }
  .header-search-toggle {
    width:48px;
    height:48px;
    border-radius:12px;
  }
  .mobile-menu-toggle {
    width:51px;
    height:48px;
    margin-right:-15px;
	  background: #0198dc66;
  }
  .header-search-panel{
    padding:108px 15px 20px;
  }
  .header-search-close{
    top:15px;
    right:15px;
    width:48px;
    height:48px;
    border-radius:12px;
  }
  .header-search-topic-link{
    padding:14px 16px;
  }
  .search-results-hero{
    padding:148px 0 30px;
  }
  .search-results-summary{
    font-size:16px;
    line-height:24px;
  }
  .search-results-link{
    padding:20px 0 18px;
  }
  .search-results-link-title{
    font-size:21px;
    line-height:28px;
  }
  .search-results-link-excerpt{
    font-size:15px;
    line-height:24px;
  }
	
	.header-search-panel.is-open {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}
	.projects .content-holder{
		padding-bottom:50px;
	}
  .projects .projects-header {
    padding-top: 20px;
    padding-bottom: 20px;
  }
  .projects .projects-header h2 {
    font-size: 20px;
	line-height:28px;
  }
  .stories-link {
    gap: 14px;
    font-size: 16px;
  }
  .stories-arrow {
    width: 44px;
    height: 44px;
    font-size: 23px;
  }
  .stories-link:hover .stories-arrow,
  .stories-link:focus-visible .stories-arrow {
    width: 64px;
  }
  .nav-list {
    gap: 0;
  }
  nav a {
    font-size: 17px;
  }
  .cta {
    min-width: 0;
    font-size: 15px;
    padding: 12px 16px;
    border-radius: 10px;
  }
  .hero:not(.hero-ai) h1 {
    max-width: 100%;
    font-size: 32px;
    line-height: 38px;
  }
  .hero:not(.hero-ai) h2 {
    font-size: 32px;
    line-height: 38px;
  }
  .hero:not(.hero-ai) h1 br {
    display: none;
  }
  .hero:not(.hero-ai)::before {
    background:
      linear-gradient(90deg, rgba(11, 20, 32, 0.9) 0%, rgba(11, 20, 32, 0.7) 58%, rgba(11, 20, 32, 0.82) 100%),
      repeating-linear-gradient(
        90deg,
        rgba(255,255,255,0.04) 0px,
        rgba(255,255,255,0.04) 1px,
        transparent 1px,
        transparent 84px
      );
  }
  .hero:not(.hero-ai) .hero-video {
    object-position: center center;
  }
  .hero:not(.hero-ai) .hero-content{
    align-items:center;
    text-align:center;
  }
  .scroll {
    margin-top: 28px;
    display:flex;
    justify-content:center;
  }
  .scroll-circle{
    margin-left:auto;
    margin-right:auto;
    touch-action:manipulation;
  }
  .small-title {
    font-size: 18px;
  }
  h2 {
    font-size: 20px;
    line-height: 28px;
  }
  h3 {
    font-size: 18px;
    line-height: 24px;
  }
  .video-testimonial-section {
    padding:0px 0;
  }
  .video-testimonial-grid {
    gap:28px;
	  padding-bottom:50px;
  }
  .video-testimonial-copy h2 {
    font-size:20px;
    line-height:28px;
  }
  .video-testimonial-link {
    font-size:14px;
    line-height:20px;
    padding:9px 16px;
    border-radius:10px;
  }
  .video-testimonial-media video {
    border-radius:16px;
  }
  .scroll-circle {
    width: 55px;
    height: 55px;
    font-size: 22px;
  }
  section.partners::after {
    margin-top: 34px;
  }
  .partners-header {
    margin-bottom: 24px;
  }
  .partners-header h2 {
    font-size: 20px;
    line-height: 28px;
  }
  .partners-header p {
    font-size: 14px;
    line-height: 23px;
  }
  .logos {
    width: 100%;
    padding: 14px 0;
    border-radius: 12px;
  }
  .logos-track {
    gap: 10px;
    animation-duration: 26s;
  }
  .logo-box {
    min-width: 170px;
    flex-basis: 170px;
    min-height: 78px;
    padding: 16px 20px;
    border-radius: 10px;
  }
  .logo-box img {
    max-width: 126px;
    max-height: 38px;
  }
  .projects .container-holder {
    padding-right: 15px;
  }
  .projects-slider .swiper-slide {
    width: 90vw !important;
    height: 350px !important;
    border-radius: 16px;
  }
  .slide-content {
    padding: 20px;
    gap: 12px;
  }
  .service-item h3 {
    font-size: 22px;
    line-height: 28px;
  }
  .service-item {
    gap: 12px;
  }
  .process-card {
    padding: 18px 20px;
  }
  .step {
    font-size: 36px;
    line-height: 44px;
  }
  .process-card h3 {
    font-size: 18px;
    line-height: 24px;
  }
  .testimonial-slide {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  .testimonial-text {
    font-size: 16px;
    line-height: 26px;
    margin-bottom: 25px;
  }
  .testimonial-content {
    max-width: 80%;
  }
  .testimonial-prev,
  .testimonial-next {
    display: none !important;
  }
  .author-name {
    font-size: 16px;
  }
  .author-role {
    font-size: 14px;
  }
	.faq-section {
		padding-bottom:30px;
	}
  .faq-question {
    font-size: 14px;
    padding: 16px;
  }
  .faq-icon {
    font-size: 22px;
  }
  .faq-answer p {
    padding: 0 16px 20px;
    font-size: 14px;
  }
  .call-to-action-content {
    padding: 35px 20px 0;
    border-radius: 12px;
    gap: 18px;
  }
  .call_to_action_right {
    min-height: 230px;
    margin-left: -20px;
    margin-right: -20px;
    width: calc(100% + 40px);
  }
  .call_to_action_right img {
    width: auto;
    height: 500px;
    transform: translate3d(0, calc(var(--cta-image-offset) * 0.45), 0) scale(1.04);
  }
  .call_to_action_left h2 {
    font-size: 20px;
    line-height: 28px;
  }
  .call_to_action_left p {
    font-size: 15px;
    line-height: 23px;
  }
  .btn_cta {
    min-height: 64px;
    padding: 8px 10px 8px 20px;
    font-size: 16px;
    border-radius: 999px;
    width: fit-content;
    max-width: 100%;
    gap: 14px;
  }
  .btn_cta::after {
    width: 46px;
    height: 46px;
    flex-basis: 46px;
    font-size: 24px;
  }
  footer {
    padding-top: 40px;
  }
  .footer-widgets {
    gap: 28px;
    padding-bottom: 34px;
  }
  .footer-col p {
    font-size: 13px;
    line-height: 22px;
  }
  .footer-col h4 {
    margin-bottom: 12px;
  }
  .whatsapp-img {
    flex-direction: column;
    gap: 12px;
  }
  .message_holder {
    padding: 14px 15px;
    max-width: 100%;
  }
  .message_holder p {
    font-size: 13px;
    line-height: 20px;
  }
  .whatsapp-link {
    margin-left: auto;
    margin-right: auto;
  }
  .back-to-top {
    right:16px;
    bottom:16px;
    width:46px;
    height:46px;
  }
  .footer-copyright ul {
    flex-wrap: wrap;
    justify-content: center;
    gap: 16px;
  }
  .footer-copyright ul li a {
    font-size: 14px;
  }
  .contact-page-copy h2 {
    font-size:20px;
    line-height:28px;
  }
  .contact-page-copy > p {
    font-size:15px;
    line-height:25px;
  }
	.contact-highlight h3 {
		font-size:16px;
		line-height:16px;
	}
	.contact-form-head h3{
		font-size:20px;
		line-height:28px;
	}
  .contact-form {
    padding:22px 18px;
    border-radius:14px;
  }
  .contact-submit {
    width:100%;
  }
  .contact-info-card {
    padding:20px;
  }
  .contact-info-icon {
    width:42px;
    height:42px;
  }
	.mobile-menu-open .nav-list li:hover a {
		text-indent:0px;
	}
	.mobile-menu-open .nav-list .nav-dropdown.mega-menu-open:hover a::after{
		margin-left:0px;
	}
	.mega-menu-left .mega-menu-item:hover{
		transform:none;
	}
  .wpcf7 input,
  .wpcf7 textarea,
  .wpcf7 select {
    font-size: 16px;
  }
	 .wpcf7 input:focus,
  .wpcf7 textarea:focus {
    transform: none;
  }
  /* Blog responsive — mobile */
  .blog-section {
    padding: 40px 0 60px;
  }
  .blog-filters {
    margin-bottom: 24px;
  }
  .blog-filter-btn {
    padding: 7px 14px;
    font-size: 12px;
  }
  .blog-grid .blog-card:nth-child(n) {
    min-height: 220px;
  }
  .blog-grid .blog-card:nth-child(1) {
    min-height: 280px;
  }
  .blog-card .blog-card-body {
    padding: 20px;
  }
  .blog-card h3 {
    font-size: 16px;
    line-height: 22px;
  }
  .blog-card p {
    font-size: 12px;
    line-height: 19px;
  }
  /* Single post responsive — mobile */
  .hero-single-post {
    min-height: 45vh;
  }
  .post-meta-section {
    padding: 5px 0 15px;
  }
  .post-meta {
    gap: 25px;
    transform: translateY(-35px);
    margin-bottom: -35px;
  }
  .post-meta-icon {
    width: 55px;
    height: 55px;
  }
  .post-meta-icon svg {
    width: 22px;
    height: 22px;
  }
  .post-meta-item span {
    font-size: 11px;
  }
  .post-meta-item {
    gap: 10px;
  }
  .post-lead p {
    font-size: 18px;
    line-height: 26px;
  }
  .post-body p {
    font-size: 16px;
    line-height: 26px;
    margin-bottom: 16px;
  }
  .post-body h2 {
    font-size: 18px;
    line-height: 24px;
    margin-bottom: 14px;
  }
	.single .section-header {
		padding-top:30px;
	}
  .post-body img {
    margin: 16px 0;
  }
  .post-content {
    padding: 24px 10px 0;
  }
  .post-divider {
    margin: 24px 0;
  }
  .post-content-section {
    padding-bottom: 0px;
  }
}

/* AI Page Responsive */
@media (max-width: 1200px) {
  .section-bg-grey .section-header {
    width: 100%;
  }
  .section-partners .section-header {
    width: 100%;
  }
  .section-partners .section-header h2 {
    font-size: 28px;
    line-height: 38px;
  }
}
@media (max-width: 1024px) {
  .ai-services-grid {
    flex-direction: column;
  }
  .ai-services-left {
    max-width: 100%;
  }
  .ai-services-right {
    max-width: 100%;
  }
  .hero-ai h2 {
    font-size: 38px;
  }
  .hero-ai h1 {
    font-size: 36px;
    line-height: 46px;
  }
  .ai-cta-card {
    flex-direction: column;
    padding: 40px;
  }
  .ai-cta-left {
    max-width: 100%;
  }
  .ai-leistungen-grid {
    gap: 20px;
  }
  .ai-leistungen-card {
    padding: 30px;
  }
  .partners-grid {
    grid-template-columns: repeat(3, 1fr);
  }
  .section-grey-content-grid {
    gap: 40px;
  }
  .section-grey-content-grid h4 {
    font-size: 16px;
    line-height: 26px;
  }
  .section-grey-content-grid p {
    font-size: 16px;
    line-height: 26px;
  }
}
@media (max-width: 768px) {
  .hero-ai {
    min-height: 30vh;
  }
  .hero-ai .hero-content {
    min-height: 22vh;
    padding-top: 98px;
    padding-bottom: 44px;
  }
  .hero-ai h2 {
    font-size: 28px;
  }
  .hero-ai h1 {
    font-size: 28px;
    line-height: 38px;
  }
  .ai-services {
    padding: 50px 0;
  }
  .ai-services-left h2 {
    font-size: 30px;
    line-height: 40px;
  }
  .ai-services-grid {
    gap: 30px;
  }
  .ai-cta-card {
    padding: 30px;
  }
  .ai-leistungen {
    padding: 50px 0;
  }
  .ai-leistungen-grid {
    grid-template-columns: 1fr;
  }
  .ai-leistungen-card {
    padding: 28px;
  }
  .partners-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .section-partners {
    padding: 50px 0;
  }
  .section-partners .section-header h2 {
    font-size: 22px;
    line-height: 32px;
  }
  .section-grey-content-grid {
    flex-direction: column;
    gap: 24px;
  }
  .section-grey-content-left,
  .section-grey-content-right {
    max-width: 100%;
    gap: 20px;
  }
  .section-grey-image-holder img {
    min-height: 300px;
  }
  .section-grey-content-grid h4 {
    font-size: 16px;
    line-height: 24px;
  }
  .section-grey-content-grid p {
    font-size: 15px;
    line-height: 24px;
  }
}
@media (max-width: 480px) {
  .hero-ai {
    min-height: 40vh;
  }
  .hero-ai .hero-content {
    min-height: 28vh;
    padding-top: 84px;
    padding-bottom: 34px;
  }
  .hero-ai h2 {
    font-size: 22px;
  }
  .hero-ai h1 {
    font-size: 22px;
    line-height: 30px;
	  text-align:center
  }
  .ai-services-left h2 {
    font-size: 20px;
    line-height: 28px;
  }
	.slider-services .slide-content p{
		font-size:18px !important;
		line-height:26px !important;
	}
	.dachdev-richtext h3 {
		font-size:20px;
		line-height:28px;
	}
  .ai-services-left p {
    font-size: 16px;
    line-height: 26px;
  }
	.ref-detail-text h2 {
		font-size:20px;
		line-height:28px;
	}
	.ref-bento-card {
		padding:45px 0px 0px 45px;
	}
	.ref-bento-card h3 {
		font-size:20px;
		line-height:28px;
	}
	.ref-bento-card p{
		font-size:16px;
		line-height:24px;
	}
	.slide-content p{
		font-size:16px;
		line-height:20px;
	}
  .ai-leistungen-card {
    padding: 22px;
  }
  .ai-leistungen-card h3 {
    font-size: 18px;
  }
  .ai-leistungen-card p {
    font-size: 14px;
    line-height: 22px;
  }
  .ai-cta-card {
    padding: 24px;
  }
  .ai-cta-left h3 {
    font-size: 18px;
    line-height: 28px;
  }
  .ai-cta-section {
    padding-bottom: 40px;
  }
  .partners-grid {
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }
  .partner-box {
    padding: 20px 12px;
    font-size: 12px;
    min-height: 70px;
  }
  .section-partners .section-header h2 {
    font-size: 18px;
    line-height: 26px;
  }
  .section-grey-content-grid h4 {
    font-size: 15px;
    line-height: 22px;
  }
  .section-grey-content-grid p {
    font-size: 14px;
    line-height: 22px;
  }
}
/* 404 Page */
.error-page-section {
  position: relative;
  padding: 210px 0 120px;
  min-height: 100vh;
  display: flex;
  align-items: center;
  overflow: hidden;
}
.error-page-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at top left, rgba(0, 152, 218, 0.22), transparent 34%),
    radial-gradient(circle at bottom right, rgba(255, 255, 255, 0.08), transparent 28%);
  pointer-events: none;
}
.error-page-section .content-holder {
  width: 100%;
  justify-content: center;
  position: relative;
  z-index: 1;
}
.error-page-card {
  width: 100%;
  max-width: 760px;
  padding: 56px;
  text-align: center;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 32px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.05));

}
.error-page-eyebrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 18px;
  padding: 8px 16px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  color: #9edfff;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.error-page-code {
  margin-bottom: 18px;
  color: #ffffff;
  font-family: "Lato", sans-serif;
  font-size: clamp(72px, 14vw, 140px);
  font-weight: 700;
  line-height: 0.9;
}
.error-page-card h1 {
  margin-bottom: 18px;
  color: #ffffff;
  font-size: clamp(30px, 4vw, 48px);
  line-height: 1.08;
}
.error-page-card p {
  max-width: 560px;
  margin: 0 auto;
  color: rgba(255, 255, 255, 0.8);
  font-size: 18px;
  line-height: 30px;
}
.error-page-actions {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16px;
  margin-top: 34px;
  flex-wrap: wrap;
}
.error-page-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 56px;
  padding: 14px 24px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 999px;
  color: #ffffff;
  font-size: 15px;
  font-weight: 500;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}
.error-page-link:hover,
.error-page-link:focus-visible {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.32);
}
@media (max-width: 768px) {
  .error-page-section {
    padding: 170px 0 90px;
  }
  .error-page-card {
    padding: 38px 24px;
    border-radius: 24px;
  }
  .error-page-card p {
    font-size: 16px;
    line-height: 26px;
  }
}
@media (max-width: 480px) {
  .error-page-section {
    padding: 150px 0 70px;
  }
  .error-page-actions {
    flex-direction: column;
  }
  .error-page-actions .cta,
  .error-page-link {
    width: 100%;
  }
}

.slider-services .slide-content p {
    font-size: 22px;
    line-height: 27px;
}

.slider-services .projects-header {
    padding: 0px 0px 0px 0;
}


/* References Grid */
.reference-grid-section {
  padding: 0px 0 0px;
  background: #ffffff;
}
.reference-grid-filter-scope {
  width: 100%;
}
.reference-filters {
  display: flex;
  gap: 10px;
  justify-content: center;
  flex-wrap: wrap;
  width: 100%;
  margin-bottom: 44px;
}
.reference-filter-btn {
  background: #ffffff;
  border: 1px solid #d6dbe2;
  border-radius: 999px;
  padding: 10px 24px;
  font-family: "Montserrat", sans-serif;
  font-size: 14px;
  line-height: 22px;
  color: #334155;
  cursor: pointer;
  transition: border-color 0.25s ease, color 0.25s ease, background-color 0.25s ease;
}
.reference-filter-btn:hover,
.reference-filter-btn.active {
  border-color: #0098DA;
  color: #0098DA;
}
.reference-grid {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 26px;
}
.reference-card {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 420px;
  border-radius: 26px;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  background: #0f1720;
  transition: transform 0.28s ease, box-shadow 0.28s ease;
}
.reference-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(11, 20, 32, 0.16) 0%, rgba(11, 20, 32, 0.82) 100%);
  z-index: 1;
}
.reference-card > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.45s ease;
}
.reference-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 50px rgba(15, 23, 32, 0.18);
}
.reference-card:hover > img {
  transform: scale(1.04);
}
.reference-card-body {
  position: relative;
  z-index: 2;
  width: 100%;
  padding: 28px;
}
.reference-card-logo {
  display: flex;
  max-width: 110px;
  margin-bottom: 18px;
}
.reference-card-logo img {
  width: 100%;
  height: auto;
  display: block;
}
.reference-card-title {
  display: block;
  margin-bottom: 18px;
  font-family: "Lato", sans-serif;
  font-size: 28px;
  line-height: 34px;
  font-weight: 700;
  color: #ffffff;
}
.reference-card-body p {
  color: rgba(255, 255, 255, 0.84);
  font-size: 15px;
  line-height: 25px;
  margin-bottom: 18px;
}
.reference-card-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.reference-card-tags li {
  padding: 9px 14px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.1);
  color: #ffffff;
  font-size: 13px;
  line-height: 18px;
}
.reference-card-hidden {
  display: none !important;
}
/* .reference-grid.reference-grid-filtered {
  grid-template-columns: repeat(3, minmax(0, 1fr));
} */
@media (max-width: 1200px) {
  .reference-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 768px) {
  .reference-grid-section {
    padding: 54px 0 70px;
  }
  .reference-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .reference-card {
    min-height: 360px;
  }
  .reference-card-body {
    padding: 22px;
  }
  .reference-card-title {
    font-size: 24px;
    line-height: 30px;
  }
}

/* Breadcrumbs */
.dachdev-breadcrumbs {
      width: 100%;
    margin-bottom: 18px;
    text-align: center;
}
.dachdev-breadcrumbs__list {
      display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    justify-content: center;
    margin-bottom: 35px;
}
.dachdev-breadcrumbs__item {
  display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    line-height: 20px;
    color: rgba(255, 255, 255, 0.72);
}
li.dachdev-breadcrumbs__item a {
    font-size: 13px;
    text-decoration: underline;
}

.dachdev-breadcrumbs__item::after {
  content: ">";
  color: rgba(255, 255, 255, 0.72);
}
.dachdev-breadcrumbs__item:last-child::after {
  display: none;
}
.dachdev-breadcrumbs__item a,
.dachdev-breadcrumbs__item span {
  color: #ffffff;
}
.dachdev-breadcrumbs__item a {
  transition: opacity 0.2s ease;
}
.dachdev-breadcrumbs__item a:hover,
.dachdev-breadcrumbs__item a:focus-visible {
  opacity: 0.78;
}

/* References Grid */
.reference-grid-section {
  padding: 70px 0 90px;
  background: #ffffff;
}
.reference-grid-filter-scope {
  width: 100%;
}
.reference-filters {
  display: flex;
  gap: 10px;
  justify-content: center;
  flex-wrap: wrap;
  width: 100%;
  margin-bottom: 44px;
}
.reference-filter-btn {
  background: #ffffff;
  border: 1px solid #d6dbe2;
  border-radius: 999px;
  padding: 10px 24px;
  font-family: "Montserrat", sans-serif;
  font-size: 14px;
  line-height: 22px;
  color: #334155;
  cursor: pointer;
  transition: border-color 0.25s ease, color 0.25s ease, background-color 0.25s ease;
}
.reference-filter-btn:hover,
.reference-filter-btn.active {
  border-color: #0098DA;
  color: #0098DA;
}
.reference-grid {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 26px;
}
.reference-card {
  position: relative;
  display: flex;
  align-items: flex-end;
  min-height: 420px;
  border-radius: 26px;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  background: #0f1720;
  transition: transform 0.28s ease, box-shadow 0.28s ease;
}
.reference-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(11, 20, 32, 0.16) 0%, rgba(11, 20, 32, 0.82) 100%);
  z-index: 1;
}
.reference-card > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.45s ease;
}
.reference-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 50px rgba(15, 23, 32, 0.18);
}
.reference-card:hover > img {
  transform: scale(1.04);
}
.reference-card-body {
  position: relative;
  z-index: 2;
  width: 100%;
  padding: 28px;
}
.reference-card-logo {
  display: inline-flex;
  max-width: 180px;
  margin-bottom: 18px;
}
.reference-card-logo img {
  width: 100%;
  height: auto;
  display: block;
}
.reference-card-title {
  display: inline-block;
  margin-bottom: 18px;
  font-family: "Lato", sans-serif;
  font-size: 28px;
  line-height: 34px;
  font-weight: 700;
  color: #ffffff;
}
.reference-card-body p {
  color: rgba(255, 255, 255, 0.84);
  font-size: 15px;
  line-height: 25px;
  margin-bottom: 18px;
}
.reference-card-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.reference-card-tags li {
  padding: 9px 14px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.1);
  color: #ffffff;
  font-size: 13px;
  line-height: 18px;
}
.reference-card-hidden {
  display: none !important;
}
/* .reference-grid.reference-grid-filtered {
  grid-template-columns: repeat(3, minmax(0, 1fr));
} */
@media (max-width: 1200px) {
  .reference-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 768px) {
  .reference-grid-section {
    padding: 54px 0 70px;
  }
  .reference-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .reference-card {
    min-height: 360px;
  }
  .reference-card-body {
    padding: 22px;
  }
  .reference-card-title {
    font-size: 24px;
    line-height: 30px;
  }
}
