/**
* Template Name: Gp
* Template URL: https://bootstrapmade.com/gp-free-multipurpose-html-bootstrap-template/
* Updated: Aug 15 2024 with Bootstrap v5.3.3
* Author: BootstrapMade.com
* License: https://bootstrapmade.com/license/
*/

/*--------------------------------------------------------------
# Font & Color Variables
# Help: https://bootstrapmade.com/color-system/
--------------------------------------------------------------*/
/* Fonts */
:root {
  --default-font: "Roboto", system-ui, -apple-system, "Segoe UI", Roboto,
    "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif,
    "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --heading-font: "Raleway", sans-serif;
  --nav-font: "Poppins", sans-serif;
}

/* Global Colors - The following color variables are used throughout the website. Updating them here will change the color scheme of the entire website */
:root {
  --background-color: #ffffff; /* Background color for the entire website, including individual sections */
  --default-color: #444444; /* Default color used for the majority of the text content across the entire website */
  --heading-color: #151515; /* Color for headings, subheadings and title throughout the website */
  --accent-color: #ffc451; /* Accent color that represents your brand on the website. It's used for buttons, links, and other elements that need to stand out */
  --surface-color: #ffffff; /* The surface color is used as a background of boxed elements within sections, such as cards, icon boxes, or other elements that require a visual separation from the global background. */
  --contrast-color: #312f2f; /* Contrast color for text, ensuring readability against backgrounds of accent, heading, or default colors. */
}

/* Nav Menu Colors - The following color variables are used specifically for the navigation menu. They are separate from the global colors to allow for more customization options */
:root {
  --nav-color: rgba(
    255,
    255,
    255,
    0.905
  ); /* The default color of the main navmenu links */
  --nav-hover-color: #ffc451; /* Applied to main navmenu links when they are hovered over or active */
  --nav-mobile-background-color: #ffffff; /* Used as the background color for mobile navigation menu */
  --nav-dropdown-background-color: #ffffff; /* Used as the background color for dropdown items that appear when hovering over primary navigation items */
  --nav-dropdown-color: #212529; /* Used for navigation links of the dropdown items in the navigation menu. */
  --nav-dropdown-hover-color: #ffc451; /* Similar to --nav-hover-color, this color is applied to dropdown navigation links when they are hovered over. */
}

/* Color Presets - These classes override global colors when applied to any section or element, providing reuse of the sam color scheme. */

.light-background {
  --background-color: #f9f9f9;
  --surface-color: #ffffff;
}

.dark-background {
  --background-color: #060606;
  --default-color: #ffffff;
  --heading-color: #ffffff;
  --surface-color: #252525;
  --contrast-color: #2a2727;
}

/* Smooth scroll */
:root {
  scroll-behavior: smooth;
}

/*--------------------------------------------------------------
# General Styling & Shared Classes
--------------------------------------------------------------*/
body {
  color: var(--default-color);
  background-color: var(--background-color);
  font-family: var(--default-font);
}

a {
  color: var(--accent-color);
  text-decoration: none;
  transition: 0.3s;
}

a:hover {
  color: color-mix(in srgb, var(--accent-color), transparent 25%);
  text-decoration: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: var(--heading-color);
  font-family: var(--heading-font);
}

/* PHP Email Form Messages
------------------------------*/
.php-email-form .error-message {
  display: none;
  background: #df1529;
  color: #ffffff;
  text-align: left;
  padding: 15px;
  margin-bottom: 24px;
  font-weight: 600;
}

.php-email-form .sent-message {
  display: none;
  color: #ffffff;
  background: #059652;
  text-align: center;
  padding: 15px;
  margin-bottom: 24px;
  font-weight: 600;
}

.php-email-form .loading {
  display: none;
  background: var(--surface-color);
  text-align: center;
  padding: 15px;
  margin-bottom: 24px;
}

.php-email-form .loading:before {
  content: "";
  display: inline-block;
  border-radius: 50%;
  width: 24px;
  height: 24px;
  margin: 0 10px -6px 0;
  border: 3px solid var(--accent-color);
  border-top-color: var(--surface-color);
  animation: php-email-form-loading 1s linear infinite;
}

@keyframes php-email-form-loading {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

/*--------------------------------------------------------------
# Global Header
--------------------------------------------------------------*/
.header {
  --background-color: rgba(0, 0, 0, 0.8);
  --heading-color: #ffffff;
  --contrast-color: #ffffff;
  color: var(--default-color);
  background-color: var(--background-color);
  padding: 10px 0;
  transition: all 0.5s;
  z-index: 997;
}

.header .logo {
  line-height: 1;
}

.header .logo img {
  max-height: 36px;
  margin-right: 8px;
  margin-bottom: 10px;
}

.header .logo h1 {
  font-size: 20px;
  margin: 0;
  font-weight: 700;
  color: var(--heading-color);
}

.header .logo span {
  color: var(--accent-color);
  font-size: 32px;
}

.header .btn-getstarted,
.header .btn-getstarted:focus {
  color: var(--contrast-color);
  font-size: 14px;
  padding: 8px 30px;
  margin: 0 0 0 30px;
  border-radius: 4px;
  transition: 0.3s;
  border: 2px solid var(--accent-color);
}

.header .btn-getstarted:hover,
.header .btn-getstarted:focus:hover {
  color: var(--default-color);
  background: var(--accent-color);
}

.header-auth-actions { display: flex; align-items: center; gap: 8px; margin-left: 24px; }
.header-auth-actions a { min-height: 38px; display: inline-flex; align-items: center; justify-content: center; padding: 8px 16px; border: 1px solid var(--accent-color); border-radius: 6px; font-size: 13px; font-weight: 700; transition: 0.25s ease; }
.header-auth-actions .header-signin { color: var(--nav-color); background: transparent; }
.header-auth-actions .header-signin:hover { color: #111b2b; background: #ffc451; }

@media (max-width: 1200px) {
  .header .logo {
    order: 1;
  }

  .header .btn-getstarted {
    order: 2;
    margin: 0 15px 0 0;
    padding: 6px 15px;
  }

  .header-auth-actions { order: 2; margin: 0 14px 0 auto; }
  .header-auth-actions a { min-height: 34px; padding: 6px 11px; font-size: 12px; }

  .header .navmenu {
    order: 3;
  }
}

@media (max-width: 575px) {
  .header-auth-actions { gap: 5px; margin-right: 7px; }
  .header-auth-actions a { padding: 6px 9px; font-size: 11px; }
}

.scrolled .header {
  box-shadow: 0px 0 18px rgba(0, 0, 0, 0.1);
}

/* Index Page Header
------------------------------*/
.index-page .header {
  --background-color: rgba(0, 0, 0, 0);
}

/* Index Page Header on Scroll
------------------------------*/
.index-page.scrolled .header {
  --background-color: rgba(0, 0, 0, 0.8);
}

/*--------------------------------------------------------------
# Navigation Menu
--------------------------------------------------------------*/
/* Navmenu - Desktop */
@media (min-width: 1200px) {
  .navmenu {
    padding: 0;
  }

  .navmenu ul {
    margin: 0;
    padding: 0;
    display: flex;
    list-style: none;
    align-items: center;
  }

  .navmenu li {
    position: relative;
  }

  .navmenu a,
  .navmenu a:focus {
    color: var(--nav-color);
    padding: 18px 15px;
    font-size: 16px;
    font-family: var(--nav-font);
    font-weight: 400;
    display: flex;
    align-items: center;
    justify-content: space-between;
    white-space: nowrap;
    transition: 0.3s;
  }

  .navmenu a i,
  .navmenu a:focus i {
    font-size: 12px;
    line-height: 0;
    margin-left: 5px;
    transition: 0.3s;
  }

  .navmenu li:last-child a {
    padding-right: 0;
  }

  .navmenu li:hover > a,
  .navmenu .active,
  .navmenu .active:focus {
    color: var(--nav-hover-color);
  }

  .navmenu .dropdown ul {
    margin: 0;
    padding: 10px 0;
    background: var(--nav-dropdown-background-color);
    display: block;
    position: absolute;
    visibility: hidden;
    left: 14px;
    top: 130%;
    opacity: 0;
    transition: 0.3s;
    border-radius: 0;
    z-index: 99;
    box-shadow: 0px 0px 30px rgba(0, 0, 0, 0.1);
  }

  .navmenu .dropdown ul li {
    min-width: 200px;
  }

  .navmenu .dropdown ul a {
    padding: 10px 20px;
    font-size: 15px;
    text-transform: none;
    color: var(--nav-dropdown-color);
  }

  .navmenu .dropdown ul a i {
    font-size: 12px;
  }

  .navmenu .dropdown ul a:hover,
  .navmenu .dropdown ul .active:hover,
  .navmenu .dropdown ul li:hover > a {
    background-color: var(--nav-dropdown-hover-color);
  }

  .navmenu .dropdown:hover > ul {
    opacity: 1;
    top: 100%;
    visibility: visible;
  }

  .navmenu .services-menu > .services-mega-menu {
    left: 50%;
    width: min(940px, calc(100vw - 40px));
    padding: 24px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    border-top: 3px solid #ffc451;
    border-radius: 0 0 18px 18px;
    background: #fff;
    transform: translateX(-38%);
    box-shadow: 0 24px 60px rgba(6, 6, 6, 0.2);
  }

  .navmenu .services-menu > .services-mega-menu > li { min-width: 0; }

  .navmenu .services-menu > .services-mega-menu > li > a {
    min-height: 100%;
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr) 18px;
    align-items: start;
    gap: 13px;
    padding: 16px;
    border-radius: 12px;
    color: #07152a;
    white-space: normal;
  }

  .navmenu .services-menu > .services-mega-menu > li > a:hover,
  .navmenu .services-menu > .services-mega-menu > li > a.active {
    color: #07152a;
    background: #fff8df;
  }

  .navmenu .services-menu > .services-mega-menu .services-menu-icon {
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: #07152a;
    background: #ffc451;
    box-shadow: 0 8px 20px rgba(255, 196, 81, 0.3);
  }

  .navmenu .services-menu > .services-mega-menu .services-menu-icon i { margin: 0; font-size: 20px; }
  .navmenu .services-menu-copy strong { display: block; margin: 1px 0 5px; font-size: 14px; line-height: 1.3; }
  .navmenu .services-menu-copy small { display: block; color: #758094; font-size: 12px; line-height: 1.5; }
  .navmenu .services-menu-arrow { margin: 5px 0 0; color: #b7bfca; font-size: 13px; }
  .navmenu .services-menu > .services-mega-menu > li > a:hover .services-menu-arrow { color: #d89a19; transform: translate(2px, -2px); }

  .navmenu .services-menu > .services-mega-menu > .services-menu-all {
    grid-column: 1 / -1;
    margin-top: 5px;
    border-top: 1px solid #e8ebef;
  }

  .navmenu .services-menu > .services-mega-menu > .services-menu-all > a {
    min-height: auto;
    display: flex;
    justify-content: center;
    padding: 14px;
    color: #07152a;
    font-weight: 700;
  }

  .navmenu .dropdown .dropdown ul {
    top: 0;
    left: -90%;
    visibility: hidden;
  }

  .navmenu .dropdown .dropdown:hover > ul {
    opacity: 1;
    top: 0;
    left: -100%;
    visibility: visible;
  }
}

/* Navmenu - Mobile */
@media (max-width: 1199px) {
  .mobile-nav-toggle {
    color: var(--nav-color);
    font-size: 28px;
    line-height: 0;
    margin-right: 10px;
    cursor: pointer;
    transition: color 0.3s;
  }

  .navmenu {
    padding: 0;
    z-index: 9997;
  }

  .navmenu ul {
    display: none;
    list-style: none;
    position: absolute;
    inset: 60px 20px 20px 20px;
    padding: 10px 0;
    margin: 0;
    border-radius: 6px;
    background-color: var(--nav-mobile-background-color);
    overflow-y: auto;
    transition: 0.3s;
    z-index: 9998;
    box-shadow: 0px 0px 30px rgba(0, 0, 0, 0.1);
  }

  .navmenu a,
  .navmenu a:focus {
    color: var(--nav-dropdown-color);
    padding: 10px 20px;
    font-family: var(--nav-font);
    font-size: 17px;
    font-weight: 500;
    display: flex;
    align-items: center;
    justify-content: space-between;
    white-space: nowrap;
    transition: 0.3s;
  }

  .navmenu a i,
  .navmenu a:focus i {
    font-size: 12px;
    line-height: 0;
    margin-left: 5px;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: 0.3s;
    background-color: color-mix(in srgb, var(--accent-color), white 90%);
  }

  .navmenu a i:hover,
  .navmenu a:focus i:hover {
    background-color: color-mix(in srgb, var(--accent-color), white 90%);
  }

  .navmenu a:hover,
  .navmenu .active,
  .navmenu .active:focus {
    background-color: var(--nav-dropdown-hover-color);
  }

  .navmenu .active i,
  .navmenu .active:focus i {
    transform: rotate(180deg);
  }

  .navmenu .dropdown ul {
    position: static;
    display: none;
    z-index: 99;
    padding: 10px 0;
    margin: 10px 20px;
    background-color: var(--nav-dropdown-background-color);
    border: 1px solid color-mix(in srgb, var(--default-color), transparent 90%);
    box-shadow: none;
    transition: all 0.5s ease-in-out;
  }

  .navmenu .dropdown ul ul {
    background-color: rgba(33, 37, 41, 0.1);
  }

  .navmenu .dropdown > .dropdown-active {
    display: block;
    background-color: rgba(33, 37, 41, 0.03);
  }

  .navmenu .services-menu > .services-mega-menu.dropdown-active {
    display: grid;
    grid-template-columns: 1fr;
    gap: 4px;
    padding: 8px;
    border-left: 3px solid #ffc451;
    border-radius: 8px;
    background: #f8f9fb;
  }

  .navmenu .services-mega-menu > li > a {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr) 16px;
    align-items: center;
    gap: 10px;
    padding: 11px;
    border-radius: 8px;
    white-space: normal;
  }

  .navmenu .services-menu-icon {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: #07152a;
    background: #ffc451;
  }

  .navmenu .services-menu-icon i { width: auto; height: auto; margin: 0; padding: 0; background: transparent; }
  .navmenu .services-menu-copy strong { display: block; color: #07152a; font-size: 14px; }
  .navmenu .services-menu-copy small { display: block; margin-top: 2px; color: #758094; font-size: 11px; line-height: 1.35; }
  .navmenu .services-menu-arrow { width: auto; height: auto; margin: 0; color: #c18b20; background: transparent; }
  .navmenu .services-menu-all a { display: flex; justify-content: center; color: #07152a; font-weight: 700; }

  .mobile-nav-active {
    overflow: hidden;
  }

  .mobile-nav-active .mobile-nav-toggle {
    color: #fff;
    position: absolute;
    font-size: 32px;
    top: 15px;
    right: 15px;
    margin-right: 0;
    z-index: 9999;
  }

  .mobile-nav-active .navmenu {
    position: fixed;
    overflow: hidden;
    inset: 0;
    background: rgba(33, 37, 41, 0.8);
    transition: 0.3s;
  }

  .mobile-nav-active .navmenu > ul {
    display: block;
  }
}

/*--------------------------------------------------------------
# Global Footer
--------------------------------------------------------------*/
.footer {
  color: var(--default-color);
  background-color: var(--background-color);
  font-size: 14px;
  position: relative;
}

.footer .footer-top {
  padding: 50px 0;
  background-color: color-mix(
    in srgb,
    var(--footer-background-color) 90%,
    white 10%
  );
}

.footer .footer-about .logo {
  line-height: 1;
  margin-bottom: 10px;
}

.footer .footer-about .logo img {
  max-height: 40px;
  margin-right: 6px;
}

.footer .footer-about .logo span {
  font-size: 26px;
  font-weight: 700;
  letter-spacing: 1px;
  font-family: var(--heading-font);
  color: var(--heading-color);
}

.footer .footer-about p {
  font-size: 14px;
  font-family: var(--heading-font);
}

.footer .social-links a {
  color: color-mix(in srgb, var(--default-color), transparent 30%);
  background-color: color-mix(in srgb, var(--default-color) 5%, white 10%);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 4px;
  font-size: 16px;
  margin-right: 10px;
  transition: 0.3s;
}

.footer .social-links a:hover {
  color: var(--contrast-color);
  background-color: var(--accent-color);
}

.footer h4 {
  font-size: 16px;
  font-weight: bold;
  position: relative;
  padding-bottom: 12px;
}

.footer .footer-links {
  margin-bottom: 30px;
}

.footer .footer-links ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer .footer-links ul i {
  margin-right: 4px;
  font-size: 12px;
  line-height: 0;
  color: var(--accent-color);
}

.footer .footer-links ul li {
  padding: 10px 0;
  display: flex;
  align-items: center;
}

.footer .footer-links ul li:first-child {
  padding-top: 0;
}

.footer .footer-links ul a {
  color: color-mix(in srgb, var(--default-color), transparent 30%);
  display: inline-block;
  line-height: 1;
}

.footer .footer-links ul a:hover {
  color: var(--accent-color);
}

.footer .footer-contact p {
  margin-bottom: 5px;
}

.footer .footer-newsletter .newsletter-form {
  margin-top: 30px;
  margin-bottom: 15px;
  padding: 6px 8px;
  position: relative;
  border-radius: 4px;
  border: 1px solid color-mix(in srgb, var(--default-color), transparent 80%);
  display: flex;
  background-color: color-mix(
    in srgb,
    var(--footer-background-color) 90%,
    white 15%
  );
  transition: 0.3s;
}

.footer .footer-newsletter .newsletter-form:focus-within {
  border-color: var(--accent-color);
}

.footer .footer-newsletter .newsletter-form input[type="email"] {
  border: 0;
  padding: 4px;
  width: 100%;
  background-color: color-mix(
    in srgb,
    var(--footer-background-color) 90%,
    white 15%
  );
  color: var(--default-color);
}

.footer .footer-newsletter .newsletter-form input[type="email"]:focus-visible {
  outline: none;
}

.footer .footer-newsletter .newsletter-form input[type="submit"] {
  border: 0;
  font-size: 16px;
  padding: 0 20px;
  margin: -7px -8px -7px 0;
  background: var(--accent-color);
  color: var(--contrast-color);
  transition: 0.3s;
  border-radius: 0 4px 4px 0;
}

.footer .footer-newsletter .newsletter-form input[type="submit"]:hover {
  background: color-mix(in srgb, var(--accent-color), transparent 20%);
}

.footer .copyright {
  padding: 30px 0;
}

.footer .copyright p {
  margin-bottom: 0;
}

.footer .credits {
  margin-top: 5px;
  font-size: 13px;
}

/*--------------------------------------------------------------
# Preloader
--------------------------------------------------------------*/
#preloader {
  position: fixed;
  inset: 0;
  z-index: 999999;
  overflow: hidden;
  background: #000;
  transition: all 0.6s ease-out;
}

#preloader:before {
  content: "";
  position: fixed;
  top: calc(50% - 30px);
  left: calc(50% - 30px);
  border: 6px solid #ffffff;
  border-color: var(--accent-color) transparent var(--accent-color) transparent;
  border-radius: 50%;
  width: 60px;
  height: 60px;
  animation: animate-preloader 1.5s linear infinite;
}

@keyframes animate-preloader {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

/*--------------------------------------------------------------
# Scroll Top Button
--------------------------------------------------------------*/
.scroll-top {
  position: fixed;
  visibility: hidden;
  opacity: 0;
  right: 15px;
  bottom: 15px;
  z-index: 99999;
  background-color: var(--accent-color);
  width: 40px;
  height: 40px;
  border-radius: 4px;
  transition: all 0.4s;
}

.scroll-top i {
  font-size: 24px;
  color: var(--contrast-color);
  line-height: 0;
}

.scroll-top:hover {
  background-color: color-mix(in srgb, var(--accent-color), transparent 20%);
  color: var(--contrast-color);
}

.scroll-top.active {
  visibility: visible;
  opacity: 1;
}

/*--------------------------------------------------------------
# Disable aos animation delay on mobile devices
--------------------------------------------------------------*/
@media screen and (max-width: 768px) {
  [data-aos-delay] {
    transition-delay: 0 !important;
  }
}

/*--------------------------------------------------------------
# Global Page Titles & Breadcrumbs
--------------------------------------------------------------*/
.page-title {
  color: var(--default-color);
  background-color: var(--background-color);
  position: relative;
}

.page-title .heading {
  padding: 80px 0;
  border-top: 1px solid
    color-mix(in srgb, var(--default-color), transparent 90%);
}

.page-title .heading h1 {
  font-size: 38px;
  font-weight: 700;
}

.page-title nav {
  background-color: color-mix(in srgb, var(--default-color), transparent 95%);
  padding: 20px 0;
}

.page-title nav ol {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 16px;
  font-weight: 400;
}

.page-title nav ol li + li {
  padding-left: 10px;
}

.page-title nav ol li + li::before {
  content: "/";
  display: inline-block;
  padding-right: 10px;
  color: color-mix(in srgb, var(--default-color), transparent 70%);
}

/*--------------------------------------------------------------
# Global Sections
--------------------------------------------------------------*/
section,
.section {
  color: var(--default-color);
  background-color: var(--background-color);
  padding: 60px 0;
  scroll-margin-top: 80px;
  overflow: clip;
}

@media (max-width: 1199px) {
  section,
  .section {
    scroll-margin-top: 58px;
  }
}

/*--------------------------------------------------------------
# Global Section Titles
--------------------------------------------------------------*/
.section-title {
  padding-bottom: 60px;
  position: relative;
}

.section-title h2 {
  font-size: 14px;
  font-weight: 500;
  padding: 0;
  line-height: 1px;
  margin: 0;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--default-color), transparent 50%);
  position: relative;
}

.section-title h2::after {
  content: "";
  width: 120px;
  height: 1px;
  display: inline-block;
  background: var(--accent-color);
  margin: 4px 10px;
}

.section-title p {
  color: var(--heading-color);
  margin: 0;
  font-size: 36px;
  font-weight: 700;
  text-transform: uppercase;
}

/*--------------------------------------------------------------
# Hero Section
--------------------------------------------------------------*/
.hero {
  width: 100%;
  min-height: 100vh;
  position: relative;
  padding: 120px 0 80px 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.hero img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 1;
}

.hero:before {
  content: "";
  background: color-mix(in srgb, var(--background-color), transparent 30%);
  position: absolute;
  inset: 0;
  z-index: 2;
}

.hero .container {
  position: relative;
  z-index: 3;
}

.hero h2 {
  margin: 0;
  font-size: 56px;
  font-weight: 700;
  font-family: var(--nav-font);
}

.hero h2 span {
  color: var(--accent-color);
}

.hero p {
  margin: 10px 0 0 0;
  font-size: 24px;
  color: color-mix(in srgb, var(--default-color), transparent 30%);
}

.hero .icon-box {
  padding: 30px 20px;
  transition: ease-in-out 0.3s;
  border: 1px solid color-mix(in srgb, var(--default-color), transparent 70%);
  height: 100%;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.hero .icon-box i {
  font-size: 32px;
  line-height: 1;
  color: var(--accent-color);
}

.hero .icon-box h3 {
  font-weight: 700;
  margin: 10px 0 0 0;
  padding: 0;
  line-height: 1;
  font-size: 20px;
  line-height: 26px;
}

.hero .icon-box h3 a {
  color: color-mix(in srgb, var(--default-color), transparent 20%);
  transition: ease-in-out 0.3s;
}

.hero .icon-box:hover {
  border-color: var(--accent-color);
  background-color: #000;
}

.hero .icon-box:hover h3 a {
  color: var(--accent-color);
}

@media (max-width: 768px) {
  .hero h2 {
    font-size: 32px;
  }

  .hero p {
    font-size: 18px;
  }
}

/*--------------------------------------------------------------
# About Section
--------------------------------------------------------------*/
.about .content h3 {
  font-size: 1.75rem;
  font-weight: 700;
}

.about .content .fst-italic {
  color: color-mix(in srgb, var(--default-color), var(--contrast-color) 50%);
}

.about .content ul {
  list-style: none;
  padding: 0;
}

.about .content ul li {
  padding: 10px 0 0 0;
  display: flex;
}

.about .content ul i {
  color: var(--accent-color);
  margin-right: 0.5rem;
  line-height: 1.2;
  font-size: 1.25rem;
}

.about .content p:last-child {
  margin-bottom: 0;
}

/*--------------------------------------------------------------
# Clients Section
--------------------------------------------------------------*/
.clients .swiper-slide img {
  opacity: 0.5;
  transition: 0.3s;
  filter: grayscale(100);
}

.clients .swiper-slide img:hover {
  filter: none;
  opacity: 1;
}

.clients .swiper-wrapper {
  height: auto;
}

.clients .swiper-pagination {
  margin-top: 20px;
  position: relative;
}

.clients .swiper-pagination .swiper-pagination-bullet {
  width: 12px;
  height: 12px;
  opacity: 1;
  background-color: color-mix(in srgb, var(--default-color), transparent 80%);
}

.clients .swiper-pagination .swiper-pagination-bullet-active {
  background-color: var(--accent-color);
}

/*--------------------------------------------------------------
# Features Section
--------------------------------------------------------------*/
.features .features-image {
  position: relative;
  min-height: 400px;
}

.features .features-image img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 1;
}

.features .features-item h4 {
  color: var(--accent-color);
  font-size: 20px;
  font-weight: 700;
  margin: 0 0 5px 0;
}

.features .features-item i {
  font-size: 48px;
  color: var(--accent-color);
  margin-right: 20px;
  line-height: 0;
}

.features .features-item p {
  font-size: 15px;
  color: color-mix(in srgb, var(--default-color), transparent 20%);
  margin: 0;
}

/*--------------------------------------------------------------
# Services Section
--------------------------------------------------------------*/
.services .service-item {
  background-color: var(--surface-color);
  text-align: center;
  border: 1px solid color-mix(in srgb, var(--default-color), transparent 85%);
  padding: 80px 20px;
  height: 100%;
  transition: all ease-in-out 0.3s;
}

.services .service-item .icon {
  background: var(--accent-color);
  color: var(--contrast-color);
  margin: 0 auto;
  width: 64px;
  height: 64px;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
  transition: 0.3s;
}

.services .service-item .icon i {
  font-size: 28px;
  transition: ease-in-out 0.3s;
}

.services .service-item h3 {
  font-weight: 700;
  margin: 10px 0 15px 0;
  font-size: 22px;
  transition: 0.3s;
}

.services .service-item p {
  line-height: 24px;
  font-size: 14px;
  margin-bottom: 0;
}

.services .service-item:hover {
  box-shadow: 0px 0 25px 0 rgba(0, 0, 0, 0.1);
  transform: translateY(-10px);
  border-color: var(--accent-color);
  border-width: 2px;
}

/*--------------------------------------------------------------
# Call To Action Section
--------------------------------------------------------------*/
.call-to-action {
  padding: 80px 0;
  position: relative;
  clip-path: inset(0);
}

.call-to-action img {
  position: fixed;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 1;
}

.call-to-action:before {
  content: "";
  background: color-mix(in srgb, var(--background-color), transparent 50%);
  position: absolute;
  inset: 0;
  z-index: 2;
}

.call-to-action .container {
  position: relative;
  z-index: 3;
}

.call-to-action h3 {
  font-size: 28px;
  font-weight: 700;
  color: var(--default-color);
}

.call-to-action p {
  color: var(--default-color);
}

.call-to-action .cta-btn {
  font-family: var(--heading-font);
  font-weight: 500;
  font-size: 16px;
  letter-spacing: 1px;
  display: inline-block;
  padding: 12px 40px;
  border-radius: 5px;
  transition: 0.5s;
  margin: 10px;
  border: 2px solid var(--default-color);
  color: var(--default-color);
}

.call-to-action .cta-btn:hover {
  background: var(--accent-color);
  color: var(--background-color);
  border: 2px solid var(--accent-color);
}

/*--------------------------------------------------------------
# Portfolio Section
--------------------------------------------------------------*/
.portfolio .portfolio-filters {
  padding: 0;
  margin: 0 auto 20px auto;
  list-style: none;
  text-align: center;
}

.portfolio .portfolio-filters li {
  cursor: pointer;
  display: inline-block;
  padding: 8px 20px 10px 20px;
  margin: 0;
  font-size: 15px;
  font-weight: 500;
  line-height: 1;
  margin-bottom: 5px;
  border-radius: 4px;
  transition: all 0.3s ease-in-out;
  font-family: var(--heading-font);
}

.portfolio .portfolio-filters li:hover,
.portfolio .portfolio-filters li.filter-active {
  color: var(--contrast-color);
  background-color: var(--accent-color);
}

.portfolio .portfolio-filters li:first-child {
  margin-left: 0;
}

.portfolio .portfolio-filters li:last-child {
  margin-right: 0;
}

@media (max-width: 575px) {
  .portfolio .portfolio-filters li {
    font-size: 14px;
    margin: 0 0 10px 0;
  }
}

.portfolio .portfolio-item {
  position: relative;
  overflow: hidden;
  border-radius: 10px;
}

.portfolio .portfolio-card-visual {
  width: 100%;
  aspect-ratio: 1 / 1;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  background: url("../img/portfolio/ai-solutions-background.png") center / cover no-repeat;
}

.portfolio .portfolio-card-visual>i {
  position: relative;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 92px;
  height: 92px;
  border: 1px solid rgba(255, 255, 255, 0.32);
  border-radius: 24px;
  color: #ffc107;
  background: rgba(4, 13, 28, 0.78);
  box-shadow: 0 18px 45px rgba(0, 0, 0, 0.32);
  font-size: 42px;
}

.portfolio .portfolio-category {
  position: absolute;
  top: 18px;
  left: 18px;
  z-index: 2;
  padding: 7px 11px;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 999px;
  color: #fff;
  background: rgba(4, 13, 28, 0.72);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.02em;
}

.portfolio .portfolio-item .portfolio-info {
  opacity: 0;
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: -100%;
  z-index: 3;
  transition: all ease-in-out 0.5s;
  background: color-mix(in srgb, var(--background-color), transparent 10%);
  padding: 15px;
}

.portfolio .portfolio-item .portfolio-info h4 {
  font-size: 18px;
  font-weight: 600;
  padding-right: 50px;
}

.portfolio .portfolio-item .portfolio-info p {
  color: color-mix(in srgb, var(--default-color), transparent 30%);
  font-size: 14px;
  margin-bottom: 0;
  padding-right: 50px;
}

.portfolio .portfolio-item .portfolio-info .preview-link,
.portfolio .portfolio-item .portfolio-info .details-link {
  position: absolute;
  right: 50px;
  font-size: 24px;
  top: calc(50% - 14px);
  color: color-mix(in srgb, var(--default-color), transparent 30%);
  transition: 0.3s;
  line-height: 0;
}

.portfolio .portfolio-item .portfolio-info .preview-link:hover,
.portfolio .portfolio-item .portfolio-info .details-link:hover {
  color: var(--accent-color);
}

.portfolio .portfolio-item .portfolio-info .details-link {
  right: 14px;
  font-size: 28px;
}

.portfolio .portfolio-item:hover .portfolio-info {
  opacity: 1;
  bottom: 0;
}

/*--------------------------------------------------------------
# Stats Section
--------------------------------------------------------------*/
.stats .stats-item {
  padding: 10px;
}

.stats .stats-item i {
  font-size: 44px;
  color: var(--accent-color);
  line-height: 0;
  margin-right: 15px;
}

.stats .stats-item .purecounter {
  color: var(--heading-color);
  font-size: 40px;
  display: block;
  font-weight: 700;
  line-height: 40px;
}

.stats .stats-item p {
  color: color-mix(in srgb, var(--default-color), transparent 40%);
  padding: 15px 0 0 0;
  margin: 0;
  font-family: var(--heading-font);
  font-size: 14px;
}

/*--------------------------------------------------------------
# Testimonials Section
--------------------------------------------------------------*/
.testimonials {
  padding: 80px 0;
  position: relative;
}

.testimonials:before {
  content: "";
  background: color-mix(in srgb, var(--background-color), transparent 30%);
  position: absolute;
  inset: 0;
  z-index: 2;
}

.testimonials .testimonials-bg {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 1;
}

.testimonials .container {
  position: relative;
  z-index: 3;
}

.testimonials .testimonials-carousel,
.testimonials .testimonials-slider {
  overflow: hidden;
}

.testimonials .testimonial-item {
  text-align: center;
}

.testimonials .testimonial-item .testimonial-img {
  width: 100px;
  border-radius: 50%;
  border: 6px solid color-mix(in srgb, var(--default-color), transparent 85%);
  margin: 0 auto;
}

.testimonials .testimonial-item h3 {
  font-size: 20px;
  font-weight: bold;
  margin: 10px 0 5px 0;
}

.testimonials .testimonial-item h4 {
  font-size: 14px;
  margin: 0 0 15px 0;
  color: color-mix(in srgb, var(--default-color), transparent 40%);
}

.testimonials .testimonial-item .stars {
  margin-bottom: 15px;
}

.testimonials .testimonial-item .stars i {
  color: #ffc107;
  margin: 0 1px;
}

.testimonials .testimonial-item .quote-icon-left,
.testimonials .testimonial-item .quote-icon-right {
  color: color-mix(in srgb, var(--default-color), transparent 40%);
  font-size: 26px;
  line-height: 0;
}

.testimonials .testimonial-item .quote-icon-left {
  display: inline-block;
  left: -5px;
  position: relative;
}

.testimonials .testimonial-item .quote-icon-right {
  display: inline-block;
  right: -5px;
  position: relative;
  top: 10px;
  transform: scale(-1, -1);
}

.testimonials .testimonial-item p {
  font-style: italic;
  margin: 0 auto 15px auto;
}

.testimonials .swiper-wrapper {
  height: auto;
}

.testimonials .swiper-pagination {
  margin-top: 20px;
  position: relative;
}

.testimonials .swiper-pagination .swiper-pagination-bullet {
  width: 12px;
  height: 12px;
  background-color: color-mix(in srgb, var(--default-color), transparent 50%);
  opacity: 0.5;
}

.testimonials .swiper-pagination .swiper-pagination-bullet-active {
  background-color: var(--default-color);
  opacity: 1;
}

@media (min-width: 992px) {
  .testimonials .testimonial-item p {
    width: 80%;
  }
}

/*--------------------------------------------------------------
# Team Section
--------------------------------------------------------------*/
.team .team-member {
  background-color: var(--surface-color);
  overflow: hidden;
  border-radius: 5px;
  box-shadow: 0px 2px 15px rgba(0, 0, 0, 0.1);
  height: 100%;
}

.team .team-member .member-img {
  position: relative;
  overflow: hidden;
}

.team .team-member .social {
  position: absolute;
  left: 0;
  bottom: 30px;
  right: 0;
  opacity: 0;
  transition: ease-in-out 0.3s;
  text-align: center;
}

.team .team-member .social a {
  background: color-mix(in srgb, var(--contrast-color), transparent 25%);
  color: color-mix(in srgb, var(--default-color), transparent 20%);
  margin: 0 3px;
  border-radius: 4px;
  width: 36px;
  height: 36px;
  transition: ease-in-out 0.3s;
  display: inline-flex;
  justify-content: center;
  align-items: center;
}

.team .team-member .social a:hover {
  color: var(--contrast-color);
  background: var(--accent-color);
}

.team .team-member .social i {
  font-size: 18px;
  line-height: 0;
}

.team .team-member .member-info {
  padding: 25px 15px;
}

.team .team-member .member-info h4 {
  font-weight: 700;
  margin-bottom: 5px;
  font-size: 18px;
}

.team .team-member .member-info span {
  display: block;
  font-size: 13px;
  font-weight: 400;
  color: color-mix(in srgb, var(--default-color), transparent 40%);
}

.team .team-member:hover .social {
  opacity: 1;
  bottom: 15px;
}

/*--------------------------------------------------------------
# Contact Section
--------------------------------------------------------------*/
.contact .info-item + .info-item {
  margin-top: 40px;
}

.contact .info-item i {
  color: var(--contrast-color);
  background: var(--accent-color);
  font-size: 20px;
  width: 44px;
  height: 44px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 4px;
  transition: all 0.3s ease-in-out;
  margin-right: 15px;
}

.contact .info-item h3 {
  padding: 0;
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 5px;
}

.contact .info-item p {
  padding: 0;
  margin-bottom: 0;
  font-size: 14px;
}

.contact .php-email-form {
  height: 100%;
}

.contact .php-email-form input[type="text"],
.contact .php-email-form input[type="email"],
.contact .php-email-form textarea {
  font-size: 14px;
  padding: 10px 15px;
  box-shadow: none;
  border-radius: 0;
  color: var(--default-color);
  background-color: color-mix(
    in srgb,
    var(--background-color),
    transparent 50%
  );
  border-color: color-mix(in srgb, var(--default-color), transparent 80%);
}

.contact .php-email-form input[type="text"]:focus,
.contact .php-email-form input[type="email"]:focus,
.contact .php-email-form textarea:focus {
  border-color: var(--accent-color);
}

.contact .php-email-form input[type="text"]::placeholder,
.contact .php-email-form input[type="email"]::placeholder,
.contact .php-email-form textarea::placeholder {
  color: color-mix(in srgb, var(--default-color), transparent 70%);
}

.contact .php-email-form button[type="submit"] {
  color: var(--contrast-color);
  background: var(--accent-color);
  border: 0;
  padding: 10px 30px;
  transition: 0.4s;
  border-radius: 4px;
}

.contact .php-email-form button[type="submit"]:hover {
  background: color-mix(in srgb, var(--accent-color), transparent 20%);
}

.home-contact {
  background: linear-gradient(180deg, #f7f9fc 0%, #ffffff 100%);
}

.home-contact .home-contact-panel {
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--default-color), transparent 88%);
  border-radius: 24px;
  background: #ffffff;
  box-shadow: 0 28px 70px rgba(7, 20, 42, 0.12);
}

.home-contact .home-contact-form-column {
  padding: 58px;
}

.home-contact .home-contact-heading span {
  display: block;
  margin-bottom: 8px;
  color: var(--accent-color);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.home-contact .home-contact-heading h2 {
  margin: 0 0 12px;
  color: #0b1b34;
  font-size: clamp(36px, 5vw, 58px);
  line-height: 1;
}

.home-contact .home-contact-heading p {
  margin-bottom: 30px;
  color: #637083;
}

.home-contact .home-contact-field {
  position: relative;
  margin-bottom: 16px;
}

.home-contact .home-contact-field>i {
  position: absolute;
  top: 50%;
  left: 20px;
  z-index: 2;
  color: #8d9aae;
  transform: translateY(-50%);
}

.home-contact .home-contact-message>i {
  top: 22px;
  transform: none;
}

.home-contact .php-email-form input[type="text"],
.home-contact .php-email-form input[type="email"],
.home-contact .php-email-form textarea {
  width: 100%;
  border: 1px solid transparent;
  border-radius: 18px;
  color: #17233a;
  background: #eef3f9;
  box-shadow: none;
  font-size: 15px;
}

.home-contact .php-email-form input[type="text"],
.home-contact .php-email-form input[type="email"] {
  min-height: 54px;
  padding: 14px 18px 14px 50px;
}

.home-contact .php-email-form textarea {
  min-height: 145px;
  padding: 18px 18px 18px 50px;
  resize: vertical;
}

.home-contact .php-email-form input[type="text"]:focus,
.home-contact .php-email-form input[type="email"]:focus,
.home-contact .php-email-form textarea:focus {
  border-color: var(--accent-color);
  background: #ffffff;
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--accent-color), transparent 82%);
}

.home-contact .php-email-form .home-contact-submit {
  width: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 54px;
  border-radius: 18px;
  color: #101827;
  background: var(--accent-color);
  font-weight: 700;
}

.home-contact .home-contact-visual {
  min-height: 620px;
  background: #07152a;
}

.home-contact .home-contact-visual img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
}

@media (max-width: 991px) {
  .home-contact .home-contact-form-column {
    padding: 42px 30px;
  }

  .home-contact .home-contact-visual {
    min-height: 420px;
  }
}

@media (max-width: 575px) {
  .home-contact .home-contact-panel {
    border-radius: 18px;
  }

  .home-contact .home-contact-form-column {
    padding: 34px 20px;
  }

  .home-contact .home-contact-visual {
    min-height: 300px;
  }
}

/*--------------------------------------------------------------
# Portfolio Details Section
--------------------------------------------------------------*/
.services-page {
  --services-navy: #07152a;
  --services-navy-soft: #0d2242;
  --services-gold: #ffc107;
  --services-surface: #f5f7fb;
  color: #26354a;
}

.services-hero {
  position: relative;
  overflow: hidden;
  padding: 110px 0 95px;
  color: #fff;
  background: var(--service-hero-image, url("../img/services-hero-city.png")) center / cover no-repeat;
}

.services-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(6, 6, 6, 0.78);
}

.services-hero>.container {
  z-index: 1;
}

.services-eyebrow,
.services-section-heading>span,
.services-download-panel>div>span,
.services-consultation-panel>span {
  display: block;
  margin-bottom: 12px;
  color: var(--services-gold);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.services-hero h1 {
  max-width: 820px;
  margin: 0 0 24px;
  color: #fff;
  font-size: clamp(44px, 6vw, 76px);
  line-height: 1.02;
  letter-spacing: -0.045em;
}

.services-hero p {
  max-width: 720px;
  color: rgba(255, 255, 255, 0.74);
  font-size: 18px;
  line-height: 1.75;
}

.services-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 34px;
}

.services-btn {
  min-height: 50px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 12px 22px;
  border: 1px solid transparent;
  border-radius: 10px;
  font-weight: 700;
  transition: 0.3s ease;
}

.services-btn-primary {
  color: #111b2b;
  background: var(--services-gold);
}

.services-btn-primary:hover {
  color: #111b2b;
  background: #ffd047;
  transform: translateY(-2px);
}

.services-btn-outline {
  color: #fff;
  border-color: rgba(255, 255, 255, 0.34);
  background: rgba(255, 255, 255, 0.05);
}

.services-btn-outline:hover {
  color: #fff;
  border-color: rgba(255, 255, 255, 0.7);
  background: rgba(255, 255, 255, 0.1);
}

.services-hero-visual {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 26px;
  box-shadow: 0 32px 70px rgba(0, 0, 0, 0.35);
}

.services-hero-visual img {
  width: 100%;
  min-height: 430px;
  display: block;
  object-fit: cover;
}

.services-hero-badge {
  position: absolute;
  right: 20px;
  bottom: 20px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 12px;
  color: #fff;
  background: rgba(5, 17, 36, 0.82);
  backdrop-filter: blur(12px);
}

.services-hero-badge i { color: var(--services-gold); }

.services-page .section { padding: 95px 0; }

.services-section-heading { max-width: 720px; }
.services-section-heading.text-center { margin-inline: auto; }
.services-section-heading h2,
.services-download-panel h2,
.services-consultation-panel h2 {
  margin: 0 0 16px;
  color: var(--services-navy);
  font-size: clamp(34px, 4vw, 52px);
  line-height: 1.1;
  letter-spacing: -0.035em;
}
.services-section-heading p { color: #69778b; line-height: 1.8; }

.services-overview-card,
.services-detail-card,
.services-process-card,
.services-industry-card,
.services-testimonials blockquote {
  height: 100%;
  border: 1px solid #e4e9f1;
  border-radius: 18px;
  background: #fff;
  transition: 0.3s ease;
}

.services-overview-card { padding: 34px; }
.services-overview-card:hover,
.services-detail-card:hover,
.services-cases article:hover { transform: translateY(-6px); box-shadow: 0 22px 45px rgba(7, 21, 42, 0.1); }
.services-overview-card>i { color: var(--services-gold); font-size: 34px; }
.services-overview-card h3 { margin: 20px 0 10px; color: var(--services-navy); font-size: 22px; }
.services-overview-card p { margin: 0; color: #6f7b8d; }

.services-cards-section,
.services-industries,
.services-cases,
.services-faqs { background: var(--services-surface); }

.services-detail-card { position: relative; padding: 34px; overflow: hidden; }
.services-card-icon { width: 58px; height: 58px; display: grid; place-items: center; border-radius: 16px; color: var(--services-gold); background: var(--services-navy); font-size: 26px; }
.services-detail-card h3 { margin: 24px 0 12px; color: var(--services-navy); font-size: 23px; }
.services-detail-card p { color: #6a7789; }
.services-detail-card ul { padding: 0; margin: 22px 0 26px; list-style: none; }
.services-detail-card li { display: flex; gap: 9px; margin-top: 9px; color: #445267; }
.services-detail-card li i { color: var(--services-gold); }
.services-detail-card>a { color: var(--services-navy); font-weight: 700; }
.services-detail-card>a i { margin-left: 5px; color: var(--services-gold); }

.services-tech {
  position: relative;
  overflow: hidden;
  background: url("../img/services-tech-background.png") center / cover no-repeat;
}

.services-tech::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(6, 6, 6, 0.82);
}

.services-tech>.container {
  position: relative;
  z-index: 1;
}

.services-tech .services-section-heading h2 { color: #fff; }
.services-tech .services-section-heading p { color: rgba(255, 255, 255, 0.7); }
.services-tech-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.services-tech-grid span { display: grid; place-items: center; min-height: 76px; padding: 12px; border: 1px solid rgba(255, 255, 255, 0.18); border-radius: 14px; color: #fff; background: rgba(7, 21, 42, 0.78); font-weight: 700; box-shadow: 0 10px 26px rgba(0, 0, 0, 0.2); backdrop-filter: blur(8px); }

.services-industry-card { display: flex; align-items: center; gap: 12px; min-height: 78px; padding: 18px; color: var(--services-navy); font-weight: 700; }
.services-industry-card i { color: var(--services-gold); font-size: 24px; }
.services-industry-card:hover {
  color: #fff;
  border-color: #ffc451;
  background: #ffc451;
  transform: translateY(-5px);
  box-shadow: 0 18px 36px rgba(7, 21, 42, 0.16);
}
.services-industry-card:hover i,
.services-industry-card:hover span { color: #fff; }

.services-process { background: var(--services-navy); }
.services-process .services-section-heading h2 { color: #fff; }
.services-process-card { position: relative; padding: 32px; border-color: rgba(255, 255, 255, 0.12); background: rgba(255, 255, 255, 0.055); }
.services-process-card>span { color: var(--services-gold); font-size: 13px; font-weight: 800; }
.services-process-card h3 { margin: 16px 0 10px; color: #fff; }
.services-process-card p { margin: 0; color: rgba(255, 255, 255, 0.65); }

.services-why img { width: 100%; min-height: 520px; object-fit: cover; border-radius: 22px; }
.services-why-list { display: grid; gap: 16px; margin-top: 30px; }
.services-why-list>div { display: flex; gap: 16px; padding: 20px; border: 1px solid #e4e9f1; border-radius: 14px; }
.services-why-list i { color: var(--services-gold); font-size: 24px; }
.services-why-list span { color: #69768a; }
.services-why-list strong { display: block; margin-bottom: 3px; color: var(--services-navy); }

.services-cases article { height: 100%; overflow: hidden; border: 1px solid #e0e6ee; border-radius: 18px; background: #fff; transition: 0.3s ease; }
.services-cases article img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.services-cases article>div { padding: 26px; }
.services-cases article span { color: var(--services-gold); font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.1em; }
.services-cases article h3 { margin: 10px 0; color: var(--services-navy); font-size: 22px; }
.services-cases article p { margin: 0; color: #6c798b; }
.services-cases-slider { overflow: hidden; padding: 8px 4px 42px; }
.services-cases-slider .swiper-wrapper { align-items: stretch; }
.services-cases-slider .swiper-slide { height: auto; }
.services-cases-slider .services-case-card { display: flex; flex-direction: column; }
.services-cases .services-case-visual {
  display: grid;
  place-items: center;
  min-height: 180px;
  padding: 24px;
  color: #ffc451;
  background: linear-gradient(135deg, #07152a, #17375d);
}
.services-cases .services-case-visual i { font-size: 64px; line-height: 1; }

.services-download-panel { display: flex; align-items: center; justify-content: space-between; gap: 35px; padding: 48px; border-radius: 22px; color: #fff; background: linear-gradient(135deg, var(--services-navy), var(--services-navy-soft)); }
.services-download-panel h2 { color: #fff; font-size: clamp(30px, 4vw, 44px); }
.services-download-panel p { max-width: 650px; margin: 0; color: rgba(255, 255, 255, 0.68); }
.services-download-panel .services-btn { flex: 0 0 auto; }

.services-testimonials blockquote { position: relative; margin: 0; padding: 34px; }
.services-testimonials blockquote>i { color: var(--services-gold); font-size: 32px; }
.services-testimonials blockquote p { margin: 20px 0 25px; color: var(--services-navy); font-size: 18px; line-height: 1.65; }
.services-testimonials blockquote footer { color: #788496; font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; }

.services-accordion .accordion-item { overflow: hidden; margin-bottom: 12px; border: 1px solid #e0e6ee; border-radius: 12px; background: #fff; }
.services-accordion .accordion-button { color: var(--services-navy); background: #fff; box-shadow: none; font-weight: 700; }
.services-accordion .accordion-button:not(.collapsed) { color: var(--services-navy); background: #fff8df; }
.services-accordion .accordion-button:focus { box-shadow: 0 0 0 3px rgba(255, 193, 7, 0.2); }
.services-accordion .accordion-body { color: #657287; line-height: 1.7; }

.services-consultation { padding: 0 0 95px; }
.services-consultation-panel { padding: 70px 9%; border-radius: 26px; text-align: center; color: #fff; background: linear-gradient(rgba(5, 18, 38, 0.78), rgba(5, 18, 38, 0.9)), url("../img/cta-bg.jpg") center / cover; }
.services-consultation-panel h2 { max-width: 820px; margin-inline: auto; color: #fff; }
.services-consultation-panel p { max-width: 680px; margin: 0 auto 30px; color: rgba(255, 255, 255, 0.72); }
.services-consultation-panel>div { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 24px; }
.services-phone { color: #fff; font-weight: 700; }
.services-phone:hover { color: var(--services-gold); }

@media (max-width: 991px) {
  .services-hero { padding: 80px 0; }
  .services-page .section { padding: 75px 0; }
  .services-download-panel { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 767px) {
  .services-hero h1 { font-size: 44px; }
  .services-hero-visual img { min-height: 320px; }
  .services-tech-grid { grid-template-columns: repeat(2, 1fr); }
  .services-download-panel { padding: 34px 24px; }
  .services-consultation-panel { padding: 50px 24px; }
  .services-why img { min-height: 340px; }
}

/* Training catalog and dynamic training details */
.training-catalog,.training-detail{--training-navy:#07152a;--training-gold:#ffc451;background:#fff}.training-catalog-hero,.training-detail-hero{padding:95px 0 85px;color:#fff;background:radial-gradient(circle at 85% 20%,rgba(255,196,81,.18),transparent 29%),linear-gradient(120deg,#060606,#07152a)}.training-catalog-hero span,.training-detail-hero .col-lg-7>span,.training-library-head>div>span,.training-kicker,.training-catalog-cta span{display:block;margin-bottom:12px;color:#ffc451;font-size:11px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.training-catalog-hero h1,.training-detail-hero h1{max-width:900px;margin:0;color:#fff;font:800 clamp(43px,6.5vw,72px)/1.07 Poppins,sans-serif;letter-spacing:-.05em}.training-catalog-hero h1 em{color:#ffc451;font-style:normal}.training-catalog-hero p,.training-detail-hero p{max-width:760px;margin:22px 0 30px;color:rgba(255,255,255,.68);font-size:17px;line-height:1.75}.training-primary-btn,.training-outline-btn{min-height:50px;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:11px 22px;border-radius:9px;font-weight:800}.training-primary-btn{color:#101a29;background:#ffc451}.training-primary-btn:hover{color:#101a29}.training-outline-btn{color:#fff;border:1px solid rgba(255,255,255,.35)}.training-library{padding:85px 0;background:#f5f7fa}.training-library-head{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:36px}.training-library-head h2,.training-detail-overview h2{margin:0;color:#07152a;font:700 clamp(32px,4vw,48px)/1.15 Poppins,sans-serif}.training-library-head>p{max-width:480px;margin:0;color:#6e7b8e;line-height:1.7}.training-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.training-card{overflow:hidden;border:1px solid #e0e5ec;border-radius:18px;background:#fff;box-shadow:0 12px 34px rgba(7,21,42,.06);transition:.25s}.training-card:hover{transform:translateY(-6px);box-shadow:0 22px 45px rgba(7,21,42,.12)}.training-card-image{position:relative;height:220px;display:grid;place-items:center;overflow:hidden;color:#ffc451;background:linear-gradient(135deg,#07152a,#175078)}.training-card-image img{width:100%;height:100%;object-fit:cover}.training-card-image>i{font-size:54px}.training-card-image>span{position:absolute;left:17px;bottom:15px;padding:6px 10px;border-radius:20px;color:#07152a;background:#ffc451;font-size:9px;font-weight:800}.training-card-content{padding:25px}.training-card-meta{display:flex;gap:15px;color:#778496;font-size:11px}.training-card-meta i{color:#bd8618}.training-card h2{margin:14px 0 10px;font:700 20px/1.4 Poppins,sans-serif}.training-card h2 a{color:#07152a}.training-card p{min-height:67px;margin:0;color:#6d7a8c;font-size:13px;line-height:1.7}.training-card footer{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-top:21px;padding-top:18px;border-top:1px solid #edf0f4}.training-card footer small{display:block;color:#8a95a4;font-size:9px}.training-card footer strong{color:#07152a}.training-card footer>a{color:#9a6806;font-size:12px;font-weight:800}.training-empty{grid-column:1/-1;padding:55px;border:1px dashed #d5dbe4;border-radius:17px;text-align:center}.training-catalog-cta{padding:75px 0}.training-catalog-cta>.container{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:52px;border-radius:23px;color:#fff;background:linear-gradient(135deg,#07152a,#153b60)}.training-catalog-cta h2{margin:0 0 12px;color:#fff;font:700 clamp(30px,4vw,46px)/1.15 Poppins,sans-serif}.training-catalog-cta p{max-width:670px;margin:0;color:rgba(255,255,255,.65)}.training-back{display:inline-flex;align-items:center;gap:7px;margin-bottom:28px;color:rgba(255,255,255,.65);font-size:12px;font-weight:700}.training-detail-actions{display:flex;flex-wrap:wrap;gap:11px}.training-facts{overflow:hidden;border:1px solid rgba(255,255,255,.15);border-radius:18px;background:rgba(255,255,255,.06)}.training-facts>div{display:flex;align-items:center;gap:14px;padding:20px 22px;border-bottom:1px solid rgba(255,255,255,.11)}.training-facts>div:last-child{border:0}.training-facts i{width:42px;height:42px;display:grid;place-items:center;border-radius:11px;color:#07152a;background:#ffc451}.training-facts small{display:block;color:rgba(255,255,255,.5)}.training-facts strong{color:#fff}.training-detail-overview,.training-detail-curriculum{padding:80px 0}.training-description{color:#647286;font-size:16px;line-height:1.9}.training-enroll-box{padding:30px;border-radius:17px;color:#fff;background:#07152a}.training-enroll-box>i,.training-enroll-box a{color:#ffc451}.training-enroll-box h3{color:#fff}.training-detail-curriculum{background:#f5f7fa}.training-module-list{display:grid;gap:12px}.training-module-list article{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:20px;padding:22px;border:1px solid #e0e5eb;border-radius:14px;background:#fff}.training-module-list article>span{width:44px;height:44px;display:grid;place-items:center;border-radius:11px;color:#07152a;background:#ffc451;font-weight:900}.training-module-list h3{margin:0 0 5px;color:#07152a}.training-module-list p{margin:0;color:#748194;font-size:12px}.education-course-page .training-back{margin-bottom:18px}@media(max-width:991px){.training-grid{grid-template-columns:repeat(2,1fr)}.training-catalog-cta>.container,.training-library-head{align-items:flex-start;flex-direction:column}}@media(max-width:650px){.training-catalog-hero,.training-detail-hero{padding:70px 0}.training-library,.training-detail-overview,.training-detail-curriculum{padding:58px 0}.training-grid{grid-template-columns:1fr}.training-catalog-cta>.container{padding:35px 24px}.training-module-list article{grid-template-columns:auto 1fr}.training-module-list small{grid-column:2}}

/* Tech Research */
.research-hero{padding:105px 0 90px;color:#fff;background:radial-gradient(circle at 85% 20%,rgba(255,196,81,.15),transparent 28%),linear-gradient(120deg,#060606,#07152a)}.research-hero span,.research-section-head>span,.research-label,.research-card>div>span,.research-article header>div>span{display:block;margin-bottom:10px;color:#ffc451;font-size:11px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.research-hero h1{margin:0;color:#fff;font:800 clamp(44px,7vw,78px)/1 Poppins,sans-serif;letter-spacing:-.05em}.research-hero p{max-width:760px;margin:22px 0 0;color:rgba(255,255,255,.68);font-size:17px;line-height:1.8}.research-featured,.research-library,.research-related{padding:80px 0}.research-featured{background:#f5f7fa}.research-featured-card{display:grid;grid-template-columns:1.05fr .95fr;overflow:hidden;border:1px solid #e1e6ec;border-radius:24px;background:#fff;box-shadow:0 20px 55px rgba(7,21,42,.08)}.research-featured-image,.research-card-image{display:grid;place-items:center;overflow:hidden;color:#ffc451;background:linear-gradient(135deg,#07152a,#16476e)}.research-featured-image{min-height:430px}.research-featured-image img,.research-card-image img{width:100%;height:100%;object-fit:cover}.research-featured-image>i{font-size:80px}.research-featured-card>div{display:flex;flex-direction:column;justify-content:center;padding:52px}.research-featured-card h2{margin:0 0 18px;font:700 clamp(28px,3.3vw,44px)/1.25 Poppins,sans-serif;letter-spacing:-.035em}.research-featured-card p,.research-card p{color:#6e7b8e;line-height:1.75}.research-meta{display:flex;flex-wrap:wrap;gap:18px;margin:18px 0;color:#7a8595;font-size:12px}.research-meta span{display:flex;align-items:center;gap:6px}.research-read-link{width:max-content;display:inline-flex;align-items:center;gap:9px;margin-top:10px;color:#07152a;font-weight:800}.research-read-link i{width:35px;height:35px;display:grid;place-items:center;border-radius:50%;background:#ffc451}.research-section-head{margin-bottom:30px}.research-section-head h2{margin:0;font:700 clamp(28px,4vw,42px)/1.2 Poppins,sans-serif}.research-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.research-card{overflow:hidden;border:1px solid #e3e7ec;border-radius:17px;background:#fff;box-shadow:0 10px 30px rgba(7,21,42,.05);transition:.25s}.research-card:hover{transform:translateY(-6px);box-shadow:0 20px 40px rgba(7,21,42,.1)}.research-card-image{height:210px}.research-card-image>i{font-size:46px}.research-card>div{padding:24px}.research-card h3{margin:8px 0 12px;font:700 19px/1.45 Poppins,sans-serif}.research-card p{display:-webkit-box;overflow:hidden;margin:0;font-size:13px;-webkit-line-clamp:3;-webkit-box-orient:vertical}.research-card footer{display:flex;align-items:center;justify-content:space-between;margin-top:20px;padding-top:16px;border-top:1px solid #edf0f3}.research-card footer small{color:#8a94a3;font-size:10px}.research-card footer a{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;color:#07152a;background:#ffc451}.research-empty{grid-column:1/-1;padding:70px 20px;border:1px dashed #d6dce4;border-radius:18px;color:#788496;text-align:center}.research-empty i{color:#ffc451;font-size:42px}.research-empty h2{color:#152238}.research-article header{padding:90px 0 70px;color:#fff;background:linear-gradient(120deg,#060606,#07152a)}.research-article header .container{max-width:970px}.research-back{display:inline-flex;align-items:center;gap:7px;margin-bottom:34px;color:rgba(255,255,255,.62);font-size:12px;font-weight:700}.research-article h1{max-width:900px;margin:0;color:#fff;font:800 clamp(38px,6vw,67px)/1.12 Poppins,sans-serif;letter-spacing:-.045em}.research-article header p{max-width:800px;margin:24px 0 0;color:rgba(255,255,255,.68);font-size:17px;line-height:1.75}.research-article header .research-meta{color:rgba(255,255,255,.55)}.research-article-image{width:100%;max-height:620px;margin:55px 0 0;border-radius:20px;object-fit:cover;box-shadow:0 20px 55px rgba(7,21,42,.13)}.research-article-body{max-width:820px;margin:0 auto;padding:70px 0;color:#37465b;font-size:17px;line-height:2;white-space:normal}.research-related{background:#f5f7fa}.research-library .admin-pagination{margin-top:35px;border:0}.tech-research-page .footer{margin-top:0}@media(max-width:991px){.research-featured-card{grid-template-columns:1fr}.research-featured-image{min-height:330px}.research-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.research-hero{padding:75px 0 65px}.research-featured,.research-library,.research-related{padding:55px 0}.research-featured-card>div{padding:30px}.research-grid{grid-template-columns:1fr}.research-article header{padding:65px 0 55px}.research-article-body{padding:50px 0;font-size:15px}.research-meta{gap:10px}}

.portfolio-details .portfolio-details-slider img {
  width: 100%;
}

.portfolio-details .portfolio-details-slider .swiper-pagination {
  margin-top: 20px;
  position: relative;
}

.portfolio-details
  .portfolio-details-slider
  .swiper-pagination
  .swiper-pagination-bullet {
  width: 12px;
  height: 12px;
  background-color: color-mix(in srgb, var(--default-color), transparent 85%);
  opacity: 1;
}

.portfolio-details
  .portfolio-details-slider
  .swiper-pagination
  .swiper-pagination-bullet-active {
  background-color: var(--accent-color);
}

.portfolio-details .portfolio-info {
  background-color: var(--surface-color);
  padding: 30px;
  box-shadow: 0px 0 30px rgba(0, 0, 0, 0.1);
}

.portfolio-details .portfolio-info h3 {
  font-size: 22px;
  font-weight: 700;
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid
    color-mix(in srgb, var(--default-color), transparent 85%);
}

.portfolio-details .portfolio-info ul {
  list-style: none;
  padding: 0;
  font-size: 15px;
}

.portfolio-details .portfolio-info ul li + li {
  margin-top: 10px;
}

.portfolio-details .portfolio-description {
  padding-top: 30px;
}

.portfolio-details .portfolio-description h2 {
  font-size: 26px;
  font-weight: 700;
  margin-bottom: 20px;
}

.portfolio-details .portfolio-description p {
  padding: 0;
  color: color-mix(in srgb, var(--default-color), transparent 30%);
}

/*--------------------------------------------------------------
# Service Details Section
--------------------------------------------------------------*/
.service-details .service-box {
  background-color: var(--surface-color);
  padding: 20px;
  box-shadow: 0px 2px 20px rgba(0, 0, 0, 0.1);
}

.service-details .service-box + .service-box {
  margin-top: 30px;
}

.service-details .service-box h4 {
  font-size: 20px;
  font-weight: 700;
  border-bottom: 2px solid
    color-mix(in srgb, var(--default-color), transparent 92%);
  padding-bottom: 15px;
  margin-bottom: 15px;
}

.service-details .services-list {
  background-color: var(--surface-color);
}

.service-details .services-list a {
  color: color-mix(in srgb, var(--default-color), transparent 20%);
  background-color: color-mix(in srgb, var(--default-color), transparent 96%);
  display: flex;
  align-items: center;
  padding: 12px 15px;
  margin-top: 15px;
  transition: 0.3s;
}

.service-details .services-list a:first-child {
  margin-top: 0;
}

.service-details .services-list a i {
  font-size: 16px;
  margin-right: 8px;
  color: var(--accent-color);
}

.service-details .services-list a.active {
  color: var(--contrast-color);
  background-color: var(--accent-color);
}

.service-details .services-list a.active i {
  color: var(--contrast-color);
}

.service-details .services-list a:hover {
  background-color: color-mix(in srgb, var(--accent-color), transparent 95%);
  color: var(--accent-color);
}

.service-details .download-catalog a {
  color: var(--default-color);
  display: flex;
  align-items: center;
  padding: 10px 0;
  transition: 0.3s;
  border-top: 1px solid
    color-mix(in srgb, var(--default-color), transparent 90%);
}

.service-details .download-catalog a:first-child {
  border-top: 0;
  padding-top: 0;
}

.service-details .download-catalog a:last-child {
  padding-bottom: 0;
}

.service-details .download-catalog a i {
  font-size: 24px;
  margin-right: 8px;
  color: var(--accent-color);
}

.service-details .download-catalog a:hover {
  color: var(--accent-color);
}

.service-details .help-box {
  background-color: var(--accent-color);
  color: var(--contrast-color);
  margin-top: 30px;
  padding: 30px 15px;
}

.service-details .help-box .help-icon {
  font-size: 48px;
}

.service-details .help-box h4,
.service-details .help-box a {
  color: var(--contrast-color);
}

.service-details .services-img {
  margin-bottom: 20px;
}

.service-details h3 {
  font-size: 26px;
  font-weight: 700;
}

.service-details p {
  font-size: 15px;
}

.service-details ul {
  list-style: none;
  padding: 0;
  font-size: 15px;
}

.service-details ul li {
  padding: 5px 0;
  display: flex;
  align-items: center;
}

.service-details ul i {
  font-size: 20px;
  margin-right: 8px;
  color: var(--accent-color);
}

/*--------------------------------------------------------------
# Starter Section Section
--------------------------------------------------------------*/
.starter-section {
  /* Add your styles here */
}

/*--------------------------------------------------------------
# Solutions Software Catalog
--------------------------------------------------------------*/
.solutions-catalog {
  --catalog-navy: #07152a;
  --catalog-navy-soft: #122b4a;
  --catalog-gold: #ffc451;
  background: #f7f9fc;
}

.solutions-catalog .section { padding: 92px 0; }

.solutions-catalog-hero {
  position: relative;
  overflow: hidden;
  padding: 105px 0 95px;
  color: #fff;
  background: linear-gradient(90deg, rgba(6, 6, 6, 0.93), rgba(6, 6, 6, 0.76)), url("../img/portfolio/ai-solutions-background.png") center / cover no-repeat;
}

.solutions-catalog-hero::after {
  content: "";
  position: absolute;
  width: 420px;
  height: 420px;
  right: -160px;
  top: -170px;
  border: 1px solid rgba(255, 196, 81, 0.26);
  border-radius: 50%;
  box-shadow: 0 0 0 70px rgba(255, 196, 81, 0.035), 0 0 0 140px rgba(255, 196, 81, 0.025);
}

.solutions-catalog-hero .container { z-index: 1; }
.solutions-kicker { display: inline-flex; align-items: center; gap: 9px; margin-bottom: 20px; color: var(--catalog-gold); font-size: 13px; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; }
.solutions-catalog-hero h1 { max-width: 820px; margin: 0 0 24px; color: #fff; font-size: clamp(44px, 5.7vw, 74px); line-height: 1.03; letter-spacing: -0.045em; }
.solutions-catalog-hero p { max-width: 730px; margin: 0; color: rgba(255, 255, 255, 0.74); font-size: 18px; line-height: 1.75; }
.solutions-hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 34px; }
.solutions-hero-actions .services-btn-primary,
.solutions-hero-actions .services-btn-primary:hover,
.solutions-hero-actions .services-btn-primary:focus,
.solutions-hero-actions .services-btn-primary:active,
.solutions-catalog-cta-panel .services-btn-primary,
.solutions-catalog-cta-panel .services-btn-primary:hover,
.solutions-catalog-cta-panel .services-btn-primary:focus,
.solutions-catalog-cta-panel .services-btn-primary:active {
  color: #111b2b;
  border-color: #ffc451;
  background: #ffc451;
  transform: none;
  box-shadow: none;
  transition: none;
}
.solutions-hero-summary { display: grid; gap: 1px; overflow: hidden; border: 1px solid rgba(255, 255, 255, 0.15); border-radius: 20px; background: rgba(255, 255, 255, 0.08); box-shadow: 0 28px 60px rgba(0, 0, 0, 0.3); backdrop-filter: blur(12px); }
.solutions-hero-summary div { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 24px 26px; border-bottom: 1px solid rgba(255, 255, 255, 0.12); }
.solutions-hero-summary div:last-child { border-bottom: 0; }
.solutions-hero-summary strong { color: var(--catalog-gold); font-family: var(--heading-font); font-size: 34px; }
.solutions-hero-summary span { color: rgba(255, 255, 255, 0.78); font-weight: 600; }

.solutions-catalog-intro { background: #fff; }
.solutions-deployment-points { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.solutions-deployment-points span { display: flex; align-items: center; gap: 9px; padding: 16px; border: 1px solid #e4e9f1; border-radius: 12px; color: var(--catalog-navy); background: #f8fafc; font-weight: 700; }
.solutions-deployment-points i { color: #d69b1f; font-size: 19px; }

.solutions-catalog-list { background: #f7f9fc; }
.solutions-catalog-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 24px; }
.solutions-search { width: min(100%, 520px); display: flex; align-items: center; gap: 12px; padding: 0 18px; border: 1px solid #dfe5ed; border-radius: 12px; background: #fff; box-shadow: 0 8px 25px rgba(7, 21, 42, 0.05); }
.solutions-search i { color: #8a95a5; font-size: 18px; }
.solutions-search input { width: 100%; height: 54px; border: 0; outline: 0; color: var(--catalog-navy); background: transparent; }
.solutions-search input::placeholder { color: #9aa4b2; }
.solutions-result-count { flex: 0 0 auto; color: #748092; font-size: 14px; }
.solutions-result-count strong { color: var(--catalog-navy); }
.solutions-category-filters { display: flex; flex-wrap: wrap; gap: 9px; margin-bottom: 28px; }
.solutions-category-filters button { padding: 10px 15px; border: 1px solid #dfe5ed; border-radius: 999px; color: #526174; background: #fff; font-size: 13px; font-weight: 700; transition: 0.25s ease; }
.solutions-category-filters button:hover,
.solutions-category-filters button.active { border-color: var(--catalog-gold); color: var(--catalog-navy); background: var(--catalog-gold); box-shadow: 0 8px 20px rgba(255, 196, 81, 0.22); }
.solution-catalog-item[hidden] { display: none !important; }
.solution-product-card { position: relative; height: 100%; display: flex; flex-direction: column; padding: 28px; border: 1px solid #e1e6ed; border-radius: 18px; background: #fff; box-shadow: 0 10px 32px rgba(7, 21, 42, 0.055); transition: 0.3s ease; }
.solution-product-card:hover { border-color: rgba(255, 196, 81, 0.8); transform: translateY(-7px); box-shadow: 0 22px 46px rgba(7, 21, 42, 0.12); }
.solution-product-top { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-bottom: 24px; }
.solution-product-icon { width: 58px; height: 58px; display: grid; place-items: center; border-radius: 15px; color: var(--catalog-navy); background: var(--catalog-gold); box-shadow: 0 10px 24px rgba(255, 196, 81, 0.28); }
.solution-product-icon i { font-size: 27px; }
.solution-ready-badge { display: inline-flex; align-items: center; gap: 6px; padding: 7px 10px; border-radius: 999px; color: #157347; background: #eaf8f0; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.04em; }
.solution-product-category { color: #bc8516; font-size: 11px; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; }
.solution-product-card h3 { margin: 9px 0 12px; color: var(--catalog-navy); font-size: 23px; line-height: 1.25; }
.solution-product-card p { margin: 0 0 20px; color: #69778a; line-height: 1.7; }
.solution-product-card ul { display: grid; gap: 8px; margin: 0 0 25px; padding: 18px 0 0; border-top: 1px solid #edf0f4; list-style: none; }
.solution-product-card li { display: flex; align-items: center; gap: 8px; color: #526174; font-size: 13px; }
.solution-product-card li i { color: #d69b1f; }
.solution-product-link { margin-top: auto; display: flex; align-items: center; justify-content: space-between; gap: 12px; color: var(--catalog-navy); font-weight: 800; }
.solution-product-link:hover { color: #c78e18; }
.solutions-empty { padding: 70px 20px; text-align: center; }
.solutions-empty i { color: var(--catalog-gold); font-size: 48px; }
.solutions-empty h3 { margin: 15px 0 8px; color: var(--catalog-navy); }
.solutions-empty p { color: #748092; }

.solutions-deployment { background: #fff; }
.solution-step { position: relative; height: 100%; padding: 30px; border: 1px solid #e4e9f1; border-radius: 18px; background: #fff; transition: 0.3s ease; }
.solution-step:hover { border-color: var(--catalog-gold); transform: translateY(-5px); }
.solution-step > span { position: absolute; top: 20px; right: 22px; color: #d3d9e2; font-size: 13px; font-weight: 800; }
.solution-step > i { color: var(--catalog-gold); font-size: 37px; }
.solution-step h3 { margin: 22px 0 10px; color: var(--catalog-navy); }
.solution-step p { margin: 0; color: #6d798a; line-height: 1.65; }
.solutions-catalog-cta { padding: 0 0 95px; background: #fff; }
.solutions-catalog-cta-panel { display: flex; align-items: center; justify-content: space-between; gap: 40px; padding: 55px; border-radius: 24px; color: #fff; background: linear-gradient(135deg, var(--catalog-navy), var(--catalog-navy-soft)); box-shadow: 0 25px 60px rgba(7, 21, 42, 0.18); }
.solutions-catalog-cta-panel > div > span { display: block; margin-bottom: 10px; color: var(--catalog-gold); font-size: 12px; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; }
.solutions-catalog-cta-panel h2 { margin: 0 0 14px; color: #fff; font-size: clamp(32px, 4vw, 48px); }
.solutions-catalog-cta-panel p { max-width: 700px; margin: 0; color: rgba(255, 255, 255, 0.68); line-height: 1.7; }
.solutions-catalog-cta-panel .services-btn { flex: 0 0 auto; }

@media (max-width: 991px) {
  .solutions-catalog .section { padding: 72px 0; }
  .solutions-catalog-hero { padding: 82px 0; }
  .solutions-catalog-cta-panel { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 767px) {
  .solutions-catalog-hero h1 { font-size: 43px; }
  .solutions-catalog-toolbar { align-items: flex-start; flex-direction: column; }
  .solutions-search { width: 100%; }
  .solutions-deployment-points { grid-template-columns: 1fr; }
  .solutions-category-filters { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 8px; }
  .solutions-category-filters button { flex: 0 0 auto; }
  .solutions-catalog-cta-panel { padding: 40px 25px; }
}

/*--------------------------------------------------------------
# Lead Generation Course
--------------------------------------------------------------*/
.education-course {
  --education-navy: #07152a;
  --education-navy-soft: #132e4f;
  --education-gold: #ffc451;
  background: #fff;
}
.education-course .section { padding: 92px 0; }
.education-hero { position: relative; overflow: hidden; padding: 105px 0 90px; color: #fff; background: linear-gradient(90deg, rgba(6, 6, 6, 0.94), rgba(6, 6, 6, 0.78)), url("../img/hero-bg.jpg") center / cover no-repeat; }
.education-hero::after { content: ""; position: absolute; right: -150px; bottom: -240px; width: 520px; height: 520px; border: 1px solid rgba(255, 196, 81, 0.22); border-radius: 50%; box-shadow: 0 0 0 80px rgba(255, 196, 81, 0.035), 0 0 0 160px rgba(255, 196, 81, 0.02); }
.education-hero .container { z-index: 1; }
.education-eyebrow { display: inline-flex; align-items: center; gap: 9px; margin-bottom: 20px; color: var(--education-gold); font-size: 13px; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; }
.education-hero h1 { max-width: 850px; margin: 0 0 24px; color: #fff; font-size: clamp(43px, 5.8vw, 72px); line-height: 1.04; letter-spacing: -0.045em; }
.education-hero h1 span { color: var(--education-gold); }
.education-hero > .container > .row > div > p { max-width: 760px; margin: 0; color: rgba(255, 255, 255, 0.72); font-size: 18px; line-height: 1.75; }
.education-hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 34px; }
.education-btn { min-height: 50px; display: inline-flex; align-items: center; justify-content: center; gap: 9px; padding: 12px 22px; border: 1px solid transparent; border-radius: 10px; font-weight: 800; transition: 0.3s ease; }
.education-btn-primary { color: #111b2b; border-color: var(--education-gold); background: var(--education-gold); }
.education-btn-primary:hover { color: #111b2b; background: #ffd36c; transform: translateY(-2px); }

/* Training checkout and PayFast */
.training-purchase-bar{padding:24px 0;background:#07152a;color:#fff;border-top:1px solid rgba(255,255,255,.1)}
.training-purchase-bar .container{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:30px}
.training-purchase-bar span,.training-purchase-bar small{display:block;color:rgba(255,255,255,.58);font-size:11px}
.training-purchase-bar strong{display:block;color:#fff;font-family:Poppins,sans-serif}
.training-purchase-price{text-align:right}.training-purchase-price strong{font-size:22px}
.training-purchase-bar a,.checkout-pay-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:50px;padding:12px 24px;border:0;border-radius:9px;color:#101827;background:#ffc451;font-weight:800}
.training-purchase-bar a:hover,.checkout-pay-button:hover{color:#101827;background:#ffd36c}
.checkout-hero{padding:85px 0 70px;color:#fff;background:radial-gradient(circle at 82% 15%,rgba(255,196,81,.18),transparent 30%),linear-gradient(120deg,#060606,#07152a)}
.checkout-hero>div>span,.checkout-heading>span,.checkout-summary>span,.checkout-redirect-card>span{color:#c28a1b;font-size:11px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.checkout-hero h1{margin:8px 0 12px;color:#fff;font:800 clamp(38px,5vw,60px)/1.08 Poppins,sans-serif}.checkout-hero p{max-width:700px;margin:0;color:rgba(255,255,255,.68)}
.checkout-section{padding:75px 0;background:#f4f6f9}.checkout-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.8fr);gap:28px;align-items:start}
.checkout-form,.checkout-summary{padding:34px;border:1px solid #e0e5ec;border-radius:18px;background:#fff;box-shadow:0 15px 38px rgba(7,21,42,.07)}
.checkout-heading h2,.checkout-summary h2{margin:6px 0 24px;color:#07152a;font:700 26px/1.25 Poppins,sans-serif}.checkout-form>label,.checkout-form-row label{display:grid;gap:8px;margin:0 0 18px;color:#27364b;font-size:12px;font-weight:700}.checkout-form input[type=text],.checkout-form input[type=email],.checkout-form input[type=tel],.checkout-form input[type=password]{width:100%;min-height:51px;padding:12px 14px;border:1px solid #d9e0e9;border-radius:9px;background:#fbfcfd}.checkout-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.checkout-form label small{color:#7b8798;font-weight:400}.checkout-consent{display:block!important;line-height:1.6}.checkout-consent input{margin-right:7px}.checkout-account{display:flex;align-items:center;gap:13px;margin-bottom:20px;padding:15px;border-radius:10px;background:#f3f6fa}.checkout-account i{font-size:25px;color:#b57c0a}.checkout-account span,.checkout-account strong{display:block}.checkout-pay-button{width:100%;cursor:pointer}.checkout-security{margin:13px 0 0;color:#798596;font-size:11px;text-align:center}.checkout-summary ul{display:grid;gap:14px;margin:0;padding:0;list-style:none}.checkout-summary li{display:flex;gap:10px;color:#5f6d80;font-size:13px}.checkout-summary li i{color:#b57c0a}.checkout-total{display:flex;align-items:end;justify-content:space-between;margin:25px 0 16px;padding-top:22px;border-top:1px solid #e7ebf0}.checkout-total span{color:#748194}.checkout-total strong{color:#07152a;font-size:25px}.checkout-summary>small{display:block;color:#8a95a4;line-height:1.55}.checkout-alert{display:flex;gap:10px;margin-bottom:20px;padding:14px;border-radius:9px;color:#a02d22;background:#fff0ee}.checkout-alert p{margin:0}
.checkout-redirect{min-height:70vh;display:grid;place-items:center;padding:80px 20px;background:#f4f6f9}.checkout-redirect-card{max-width:560px;padding:48px;border-radius:20px;background:#fff;box-shadow:0 18px 50px rgba(7,21,42,.1);text-align:center}.checkout-redirect-card h1{margin:10px 0;color:#07152a}.checkout-redirect-card p,.checkout-redirect-card>small{color:#758194}.checkout-redirect-card form{margin:25px 0 14px}.checkout-spinner{width:54px;height:54px;margin:0 auto 22px;border:5px solid #e9edf2;border-top-color:#ffc451;border-radius:50%;animation:checkout-spin .8s linear infinite}@keyframes checkout-spin{to{transform:rotate(360deg)}}
@media(max-width:800px){.training-purchase-bar .container,.checkout-grid{grid-template-columns:1fr}.training-purchase-price{text-align:left}.checkout-form-row{grid-template-columns:1fr}.checkout-form,.checkout-summary{padding:24px}}
.education-btn-outline { color: #fff; border-color: rgba(255, 255, 255, 0.35); background: rgba(255, 255, 255, 0.05); }
.education-btn-outline:hover { color: #fff; border-color: rgba(255, 255, 255, 0.7); background: rgba(255, 255, 255, 0.1); }
.education-trust-row { display: flex; flex-wrap: wrap; gap: 22px; margin-top: 32px; color: rgba(255, 255, 255, 0.72); font-size: 13px; font-weight: 600; }
.education-trust-row span { display: flex; align-items: center; gap: 7px; }
.education-trust-row i { color: var(--education-gold); }
.education-hero-card { display: grid; gap: 0; overflow: hidden; border: 1px solid rgba(255, 255, 255, 0.16); border-radius: 20px; background: rgba(10, 24, 43, 0.78); box-shadow: 0 28px 65px rgba(0, 0, 0, 0.36); backdrop-filter: blur(12px); }
.education-card-label { padding: 18px 22px; color: var(--education-gold); border-bottom: 1px solid rgba(255, 255, 255, 0.13); font-size: 12px; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; }
.education-hero-card > div { display: flex; align-items: center; gap: 15px; padding: 18px 22px; border-bottom: 1px solid rgba(255, 255, 255, 0.1); }
.education-hero-card > div:last-child { border-bottom: 0; }
.education-hero-card > div > i { width: 40px; height: 40px; flex: 0 0 40px; display: grid; place-items: center; border-radius: 10px; color: var(--education-navy); background: var(--education-gold); }
.education-hero-card strong { display: block; color: #fff; font-size: 14px; }
.education-hero-card div span { color: rgba(255, 255, 255, 0.6); font-size: 12px; line-height: 1.5; }
.education-section-heading { max-width: 760px; }
.education-section-heading.text-center { margin-inline: auto; }
.education-section-heading > span { display: block; margin-bottom: 11px; color: #bd8618; font-size: 12px; font-weight: 800; letter-spacing: 0.13em; text-transform: uppercase; }
.education-section-heading h2 { margin: 0 0 16px; color: var(--education-navy); font-size: clamp(34px, 4vw, 51px); line-height: 1.1; letter-spacing: -0.035em; }
.education-section-heading p { color: #6c798b; line-height: 1.8; }
.education-lead { color: var(--education-navy); font-size: 19px; line-height: 1.75; }
.education-overview p:not(.education-lead) { color: #6c798b; line-height: 1.8; }
.education-audience-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; margin-top: 28px; }
.education-audience-grid > div { display: flex; gap: 12px; padding: 18px; border: 1px solid #e3e8ef; border-radius: 13px; background: #f9fafc; }
.education-audience-grid i { color: #c78e18; font-size: 22px; }
.education-audience-grid span { color: #6b788a; font-size: 13px; line-height: 1.55; }
.education-audience-grid strong { display: block; margin-bottom: 3px; color: var(--education-navy); font-size: 14px; }
.education-enrollment-card { position: sticky; top: 110px; padding: 34px; border-radius: 20px; color: #fff; background: linear-gradient(145deg, var(--education-navy), var(--education-navy-soft)); box-shadow: 0 22px 50px rgba(7, 21, 42, 0.18); }
.education-enrollment-card > span { color: var(--education-gold); font-size: 11px; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; }
.education-enrollment-card h3 { margin: 12px 0 22px; color: #fff; font-size: 26px; line-height: 1.3; }
.education-enrollment-card ul { display: grid; gap: 12px; margin: 0 0 25px; padding: 0; list-style: none; }
.education-enrollment-card li { display: flex; align-items: center; gap: 9px; color: rgba(255, 255, 255, 0.76); font-size: 14px; }
.education-enrollment-card li i { color: var(--education-gold); }
.education-enrollment-card .education-btn { width: 100%; }
.education-enrollment-card small { display: block; margin-top: 14px; color: rgba(255, 255, 255, 0.52); line-height: 1.55; text-align: center; }
.education-outcomes { background: #f7f9fc; }
.education-outcome-card { height: 100%; padding: 30px; border: 1px solid #e2e7ee; border-radius: 18px; background: #fff; transition: 0.3s ease; }
.education-outcome-card:hover { border-color: var(--education-gold); transform: translateY(-6px); box-shadow: 0 20px 42px rgba(7, 21, 42, 0.09); }
.education-outcome-card > i { width: 52px; height: 52px; display: grid; place-items: center; border-radius: 14px; color: var(--education-navy); background: var(--education-gold); font-size: 24px; }
.education-outcome-card h3 { margin: 22px 0 10px; color: var(--education-navy); font-size: 21px; }
.education-outcome-card p { margin: 0; color: #6c798b; line-height: 1.7; }
.education-curriculum { background: var(--education-navy); }
.education-curriculum .education-section-heading h2 { color: #fff; }
.education-curriculum .education-section-heading p { color: rgba(255, 255, 255, 0.62); }
.education-curriculum-intro { position: sticky; top: 110px; }
.education-curriculum-summary { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 28px; }
.education-curriculum-summary span { padding: 16px 10px; border: 1px solid rgba(255, 255, 255, 0.12); border-radius: 12px; color: rgba(255, 255, 255, 0.62); font-size: 11px; text-align: center; }
.education-curriculum-summary strong { display: block; color: var(--education-gold); font-size: 25px; }
.education-curriculum-accordion .accordion-item { overflow: hidden; margin-bottom: 12px; border: 1px solid rgba(255, 255, 255, 0.12); border-radius: 13px; background: rgba(255, 255, 255, 0.055); }
.education-curriculum-accordion .accordion-button { gap: 15px; padding: 20px 22px; color: #fff; background: transparent; box-shadow: none; font-weight: 700; }
.education-curriculum-accordion .accordion-button:not(.collapsed) { color: var(--education-navy); background: var(--education-gold); }
.education-curriculum-accordion .accordion-button > span { color: var(--education-gold); font-size: 12px; font-weight: 900; }
.education-curriculum-accordion .accordion-button:not(.collapsed) > span { color: var(--education-navy); }
.education-curriculum-accordion .accordion-button::after { filter: invert(1); }
.education-curriculum-accordion .accordion-button:not(.collapsed)::after { filter: none; }
.education-curriculum-accordion .accordion-body { padding: 22px; color: rgba(255, 255, 255, 0.7); }
.education-curriculum-accordion .accordion-body p { line-height: 1.7; }
.education-curriculum-accordion .accordion-body ul { display: grid; gap: 8px; margin: 16px 0 0; padding: 0; list-style: none; }
.education-curriculum-accordion .accordion-body li { display: flex; align-items: center; gap: 9px; }
.education-curriculum-accordion .accordion-body li i { color: var(--education-gold); }
.education-learning { background: #fff; }
.education-learning-card { position: relative; height: 100%; padding: 30px; border: 1px solid #e3e8ef; border-radius: 18px; background: #fff; transition: 0.3s ease; }
.education-learning-card:hover { border-color: var(--education-gold); transform: translateY(-5px); }
.education-learning-card > span { position: absolute; top: 21px; right: 22px; color: #d1d8e2; font-size: 12px; font-weight: 900; }
.education-learning-card > i { color: #c98f19; font-size: 37px; }
.education-learning-card h3 { margin: 20px 0 10px; color: var(--education-navy); }
.education-learning-card p { margin: 0; color: #6c798b; line-height: 1.7; }
.education-includes { background: #f7f9fc; }
.education-visual { position: relative; overflow: hidden; border-radius: 22px; box-shadow: 0 24px 55px rgba(7, 21, 42, 0.16); }
.education-visual img { width: 100%; min-height: 520px; display: block; object-fit: cover; }
.education-visual::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(6, 6, 6, 0.72), transparent 55%); }
.education-visual > span { position: absolute; left: 24px; right: 24px; bottom: 24px; z-index: 1; display: flex; align-items: center; gap: 10px; color: #fff; font-weight: 700; }
.education-visual > span i { color: var(--education-gold); font-size: 26px; }
.education-resource-list { display: grid; gap: 14px; margin-top: 28px; }
.education-resource-list > div { display: flex; gap: 15px; padding: 20px; border: 1px solid #e2e7ee; border-radius: 14px; background: #fff; }
.education-resource-list i { color: #c78e18; font-size: 24px; }
.education-resource-list span { color: #6c798b; line-height: 1.6; }
.education-resource-list strong { display: block; margin-bottom: 3px; color: var(--education-navy); }
.education-faq { background: #fff; }
.education-cta { padding: 0 0 95px; background: #fff; }
.education-cta-panel { display: flex; align-items: center; justify-content: space-between; gap: 40px; padding: 55px; border-radius: 24px; color: #fff; background: linear-gradient(135deg, var(--education-navy), var(--education-navy-soft)); box-shadow: 0 25px 60px rgba(7, 21, 42, 0.18); }
.education-cta-panel > div > span { display: block; margin-bottom: 10px; color: var(--education-gold); font-size: 12px; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; }
.education-cta-panel h2 { margin: 0 0 14px; color: #fff; font-size: clamp(32px, 4vw, 48px); }
.education-cta-panel p { max-width: 690px; margin: 0; color: rgba(255, 255, 255, 0.67); line-height: 1.7; }
.education-cta-panel .education-btn { flex: 0 0 auto; }
@media (max-width: 991px) {
  .education-course .section { padding: 72px 0; }
  .education-hero { padding: 82px 0; }
  .education-enrollment-card,
  .education-curriculum-intro { position: static; }
  .education-cta-panel { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 767px) {
  .education-hero h1 { font-size: 42px; }
  .education-audience-grid { grid-template-columns: 1fr; }
  .education-curriculum-summary { grid-template-columns: repeat(3, 1fr); }
  .education-visual img { min-height: 340px; }
  .education-cta-panel { padding: 40px 24px; }
}

/*--------------------------------------------------------------
# Compact About & Contact Pages
--------------------------------------------------------------*/
.research-article-body p,.research-article-body div{margin:0 0 24px}.research-article-body h2{margin:48px 0 18px;color:#07152a;font:700 32px/1.3 Poppins,sans-serif;letter-spacing:-.025em}.research-article-body h3{margin:38px 0 15px;color:#132b48;font:700 24px/1.4 Poppins,sans-serif}.research-article-body h4{margin:30px 0 12px;color:#132b48;font:700 20px/1.4 Poppins,sans-serif}.research-article-body ul,.research-article-body ol{margin:0 0 26px;padding-left:28px}.research-article-body li{margin-bottom:8px}.research-article-body blockquote{margin:34px 0;padding:22px 25px;border-left:5px solid #ffc451;border-radius:0 12px 12px 0;color:#1d3049;background:#fff7e5;font-size:19px;font-style:italic}.research-article-body a{color:#a66d00;text-decoration:underline;text-underline-offset:3px}.research-article-body a:hover{color:#07152a}

.policy-page{background:#f6f8fb}.policy-hero{padding:88px 0 76px;color:#fff;background:radial-gradient(circle at 86% 16%,rgba(255,196,81,.16),transparent 28%),linear-gradient(120deg,#060606,#07152a)}.policy-hero span{display:block;margin-bottom:12px;color:#ffc451;font-size:11px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.policy-hero h1{margin:0;color:#fff;font:800 clamp(42px,6vw,66px)/1.08 Poppins,sans-serif;letter-spacing:-.045em}.policy-hero p{max-width:720px;margin:20px 0 0;color:rgba(255,255,255,.68);font-size:16px;line-height:1.75}.policy-content-section{padding:70px 0 90px}.policy-document{max-width:900px;margin:0 auto;padding:48px 55px;border:1px solid #e1e6ed;border-radius:20px;background:#fff;box-shadow:0 18px 50px rgba(7,21,42,.07)}.policy-updated{display:flex;align-items:center;gap:8px;margin-bottom:35px;padding-bottom:18px;border-bottom:1px solid #e8ebef;color:#7b8797;font-size:12px}.policy-updated i{color:#bd8618}.policy-body{color:#435166;font-size:16px;line-height:1.85}.policy-body h2{margin:38px 0 13px;color:#07152a;font:700 27px/1.35 Poppins,sans-serif}.policy-body h2:first-child{margin-top:0}.policy-body h3{margin:30px 0 10px;color:#132b48;font-size:21px}.policy-body p,.policy-body div{margin:0 0 18px}.policy-body ul,.policy-body ol{margin:0 0 22px;padding-left:25px}.policy-body blockquote{margin:25px 0;padding:18px 21px;border-left:4px solid #ffc451;background:#fff8e8}.policy-body a{color:#a66d00;text-decoration:underline}.footer-policy-links{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 22px;margin-top:10px}.footer-policy-links a{color:rgba(255,255,255,.62);font-size:12px}.footer-policy-links a:hover{color:#ffc451}@media(max-width:650px){.policy-hero{padding:68px 0 60px}.policy-content-section{padding:45px 0 65px}.policy-document{padding:30px 23px}.policy-body h2{font-size:23px}.footer-policy-links{gap:8px 14px}}

.compact-about,
.compact-contact { --compact-navy: #07152a; --compact-navy-soft: #153556; --compact-gold: #ffc451; background: #fff; }
.compact-page-hero { position: relative; overflow: hidden; padding: 82px 0 76px; color: #fff; background-position: center; background-size: cover; }
.compact-about-hero { background-image: linear-gradient(90deg, rgba(6, 6, 6, 0.92), rgba(6, 6, 6, 0.74)), url("../img/about.jpg"); }
.compact-contact-hero { background-image: linear-gradient(90deg, rgba(6, 6, 6, 0.93), rgba(6, 6, 6, 0.76)), url("../img/cta-bg.jpg"); }
.compact-page-hero::after { content: ""; position: absolute; right: -130px; top: -240px; width: 450px; height: 450px; border: 1px solid rgba(255, 196, 81, 0.25); border-radius: 50%; box-shadow: 0 0 0 65px rgba(255, 196, 81, 0.035), 0 0 0 130px rgba(255, 196, 81, 0.02); }
.compact-page-hero .container { z-index: 1; }
.compact-page-hero .container > span { display: block; margin-bottom: 12px; color: var(--compact-gold); font-size: 12px; font-weight: 800; letter-spacing: 0.13em; text-transform: uppercase; }
.compact-page-hero h1 { max-width: 850px; margin: 0 0 18px; color: #fff; font-size: clamp(42px, 5.5vw, 66px); line-height: 1.04; letter-spacing: -0.045em; }
.compact-page-hero p { max-width: 720px; margin: 0; color: rgba(255, 255, 255, 0.7); font-size: 18px; line-height: 1.7; }
.compact-kicker { display: block; margin-bottom: 10px; color: #bd8618; font-size: 12px; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; }
.compact-about-main,
.compact-contact-main { padding: 76px 0; }
.compact-about-image { position: relative; overflow: hidden; border-radius: 20px; box-shadow: 0 22px 48px rgba(7, 21, 42, 0.16); }
.compact-about-image img { width: 100%; min-height: 430px; display: block; object-fit: cover; }
.compact-about-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(6, 6, 6, 0.72), transparent 55%); }
.compact-about-image > span { position: absolute; left: 24px; right: 24px; bottom: 23px; z-index: 1; display: flex; align-items: center; gap: 10px; color: #fff; font-weight: 700; }
.compact-about-image > span i { color: var(--compact-gold); font-size: 24px; }
.compact-about-main h2,
.compact-contact-panel h2 { margin: 0 0 17px; color: var(--compact-navy); font-size: clamp(34px, 4vw, 48px); line-height: 1.1; letter-spacing: -0.035em; }
.compact-about-main .col-lg-6 > p,
.compact-contact-panel > p { color: #69778a; font-size: 16px; line-height: 1.8; }
.compact-about-values { display: grid; gap: 11px; margin-top: 23px; }
.compact-about-values > div { display: flex; gap: 13px; padding: 15px 17px; border: 1px solid #e3e8ef; border-radius: 12px; background: #f9fafc; }
.compact-about-values i { color: #c78e18; font-size: 21px; }
.compact-about-values span { color: #6b788a; font-size: 13px; line-height: 1.5; }
.compact-about-values strong { display: block; color: var(--compact-navy); font-size: 14px; }
.compact-about-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 20px; margin-top: 25px; }
.compact-primary-btn { min-height: 49px; display: inline-flex; align-items: center; justify-content: center; gap: 9px; padding: 11px 21px; border-radius: 9px; color: #111b2b; background: var(--compact-gold); font-weight: 800; }
.compact-primary-btn:hover { color: #111b2b; background: #ffd36c; }
.compact-text-link { color: var(--compact-navy); font-weight: 800; }
.compact-text-link:hover { color: #c78e18; }
.compact-contact-main { background: #f7f9fc; }
.compact-contact-panel { height: 100%; padding: 33px; border-radius: 19px; color: #fff; background: linear-gradient(145deg, var(--compact-navy), var(--compact-navy-soft)); box-shadow: 0 20px 45px rgba(7, 21, 42, 0.15); }
.compact-contact-panel .compact-kicker { color: var(--compact-gold); }
.compact-contact-panel h2 { color: #fff; }
.compact-contact-panel > p { color: rgba(255, 255, 255, 0.65); }
.compact-contact-method { display: flex; align-items: center; gap: 13px; margin-top: 18px; padding: 15px; border: 1px solid rgba(255, 255, 255, 0.13); border-radius: 12px; color: #fff; background: rgba(255, 255, 255, 0.05); }
.compact-contact-method:hover { color: #fff; border-color: var(--compact-gold); background: rgba(255, 196, 81, 0.08); }
.compact-contact-method > i { width: 40px; height: 40px; flex: 0 0 40px; display: grid; place-items: center; border-radius: 10px; color: var(--compact-navy); background: var(--compact-gold); font-size: 18px; }
.compact-contact-method small { display: block; margin-bottom: 2px; color: rgba(255, 255, 255, 0.55); font-size: 11px; }
.compact-contact-method strong { display: block; overflow-wrap: anywhere; font-size: 13px; }
.compact-response { display: flex; gap: 9px; margin-top: 22px; color: rgba(255, 255, 255, 0.58); font-size: 12px; line-height: 1.5; }
.compact-response i { color: var(--compact-gold); }
.compact-contact-form { height: 100%; padding: 34px; border: 1px solid #e2e7ee; border-radius: 19px; background: #fff; box-shadow: 0 16px 38px rgba(7, 21, 42, 0.07); }
.compact-contact-form label { display: block; margin-bottom: 7px; color: var(--compact-navy); font-size: 13px; font-weight: 800; }
.compact-contact-form .form-control { min-height: 51px; padding: 12px 15px; border: 1px solid #dfe5ed; border-radius: 9px; color: var(--compact-navy); background: #fbfcfd; box-shadow: none; }
.compact-contact-form textarea.form-control { min-height: 145px; resize: vertical; }
.compact-contact-form .form-control:focus { border-color: var(--compact-gold); background: #fff; box-shadow: 0 0 0 3px rgba(255, 196, 81, 0.15); }
.compact-contact-form button[type=submit] { min-height: 50px; display: inline-flex; align-items: center; justify-content: center; gap: 9px; padding: 11px 24px; border: 0; border-radius: 9px; color: #111b2b; background: var(--compact-gold); font-weight: 800; }
.compact-contact-form button[type=submit]:hover { background: #ffd36c; }
@media (max-width: 991px) {
  .compact-page-hero { padding: 70px 0; }
  .compact-about-main,
  .compact-contact-main { padding: 65px 0; }
}
@media (max-width: 767px) {
  .compact-page-hero h1 { font-size: 41px; }
  .compact-about-image img { min-height: 330px; }
  .compact-contact-form,
  .compact-contact-panel { padding: 26px; }
}
