/* Qubitcode Lite — single CSS replacement for 9 heavy files
   Replaces: bootstrap.min.css, all.min.css, animate.css, magnific-popup.css,
   meanmenu.css, swiper-bundle.min.css, nice-select.css, color.css, main.css */

/* Satoshi — self-hosted, no external CDN dependency */
@font-face {
  font-family: 'Satoshi Variable';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url('../fonts/Satoshi-Regular.otf') format('opentype');
}
@font-face {
  font-family: 'Satoshi Variable';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url('../fonts/Satoshi-Medium.otf') format('opentype');
}
@font-face {
  font-family: 'Satoshi Variable';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url('../fonts/Satoshi-Bold.otf') format('opentype');
}
@font-face {
  font-family: 'Satoshi Variable';
  font-style: normal;
  font-display: swap;
  font-weight: 900;
  src: url('../fonts/Satoshi-Black.otf') format('opentype');
}

/* Marcellus — self-hosted, no external CDN dependency */
@font-face {
  font-family: 'Marcellus';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url('../fonts/marcellus-latin-ext-400-normal.woff2') format('woff2'),
       url('../fonts/marcellus-latin-ext-400-normal.woff') format('woff');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: 'Marcellus';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url('../fonts/marcellus-latin-400-normal.woff2') format('woff2'),
       url('../fonts/marcellus-latin-400-normal.woff') format('woff');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

/* ========== Variables ========== */
:root {
  --body: #fff;
  --black: #000;
  --white: #fff;
  --theme: #EFFB53;
  --theme2: #514DE0;
  --header: #151518;
  --header2: #072032;
  --text: #CDCDCD;
  --text2: #5C6972;
  --border: #2A2A2A;
  --body-bg: #151518;
  --bg: #1A1A1E;
  --box-shadow: 0px 4px 25px 0px rgba(0, 0, 0, 0.06);
}

/* ========== Reset ========== */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
ul { list-style: none; padding: 0; margin: 0; }
button { border: none; background-color: transparent; padding: 0; cursor: pointer; }
input:focus { outline: none; color: var(--white); }
input { color: var(--white); }
img { max-width: 100%; height: auto; }

/* ========== Base Typography ========== */
body {
  font-family: "Satoshi Variable", sans-serif;
  font-size: 18px;
  font-weight: 500;
  line-height: 28px;
  color: var(--text);
  background-color: var(--white);
  padding: 0;
  margin: 0;
  overflow-x: hidden;
}
.body-bg { background-color: var(--body-bg); }

a {
  text-decoration: none;
  outline: none !important;
  cursor: pointer;
  color: var(--white);
  transition: all 0.4s ease-in-out;
}
a:hover { color: var(--theme); }

p { margin: 0; transition: all 0.4s ease-in-out; }
span { margin: 0; transition: all 0.4s ease-in-out; }

h1, h2, h3, h4, h5, h6 {
  font-family: "Satoshi Variable", sans-serif;
  margin: 0;
  padding: 0;
  color: var(--white);
  text-transform: capitalize;
  transition: all 0.4s ease-in-out;
}
h1 { font-size: 150px; font-weight: 900; line-height: 95%; }
h2 { font-size: 65px; line-height: 116%; font-weight: 700; }
h3 { font-size: 27px; font-weight: 700; line-height: 134%; }
h4 { font-size: 20px; font-weight: 700; line-height: 130%; }
h5 { font-size: 18px; font-weight: 700; }
h6 { font-size: 16px; font-weight: 600; line-height: 145%; }

@media (max-width: 991px) { h2 { font-size: 55px; } }
@media (max-width: 767px) { h2 { font-size: 45px; } h3 { font-size: 22px; } }
@media (max-width: 575px) { h2 { font-size: 36px; } h3 { font-size: 20px; } }
@media (max-width: 470px) { h2 { font-size: 30px; } }

/* ========== Minimal Grid (Bootstrap replacement) ========== */
.container { width: 100%; max-width: 1320px; margin: 0 auto; padding: 0 15px; }
.container-fluid { width: 100%; padding: 0 15px; }
.row { display: flex; flex-wrap: wrap; margin: 0 -15px; }
.row.g-4 { gap: 0; row-gap: 24px; }
[class*="col-"] { padding: 0 15px; width: 100%; }
.col-3 { width: 25%; }
.col-lg-6 { width: 100%; }
.col-lg-12 { width: 100%; }
.col-xl-6 { width: 100%; }
@media (min-width: 992px) { .col-lg-6 { width: 50%; } }
@media (min-width: 1200px) { .col-xl-6 { width: 50%; } }

/* ========== Utility Classes ========== */
.d-flex { display: flex; }
.d-none { display: none; }
.d-block { display: block; }
.align-items-center { align-items: center; }
.justify-content-between { justify-content: space-between; }
.justify-content-end { justify-content: flex-end; }
.text-center { text-align: center; }
.mb-3 { margin-bottom: 1rem; }
.mb-5 { margin-bottom: 3rem; }
.mt-4 { margin-top: 1.5rem; }
.mr-15 { margin-right: 15px; }
.pb-0 { padding-bottom: 0 !important; }
.fix { overflow: hidden; }
.bg-cover { background-repeat: no-repeat; background-size: cover; background-position: center; }
.my-auto { margin-top: auto; margin-bottom: auto; }
@media (min-width: 1200px) { .d-xl-block { display: block !important; } }
@media (min-width: 768px) { .mt-md-0 { margin-top: 0 !important; } }

/* ========== Section Common ========== */
.section-padding { padding: 150px 0; }
@media (max-width: 991px) { .section-padding { padding: 100px 0; } }
@media (max-width: 575px) { .section-padding { padding: 80px 0; } }
.section-bg { background-color: var(--bg); }

.section-title { position: relative; z-index: 99; margin-bottom: 30px; }
.section-title h6 {
  color: var(--text);
  font-weight: 700;
  text-transform: uppercase;
  font-size: 16px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.section-title h6 img { width: 20px; height: 20px; display: inline-block; }
.section-title h2 span { font-weight: 400; }
.section-title h2 span b { font-weight: 400; color: var(--theme); font-family: "Marcellus", serif; }
.ml-200 { margin-left: 200px; }
@media (max-width: 1199px) { .ml-200 { margin-left: 0; } }

/* ========== Buttons ========== */
.theme-btn {
  display: inline-block;
  vertical-align: middle;
  -webkit-appearance: none;
  outline: none !important;
  color: var(--theme);
  font-size: 17px;
  font-weight: 700;
  padding: 22px 40px;
  transition: 0.5s ease-in-out;
  text-transform: capitalize;
  position: relative;
  z-index: 2;
  overflow: hidden;
  text-align: center;
  line-height: 1;
  border-radius: 30px;
  border: 1px solid rgba(207, 208, 212, 0.2);
  background: #1D1D21;
}
.theme-btn::after {
  content: "";
  background-color: var(--theme);
  position: absolute;
  top: 0; width: 100%; left: 0; right: 0; bottom: 0;
  clip-path: circle(0% at 50% 50%);
  transition: all cubic-bezier(0, 0.96, 0.58, 1.1) 0.8s;
  z-index: -1;
}
.theme-btn:hover { color: var(--header); }
.theme-btn:hover::after {
  clip-path: circle(100% at 50% 50%);
  transition: all cubic-bezier(0, 0.96, 0.58, 1.1) 4s;
}
@media (max-width: 767px) { .theme-btn { padding: 20px 32px; } }
@media (max-width: 575px) { .theme-btn { padding: 18px 30px; font-size: 14px; } }

.link-btn {
  display: inline-block;
  font-size: 17px;
  font-weight: 700;
  text-transform: capitalize;
  color: var(--text);
}
.link-btn:hover { color: var(--theme); }

/* ========== Preloader ========== */
@keyframes spinner {
  to { transform: rotateZ(360deg); }
}
@keyframes letters-loading {
  0%, 75%, 100% { opacity: 0; transform: rotateY(-90deg); }
  25%, 50% { opacity: 1; transform: rotateY(0deg); }
}

.preloader {
  align-items: center;
  cursor: default;
  display: flex;
  height: 100%;
  justify-content: center;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  z-index: 9999999;
}
.preloader .animation-preloader {
  z-index: 1000;
}
.preloader .animation-preloader .spinner {
  animation: spinner 1s infinite linear;
  border-radius: 50%;
  border: 3px solid rgba(0, 0, 0, 0.2);
  border-top-color: var(--theme);
  height: 9em;
  margin: 0 auto 3.5em auto;
  width: 9em;
}
@media (max-width: 767px) {
  .preloader .animation-preloader .spinner {
    width: 7.5em;
    height: 7.5em;
    margin: 0 auto 1.5em auto;
  }
}
.preloader .animation-preloader .txt-loading {
  font: bold 5em "Satoshi Variable", sans-serif;
  text-align: center;
  user-select: none;
}
@media (max-width: 767px) {
  .preloader .animation-preloader .txt-loading {
    font-size: 2.5em;
  }
}
.preloader .animation-preloader .txt-loading .letters-loading {
  color: var(--theme);
  position: relative;
}
.preloader .animation-preloader .txt-loading .letters-loading:nth-child(2)::before { animation-delay: 0.2s; }
.preloader .animation-preloader .txt-loading .letters-loading:nth-child(3)::before { animation-delay: 0.4s; }
.preloader .animation-preloader .txt-loading .letters-loading:nth-child(4)::before { animation-delay: 0.6s; }
.preloader .animation-preloader .txt-loading .letters-loading:nth-child(5)::before { animation-delay: 0.8s; }
.preloader .animation-preloader .txt-loading .letters-loading::before {
  animation: letters-loading 4s infinite;
  color: var(--header);
  content: attr(data-text-preloader);
  left: 0;
  opacity: 0;
  font-family: "Satoshi Variable", sans-serif;
  position: absolute;
  top: -3px;
  transform: rotateY(-90deg);
}
.preloader p {
  font-size: 15px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 8px;
  color: var(--theme);
}
.preloader .loader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  font-size: 0;
  z-index: 1;
  pointer-events: none;
}
.preloader .loader .row {
  height: 100%;
}
.preloader .loader .loader-section {
  padding: 0;
}
.preloader .loader .loader-section .bg {
  background-color: var(--bg);
  height: 100%;
  left: 0;
  width: 100%;
  transition: all 800ms cubic-bezier(0.77, 0, 0.175, 1);
}
.preloader.loaded .animation-preloader {
  opacity: 0;
  transition: 0.3s ease-out;
}
.preloader.loaded .loader-section .bg {
  width: 0;
  transition: 0.7s 0.3s cubic-bezier(0.1, 0.1, 0.1, 1);
}
.preloader.loaded {
  visibility: hidden;
  transition: visibility 0s 1.1s;
}

/* ========== Back to Top ========== */
.back-to-top {
  border-radius: 50%;
  background: var(--theme);
  width: 50px; height: 50px;
  position: fixed;
  right: 30px; bottom: 30px;
  z-index: 99;
  display: flex; align-items: center; justify-content: center;
  color: var(--header);
  opacity: 0; visibility: hidden;
  transform: translateY(20px);
  transition: 0.4s ease-in-out;
}
.back-to-top.show { opacity: 1; visibility: visible; transform: translate(0); }
.back-to-top:hover { background: var(--header); color: var(--white); }
.back-to-top svg { width: 18px; height: 18px; }

/* ========== Header ========== */
@keyframes fadeInDown {
  from { opacity: 0; transform: translateY(-20px); }
  to { opacity: 1; transform: translateY(0); }
}

.header-1 {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 999;
}
.header-1 .container-fluid {
  padding: 0 100px;
}
@media (max-width: 1899px) { .header-1 .container-fluid { padding: 0 60px; } }
@media (max-width: 1600px) { .header-1 .container-fluid { padding: 0 50px; } }
@media (max-width: 1399px) { .header-1 .container-fluid { padding: 0 40px; } }
@media (max-width: 1199px) { .header-1 .container-fluid { padding: 0 30px; } }

.header-main {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 0;
}
.header-left {
  display: flex;
  align-items: center;
  gap: 160px;
}
@media (max-width: 1600px) { .header-left { gap: 80px; } }

.header-right {
  display: flex;
  align-items: center;
  gap: 35px;
}
@media (max-width: 1399px) { .header-right { gap: 20px; } }

.header-main .main-menu ul {
  margin-bottom: 0;
}
.header-main .main-menu ul li {
  position: relative;
  list-style: none;
  display: inline-block;
  margin-inline-end: 50px;
}
.header-main .main-menu ul li:last-child {
  margin-inline-end: 0;
}
.header-main .main-menu ul li a {
  display: inline-block;
  font-size: 18px;
  font-weight: 500;
  color: var(--white);
  padding: 20px 0;
  text-align: left;
  position: relative;
  text-transform: capitalize;
  transition: all 0.4s ease-in-out;
}
.header-main .main-menu ul li a:hover {
  color: var(--theme) !important;
}
.header-main .main-menu ul li:hover > a {
  color: var(--theme);
}

/* Dropdown / Submenu */
.header-main .main-menu ul li .submenu {
  position: absolute;
  top: 115%;
  left: 0;
  min-width: 240px;
  background: #120f0f;
  padding: 20px 0;
  z-index: 99999;
  visibility: hidden;
  opacity: 0;
  transform-origin: top center;
  color: var(--header);
  transform: translateY(-10px);
  transition: all 0.4s ease-in-out;
  border-top: 6px solid var(--theme);
}
.header-main .main-menu ul li .submenu li {
  display: block;
  width: 100%;
  margin: 0;
}
.header-main .main-menu ul li .submenu li a {
  position: relative;
  z-index: 11;
  font-size: 18px;
  font-weight: 500;
  color: var(--white);
  line-height: 38px;
  padding: 0 0 0 32px;
  width: 100%;
  display: block;
}
.header-main .main-menu ul li .submenu li a::before {
  content: "";
  position: absolute;
  width: 0;
  height: 2px;
  background: var(--theme);
  left: 14px;
  bottom: 18px;
  transition: all 0.4s ease-in-out;
}
.header-main .main-menu ul li .submenu li:hover > a {
  color: var(--theme) !important;
  margin-left: 10px;
}
.header-main .main-menu ul li .submenu li:hover > a::before {
  width: 10px;
}
.header-main .main-menu ul li:hover > .submenu {
  visibility: visible;
  opacity: 1;
  transform: translateY(0px);
}

.sidebar__toggle {
  cursor: pointer;
  font-size: 20px;
  color: var(--white);
}
.sidebar__toggle:hover { color: var(--theme); }

.sticky {
  position: fixed !important;
  top: 0 !important;
  left: 0;
  width: 100%;
  z-index: 100;
  transition: all 0.9s;
  background-color: #181818;
  animation: 500ms ease-in-out 0s normal none 1 running fadeInDown;
}

/* ========== Search ========== */
.search-icon { font-size: 20px; cursor: pointer; color: var(--white); }
.search-icon:hover { color: var(--theme); }
.search-wrap {
  width: 100%; height: 100%;
  display: none; position: fixed; inset: 0;
  background-color: rgba(0, 0, 0, 0.9);
  z-index: 999999;
  align-items: center; justify-content: center;
}
.search-wrap.active { display: flex; }
.search-inner { width: 50%; position: relative; }
.search-close { position: absolute; top: -60px; right: 0; font-size: 30px; color: var(--theme); cursor: pointer; }
.main-search-input {
  width: 100%; height: 70px; border: none;
  border-bottom: 2px solid var(--theme);
  background: transparent; font-size: 25px;
  color: var(--white); padding: 0 20px;
  font-family: "Satoshi Variable", sans-serif;
}
.main-search-input::placeholder { color: rgba(255, 255, 255, 0.4); }
@media (max-width: 991px) { .search-inner { width: 70%; } }
@media (max-width: 767px) { .search-inner { width: 80%; } }

/* ========== Offcanvas ========== */
.offcanvas__info {
  position: fixed;
  right: 0; top: 0;
  width: 400px; height: 100%;
  z-index: 99999;
  background: var(--bg);
  border-left: 2px solid var(--theme);
  overflow-y: auto;
  transform: translateX(calc(100% + 80px));
  transition: 0.45s ease-in-out;
}
.offcanvas__info.info-open { transform: translateX(0); opacity: 1; }
.offcanvas__wrapper { padding: 30px; height: 100%; }
.offcanvas__top { display: flex; justify-content: flex-end; }
.offcanvas__close button {
  width: 45px; height: 45px; border-radius: 50%;
  background: var(--theme);
  display: flex; align-items: center; justify-content: center;
  color: var(--header); font-size: 18px;
}
.offcanvas__contact { margin-top: 30px; }
.offcanvas__contact h4 { margin-bottom: 20px; color: var(--white); }
.offcanvas__contact ul { display: grid; gap: 15px; }
.offcanvas__contact-icon { width: 40px; color: var(--theme); font-size: 18px; flex-shrink: 0; }
.offcanvas__contact-text a { color: var(--text); font-size: 16px; }
.offcanvas__contact-text a:hover { color: var(--theme); }
.offcanvas__overlay {
  position: fixed; inset: 0; z-index: 900;
  background: #151515;
  opacity: 0; visibility: hidden;
  transition: 0.4s ease-in-out;
}
.offcanvas__overlay.overlay-open { opacity: 0.8; visibility: visible; }
.social-icon { display: flex; gap: 15px; margin-top: 25px; }
.social-icon a {
  width: 45px; height: 45px; border-radius: 50%;
  border: 1px solid rgba(207, 208, 212, 0.2);
  display: flex; align-items: center; justify-content: center;
  color: var(--white); font-size: 16px;
}
.social-icon a:hover {
  background: var(--theme); color: var(--header); border-color: var(--theme);
}
.header-button { margin-bottom: 20px; }

@media (max-width: 991px) {
  .offcanvas__info { width: 100%; }
}

/* ========== Mobile Menu ========== */
.mobile-menu { display: none; }
@media (max-width: 1199px) {
  .mean__menu-wrapper .main-menu { display: none; }
  .mobile-menu { display: block; }
  .mobile-menu nav ul { display: grid; gap: 5px; }
  .mobile-menu nav ul li { list-style: none; }
  .mobile-menu nav ul li a {
    display: block; padding: 12px 0;
    font-size: 18px; font-weight: 500;
    color: var(--white);
    border-bottom: 1px solid var(--border);
  }
  .mobile-menu nav ul li a:hover { color: var(--theme); }
  .mobile-menu .submenu { display: none; padding-left: 20px; }
  .mobile-menu .has-dropdown.open > .submenu { display: block; }
}

/* ========== Hero Section ========== */
.hero-1 {
  padding: 210px 0 0;
  position: relative;
  z-index: 9;
  overflow: hidden;
}
@media (max-width: 1199px) { .hero-1 { padding: 170px 0 100px; } }
@media (max-width: 991px) { .hero-1 { padding: 170px 0 80px; } }
@media (max-width: 470px) { .hero-1 { padding: 140px 0 60px; } }

.hero-1 .hero-content {
  position: relative;
}
.hero-1 .hero-content .color-bg {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
}
.hero-1 .hero-content p {
  font-size: 27px;
  text-transform: uppercase;
  text-align: center;
  margin-left: 320px;
  margin-bottom: 10px;
}
@media (max-width: 991px) { .hero-1 .hero-content p { margin-left: 0; } }
@media (max-width: 767px) { .hero-1 .hero-content p { font-size: 24px; } }

.hero-1 .hero-content h1 {
  text-transform: uppercase;
  font-size: 140px;
}
@media (max-width: 1399px) { .hero-1 .hero-content h1 { font-size: 120px; } }
@media (max-width: 1199px) { .hero-1 .hero-content h1 { font-size: 100px; } }
@media (max-width: 991px) {
  .hero-1 .hero-content h1 {
    line-height: 120%;
    text-align: center;
    font-size: 80px;
  }
  .hero-1 .hero-content h1 img { display: none; }
}
@media (max-width: 767px) { .hero-1 .hero-content h1 { font-size: 60px; } }
@media (max-width: 575px) { .hero-1 .hero-content h1 { font-size: 40px; } }

.hero-1 .hero-content h1 img {
  display: inline-block;
  vertical-align: middle;
  border-radius: 50px;
  margin: 0 10px;
  width: 120px;
  height: auto;
}
.hero-1 .hero-content h1 b {
  color: var(--theme);
  margin-left: 280px;
}
@media (max-width: 1399px) { .hero-1 .hero-content h1 b { margin-left: 0; } }

.hero-1 .hero-content h1 .text-2 {
  font-weight: 400;
  font-family: "Marcellus", sans-serif;
}

.hero-1 .hero-image {
  margin-top: 150px;
  height: 320px;
}
@media (max-width: 1199px) {
  .hero-1 .hero-image {
    margin-left: 0;
    margin-top: 50px;
    height: 150px;
  }
}
@media (max-width: 575px) {
  .hero-1 .hero-image { height: 80px; }
}

/* ========== About Section ========== */
.about-section {
  position: relative;
  z-index: 5;
}
.about-section .bg-shape {
  position: absolute;
  top: 0; bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: -1;
}
.about-section .color-bg {
  position: absolute;
  left: 0;
  bottom: 25%;
  z-index: -1;
}
.about-section .color-bg-2 {
  position: absolute;
  top: -12%;
  right: -100px;
  z-index: -1;
}

/* About wrapper — tabs + content side by side */
.about-wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media (max-width: 1399px) {
  .about-wrapper { flex-wrap: wrap; }
}

/* Tab navigation buttons — vertical grid by default */
.about-wrapper .nav {
  display: grid;
  gap: 16px;
  padding: 0;
  border-right: 1px solid rgba(207, 208, 212, 0.2);
  padding-right: 40px;
}
@media (max-width: 1399px) {
  .about-wrapper .nav {
    padding-right: 0;
    border-right: none;
    display: flex;
    margin-bottom: 50px;
  }
}
@media (max-width: 575px) {
  .about-wrapper .nav { flex-wrap: wrap; }
}

.about-wrapper .nav .nav-item .nav-link {
  border-radius: 50px;
  border: 1px solid rgba(207, 208, 212, 0.2);
  background: #1D1D21;
  font-size: 24px;
  font-weight: 500;
  color: var(--white);
  font-family: "Satoshi Variable", sans-serif;
  padding: 35px 60px;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  transition: all 0.3s ease;
  display: block;
  white-space: nowrap;
}
@media (max-width: 991px) {
  .about-wrapper .nav .nav-item .nav-link {
    font-size: 22px;
    padding: 20px 30px;
  }
}
@media (max-width: 767px) {
  .about-wrapper .nav .nav-item .nav-link {
    font-size: 20px;
    padding: 18px 30px;
  }
}
.about-wrapper .nav .nav-item .nav-link.active {
  background-color: var(--theme);
  color: var(--header);
}
.about-wrapper .nav .nav-item .nav-link:hover {
  border-color: var(--theme);
}

/* Tab content */
.tab-content .tab-pane { display: none; }
.tab-content .tab-pane.active { display: block; }

/* About items — content + image side by side */
.about-wrapper .about-items {
  display: flex;
  align-items: center;
  gap: 40px;
}
@media (max-width: 991px) {
  .about-wrapper .about-items {
    flex-wrap: wrap;
    gap: 25px;
  }
}
.about-wrapper .about-items .about-content {
  max-width: 380px;
}
.about-wrapper .about-items .about-content .list-items {
  margin-top: 25px;
  margin-bottom: 50px;
}
.about-wrapper .about-items .about-content .list-items li {
  display: flex;
  align-items: center;
}
.about-wrapper .about-items .about-content .list-items li svg {
  flex-shrink: 0;
  width: 22px;
  height: 14px;
}
.about-wrapper .about-items .about-content .list-items li span {
  display: inline-block;
  font-weight: 700;
  color: var(--white);
  padding-left: 10px;
}
.about-wrapper .about-items .about-content .list-items li:not(:last-child) {
  margin-bottom: 15px;
}
.about-wrapper .about-items .about-image {
  max-width: 542px;
}
.about-wrapper .about-items .about-image img {
  width: 100%;
  height: 100%;
  border-radius: 25px;
}

/* ========== Counter Section ========== */
.counter-section { position: relative; }
.counter-wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media (max-width: 1199px) {
  .counter-wrapper { flex-wrap: wrap; gap: 30px; }
}
.counter-wrapper .counter-items {
  display: flex;
  align-items: center;
  gap: 30px;
}
.counter-wrapper .counter-items .icon {
  width: 100px;
  height: 100px;
  line-height: 100px;
  border-radius: 200px 200px 0px 200px;
  background-color: var(--theme);
  color: var(--header);
  font-size: 42px;
  text-align: center;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.counter-wrapper .counter-items .icon img { width: 42px; height: 42px; }
.counter-wrapper .counter-items .content {
  border-left: 1px solid rgba(207, 208, 212, 0.3);
  padding-left: 30px;
}
@media (max-width: 1199px) {
  .counter-wrapper .counter-items .content {
    padding-left: 0;
    border-left: none;
  }
}
.counter-wrapper .counter-items .content h2 {
  font-size: 70px;
  font-weight: 500;
}
@media (max-width: 575px) {
  .counter-wrapper .counter-items .content h2 { font-size: 50px; }
}
.counter-wrapper .counter-items .content p {
  font-size: 24px;
}
@media (max-width: 1199px) {
  .counter-wrapper .counter-items .content p { font-size: 20px; }
}

/* ========== Service Section ========== */
.service-section { position: relative; }
.service-box-items {
  margin-top: 30px;
  display: flex;
  align-items: center;
  gap: 15px;
}
@media (max-width: 767px) {
  .service-box-items { flex-wrap: wrap; }
}
.service-box-items .service-image {
  max-width: 260px;
}
@media (max-width: 767px) {
  .service-box-items .service-image { max-width: 600px; margin-bottom: 24px; }
}
.service-box-items .service-image img {
  width: 100%;
  height: 100%;
  border-radius: 20px;
}
.service-box-items .service-content {
  border-radius: 25px;
  border: 1px solid rgba(207, 208, 212, 0.2);
  background: #1D1D21;
  padding: 50px;
  max-width: 370px;
}
@media (max-width: 767px) {
  .service-box-items .service-content { max-width: 600px; padding: 30px; }
}
.service-box-items .service-content h3 { margin-bottom: 15px; }
.service-box-items .service-content p { margin-bottom: 20px; }
.service-box-items.mb-0 { margin-bottom: 0; }

/* ========== FAQ Section ========== */
.faq-section { position: relative; }
.faq-section > .color-bg { position: absolute; left: 270px; top: -150px; z-index: -1; opacity: 0.5; }
.faq-wrapper { position: relative; }
.faq-image-items { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.faq-image-items .faq-image img { width: 100%; border-radius: 20px; object-fit: cover; }
.faq-content .section-title { margin-bottom: 30px; }
.faq-accordion .accordion { display: grid; gap: 0; }
.faq-accordion .accordion-item {
  border: none;
  background: transparent;
  border-bottom: 1px solid rgba(207, 208, 212, 0.2);
  padding: 20px 0;
}
.accordion-header { margin: 0; }
.accordion-button {
  width: 100%;
  text-align: left;
  font-size: 27px;
  font-weight: 700;
  color: var(--white);
  padding: 0;
  background: transparent;
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  font-family: "Satoshi Variable", sans-serif;
}
.accordion-button::after {
  content: "\FF0B";
  font-size: 20px;
  color: var(--theme);
  transition: 0.3s ease;
  flex-shrink: 0;
  margin-left: 15px;
}
.accordion-button[aria-expanded="true"]::after { content: "\2212"; }
.accordion-collapse {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease;
}
.accordion-collapse.show { max-height: 500px; }
.accordion-body { padding: 15px 0; color: var(--text); line-height: 1.7; }

@media (max-width: 991px) {
  .faq-image-items { grid-template-columns: 1fr; }
  .accordion-button { font-size: 22px; }
}
@media (max-width: 767px) { .accordion-button { font-size: 20px; } }
@media (max-width: 575px) { .faq-image-items { display: none; } }

/* ========== Message / CTA Section ========== */
.message-section {
  position: relative;
  z-index: 9;
}
.message-section .bg-shape {
  position: absolute;
  top: 0; bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: -1;
}
.message-items {
  position: relative;
  z-index: 8;
}
.message-items h2 {
  font-size: 150px;
  line-height: 1;
  margin-top: -15px;
}
@media (max-width: 991px) { .message-items h2 { font-size: 100px; text-align: center; } }
@media (max-width: 767px) { .message-items h2 { font-size: 85px; } }
@media (max-width: 575px) { .message-items h2 { font-size: 55px; } }
@media (max-width: 470px) { .message-items h2 { font-size: 40px; } }

.message-items h2 span { font-weight: 400; }
.message-items h2 span b { font-weight: 400; color: var(--theme); }

.message-items .circle-bg {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
}
.message-items .lets-talk-items {
  display: flex;
  align-items: center;
  gap: 30px;
  justify-content: center;
  border-top: 1px solid rgba(207, 208, 212, 0.2);
  padding-top: 30px;
  margin-top: 30px;
  position: relative;
}
@media (max-width: 991px) {
  .message-items .lets-talk-items {
    flex-wrap: wrap;
    text-align: center;
  }
}
.message-items .lets-talk-items p {
  max-width: 445px;
}
.message-items .lets-circle {
  position: relative;
  max-width: 230px;
  mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 126"><path fill-rule="evenodd" clip-rule="evenodd" d="M55.9029 4.52619C59.9922 -0.78983 68.0078 -0.78983 72.0971 4.52619C75.0042 8.30537 80.1389 9.57096 84.4692 7.57565C90.5606 4.76892 97.6581 8.49399 98.8085 15.1015C99.6263 19.7987 103.585 23.3056 108.346 23.5512C115.044 23.8968 119.598 30.4936 117.546 36.8788C116.087 41.4181 117.962 46.3628 122.064 48.7932C127.834 52.2118 128.801 60.1691 124.016 64.8693C120.615 68.2107 119.978 73.4605 122.48 77.5188C126.001 83.2274 123.158 90.7222 116.738 92.6606C112.173 94.0387 109.169 98.3909 109.499 103.147C109.964 109.838 103.964 115.154 97.3777 113.886C92.6956 112.985 88.013 115.443 86.0948 119.808C83.3966 125.948 75.6138 127.866 70.3712 123.683C66.6442 120.71 61.3558 120.71 57.6288 123.683C52.3862 127.866 44.6034 125.948 41.9052 119.808C39.987 115.443 35.3044 112.985 30.6223 113.886C24.0363 115.154 18.0365 109.838 18.5008 103.147C18.8309 98.3909 15.8267 94.0387 11.2623 92.6606C4.84165 90.7222 1.99926 83.2274 5.51975 77.5188C8.02248 73.4605 7.38504 68.2107 3.98382 64.8693C-0.800531 60.1691 0.165651 52.2118 5.93581 48.7932C10.0378 46.3628 11.9131 41.4181 10.4543 36.8788C8.40231 30.4936 12.9557 23.8968 19.6537 23.5512C24.4153 23.3056 28.3737 19.7987 29.1915 15.1015C30.3419 8.49399 37.4394 4.76892 43.5308 7.57565C47.8611 9.57096 52.9958 8.30537 55.9029 4.52619Z" /></svg>');
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: cover;
  -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 126"><path fill-rule="evenodd" clip-rule="evenodd" d="M55.9029 4.52619C59.9922 -0.78983 68.0078 -0.78983 72.0971 4.52619C75.0042 8.30537 80.1389 9.57096 84.4692 7.57565C90.5606 4.76892 97.6581 8.49399 98.8085 15.1015C99.6263 19.7987 103.585 23.3056 108.346 23.5512C115.044 23.8968 119.598 30.4936 117.546 36.8788C116.087 41.4181 117.962 46.3628 122.064 48.7932C127.834 52.2118 128.801 60.1691 124.016 64.8693C120.615 68.2107 119.978 73.4605 122.48 77.5188C126.001 83.2274 123.158 90.7222 116.738 92.6606C112.173 94.0387 109.169 98.3909 109.499 103.147C109.964 109.838 103.964 115.154 97.3777 113.886C92.6956 112.985 88.013 115.443 86.0948 119.808C83.3966 125.948 75.6138 127.866 70.3712 123.683C66.6442 120.71 61.3558 120.71 57.6288 123.683C52.3862 127.866 44.6034 125.948 41.9052 119.808C39.987 115.443 35.3044 112.985 30.6223 113.886C24.0363 115.154 18.0365 109.838 18.5008 103.147C18.8309 98.3909 15.8267 94.0387 11.2623 92.6606C4.84165 90.7222 1.99926 83.2274 5.51975 77.5188C8.02248 73.4605 7.38504 68.2107 3.98382 64.8693C-0.800531 60.1691 0.165651 52.2118 5.93581 48.7932C10.0378 46.3628 11.9131 41.4181 10.4543 36.8788C8.40231 30.4936 12.9557 23.8968 19.6537 23.5512C24.4153 23.3056 28.3737 19.7987 29.1915 15.1015C30.3419 8.49399 37.4394 4.76892 43.5308 7.57565C47.8611 9.57096 52.9958 8.30537 55.9029 4.52619Z" /></svg>');
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center center;
  -webkit-mask-size: cover;
  background-color: var(--white);
  color: var(--header);
  font-weight: 700;
  font-size: 18px;
  padding: 85px 76px;
  display: block;
  text-align: center;
}
.message-items .lets-circle:hover {
  background-color: var(--theme);
}
.message-items .lets-circle svg {
  width: 24px;
  height: 24px;
}

/* ========== Footer ========== */
.footer-section { position: relative; }
.footer-bg { background: var(--bg); }
.footer-bottom { padding: 30px 0; border-top: 1px solid rgba(207, 208, 212, 0.15); }
.footer-bottom-wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 20px;
}
.footer-bottom-wrapper p { color: var(--text); font-size: 16px; }

/* ========== Scroll Animations (WOW.js replacement) ========== */
.animate-on-scroll {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}
.animate-on-scroll.animated { opacity: 1; transform: translateY(0); }
.animate-on-scroll.delay-1 { transition-delay: 0.1s; }
.animate-on-scroll.delay-2 { transition-delay: 0.2s; }
.animate-on-scroll.delay-3 { transition-delay: 0.3s; }
.animate-on-scroll.delay-4 { transition-delay: 0.4s; }
.animate-on-scroll.delay-5 { transition-delay: 0.5s; }
.animate-on-scroll.delay-6 { transition-delay: 0.6s; }
.animate-on-scroll.delay-7 { transition-delay: 0.7s; }
.animate-on-scroll.delay-8 { transition-delay: 0.8s; }

/* img-custom-anim-left replacement */
.anim-left {
  opacity: 0;
  transform: translateX(-5%);
  clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
  transition: opacity 1.5s ease, transform 1.5s ease, clip-path 1.5s ease;
}
.anim-left.animated {
  opacity: 1;
  transform: translateX(0);
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}

/* ========== Float animation ========== */
@keyframes float-bob-y {
  0% { transform: translateY(-20px); }
  50% { transform: translateY(-10px); }
  100% { transform: translateY(-20px); }
}
