@charset "UTF-8";

:root {
  --color-main: #cc0000;
  --color-dark: #161b2e;
  --color-darker: #0f1320;
}

/* BODY */
* {
  outline: none !important;
}

body {
  margin: 0;
  padding: 0;
  font-family: "Poppins", sans-serif;
  font-size: 14px;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  -moz-osx-font-smoothing: grayscale;
}

/* HTML ELEMENTS */
img {
  max-width: 100%;
}

/* LINKS */
a {
  color: var(--color-dark);
  text-decoration: none;
  -webkit-transition: 0.25s ease-in-out;
  -moz-transition: 0.25s ease-in-out;
  -ms-transition: 0.25s ease-in-out;
  -o-transition: 0.25s ease-in-out;
  transition: 0.25s ease-in-out;
}

a:hover {
  text-decoration: none;
  color: var(--color-dark);
}

/* CUSTOM CLASSES */
.overflow {
  overflow: hidden !important;
}

.no-spacing {
  margin: 0 !important;
  padding: 0 !important;
}

.no-preloader [data-splitting] {
  visibility: visible !important;
}

/* CUSTOM CONTAINER */
@media (min-width: 1300px) {
  .container {
    max-width: 1340px;
  }
}

/* CUSTOM CURSOR */
.cursor {
  display: none !important;
}

.all-cases.active ~ * .cursor,
body:has(.all-cases.active) .cursor {
  display: none;
}

.cursor:before {
  display: none;
}

.cursor.light:before {
  display: none;
}

/* SECTIONS */
.content-section {
  width: 100%;
  display: block;
  padding: 80px 0;
}

main {
  width: 100%;
  display: block;
  position: relative;
  z-index: 2;
  overflow: hidden;
}

section {
  position: relative;
}

aside {
  position: relative;
}

/* FORM ELEMENTS */
input[type=text] {
  max-width: 100%;
  height: 58px;
  border: 1px solid #eee;
  padding: 0 20px;
}

input[type=email] {
  max-width: 100%;
  height: 58px;
  border: 1px solid #eee;
  padding: 0 20px;
}

input[type=search] {
  max-width: 100%;
  height: 58px;
  border: 1px solid #eee;
  padding: 0 20px;
}

input[type=password] {
  max-width: 100%;
  height: 58px;
  border: 1px solid #eee;
  padding: 0 20px;
}

input[type=submit] {
  height: 58px;
  border: none;
  background: var(--color-dark);
  color: #fff;
  padding: 0 30px;
  font-weight: 600;
  font-size: 14px;
}

button[type=submit] {
  height: 58px;
  border: none;
  background: var(--color-dark);
  color: #fff;
  padding: 0 30px;
  font-weight: 600;
  font-size: 14px;
}

button[type=submit].ct-submit-btn {
  height: auto;
  background: #cc0000;
  color: #fff;
  padding: 14px 32px;
}

textarea {
  max-width: 100%;
  height: 140px;
  border: 1px solid #eee;
  padding: 20px;
}

select {
  width: 420px;
  max-width: 100%;
  height: 58px;
  padding: 0 30px;
  border: 1px solid #cecece;
  color: #757575;
}

select {
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: linear-gradient(45deg, transparent 50%, gray 50%), linear-gradient(135deg, gray 50%, transparent 50%), linear-gradient(to right, #ccc, #ccc);
  background-position: calc(100% - 30px) 28px, calc(100% - 25px) 28px, calc(100% - 3.5em) 15px;
  background-size: 5px 5px, 5px 5px, 1px 30px;
  background-repeat: no-repeat;
}

/* EQUALIZER */
.equalizer {
  width: 26px;
  height: 30px;
  cursor: pointer;
  position: relative;
}

.equalizer span {
  background: #fff;
  width: 2px;
  height: 0px;
  bottom: 0;
  left: 0%;
  display: block;
  position: absolute;
  transition: height 0.2s linear;
}

.equalizer span:nth-child(1) {
  margin-left: 8px;
}

.equalizer span:nth-child(2) {
  margin-left: 16px;
}

.equalizer span:nth-child(4) {
  margin-left: 24px;
}

.equalizer.paused span {
  height: 3px !important;
}

/* SPLITTING */
.splitting .word,
.splitting .char {
  display: inline-block;
}

.splitting .char {
  position: relative;
}

.animated .char {
  display: inline-block;
  animation: texteffect 0.6s cubic-bezier(0.5, 0, 0.5, 1) both;
  animation-delay: calc(10ms * var(--char-index));
}

.wow .word {
  opacity: 0;
  transform: translateY(10px);
  display: inline-block;
  transition: opacity 0.4s ease, transform 0.4s ease;
}

.wow.animated .word {
  opacity: 1;
  transform: translateY(0);
}



/* ODOMETER */
.odometer.odometer-auto-theme,
.odometer.odometer-theme-car {
  padding: 0;
}

.odometer.odometer-auto-theme .odometer-digit,
.odometer.odometer-theme-car .odometer-digit {
  padding: 0;
}

.odometer.odometer-auto-theme .odometer-digit .odometer-value,
.odometer.odometer-theme-car .odometer-digit .odometer-value {
  text-indent: -5px;
}

.odometer.odometer-auto-theme .odometer-digit .odometer-digit-inner,
.odometer.odometer-theme-car .odometer-digit .odometer-digit-inner {
  left: 0;
}

.odometer.odometer-auto-theme .odometer-digit .odometer-value,
.odometer.odometer-theme-car .odometer-digit .odometer-value {
  text-indent: 0;
}

/* PAGINATION */
.pagination {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  margin: 0;
  margin-top: 50px;
}

.pagination .page-numbers {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
}

.pagination li {
  display: inline-block;
  margin-left: -1px;
}

.pagination li .page-numbers {
  height: 60px;
  line-height: 60px;
  padding: 0 30px;
  border-radius: 0 !important;
  font-size: 14px;
  font-weight: 600;
  color: var(--color-dark);
  outline: none !important;
  border: 1px solid #dee2e6;
}

.pagination li .page-numbers.current {
  background: #e9ecef;
}

.pagination li .page-numbers:hover {
  background: #e9ecef;
}

/* REVEAL EFFECT */
.reveal-effect {
  float: left;
  position: relative;
}

.reveal-effect.animated:before {
  content: "";
  width: 100%;
  height: 100%;
  background: #000;
  position: absolute;
  left: 0;
  top: 0;
  animation: 1s reveal linear forwards;
  -webkit-animation-duration: 1s;
  z-index: 1;
  -moz-animation-duration: 1s;
  -ms-animation-duration: 1s;
  -o-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: forwards;
  -moz-animation-fill-mode: forwards;
  -ms-animation-fill-mode: forwards;
  -o-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  -webkit-animation-timing-function: cubic-bezier(0.785, 0.135, 0.15, 0.86);
  -moz-animation-timing-function: cubic-bezier(0.785, 0.135, 0.15, 0.86);
  -o-animation-timing-function: cubic-bezier(0.785, 0.135, 0.15, 0.86);
  -ms-animation-timing-function: cubic-bezier(0.785, 0.135, 0.15, 0.86);
  animation-timing-function: cubic-bezier(0.785, 0.135, 0.15, 0.86);
}

.reveal-effect.animated>* {
  animation: 1s reveal-inner linear forwards;
}

@-webkit-keyframes reveal {
  0% {
    left: 0;
    width: 0;
  }

  50% {
    left: 0;
    width: 100%;
  }

  51% {
    left: auto;
    right: 0;
  }

  100% {
    left: auto;
    right: 0;
    width: 0;
  }
}

@-webkit-keyframes reveal-inner {
  0% {
    visibility: hidden;
    opacity: 0;
  }

  50% {
    visibility: hidden;
    opacity: 0;
  }

  51% {
    visibility: visible;
    opacity: 1;
  }

  100% {
    visibility: visible;
    opacity: 1;
  }
}

/* REVEAL EFFECT
.reveal-effect { float: left; position: relative;}
.reveal-effect>* { -webkit-animation-duration: 1s;  animation-duration: 1s;  -webkit-animation-fill-mode: forwards;  animation-fill-mode: forwards;  -webkit-animation-timing-function: cubic-bezier(.785,.135,.15,.86);  animation-timing-function: cubic-bezier(.785,.135,.15,.86); position: relative;}
.reveal-effect>* { -webkit-animation-fill-mode: forwards; animation-fill-mode: forwards; }
.reveal-effect { -webkit-transition-property: -webkit-transform; transition-property: -webkit-transform; transition-property: transform; transition-property: transform, -webkit-transform;}
.reveal-effect {-webkit-transition-duration: 1.2s; transition-duration: 1.2s; -webkit-transition-timing-function: cubic-bezier(.25,.1,.25,1); transition-timing-function: cubic-bezier(.25,.1,.25,1);}
.reveal-effect.animated {-webkit-transform: translate(0,0); transform: translate(0,0);}
.reveal-effect.animated * {-webkit-animation-name: show-img-1;animation-name: show-img-1;}
.reveal-effect:after {-webkit-animation-fill-mode: forwards; animation-fill-mode: forwards; -webkit-animation-timing-function: cubic-bezier(.785,.135,.15,.86); animation-timing-function: cubic-bezier(.785,.135,.15,.86);}
.reveal-effect:after { content:"";  width: 100%; height: 100%; display: block; position: absolute; top: 0; left: 0;}
.reveal-effect:after{-webkit-transform-origin: left top; transform-origin: left top; -webkit-transform: scale(.05,0); transform: scale(.05,0); -webkit-animation-duration: 1s; animation-duration: 1s; -webkit-animation-fill-mode: forwards; animation-fill-mode: forwards; -webkit-animation-timing-function: cubic-bezier(.785,.135,.15,.86); animation-timing-function: cubic-bezier(.785,.135,.15,.86);}
.reveal-effect.masker:after { background-color:var(--color-darker); }
.reveal-effect.animated:after { -webkit-animation-name: slide-bg-2; animation-name: slide-bg-2;}

*/
/* SWIPER PAGINATION */
.content-pagination .swiper-pagination-bullet {
  width: 12px;
  height: 12px;
  transform: scale(0.4);
  background: #fff;
  opacity: 1;
  border-radius: 50%;
}

.content-pagination .swiper-pagination-bullet:hover {
  -webkit-transition: box-shadow 0.3s ease;
  transition: box-shadow 0.3s ease;
  -webkit-transition: background-color 0.3s ease, -webkit-transform 0.3s ease;
  transition: background-color 0.3s ease, transform 0.3s ease;
  -webkit-transform: scale(1);
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0);
  border: 2px solid #fff;
  background: none;
}

.content-pagination .swiper-pagination-bullet-active {
  -webkit-transition: box-shadow 0.3s ease;
  transition: box-shadow 0.3s ease;
  -webkit-transition: background-color 0.3s ease, -webkit-transform 0.3s ease;
  transition: background-color 0.3s ease, transform 0.3s ease;
  -webkit-transform: scale(1);
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0);
  border: 2px solid #fff;
  background: none;
}

/* PRELOADER */
.preloader {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: fixed;
  inset: 0;
  z-index: 11111;
  background: #03060f;
  text-align: center;
  overflow: hidden;
  transition: opacity 0.8s ease, visibility 0.8s ease;
  transition-delay: 0.6s;
}

.preloader * {
  transition: none;
}

/* deep radial glow */
.preloader::before {
  content: '';
  position: absolute;
  width: 800px;
  height: 800px;
  background: radial-gradient(circle, rgba(204,0,0,0.12) 0%, rgba(100,0,0,0.05) 50%, transparent 70%);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  animation: preloaderPulse 4s ease-in-out infinite;
  pointer-events: none;
}
/* red orb top-right */
.preloader::after {
  content: '';
  position: absolute;
  width: 400px;
  height: 400px;
  background: radial-gradient(circle, rgba(204,0,0,0.07) 0%, transparent 65%);
  top: 10%;
  right: 10%;
  animation: preloaderPulse 5s ease-in-out 1s infinite reverse;
  pointer-events: none;
}
@keyframes preloaderPulse {
  0%, 100% { transform: scale(1);   opacity: 0.5; }
  50%       { transform: scale(1.4); opacity: 1;   }
}

/* dot-grid background */
.preloader-grid {
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle, rgba(204,0,0,0.15) 1px, transparent 1px);
  background-size: 40px 40px;
  opacity: 0.35;
  animation: preloaderGridFade 3s ease-in-out infinite alternate;
  pointer-events: none;
}
@keyframes preloaderGridFade {
  from { opacity: 0.2; }
  to   { opacity: 0.45; }
}

/* floating particles */
.preloader-particles {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.preloader-particles span {
  position: absolute;
  border-radius: 50%;
  background: rgba(204,0,0,0.6);
  animation: preloaderFloat linear infinite;
}
.preloader-particles span:nth-child(1)  { left:8%;  bottom:10%; width:3px; height:3px; animation-duration:9s;  animation-delay:0s;   }
.preloader-particles span:nth-child(2)  { left:20%; bottom:5%;  width:5px; height:5px; animation-duration:11s; animation-delay:1s;   background:rgba(204,0,0,0.4); }
.preloader-particles span:nth-child(3)  { left:35%; bottom:15%; width:2px; height:2px; animation-duration:8s;  animation-delay:2.2s; }
.preloader-particles span:nth-child(4)  { left:52%; bottom:8%;  width:4px; height:4px; animation-duration:10s; animation-delay:0.7s; background:rgba(255,80,80,0.4); }
.preloader-particles span:nth-child(5)  { left:68%; bottom:12%; width:3px; height:3px; animation-duration:12s; animation-delay:1.8s; background:rgba(204,0,0,0.4); }
.preloader-particles span:nth-child(6)  { left:80%; bottom:6%;  width:5px; height:5px; animation-duration:7s;  animation-delay:3s;   }
.preloader-particles span:nth-child(7)  { left:90%; bottom:20%; width:2px; height:2px; animation-duration:13s; animation-delay:0.4s; }
.preloader-particles span:nth-child(8)  { left:5%;  bottom:40%; width:3px; height:3px; animation-duration:9s;  animation-delay:2.8s; background:rgba(204,0,0,0.35); }
.preloader-particles span:nth-child(9)  { left:45%; bottom:30%; width:2px; height:2px; animation-duration:10s; animation-delay:1.5s; }
.preloader-particles span:nth-child(10) { left:72%; bottom:45%; width:4px; height:4px; animation-duration:8s;  animation-delay:0.9s; background:rgba(255,80,80,0.35); }
.preloader-particles span:nth-child(11) { left:15%; bottom:60%; width:2px; height:2px; animation-duration:11s; animation-delay:3.5s; }
.preloader-particles span:nth-child(12) { left:60%; bottom:70%; width:3px; height:3px; animation-duration:9s;  animation-delay:2s;   background:rgba(204,0,0,0.4); }
.preloader-particles span:nth-child(13) { left:30%; bottom:80%; width:2px; height:2px; animation-duration:14s; animation-delay:1.2s; }
.preloader-particles span:nth-child(14) { left:85%; bottom:65%; width:4px; height:4px; animation-duration:10s; animation-delay:4s;   }
.preloader-particles span:nth-child(15) { left:50%; bottom:90%; width:3px; height:3px; animation-duration:8s;  animation-delay:0.6s; background:rgba(204,0,0,0.35); }
@keyframes preloaderFloat {
  0%   { transform: translateY(0)      scale(1);   opacity: 0; }
  8%   { opacity: 1; }
  92%  { opacity: 0.8; }
  100% { transform: translateY(-100vh) scale(0.4); opacity: 0; }
}

.preloader .layer {
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  background: #03060f;
  transition: transform 0.9s cubic-bezier(0.86, 0, 0.07, 1) 0.1s;
}

.preloader .inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  position: relative;
  z-index: 2;
  gap: 0;
}

/* spinning ring */
.preloader-ring {
  position: relative;
  width: 110px;
  height: 110px;
  margin-bottom: 28px;
  animation: preloaderFadeIn 0.5s ease 0.1s both;
}
.preloader-ring::before,
.preloader-ring::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 1.5px solid transparent;
}
.preloader-ring::before {
  border-top-color: #cc0000;
  border-right-color: rgba(204,0,0,0.3);
  animation: preloaderSpin 1.4s linear infinite;
}
.preloader-ring::after {
  inset: 8px;
  border-top-color: rgba(255,80,80,0.7);
  border-left-color: rgba(255,80,80,0.2);
  animation: preloaderSpin 2s linear infinite reverse;
}
.preloader-ring-inner {
  position: absolute;
  inset: 18px;
  border-radius: 50%;
  border: 1px solid rgba(204,0,0,0.15);
  background: radial-gradient(circle, rgba(204,0,0,0.1) 0%, transparent 70%);
  animation: preloaderPulse 2s ease-in-out infinite;
}
@keyframes preloaderSpin {
  to { transform: rotate(360deg); }
}

/* animated logo letters */
.preloader-logo {
  display: flex;
  gap: 3px;
  margin-bottom: 8px;
}
.preloader-logo span {
  font-size: clamp(32px, 5.5vw, 52px);
  font-weight: 900;
  color: #fff;
  letter-spacing: 1px;
  display: inline-block;
  animation: preloaderLetterIn 0.5s cubic-bezier(0.22, 1, 0.36, 1) both;
  text-shadow: 0 0 40px rgba(204,0,0,0.4), 0 2px 20px rgba(0,0,0,0.8);
}
.preloader-logo span:nth-child(1) { animation-delay: 0.05s; color: #cc0000; text-shadow: 0 0 40px rgba(204,0,0,0.9), 0 0 80px rgba(204,0,0,0.4); }
.preloader-logo span:nth-child(2) { animation-delay: 0.12s; }
.preloader-logo span:nth-child(3) { animation-delay: 0.19s; }
.preloader-logo span:nth-child(4) { animation-delay: 0.26s; }
.preloader-logo span:nth-child(5) { animation-delay: 0.33s; }
.preloader-logo span:nth-child(6) { animation-delay: 0.40s; }
.preloader-logo span:nth-child(7) { animation-delay: 0.47s; }
@keyframes preloaderLetterIn {
  0%   { opacity: 0; transform: translateY(24px) scale(0.75); filter: blur(6px); }
  100% { opacity: 1; transform: translateY(0)    scale(1);    filter: blur(0); }
}

.preloader-tagline {
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 7px;
  text-transform: uppercase;
  color: rgba(255,255,255,0.35);
  animation: preloaderFadeIn 0.5s ease 0.65s both;
  margin-bottom: 32px;
}

/* progress bar */
.preloader-bar {
  width: 200px;
  height: 2px;
  background: rgba(255,255,255,0.07);
  border-radius: 2px;
  overflow: hidden;
  position: relative;
  animation: preloaderFadeIn 0.4s ease 0.7s both;
}
.preloader-bar-fill {
  height: 100%;
  width: 0%;
  background: linear-gradient(90deg, #cc0000 0%, #ff4444 100%);
  border-radius: 2px;
  animation: preloaderProgress 2s cubic-bezier(0.4, 0, 0.2, 1) 0.4s forwards;
  transition: none !important;
  position: relative;
}
.preloader-bar-fill::after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 60px;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.6), transparent);
  animation: preloaderShimmer 1.5s ease-in-out 0.6s infinite;
}
@keyframes preloaderShimmer {
  0%   { transform: translateX(-60px); opacity: 0; }
  30%  { opacity: 1; }
  100% { transform: translateX(200px); opacity: 0; }
}
@keyframes preloaderProgress {
  0%   { width: 0%; }
  40%  { width: 55%; }
  70%  { width: 80%; }
  100% { width: 100%; }
}

.preloader .inner > span {
  color: rgba(255,255,255,0.25);
  text-transform: uppercase;
  font-weight: 500;
  font-size: 14px;
  letter-spacing: 3px;
  margin-top: 14px;
  animation: preloaderFadeIn 0.4s ease 0.85s both;
}
@keyframes preloaderFadeIn {
  from { opacity: 0; transform: translateY(10px); }
  to   { opacity: 1; transform: translateY(0); }
}

.preloader .inner figure {
  display: none;
}

body .left-side {
  left: -100%;
  opacity: 0;
}

body .slider {
  /*transform: scale(1.5);*/
  filter: blur(20px);
}

body .page-header {
  /*transform: scale(1.5);*/
  filter: blur(20px);
}

/* PAGE LOADED */
.page-loaded .preloader {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  right: 0;
}

.page-loaded .preloader .inner {
  opacity: 0;
  transform: scale(0.9);
}

.page-loaded .preloader .layer {
  right: -100%;
}

.page-loaded .left-side {
  left: 0;
  opacity: 1;
  z-index: 999999;
}

.page-loaded .slider {
  filter: blur(0);
  transform: scale(1);
}

.page-loaded .page-header {
  filter: blur(0);
  transform: scale(1);
}

/* NO PRELOADER */
.no-preloader .left-side {
  left: 0;
  opacity: 1;
}

.no-preloader .slider {
  filter: blur(0);
  transform: scale(1);
}

.no-preloader .page-header {
  filter: blur(0);
  transform: scale(1);
}

/* PAGE TRANSTION */
.page-transition {
  width: 100%;
  height: 100%;
  position: fixed;
  right: -100%;
  top: 0;
  z-index: 13;
  opacity: 0;
  visibility: hidden;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  transition: all 0.3s ease;
  transition-duration: 500ms;
  -webkit-transition-duration: 500ms;
  transition-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
  -webkit-transition-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
  background: var(--color-main);
}

.page-transition .layer {
  width: 0;
  height: 100%;
  position: absolute;
  right: 0;
  top: 0;
  background: #1c1c1c;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  transition: all 0.3s ease;
  transition-duration: 500ms;
  -webkit-transition-duration: 500ms;
  transition-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
  -webkit-transition-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
  transition-delay: 0.3s;
}

.page-transition.active {
  opacity: 1;
  visibility: visible;
  right: 0;
}

.page-transition.active .layer {
  width: 100%;
}

/* SITE NAVIGATION */
.site-navigation {
  width: calc(100% - 220px);
  height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: fixed;
  left: -100%;
  top: 0;
  z-index: 9;
  background: #fff;
  transition: all 500ms cubic-bezier(0.86, 0, 0.07, 1);
  overflow: hidden;
}

.site-navigation::before {
  content: '';
  position: absolute;
  top: -150px;
  left: -150px;
  width: 500px;
  height: 500px;
  background: none;
  pointer-events: none;
}

.site-navigation .layer {
  width: 100%;
  height: 100%;
  position: absolute;
  left: -100%;
  top: 0;
  background: #fff;
  transition: all 500ms cubic-bezier(0.86, 0, 0.07, 1);
  transition-delay: 0.3s;
}

.site-navigation .inner {
  position: relative;
  z-index: 2;
  padding: 0 80px;
  transition: opacity 0.25s ease-in-out;
  transition-delay: 0.55s;
  opacity: 0;
}

.site-navigation .inner ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.site-navigation .inner ul li {
  display: flex;
  align-items: center;
  border-bottom: 1px solid rgba(0,0,0,0.08);
  margin: 0;
  padding: 0;
  overflow: hidden;
}

.site-navigation .inner ul li:first-child {
  border-top: none;
}

.site-navigation .inner ul li i,
.site-navigation .inner ul li b {
  display: none;
}

.site-navigation .inner ul li ul {
  display: none;
}

.site-navigation .inner ul li a {
  display: flex;
  align-items: center;
  gap: 20px;
  width: 100%;
  padding: 18px 0;
  font-size: clamp(26px, 3.8vw, 50px);
  font-weight: 800;
  color: #000;
  letter-spacing: -1px;
  text-decoration: none;
  transition: color 0.3s ease, padding-left 0.3s ease;
}

.site-navigation .inner ul li a:hover {
  color: #cc0000;
  padding-left: 14px;
  text-decoration: none;
}

.site-navigation .inner ul li a:focus {
  background: none;
}

.site-navigation.active {
  left: 220px;
}

.site-navigation.active .layer {
  left: 0;
}

.site-navigation.active .inner {
  opacity: 1;
}

/* NAV CLOSE BUTTON */
.nav-close {
  width: 44px;
  height: 44px;
  background: #cc0000;
  border: 1px solid #cc0000;
  border-radius: 50%;
  cursor: pointer;
  display: none;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  flex-shrink: 0;
  transition: background 0.3s ease, border-color 0.3s ease;
}

.nav-close.visible {
  display: flex;
}

.nav-close:hover {
  background: #a00000;
  border-color: #a00000;
  transform: translate(-50%, -50%) rotate(90deg);
}

.nav-close span {
  position: absolute;
  width: 16px;
  height: 2px;
  background: #fff;
  border-radius: 2px;
}

.nav-close span:first-child {
  transform: rotate(45deg);
}

.nav-close span:last-child {
  transform: rotate(-45deg);
}
/* Hide hamburger X when nav-close is shown */
.left-side .hamburger.is-opened-navi {
  opacity: 0;
  pointer-events: none;
}



.section-title {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 0;
}

.section-title.light {
  color: #fff;
}

.section-title h2 {
  width: 100%;
  line-height: 1.2;
  font-size: 4vw;
  letter-spacing: 2px;
  margin: 0;
  font-family: "Fjalla One", sans-serif;
}

.section-title h5 {
  width: 100%;
  font-size: 20px;
  font-weight: 300;
  line-height: 1.5;
  margin-bottom: 0;
  margin-top: 30px;
}

.section-title a {
  color: #fff;
  font-size: 17px;
  border-bottom: 1px solid var(--color-main);
  padding-bottom: 5px;
  margin-top: 40px;
}

.section-title a:hover {
  border-color: #fff;
  text-decoration: none;
}

/* NAVBAR */
.body-hamburger-menu .navbar .horizontal-menu {
  display: none;
}

.navbar {
  width: calc(100% - 120px);
  position: absolute;
  right: 0;
  top: 0;
  z-index: 100;
  padding: 30px;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.5s ease 0.3s;
}
body.page-loaded .navbar {
  opacity: 1;
  pointer-events: auto;
}

.navbar .languages {
  display: inline-block;
  margin: 0;
  margin-left: auto;
  padding: 0;
}

.navbar .languages li {
  display: inline-block;
  margin-left: 10px;
  padding: 0;
  list-style: none;
}

.navbar .languages li:first-child {
  margin-left: 0;
}

.navbar .languages li a {
  color: #fff;
}

.navbar .horizontal-menu {
  display: flex;
  flex-wrap: wrap;
  margin: 0 auto;
  padding: 0;
}

.navbar .horizontal-menu div {
  display: block;
}

.navbar .horizontal-menu ul {
  display: flex;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
}

.navbar .horizontal-menu ul li {
  display: flex;
  align-items: center;
  margin: 0 20px;
  padding: 0;
  list-style: none;
}

.navbar .horizontal-menu ul li.menu-item-has-children i {
  display: inline-block;
}

.navbar .horizontal-menu ul li i {
  width: 6px;
  height: 6px;
  display: none;
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  margin-left: 10px;
  transform: rotate(-45deg);
  margin-top: -2px;
}

.navbar .horizontal-menu ul li a {
  color: #fff;
  font-weight: 600;
  padding: 0;
}

.navbar .horizontal-menu ul li a:hover {
  text-decoration: none;
  color: var(--color-main);
  background: none;
}

.navbar .horizontal-menu ul li a:focus {
  background: none;
}

.navbar .horizontal-menu ul li ul {
  min-width: 160px;
  position: absolute;
  left: -30px;
  top: calc(100% + 23px);
  z-index: 6;
  border: 1px solid var(--color-dark);
  background: var(--color-main) !important;
  padding: 20px 0;
  -webkit-transition: 0.25s ease-in-out;
  -moz-transition: 0.25s ease-in-out;
  -ms-transition: 0.25s ease-in-out;
  -o-transition: 0.25s ease-in-out;
  transition: 0.25s ease-in-out;
  visibility: hidden;
  opacity: 0;
  white-space: nowrap;
}

.navbar .horizontal-menu ul li ul:before {
  content: "";
  width: 100%;
  height: 23px;
  position: absolute;
  left: 0;
  top: -23px;
}

.navbar .horizontal-menu ul li ul li {
  width: 100%;
  display: block;
  margin: 0;
  padding: 0 30px;
  margin-bottom: 7px;
}

.navbar .horizontal-menu ul li ul li:last-child {
  margin: 0;
}

.navbar .horizontal-menu ul li ul li a {
  display: inline-block;
  color: var(--color-dark);
  font-weight: 600;
}

.navbar .horizontal-menu ul li ul li a:hover {
  color: var(--color-dark);
  text-decoration: underline;
}

.navbar .horizontal-menu ul li:hover ul {
  visibility: visible;
  opacity: 1;
}

.navbar .horizontal-menu ul li ul i {
  display: none !important;
}

.navbar .horizontal-menu ul li:hover ul li ul {
  visibility: hidden;
  opacity: 0;
  z-index: 1;
}

.navbar .horizontal-menu ul li ul li ul {
  left: 100%;
  top: -21px;
}

.navbar .horizontal-menu ul li:hover ul li:hover ul {
  visibility: visible;
  opacity: 1;
  background: #212529;
}

.navbar .horizontal-menu ul li:hover ul li:hover ul li ul {
  visibility: hidden;
  opacity: 0;
}

.navbar .horizontal-menu ul li:hover ul li:hover ul li:hover ul {
  visibility: visible;
  opacity: 1;
  background: #2e3338;
}

.navbar .hamburger {
  display: none;
  height: 45px;
  margin-left: auto;
}

.navbar .all-cases-link {
  margin-right: 0;
  margin-left: 20px;
}

/* SOCIAL MEDIA */
.social-media {
  width: 100%;
  height: 100%;
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: fixed;
  right: -100%;
  top: 0;
  z-index: 3;
  background: var(--color-main);
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  transition: all 0.3s ease;
  transition-duration: 500ms;
  -webkit-transition-duration: 500ms;
  transition-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
  -webkit-transition-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
}

.social-media .layer {
  width: 0;
  height: 100%;
  position: absolute;
  right: 0;
  top: 0;
  background: var(--color-darker);
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  transition: all 0.3s ease;
  transition-duration: 500ms;
  -webkit-transition-duration: 500ms;
  transition-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
  -webkit-transition-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
  transition-delay: 0.3s;
}

.social-media .inner {
  position: relative;
  z-index: 2;
  padding-left: 100px;
  -webkit-transition: 0.25s ease-in-out;
  -moz-transition: 0.25s ease-in-out;
  -ms-transition: 0.25s ease-in-out;
  -o-transition: 0.25s ease-in-out;
  transition: 0.25s ease-in-out;
  transition-delay: 0.7s;
  opacity: 0;
  text-align: center;
  width: 100%;
}

.social-media .inner h5 {
  font-size: 3vw;
  font-weight: 600;
  color: #fff;
  margin-bottom: 50px;
}

.social-media .inner ul {
  display: block;
  margin: 0;
  padding: 0;
}

.social-media .inner ul li {
  font-size: 2vw;
  display: inline-block;
  margin: 0 40px;
  padding: 0;
  list-style: none;
}

.social-media .inner ul li a {
  color: #fff;
}

.social-media .inner ul li a:hover {
  color: var(--color-main);
  text-decoration: none;
}

.social-media.active {
  opacity: 1;
  visibility: visible;
  right: 0;
}

.social-media.active .layer {
  width: 100%;
}

.social-media.active .inner {
  opacity: 1;
}

/* ALL CASES */
.all-cases {
  width: 100%;
  height: 100%;
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: fixed;
  left: -100%;
  top: 0;
  z-index: 12;
  background: #fff;
  transition: all 500ms cubic-bezier(0.86, 0, 0.07, 1);
  overflow: hidden;
}

.all-cases::before {
  content: '';
  position: absolute;
  top: -200px;
  right: -200px;
  width: 600px;
  height: 600px;
  background: none;
  pointer-events: none;
}

.all-cases::after {
  content: '';
  position: absolute;
  bottom: -200px;
  left: -100px;
  width: 500px;
  height: 500px;
  background: none;
  pointer-events: none;
}

.all-cases .layer {
  width: 100%;
  height: 100%;
  position: absolute;
  left: -100%;
  top: 0;
  background: #fff;
  transition: all 500ms cubic-bezier(0.86, 0, 0.07, 1);
  transition-delay: 0.6s;
  z-index: 1;
}

.all-cases .inner {
  position: relative;
  z-index: 2;
  width: 100%;
  padding: 0 80px;
  transition: opacity 0.25s ease-in-out;
  transition-delay: 0.7s;
  opacity: 0;
}

/* Two-column layout */
.all-cases-content {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 80px;
  align-items: center;
  max-width: 1100px;
  margin: 0 auto;
}

/* Left side */
.all-cases-iso {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: #000;
  background: rgba(0,0,0,0.05);
  border: 1px solid rgba(0,0,0,0.15);
  padding: 8px 16px 8px 12px;
  border-radius: 100px;
  margin-bottom: 28px;
  position: relative;
  overflow: hidden;
  box-shadow: none;
}
.all-cases-iso::before {
  content: '';
  position: absolute;
  top: 0; left: -60%;
  width: 40%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.12), transparent);
  animation: iso-shimmer 3s infinite;
}
.all-cases-iso::after {
  content: '✦';
  font-size: 14px;
  color: var(--color-main, #0057ff);
  opacity: 0.8;
}
@keyframes iso-shimmer {
  0%   { left: -60%; }
  60%  { left: 120%; }
  100% { left: 120%; }
}

.all-cases-heading {
  font-size: clamp(48px, 7vw, 90px);
  font-weight: 900;
  color: #000;
  line-height: 1;
  letter-spacing: -3px;
  margin-bottom: 16px;
}

.all-cases-heading em {
  font-style: normal;
  -webkit-text-stroke: 1px rgba(0,0,0,0.3);
  color: #cc0000;
}

.all-cases-tagline {
  font-size: 14px;
  color: rgba(0,0,0,0.5);
  margin-bottom: 40px;
  line-height: 1.6;
}

.all-cases-close {
  position: fixed;
  top: 28px;
  right: 36px;
  width: 48px;
  height: 48px;
  background: var(--color-main, #0057ff);
  border: 1px solid var(--color-main, #0057ff);
  border-radius: 50%;
  color: #fff;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 99;
  transition: background 0.25s ease, transform 0.25s ease, opacity 0.3s ease;
  opacity: 0;
  pointer-events: none;
}

body:has(.all-cases.active) .all-cases-close {
  opacity: 1;
  pointer-events: auto;
}

.all-cases-close:hover {
  background: var(--color-main, #0057ff);
  color: #fff;
  transform: rotate(90deg);
}

.all-cases-cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #000;
  border: 1px solid rgba(0,0,0,0.2);
  padding: 12px 24px;
  border-radius: 4px;
  text-decoration: none;
  transition: border-color 0.3s ease, background 0.3s ease;
}

.all-cases-cta:hover {
  border-color: #cc0000;
  background: rgba(204,0,0,0.08);
  color: #cc0000;
  text-decoration: none;
}

/* Right side — course list */
.all-cases-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.all-cases-list li {
  border-bottom: 1px solid rgba(0,0,0,0.08);
}

.all-cases-list li:first-child {
  border-top: none;
}

.all-cases-list li a {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 18px 0;
  font-size: clamp(22px, 2.5vw, 34px);
  font-weight: 800;
  color: #000;
  text-decoration: none;
  letter-spacing: -0.5px;
  transition: color 0.3s ease, padding-left 0.3s ease;
  cursor: pointer;
}

.all-cases-list li a:hover {
  color: #cc0000;
  padding-left: 12px;
  text-decoration: none;
}

.ac-num {
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 1px;
  color: rgba(0,0,0,0.3);
  min-width: 24px;
  transition: color 0.3s ease;
}

.all-cases-list li a:hover .ac-num {
  color: var(--color-main, #0057ff);
}

.nav-num {
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 1px;
  color: rgba(0,0,0,0.3);
  min-width: 24px;
  transition: color 0.3s ease;
}

.site-navigation .inner ul li a:hover .nav-num {
  color: var(--color-main, #0057ff);
}

.all-cases.active {
  visibility: visible;
  left: 0;
}

.all-cases.active .layer {
  left: 0;
}

.all-cases.active .inner {
  opacity: 1;
}

/* ALL CASES LINK */
.body-hamburger-menu .navbar .all-cases-link {
  margin-left: auto;
}

.all-cases-link {
  margin-right: 0;
  display: flex;
  align-items: center;
}

.all-cases-link span {
  color: #fff;
  font-family: "Fjalla One", sans-serif;
  margin-right: 10px;
  transition: opacity 0.25s ease, color 0.3s ease;
}

.all-cases-link b {
  width: 40px;
  height: 40px;
  font-size: 25px;
  font-weight: 300;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  color: #fff;
  border: 1px solid rgba(255,255,255,0.4);
  text-align: center;
  border-radius: 50%;
  cursor: pointer;
  -webkit-transition: 0.25s ease-in-out;
  -moz-transition: 0.25s ease-in-out;
  -ms-transition: 0.25s ease-in-out;
  -o-transition: 0.25s ease-in-out;
  transition: 0.25s ease-in-out;
}

.all-cases-link b.closed {
  transform: rotate(45deg);
  background: #cc0000;
  color: #fff;
}

.navbar.overlay-open .all-cases-link span,
.navbar.nav-open .all-cases-link span {
  opacity: 1;
  pointer-events: auto;
  visibility: visible;
  color: #000;
}

.navbar.overlay-open .all-cases-link b,
.navbar.nav-open .all-cases-link b {
  background: #cc0000;
  color: #fff;
  border-color: #cc0000;
}

.all-cases-link b:hover {
  background: #cc0000;
  text-decoration: none;
  color: #fff;
}

/* SCROLL DOWN */
.scrolldown {
  position: absolute;
  right: 40px;
  bottom: 30px;
  font-family: "Fjalla One", sans-serif;
}

.scrolldown a {
  color: #fff;
}

.scrolldown a:hover {
  text-decoration: none;
}

/* LEFT SIDE */
.left-side {
  height: 100vh;
  display: flex;
  flex-direction: column;
  position: absolute;
  top: 0;
  z-index: 10;
  text-align: center;
  border-right: 1px solid rgba(255, 255, 255, 0.1);
  padding: 30px 15px;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  transition: all 0.3s ease;
  transition-duration: 500ms;
  -webkit-transition-duration: 500ms;
  transition-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
  -webkit-transition-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
  transition-delay: 1s;
}

.left-side .logo {
  display: inline-block;
}

.left-side .hamburger {
  margin: auto;
}

.left-side .social-links {
  display: inline-block;
}

.left-side .social-links ul {
  margin: 0;
  padding: 0;
}

.left-side .social-links ul li {
  display: flex;
  justify-content: center;
  margin: 8px 0;
  padding: 0;
}

.left-side .social-links ul li a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.18);
  color: #fff;
  font-size: 14px;
  transition: background 0.3s ease, border-color 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease;
}

.left-side .social-links ul li a:hover {
  transform: scale(1.15);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.35);
  background: #cc0000;
  border-color: #cc0000;
  color: #fff;
}

.left-side .social-links ul li:nth-child(1) a:hover {
  background: #cc0000;
  border-color: #cc0000;
}

.left-side .social-links ul li:nth-child(2) a:hover {
  background: #cc0000;
  border-color: #cc0000;
}

.left-side .social-links ul li:nth-child(3) a:hover {
  background: #cc0000;
  border-color: #cc0000;
}

.left-side .social-links ul li:nth-child(4) a:hover {
  background: #cc0000;
  border-color: #cc0000;
}

.left-side .equalizer {
  margin: auto;
  margin-bottom: 10px;
}

/* SLIDER */
.header-no-section {
  width: calc(100% + 30px);
  display: block;
}

.slider {
  width: 100%;
  height: 100vh;
  display: flex;
  flex-wrap: wrap;
  position: relative;
  z-index: 1;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  transition: all 0.3s ease;
  transition-duration: 500ms;
  -webkit-transition-duration: 500ms;
  transition-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
  -webkit-transition-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
  transition-delay: 1.1s;
  overflow: hidden;
}

.slider .slide-inner {
  height: 100%;
}

.slider .slide-inner .slide-image {
  height: 100%;
}

.slider .swiper-pagination {
  width: 160px;
  height: 2px;
  margin: auto 10px;
  display: inline-block;
  position: static;
  background: rgba(255, 255, 255, 0.3);
}

.slider .swiper-pagination .swiper-pagination-progressbar-fill {
  background: #fff;
}

.slider .swiper-container {
  width: 100%;
  height: 100vh;
}

.slider .swiper-container .swiper-slide {
  background-size: cover;
  background-position: center;
  overflow: hidden;
  position: relative;
}

.slider .swiper-container .swiper-slide .slide-video-bg {
  width: 100%;
  height: 100%;
  display: flex;
  flex-wrap: wrap;
  position: absolute;
  left: 0;
  top: 0;
  overflow: hidden;
  background: var(--color-dark);
}

.slider .swiper-container .swiper-slide .slide-video-bg video {
  min-width: 100%;
  min-height: 100%;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}


.slider .gallery-top {
  height: 100vh;
  width: 100%;
  background: var(--color-dark);
}

.slider .gallery-top .swiper-wrapper {
  height: 100vh;
}

.slider .gallery-thumbs {
  width: calc(100% - 240px);
  display: flex;
  flex-wrap: wrap;
  margin: 0 120px;
  padding: 30px 0;
  z-index: 9;
  position: absolute;
  bottom: 30%;
  right: 0;
  height: auto;
  color: #fff;
  overflow: visible;
}

.slider .gallery-thumbs .swiper-slide {
  width: 90%;
  height: 100%;
  opacity: 0.4;
  text-align: center;
  filter: blur(3px);
}

.slider .gallery-thumbs .swiper-slide h1 {
  width: 100%;
  float: left;
  font-size: 3vw;
  font-weight: 800;
  line-height: 1.2;
}

.slider .gallery-thumbs .swiper-slide a {
  display: none;
  font-size: 14px;
  color: #fff;
  font-family: "Fjalla One", sans-serif;
  padding-bottom: 5px;
  margin-bottom: 10px;
  position: relative;
}

.slider .gallery-thumbs .swiper-slide a:before {
  content: "";
  width: 20px;
  height: 2px;
  background: #fff;
  position: absolute;
  left: 0;
  bottom: 0;
  -webkit-transition: 0.25s ease-in-out;
  -moz-transition: 0.25s ease-in-out;
  -ms-transition: 0.25s ease-in-out;
  -o-transition: 0.25s ease-in-out;
  transition: 0.25s ease-in-out;
}

.slider .gallery-thumbs .swiper-slide a:hover {
  color: #cc0000;
  text-decoration: none;
}

.slider .gallery-thumbs .swiper-slide a:hover:before {
  width: 100%;
  background: #cc0000;
}

.slider .gallery-thumbs .swiper-slide-active {
  width: 100%;
  opacity: 1;
  transform: scale(1.4) translateY(-8px);
  filter: blur(0px);
}

.slider .gallery-thumbs .swiper-slide-active span:not(.hire-blink-text):not(.hire-emoji),
.slider .gallery-thumbs .swiper-slide-duplicate-active span:not(.hire-blink-text):not(.hire-emoji) {
  font-size: 4vw;
}

.slider .gallery-thumbs .swiper-slide-active a,
.slider .gallery-thumbs .swiper-slide-duplicate-active a {
  display: inline-block;
}

/* HIRE BUTTON — blink text */
@keyframes hireBlink {
  0%, 49% { opacity: 1; }
  50%, 100% { opacity: 0; }
}
@keyframes hireGlow {
  0%, 100% { border-color: rgba(255,255,255,0.3); }
  50%       { border-color: rgba(255,255,255,0.7); }
}
@keyframes hireShine {
  0%   { left: -75%; }
  100% { left: 125%; }
}
.slider .gallery-thumbs .swiper-slide-active a.hire-btn,
.slider .gallery-thumbs .swiper-slide-duplicate-active a.hire-btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-top: 0;
  background: linear-gradient(135deg, #ff1a1a 0%, #cc0000 50%, #990000 100%);
  border: 2px solid rgba(255,255,255,0.3);
  border-radius: 25px;
  padding: 8px 16px;
  text-decoration: none;
  font-size: 13px !important;
  font-family: "Fjalla One", sans-serif;
  letter-spacing: .5px;
  text-transform: none;
  color: #fff !important;
  white-space: nowrap;
  position: relative;
  overflow: hidden;
  animation: hireGlow 1.8s ease-in-out infinite;
  transition: transform 0.25s, border-color 0.25s;
}
.slider .gallery-thumbs .swiper-slide-active a.hire-btn::before,
.slider .gallery-thumbs .swiper-slide-duplicate-active a.hire-btn::before {
  content: '';
  position: absolute;
  top: 0;
  left: -75%;
  width: 50%;
  height: 100%;
  background: linear-gradient(120deg, transparent 0%, rgba(255,255,255,0.35) 50%, transparent 100%);
  animation: hireShine 2s ease-in-out infinite;
  border-radius: 25px;
}
.slider .gallery-thumbs .swiper-slide-active a.hire-btn:hover,
.slider .gallery-thumbs .swiper-slide-duplicate-active a.hire-btn:hover {
  transform: scale(1.07);
  border-color: rgba(255,255,255,0.6);
  color: #fff !important;
  text-decoration: none;
}
.slider .gallery-thumbs .swiper-slide-active a.hire-btn .hire-emoji,
.slider .gallery-thumbs .swiper-slide-duplicate-active a.hire-btn .hire-emoji {
  font-size: 14px;
  animation: none;
  opacity: 1;
}
.hire-blink-text {
  font-size: 13px !important;
}

.slider .swiper-button-prev {
  height: auto;
  position: absolute;
  left: auto;
  top: auto;
  right: 120px;
  bottom: 30px;
  font-family: "Fjalla One", sans-serif;
  color: #fff;
  background: none;
}

.slider .swiper-button-next {
  height: auto;
  position: absolute;
  left: auto;
  top: auto;
  right: 40px;
  bottom: 30px;
  font-family: "Fjalla One", sans-serif;
  color: #fff;
  background: none;
}

.slider .slide-progress {
  width: 220px;
  display: flex;
  flex-wrap: wrap;
  position: absolute;
  left: 50%;
  bottom: 30px;
  margin-left: -110px;
  z-index: 3;
  text-align: center;
}

.slider .slide-progress span {
  display: inline-block;
  color: #fff;
  font-family: "Fjalla One", sans-serif;
  font-size: 14px;
}

.slider .slide-progress .total-slides:before {
  content: "0";
}

/* KINETIC SLIDER */
.kinetic-slider {
  width: 100%;
  height: 100%;
  display: block;
  position: relative;
  overflow: hidden;
  -webkit-transition: 0.25s ease-in-out;
  -moz-transition: 0.25s ease-in-out;
  -ms-transition: 0.25s ease-in-out;
  -o-transition: 0.25s ease-in-out;
  transition: 0.25s ease-in-out;
}

canvas {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
}

.slider-controls {
  display: flex;
  flex-wrap: wrap;
  position: absolute;
  right: 40px;
  bottom: 30px;
  font-family: "Fjalla One", sans-serif;
  color: #fff;
}

.slider-controls .prev {
  margin-left: 0;
  margin-right: 60px;
  cursor: pointer;
}

.slider-controls .next {
  margin-right: 0;
  cursor: pointer;
}

/* TEXT INTERACTIVE  */
.text-interactive {
  width: 100%;
  height: 100vh;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  background-size: cover !important;
  transition: background ease 0.5s;
}

.text-interactive .container {
  padding: 0 10%;
}

.text-interactive .interactive-text {
  display: inline-block;
  background-image: none !important;
  color: #fff;
  font-weight: 800;
  font-size: 6vw;
  margin-right: 40px;
}

.text-interactive .interactive-text span {
  font-family: "Fjalla One", sans-serif;
  font-size: 18px;
  opacity: 0.7;
  text-transform: uppercase;
}

.text-interactive .interactive-text a {
  -webkit-text-stroke-width: 1px;
  -webkit-text-stroke-color: #fff;
  color: transparent;
}

.text-interactive .interactive-text a:hover {
  text-decoration: none;
  color: #fff;
}

/* VIDEO HERO */
.video-hero {
  width: 100%;
  height: 100vh;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  position: relative;
}

.video-hero .video-bg {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  overflow: hidden;
  background: var(--color-dark);
}

.video-hero .video-bg video {
  min-width: 100%;
  min-height: 100%;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  opacity: 0.6;
}

.video-hero .inner {
  width: 100%;
  display: block;
  text-align: center;
  position: relative;
  z-index: 2;
}

.video-hero .inner h1 {
  width: 100%;
  float: left;
  font-size: 8vw;
  line-height: 5vw;
  font-weight: 800;
  color: #fff;
  margin-bottom: 30px;
}

.video-hero .inner a {
  font-size: 19px;
  color: #fff;
  font-family: "Fjalla One", sans-serif;
  padding-bottom: 5px;
  position: relative;
  border-bottom: 2px solid #fff;
  padding-bottom: 4px;
}

.video-hero .inner a:hover {
  text-decoration: none;
  color: var(--color-main);
}

/* CAROUSEL HERO */
.slider {
  width: 100%;
  height: 100vh;
  display: flex;
  flex-wrap: wrap;
  position: relative;
  background: var(--color-dark);
}

.slider .carousel-slider {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  overflow: hidden;
}

.slider .carousel-slider .swiper-slide {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin: 0;
  background-size: cover;
  background-position: center;
}

.slider .carousel-slider .swiper-slide .slide-video-bg {
  width: 100%;
  height: 100%;
  position: absolute;
  overflow: hidden;
}

.slider .carousel-slider .swiper-slide .slide-video-bg:after {
  content: "";
  width: 100%;
  height: 100%;
  background: #000;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  opacity: 0.3;
}

.slider .carousel-slider .swiper-slide .slide-video-bg video {
  width: 100%;
  min-width: 100%;
  min-height: 100%;
  display: block;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translateX(-50%) translateY(-50%);
}

.slider .carousel-slider .swiper-slide .inner {
  width: 100%;
  display: block;
  text-align: center;
  opacity: 0;
  position: relative;
  z-index: 2;
}

.slider .carousel-slider .swiper-slide.swiper-slide-active {
  box-shadow: 0 0 50px rgba(0, 0, 0, 0.5);
  z-index: 3;
}

.slider .carousel-slider .swiper-slide.swiper-slide-active .inner {
  opacity: 1;
}

.slider .carousel-slider .swiper-slide.swiper-slide-active:after {
  opacity: 0.2;
}

.slider .carousel-slider .swiper-slide:after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background: var(--color-dark);
  opacity: 0.7;
}

.slider .carousel-slider .swiper-slide h1 {
  width: 100%;
  float: left;
  font-size: 4vw;
  line-height: 5vw;
  font-weight: 800;
  color: #fff;
  margin-bottom: 10px;
}

.slider .carousel-slider .swiper-slide a {
  font-size: 19px;
  color: #fff;
  font-family: "Fjalla One", sans-serif;
  padding-bottom: 5px;
  position: relative;
  border-bottom: 2px solid #fff;
  padding-bottom: 4px;
}

.slider .carousel-slider .swiper-slide a:hover {
  text-decoration: none;
  color: var(--color-main);
}

.slider .swiper-button-prev {
  height: auto;
  position: absolute;
  left: auto;
  top: auto;
  right: 120px;
  bottom: 30px;
  font-family: "Fjalla One", sans-serif;
  color: #fff;
  background: none;
}

.slider .swiper-button-next {
  height: auto;
  position: absolute;
  left: auto;
  top: auto;
  right: 40px;
  bottom: 30px;
  font-family: "Fjalla One", sans-serif;
  color: #fff;
  background: none;
}

.slider .slide-progress {
  width: 220px;
  display: flex;
  flex-wrap: wrap;
  position: absolute;
  left: 50%;
  bottom: 30px;
  margin-left: -110px;
  z-index: 3;
  text-align: center;
}

.slider .slide-progress span {
  display: inline-block;
  color: #fff;
  font-family: "Fjalla One", sans-serif;
  font-size: 14px;
}

.slider .slide-progress .swiper-pagination {
  width: 160px;
  height: 2px;
  margin: auto 10px;
  display: inline-block;
  position: static;
  background: rgba(255, 255, 255, 0.3);
}

.slider .slide-progress .swiper-pagination .swiper-pagination-progressbar-fill {
  background: #fff;
}

/* PAGE HEADER */
.page-header {
  width: 100%;
  height: 100vh;
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  justify-content: center;
  background: var(--color-darker);
  position: relative;
  transition-delay: 0.8s;
  background-size: cover !important;
}

.page-header .video-bg {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  overflow: hidden;
}

.page-header .video-bg video {
  min-width: 100%;
  min-height: 100%;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  opacity: 0.2;
}

.page-header .inner {
  width: 100%;
  padding-left: 220px;
  position: relative;
  z-index: 2;
}

.page-header .inner h1 {
  color: #fff;
  font-weight: 800;
  font-size: 10vw;
  letter-spacing: -3px;
}

.page-header .inner p {
  margin: 0;
  color: #fff;
  font-size: 22px;
  font-weight: 300;
  letter-spacing: -0.5px;
}

/* OFFICE SLIDER BLOCK */
/* HQ SECTION - two column layout */
.hq-section {
  padding: 0;
  overflow: hidden;
}

.hq-section > .hq-section-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 560px;
  align-items: stretch;
  max-width: 1340px;
  margin: 0 auto;
  background: #0f1320;
}

.hq-section-left {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 60px 50px;
  position: relative;
}

.hq-section-left::after {
  content: '';
  position: absolute;
  right: 0;
  top: 15%;
  height: 70%;
  width: 1px;
  background: linear-gradient(to bottom, transparent, rgba(117, 218, 180, 0.3), transparent);
}

.hq-section-label {
  display: inline-block;
  font-family: 'Fjalla One', sans-serif;
  font-size: 14px;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: var(--color-main);
  margin-bottom: 16px;
}

.hq-section-title {
  font-size: clamp(30px, 3.5vw, 52px);
  font-weight: 800;
  color: #fff;
  margin: 0 0 20px;
  letter-spacing: -1px;
  line-height: 1.15;
}

.hq-section-title em {
  font-style: normal;
  color: var(--color-main);
}

.hq-section-desc {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.55);
  line-height: 1.7;
  margin: 0 0 40px;
  max-width: 400px;
}

.hq-section-stats {
  display: flex;
  gap: 36px;
}

.hq-stat strong {
  display: block;
  font-size: 32px;
  font-weight: 800;
  color: var(--color-main);
  line-height: 1;
  margin-bottom: 4px;
}

.hq-stat span {
  font-size: 14px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.4);
  font-family: 'Fjalla One', sans-serif;
}

.hq-section-right {
  position: relative;
  min-height: 560px;
  overflow: hidden;
}

.hq-section-right .content-slider {
  height: 100% !important;
  min-height: 560px;
  overflow: hidden;
}

.hq-section-right .content-slider .swiper-wrapper,
.hq-section-right .content-slider .swiper-slide {
  height: 100% !important;
}

@media (max-width: 1024px) {
  .hq-section > .hq-section-inner {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto;
    max-width: 100%;
    margin: 0;
  }

  .hq-section-left {
    padding: 70px 40px;
    grid-row: 1;
  }

  .hq-section-right {
    grid-row: 2;
  }

  .hq-section-left::after {
    display: none;
  }

  .hq-section-right .content-slider {
    min-height: 420px;
  }
}

@media (max-width: 640px) {
  .hq-section-left {
    padding: 50px 24px;
    grid-row: 1;
  }

  .hq-section-right {
    grid-row: 2;
  }

  .hq-section-stats {
    gap: 24px;
  }

  .hq-stat strong {
    font-size: 26px;
  }

  .hq-section-right .content-slider {
    min-height: 320px;
  }
}

.office-slider-block {
  letter-spacing: 0;
}

.office-slider-block .content-slider {
  height: 100%;
}

.office-slider-block .content-slider .swiper-slide {
  align-items: flex-end;
  position: relative;
}

.office-slider-block .content-slider .swiper-slide .slide-inner {
  padding: 30px;
  position: absolute;
  left: 0;
  bottom: 0;
}

.office-slider-block .content-slider .swiper-slide .slide-inner h6 {
  font-weight: 600;
  margin: 0;
  line-height: 1;
}

/* HQ SLIDER */
.hq-slide {
  overflow: hidden;
  position: relative;
  height: 100%;
}

.hq-bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  transform: scale(1.04) translateX(8px);
  transition: transform 4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  will-change: transform;
  z-index: 0;
}

.hq-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(135deg,
      rgba(0, 0, 0, 0.75) 0%,
      rgba(0, 0, 0, 0.2) 60%,
      rgba(0, 0, 0, 0.5) 100%);
}

.hq-inner {
  position: absolute;
  left: 0;
  bottom: 0;
  padding: 24px;
  z-index: 3;
}

.hq-tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.18);
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  padding: 6px 14px;
  border-radius: 20px;
  margin-bottom: 14px;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 0.4s ease 0.1s, transform 0.4s ease 0.1s;
}

.hq-inner h6 {
  font-weight: 700;
  font-size: 22px;
  color: #fff;
  margin: 0 0 10px;
  letter-spacing: 1.5px;
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 0.4s ease 0.2s, transform 0.4s ease 0.2s;
}

.hq-inner p {
  color: rgba(255, 255, 255, 0.8);
  font-size: 14px;
  margin: 0;
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 0.4s ease 0.3s, transform 0.4s ease 0.3s;
  display: flex;
  align-items: center;
  gap: 10px;
}

.hq-inner p i {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.18);
  color: #fff;
  font-size: 14px;
  flex-shrink: 0;
  transition: background 0.3s ease, transform 0.3s ease;
}

.hq-slide.hq-animate .hq-inner p i:hover {
  background: var(--color-main, #00bcd4);
  border-color: var(--color-main, #00bcd4);
  transform: scale(1.15);
}

.hq-slide.hq-animate .hq-bg {
  transform: scale(1) translateX(0);
}

.hq-slide.hq-animate .hq-tag,
.hq-slide.hq-animate .hq-inner h6,
.hq-slide.hq-animate .hq-inner p {
  opacity: 1;
  transform: translateY(0);
}

/* MILESTONES */
.milestones {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  color: #fff;
  text-align: center;
}

.milestones .odometer {
  font-family: "Fjalla One", sans-serif;
  font-size: 5vw;
  line-height: 1;
  margin: 0 auto;
}

.milestones h6 {
  width: 100%;
  display: block;
  font-size: 14px;
}

.milestones h4 {
  width: 100%;
  display: block;
  padding-top: 30px;
  margin: 20px 10%;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  font-weight: 600;
  font-size: 14px;
}

/* ICON CONTENT BLOCK */
.icon-content-block {
  width: 100%;
  display: block;
  margin: 0;
  text-align: center;
  color: #fff;
  position: relative;
  -webkit-transition: 0.25s ease-in-out;
  -moz-transition: 0.25s ease-in-out;
  -ms-transition: 0.25s ease-in-out;
  -o-transition: 0.25s ease-in-out;
  transition: 0.25s ease-in-out;
}

.icon-content-block figure {
  width: 100%;
  display: block;
  margin: 0;
  padding: 50px 20px;
}

.icon-content-block figure img {
  height: 75px;
  display: inline-block;
  margin-bottom: 40px;
}

.icon-content-block figure h5 {
  display: block;
  font-weight: 600;
  letter-spacing: 0.5px;
  margin-bottom: 10px;
  font-size: 14px;
}

.icon-content-block figure ul {
  margin: 0;
  padding: 0;
}

.icon-content-block figure ul li {
  padding: 3px 0;
  opacity: 0.7;
  list-style: none;
  font-weight: 300;
}

.selected,
.office-address,
.why-chose-course {
  width: 100%;
  display: block;
  margin: 0;
  text-align: center;
  color: #fff;
  position: relative;
  -webkit-transition: 0.25s ease-in-out;
  -moz-transition: 0.25s ease-in-out;
  -ms-transition: 0.25s ease-in-out;
  -o-transition: 0.25s ease-in-out;
  transition: 0.25s ease-in-out;
  background: var(--color-darker);
  box-shadow: 15px 15px 30px rgba(0, 0, 0, 0.3);
}

.selected:before,
.office-address:before {
  content: "";
  width: 50%;
  height: 50%;
  position: absolute;
  right: -25px;
  bottom: -30px;
  background: url(../img/dot-pattern.png) right;
  background-size: 10px;
  -webkit-transition: 0.25s ease-in-out;
  -moz-transition: 0.25s ease-in-out;
  -ms-transition: 0.25s ease-in-out;
  -o-transition: 0.25s ease-in-out;
  transition: 0.25s ease-in-out;
}

.selected figure,
.office-address figure,
.why-chose-course figure {
  width: 100%;
  display: block;
  margin: 0;
  padding: 50px 20px;
  background: var(--color-darker);
  position: relative;
}

.office-address figure {
  min-height: 325px;
}

.selected figure img {
  height: 75px;
  display: inline-block;
  margin-bottom: 40px;
}

.selected figure h5,
.office-address figure h5 {
  display: block;
  font-weight: 600;
  letter-spacing: 0.5px;
  margin-bottom: 10px;
  font-size: 14px;
}

.selected figure ul,
.office-address figure ul {
  margin: 0;
  padding: 0;
}

.selected figure ul li,
.office-address figure ul li {
  padding: 3px 0;
  opacity: 0.7;
  list-style: none;
  font-weight: 300;
}

/* TEXT CONTENT BLOCK */
.animated.text-content-block h6:after {
  width: 70px !important;
}

.text-content-block {
  width: 100%;
  display: block;
  font-size: 20px;
}

.text-content-block.light {
  color: #fff;
}

.text-content-block h6 {
  font-weight: 600;
  text-transform: uppercase;
  font-size: 19px;
}

.text-content-block h6:after {
  content: "";
  width: 0;
  height: 1px;
  background: #fff;
  display: inline-block;
  margin-left: 15px;
  margin-bottom: 7px;
  -webkit-transition: 0.25s ease-in-out;
  -moz-transition: 0.25s ease-in-out;
  -ms-transition: 0.25s ease-in-out;
  -o-transition: 0.25s ease-in-out;
  transition: 0.25s ease-in-out;
}

.text-content-block ins {
  font-size: 120px;
  line-height: 1;
  font-family: "Fjalla One", sans-serif;
  float: left;
  font-weight: 400;
  margin-right: 20px;
  text-decoration: none;
}

.text-content-block h4 {
  font-weight: 600;
}

.text-content-block p {
  font-size: 20px;
  font-weight: 300;
  margin-bottom: 35px;
}

.text-content-block small {
  display: block;
  opacity: 0.7;
  margin-bottom: 50px;
}

.text-content-block *:last-child {
  margin-bottom: 0;
}

/* PROCES CONTENT BLOCK */
.process-content-block {
  width: 100%;
  display: block;
}

.process-content-block small {
  font-size: 40px;
  font-weight: 800;
  margin-bottom: -20px;
  opacity: 0.1;
  display: block;
}

.process-content-block h5 {
  font-size: 20px;
  font-family: "Fjalla One", sans-serif;
}

.process-content-block p {
  padding-right: 20%;
  margin-bottom: 0;
  line-height: 1.5;
}

/* TESTIMONIALS */
.testimonials-slider {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  overflow: hidden;
  position: relative;
  background: var(--color-main);
  color: var(--color-dark);
}

.testimonials-slider .swiper-pagination {
  width: 100px;
  right: 80px;
  left: auto;
  bottom: 115px;
  text-align: right;
}

.testimonials-slider .swiper-pagination-bullet {
  width: 12px;
  height: 12px;
  transform: scale(0.4);
  background: var(--color-dark);
  opacity: 1;
  border-radius: 50%;
}

.testimonials-slider .swiper-pagination-bullet:hover {
  -webkit-transition: box-shadow 0.3s ease;
  transition: box-shadow 0.3s ease;
  -webkit-transition: background-color 0.3s ease, -webkit-transform 0.3s ease;
  transition: background-color 0.3s ease, transform 0.3s ease;
  -webkit-transform: scale(1);
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0);
  border: 2px solid var(--color-dark);
  background: none;
}

.testimonials-slider .swiper-pagination-bullet-active {
  -webkit-transition: box-shadow 0.3s ease;
  transition: box-shadow 0.3s ease;
  -webkit-transition: background-color 0.3s ease, -webkit-transform 0.3s ease;
  transition: background-color 0.3s ease, transform 0.3s ease;
  -webkit-transform: scale(1);
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0);
  border: 2px solid var(--color-dark);
  background: none;
}

.testimonial {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  padding: 100px 80px;
}

.testimonial blockquote {
  font-size: 21px;
  line-height: 1.7;
  font-weight: 300;
  padding-bottom: 30px;
  margin-bottom: 30px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
}

.testimonial .reviewer {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
}

.testimonial .reviewer img {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  margin-right: 15px;
  float: left;
}

.testimonial .reviewer .reviewer-infos {
  width: calc(100% - 65px);
  float: left;
}

.testimonial .reviewer h6 {
  display: block;
  font-weight: 600;
}

.testimonial .reviewer small {
  display: block;
}

/* TEAM */
.team {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  position: relative;
  margin-bottom: -100px;
  padding: 0;
  background: var(--color-dark);
}

.team * {
  -webkit-transition: 0.25s ease-in-out;
  -moz-transition: 0.25s ease-in-out;
  -ms-transition: 0.25s ease-in-out;
  -o-transition: 0.25s ease-in-out;
  transition: 0.25s ease-in-out;
}

.team.reveal-effect.masker:after {
  background: var(--color-dark);
}

.team:hover ul {
  opacity: 1;
  visibility: visible;
}

.team:hover img {
  opacity: 0.2;
}

.team img {
  width: 100%;
}

.team figcaption {
  width: 100%;
  display: block;
  color: var(--color-dark);
  background: #fff;
  padding-top: 20px;
  text-align: center;
}

.team figcaption h6 {
  display: block;
  font-weight: 600;
}

.team figcaption small {
  display: block;
  opacity: 0.5;
}

.team ul {
  width: 100%;
  display: flex;
  margin: 0;
  padding: 20px 40px;
  position: absolute;
  left: 0;
  bottom: 60px;
  z-index: 1;
  opacity: 0;
  visibility: hidden;
}

.team ul li {
  flex: 1;
  margin: 0;
  padding: 10px 0;
  list-style: none;
  text-align: center;
}

.team ul li a {
  color: #fff;
  font-size: 14px;
  padding: 5px;
}

.team ul li a:hover {
  color: var(--color-main);
}

/* WORKS */
.works {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  margin: -60px 0;
  padding: 0;
  position: relative;
  z-index: 2;
}

.works li {
  width: 33.33333%;
  display: inline-block;
  margin: 0;
  padding: 0;
  list-style: none;
  padding: 60px;
}

.works li:nth-child(2n+2) {
  margin-top: 100px;
}

.works li:nth-child(3n+3) {
  margin-top: 40px;
}

.works li figure {
  width: 100%;
  display: flex;
  align-items: center;
  margin-bottom: 30px;
  position: relative;
  z-index: 2;
  background: var(--color-dark);
  -webkit-transition: 0.25s ease-in-out;
  -moz-transition: 0.25s ease-in-out;
  -ms-transition: 0.25s ease-in-out;
  -o-transition: 0.25s ease-in-out;
  transition: 0.25s ease-in-out;
}

.works li figure:hover {
  box-shadow: 15px 15px 30px rgba(0, 0, 0, 0.3);
  transform: translateY(-10px);
}

.works li figure:hover:before {
  opacity: 1;
}

.works li figure:before {
  content: "";
  width: 90%;
  height: 30%;
  position: absolute;
  right: -25px;
  bottom: -30px;
  z-index: -1;
  background: url(../img/dot-pattern.png) right;
  background-size: 10px;
  opacity: 0;
  -webkit-transition: 0.25s ease-in-out;
  -moz-transition: 0.25s ease-in-out;
  -ms-transition: 0.25s ease-in-out;
  -o-transition: 0.25s ease-in-out;
  transition: 0.25s ease-in-out;
}

.works li figure a {
  width: 100%;
  background: var(--color-dark);
  display: block;
  position: relative;
  z-index: 2;
}

.works li figure a img {
  width: 100%;
}

.works li .caption {
  width: 100%;
  display: block;
  margin: 0;
}

.works li .caption h3 {
  font-weight: 600;
  margin-bottom: 5px;
  font-size: 26px;
  letter-spacing: -1px;
  color: #fff;
}

.works li .caption h3 a {
  color: #fff;
}

.works li .caption h3 a:hover {
  text-decoration: none;
}

.works li .caption ul {
  display: block;
  font-family: "Fjalla One", sans-serif;
  opacity: 0.7;
  margin: 0;
  padding: 0;
  color: #fff;
  font-size: 14px;
}

.works li .caption ul li {
  display: inline-block;
  margin: 0;
  padding: 0;
  list-style: none;
}

/* WORKS GRID - Tourog style */
.works-section--slider {
  padding: 0;
  overflow: hidden;
}

.works-section--slider .works-section-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-areas: "slider content";
  min-height: 560px;
  align-items: stretch;
  max-width: 1340px;
  margin: 0 auto;
  background: #0f1320;
}

.works-section-left {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 60px 50px;
  position: relative;
  grid-area: content;
}

.works-section-left::after {
  content: '';
  position: absolute;
  left: 0;
  top: 15%;
  height: 70%;
  width: 1px;
  background: linear-gradient(to bottom, transparent, rgba(204,0,0,0.3), transparent);
}

.works-section-left .works-label {
  margin-bottom: 16px;
}

.works-section-title {
  font-size: clamp(30px, 3.5vw, 52px);
  font-weight: 800;
  color: #fff;
  margin: 0 0 20px;
  letter-spacing: -1px;
  line-height: 1.15;
}

.works-section-title em {
  font-style: normal;
  color: #cc0000;
}

.works-section-desc {
  font-size: 14px;
  color: rgba(255,255,255,0.55);
  line-height: 1.7;
  margin: 0 0 40px;
  max-width: 400px;
}

.works-section-stats {
  display: flex;
  gap: 36px;
}

.works-stat strong {
  display: block;
  font-size: 32px;
  font-weight: 800;
  color: #cc0000;
  line-height: 1;
  margin-bottom: 4px;
}

.works-stat span {
  font-size: 14px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: rgba(255,255,255,0.4);
  font-family: 'Fjalla One', sans-serif;
}

.works-section-right {
  position: relative;
  min-height: 560px;
  overflow: hidden;
  grid-area: slider;
}

.works-slider {
  height: 100% !important;
  min-height: 560px;
  overflow: hidden;
}

.works-slider .swiper-wrapper,
.works-slider .swiper-slide {
  height: 100% !important;
}

/* Slide card */
.works-slide {
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  height: 100%;
  background: #111827;
}

.works-slide-bg {
  width: 100%;
  height: 75%;
  flex-shrink: 0;
  background-size: cover;
  background-position: top center;
  transform: scale(1.04) translateX(8px);
  transition: transform 4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  will-change: transform;
}

.works-slide.works-animate .works-slide-bg {
  transform: scale(1) translateX(0);
}

.works-slide-tag {
  display: inline-block;
  font-size: 14px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #cc0000;
  background: rgba(204,0,0,0.1);
  border: 1px solid rgba(204,0,0,0.3);
  padding: 4px 12px;
  border-radius: 20px;
  font-family: 'Fjalla One', sans-serif;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 0.4s ease 0.1s, transform 0.4s ease 0.1s;
}

.works-slide.works-animate .works-slide-tag {
  opacity: 1;
  transform: translateY(0);
}

.works-slide-inner h6 {
  font-size: clamp(18px, 2vw, 24px);
  font-weight: 800;
  color: #fff;
  margin: 0 0 20px;
  letter-spacing: 0.5px;
  line-height: 1.2;
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 0.4s ease 0.2s, transform 0.4s ease 0.2s;
}

.works-slide.works-animate .works-slide-inner h6 {
  opacity: 1;
  transform: translateY(0);
}

.works-slide-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 8px;
  border-top: 1px solid rgba(255,255,255,0.07);
  margin-bottom: 0;
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 0.4s ease 0.3s, transform 0.4s ease 0.3s;
}

.works-slide.works-animate .works-slide-footer {
  opacity: 1;
  transform: translateY(0);
}

.works-slide-inner {
  height: 25%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 10px 24px 10px;
  background: #111827;
  border-top: 2px solid #cc0000;
  position: relative;
  z-index: 2;
  overflow: hidden;
}

.works-slide-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
}

.works-slide-batches {
  font-size: 14px;
  color: rgba(255,255,255,0.35);
  letter-spacing: 1px;
  text-transform: uppercase;
}

.works-slide-inner h6 a {
  color: #fff;
  text-decoration: none;
  transition: color 0.3s ease;
}

.works-slide-inner h6 a:hover {
  color: #cc0000;
}

.works-slide-inner p {
  font-size: 14px;
  color: rgba(255,255,255,0.45);
  margin: 0;
  display: flex;
  align-items: center;
  gap: 6px;
}

.works-slide-inner p i {
  color: #cc0000;
}

.works-slide-cta {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: #cc0000;
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 6px;
  transition: gap 0.25s ease;
}

.works-slide-cta:hover {
  gap: 10px;
  color: #cc0000;
}

.works-slide-cta i {
  font-size: 14px;
}

@media (max-width: 1024px) {
  .works-section--slider .works-section-inner {
    grid-template-columns: 1fr;
    grid-template-areas: "content" "slider";
    max-width: 100%;
    margin: 0;
  }
  .works-section--slider .works-section-left {
    padding: 60px 40px;
  }
  .works-section--slider .works-section-left::after {
    display: none;
  }
  .works-section--slider .works-slider {
    min-height: 420px;
  }
}

@media (max-width: 640px) {
  .works-section--slider .works-section-left {
    padding: 50px 24px;
  }
  .works-section--slider .works-section-stats {
    gap: 24px;
  }
  .works-section--slider .works-stat strong {
    font-size: 26px;
  }
  .works-section--slider .works-slider {
    min-height: 320px;
  }
}

.works-header {
  text-align: center;
  margin-bottom: 80px;
}

.works-label {
  display: inline-block;
  font-size: 14px;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--color-main, #0057ff);
  margin-bottom: 16px;
  position: relative;
  padding-left: 24px;
}

.works-label::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  width: 16px;
  height: 1px;
  background: var(--color-main, #0057ff);
}

.works-header-title {
  margin-bottom: 16px;
}

.works-subtitle {
  font-size: 14px;
  color: rgba(255,255,255,0.5);
  margin: 0 auto;
  line-height: 1.7;
}

/* 3-col grid, rows sized to fit stagger */
.works-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 40px;
  row-gap: 60px;
  align-items: start;
}

/* Each item: image + caption below */
.wg-item {
  display: flex;
  flex-direction: column;
}

/* Stagger: col1 top-aligned, col2 pushed down ~120px, col3 pushed down ~60px */
.wg-item:nth-child(3n+1) {
  padding-top: 0;
}

.wg-item:nth-child(3n+2) {
  padding-top: 120px;
}

.wg-item:nth-child(3n+3) {
  padding-top: 60px;
}

/* Second row stagger mirrors first */
.wg-item:nth-child(4) {
  padding-top: 0;
}

.wg-item:nth-child(5) {
  padding-top: 120px;
}

.wg-item:nth-child(6) {
  padding-top: 60px;
}

.wg-link {
  display: block;
  text-decoration: none;
  position: relative;
  overflow: hidden;
}

/* Portrait image container */
.wg-figure {
  position: relative;
  overflow: hidden;
  width: 100%;
  aspect-ratio: 3 / 4;
}

/* Dot pattern decoration — only on center cards (2nd, 5th) */
.wg-item:nth-child(3n+2) .wg-figure::after {
  content: '';
  position: absolute;
  bottom: -18px;
  right: -18px;
  width: 110px;
  height: 80px;
  background-image: radial-gradient(circle, rgba(255, 255, 255, 0.18) 1.5px, transparent 1.5px);
  background-size: 10px 10px;
  pointer-events: none;
  z-index: 3;
}

.wg-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transform: scale(1);
  transition: transform 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.wg-link:hover .wg-img {
  transform: scale(1.08);
}

/* Dark gradient overlay */
.wg-figure::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.75) 0%, rgba(0, 0, 0, 0) 60%);
  opacity: 0;
  transition: opacity 0.4s ease;
  z-index: 2;
  pointer-events: none;
}

.wg-link:hover .wg-figure::before {
  opacity: 1;
}

/* Shine sweep on hover */
.wg-figure::after {
  content: '';
  position: absolute;
  top: 0;
  left: -75%;
  width: 50%;
  height: 100%;
  background: linear-gradient(120deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.18) 50%, rgba(255, 255, 255, 0) 100%);
  transform: skewX(-20deg);
  transition: left 0.6s ease;
  z-index: 3;
  pointer-events: none;
}

.wg-link:hover .wg-figure::after {
  left: 130%;
}

/* Slide-up hover label inside image */
.wg-hover-label {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 18px 20px;
  z-index: 4;
  transform: translateY(10px);
  opacity: 0;
  transition: transform 0.4s ease, opacity 0.4s ease;
}

.wg-link:hover .wg-hover-label {
  transform: translateY(0);
  opacity: 1;
}

.wg-hover-label span {
  display: inline-block;
  font-size: 14px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.6);
  padding: 6px 14px;
  border-radius: 2px;
}

/* Caption below image */
.wg-caption {
  padding: 22px 0 0;
}

.wg-name {
  font-size: clamp(20px, 2vw, 28px);
  font-weight: 700;
  color: #fff;
  margin: 0 0 6px;
  letter-spacing: -0.5px;
  line-height: 1.2;
  transition: color 0.3s ease;
}

.wg-link:hover .wg-name {
  color: #cc0000;
}

.wg-tag {
  display: block;
  font-family: 'Fjalla One', sans-serif;
  font-size: 14px;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: rgba(255,255,255,0.5);
  transition: color 0.3s ease;
}

.wg-link:hover .wg-tag {
  color: #cc0000;
}

@media (max-width: 1024px) {
  .works-section:not(.works-section--slider) {
    padding: 80px 40px 100px;
  }

  .works-grid {
    column-gap: 24px;
    padding-bottom: 0;
  }

  .wg-item:nth-child(3n+2) {
    padding-top: 80px;
  }

  .wg-item:nth-child(3n+3) {
    padding-top: 40px;
  }

  .wg-item:nth-child(5) {
    padding-top: 80px;
  }

  .wg-item:nth-child(6) {
    padding-top: 40px;
  }
}

@media (max-width: 768px) {
  .works-section:not(.works-section--slider) {
    padding: 60px 24px 80px;
  }

  .works-grid {
    grid-template-columns: repeat(2, 1fr);
    column-gap: 20px;
    padding-bottom: 0;
  }

  .wg-item:nth-child(3n+1),
  .wg-item:nth-child(3n+2),
  .wg-item:nth-child(3n+3),
  .wg-item:nth-child(4),
  .wg-item:nth-child(5),
  .wg-item:nth-child(6) {
    padding-top: 0;
  }

  .wg-item:nth-child(even) {
    padding-top: 60px;
  }
}

@media (max-width: 480px) {
  .works-grid {
    grid-template-columns: 1fr;
  }

  .works-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .wg-item:nth-child(even) {
    padding-top: 0;
  }

  .wg-figure {
    aspect-ratio: 16 / 9;
  }
  .wg-img {
    object-fit: cover;
    background: #0a0e1a;
  }
}

/* CASE STUDY */
.case-content {
  width: 100%;
  display: block;
  margin-bottom: 30px;
}

.case-content h6 {
  font-weight: 600;
}

.case-content h5 {
  font-family: "Fjalla One", sans-serif;
  font-size: 5vw;
  text-align: center;
  margin-top: 50px;
  text-transform: uppercase;
}

/* BLOG POST */
.blog-post {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 100px;
}

.blog-post:last-child {
  margin-bottom: 0;
}

.blog-post:nth-child(even) {
  display: flex;
  flex-wrap: wrap;
}

.blog-post:nth-child(even) .post-image {
  order: 2;
}

.blog-post:nth-child(even) .post-image:before {
  right: auto;
  left: -25px;
}

.blog-post:nth-child(even) .post-content {
  order: 1;
  padding-right: 60px;
  padding-left: 0;
  text-align: left;
}

.blog-post.single-post {
  width: 100%;
  margin-bottom: 25px;
}

.blog-post.single-post .post-image {
  width: 100%;
  flex: inherit;
  margin-bottom: 30px;
}

.blog-post.single-post .post-content {
  width: 100%;
  flex: inherit;
  display: block;
  padding: 0;
  border: none;
  text-align: left !important;
}

.blog-post.single-post .post-content .post-title {
  width: 100%;
  display: block;
  font-size: 56px;
  font-weight: 800;
  margin-bottom: 30px;
  letter-spacing: -1px;
  line-height: 1.3;
}

.blog-post .post-image {
  flex: 1;
  display: block;
  margin-bottom: 0;
  margin-bottom: 30px;
  position: relative;
}

.blog-post .post-image:before {
  content: "";
  width: 91%;
  height: 61%;
  position: absolute;
  right: -25px;
  bottom: -30px;
  z-index: 0;
  background: url(../img/dot-pattern.png) right;
  background-size: 10px;
  -webkit-transition: 0.25s ease-in-out;
  -moz-transition: 0.25s ease-in-out;
  -ms-transition: 0.25s ease-in-out;
  -o-transition: 0.25s ease-in-out;
  transition: 0.25s ease-in-out;
  opacity: 0.2;
}

.blog-post .post-image img {
  width: 100%;
  position: relative;
}

.blog-post .post-content {
  flex: 1;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  position: relative;
  z-index: 2;
  padding-left: 60px;
  font-size: 17px;
  text-align: right;
}

.blog-post .service {
  text-align: left;
}

.blog-post .post-content .post-inner {
  width: 100%;
}

.blog-post .post-content .post-date {
  width: 100%;
  display: block;
  color: #727479;
  margin-bottom: 10px;
  letter-spacing: 1px;
}

.blog-post .post-content .post-title {
  width: 100%;
  display: block;
  font-size: 3vw;
  font-weight: 800;
  margin-bottom: 30px;
  letter-spacing: -1px;
  line-height: 1.3;
  -ms-word-wrap: break-word;
  word-wrap: break-word;
}

.blog-post .post-content .post-title a {
  color: var(--color-dark);
}

.blog-post .post-content .post-title a:hover {
  color: var(--color-main);
  text-decoration: none;
}

.blog-post .post-content .post-author {
  width: 100%;
  display: block;
  color: #a7a7a7;
}

.blog-post .post-content .post-author img {
  width: 60px;
  height: 60px;
  display: inline-block;
  border-radius: 50%;
  margin-right: 10px;
}

.blog-post .post-content .post-author b {
  color: #727479;
  font-weight: 400;
}

.blog-post .post-content .post-author b a {
  color: var(--color-dark);
}

.blog-post .post-content .post-author b a:hover {
  text-decoration: none;
}

.blog-post .post-content .post-categories {
  width: 100%;
  display: block;
  margin-bottom: 30px;
  padding: 0;
}

.blog-post .post-content .post-categories li {
  display: inline-block;
  margin: 0;
  margin-right: 10px;
  padding: 0;
  list-style: none;
}

.blog-post .post-content .post-categories li a {
  color: var(--color-dark);
  font-size: 14px;
  padding-bottom: 3px;
  border-bottom: 2px solid var(--color-dark);
}

.blog-post .post-content .post-categories li a:hover {
  text-decoration: none;
  border-color: var(--color-main);
}

.blog-post .post-content .social-share {
  width: 100%;
  float: left;
  padding: 0;
  margin-bottom: 40px;
  text-align: center;
}

.blog-post .post-content .social-share li {
  float: left;
  margin-right: 5px;
  margin-bottom: 5px;
  padding: 0;
  list-style: none;
}

.blog-post .post-content .social-share li.facebook a {
  background: #475993;
}

.blog-post .post-content .social-share li.twitter a {
  background: #76a9ea;
}

.blog-post .post-content .social-share li.google-plus a {
  background: #f34a38;
}

.blog-post .post-content .social-share li.linkedin a {
  background: #0077b7;
}

.blog-post .post-content .social-share li.youtube a {
  background: #f61c0d;
}

.blog-post .post-content .social-share li a {
  line-height: 44px;
  float: left;
  padding: 0 20px;
  background: var(--color-dark);
  font-weight: 600;
  color: #fff;
  border: none;
  border-radius: 0;
}

.blog-post .post-content .social-share li a:hover {
  text-decoration: none;
}

.blog-post .post-content blockquote {
  background: var(--color-main);
  color: #fff;
  padding: 30px;
  margin-bottom: 25px;
  position: relative;
  box-shadow: 6px 6px 0 #f5f5f5;
}

.blog-post .post-content blockquote:before {
  content: "";
  font-family: "Font Awesome 6 Free";
  position: absolute;
  right: 30px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 10vh;
  opacity: 0.2;
  color: #fff;
}

.blog-post .post-content blockquote h5 {
  font-weight: 800;
}

.blog-post .post-content p {
  font-size: 17px;
  line-height: 1.7;
  margin-bottom: 25px;
}

.blog-post .post-content h3 {
  font-weight: 600;
}

.blog-post .post-content h4 {
  font-weight: 600;
}

.blog-post .post-content h5 {
  font-weight: 600;
}

.blog-post .post-content h6 {
  font-weight: 600;
}

.blog-post .post-content strong {
  font-weight: 600;
}

.blog-post .post-content u {
  text-decoration: none;
  border-bottom: 2px solid var(--color-dark);
}

.blog-post .post-content .image-left {
  float: left;
  margin-right: 30px;
  margin-bottom: 30px;
  margin-top: 10px;
}

.blog-post .post-content .image-left img {
  max-width: 300px;
}

.blog-post .post-content .custom-list {
  width: 100%;
  display: block;
  padding-left: 20px;
}

.blog-post .post-content .custom-list li {
  font-size: 17px;
}

.blog-post .post-content .image-full {
  display: block;
  height: auto;
  margin-bottom: 30px;
  margin-top: 30px;
}

.blog-post .post-content .image-full img {
  width: 100%;
}

.blog-post .post-content .post-link {
  display: inline-block;
  overflow: hidden;
}

.blog-post .post-content .post-link a {
  display: inline-block;
  position: relative;
  -webkit-transition: 0.25s ease-in-out;
  -moz-transition: 0.25s ease-in-out;
  -ms-transition: 0.25s ease-in-out;
  -o-transition: 0.25s ease-in-out;
  transition: 0.25s ease-in-out;
  font-weight: 400;
  font-family: "Fjalla One", sans-serif;
  padding-bottom: 5px;
  border-bottom: 2px solid var(--color-dark);
}

.blog-post .post-content .post-link a:hover {
  text-decoration: none;
  color: var(--color-main);
}

/* CLIENTS */
.clients {
  width: 100%;
  display: block;
  margin: 0;
  padding: 0;
}

.clients figure {
  width: 100%;
  display: block;
  margin: 0;
  padding: 40px;
  border: 1px solid #eee;
}

.clients figure:hover img {
  opacity: 0.4;
}

.clients figure img {
  width: 100%;
  opacity: 1;
  -webkit-transition: 0.25s ease-in-out;
  -moz-transition: 0.25s ease-in-out;
  -ms-transition: 0.25s ease-in-out;
  -o-transition: 0.25s ease-in-out;
  transition: 0.25s ease-in-out;
}

.clients-spacing {
  margin-left: 0;
  margin-right: 0;
}

.clients-spacing .vc_col-sm-4 {
  padding: 0;
  margin-left: -1px;
  margin-top: -1px;
}

.clients-spacing .vc_col-sm-4 .vc_column-inner {
  padding-left: 0;
  padding-right: 0;
}

/* CONTACT BOX */
.contact-box {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 30px;
}

.contact-box h6 {
  width: 100%;
  font-weight: 600;
}

.contact-box p {
  margin: 0;
}

.contact-box a {
  text-decoration: underline;
}

/* MAP */
.map {
  width: 100%;
  display: block;
}

.map iframe {
  width: 100%;
  height: 800px;
}

/* CONTACT FORM 7 */
.wpcf7 {
  width: calc(100% + 100px);
  padding: 50px;
  background: #fff;
  margin-left: -100px;
  box-shadow: 0 0 60px rgba(0, 0, 0, 0.1);
}

.wpcf7 div.wpcf7-response-output {
  margin: 0;
  margin-top: 30px;
  padding: 15px;
}

.wpcf7 div.wpcf7-validation-errors {
  background: red;
  color: #fff;
}

.wpcf7 label {
  width: 100%;
}

.wpcf7 label span {
  width: 100%;
  display: block;
  margin-top: 10px;
}

.wpcf7 input {
  max-width: 100%;
  width: 100%;
}

.wpcf7 textarea {
  max-width: 100%;
  width: 100%;
}

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

/* FOOTER */
.footer-fixed .footer {
  position: static;
}

.footer-static .footer {
  position: static;
}

.footer-static main {
  margin-bottom: 0 !important;
}

.footer {
  width: 100%;
  color: #fff;
}

.footer .col-lg-4 {
  margin-top: 150px;
}

.footer .social-media {
  width: 100%;
  display: block;
}

.footer .social-media ul {
  margin: 0;
  padding: 0;
  float: right;
}

.footer .social-media ul li {
  display: inline-block;
  margin-left: 10px;
}

.footer .social-media ul li a {
  color: #fff;
  font-size: 14px;
}

.footer .social-media ul li a:hover {
  color: var(--color-main);
}

.footer .call-to-action {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  margin-top: 120px;
  margin-bottom: -50px;
}

.footer .call-to-action h6 {
  font-family: "Fjalla One", sans-serif;
  font-size: 2vw;
  margin-bottom: 20px;
}

.footer .call-to-action h2 {
  width: 100%;
  display: block;
  font-size: 4vw;
  font-weight: 300;
  line-height: 1.3;
  margin-bottom: 50px;
  opacity: 0.7;
}

.footer .call-to-action .link-holder {
  width: 100%;
  display: block;
}

.footer .call-to-action .link-holder .link {
  display: inline-block;
  color: #fff;
  font-size: 17px;
  padding-bottom: 5px;
  position: relative;
}

.footer .call-to-action .link-holder .link:before {
  content: "";
  width: 100%;
  height: 1px;
  background: var(--color-main);
  position: absolute;
  right: 0;
  bottom: 0;
  -webkit-transition: 0.25s ease-in-out;
  -moz-transition: 0.25s ease-in-out;
  -ms-transition: 0.25s ease-in-out;
  -o-transition: 0.25s ease-in-out;
  transition: 0.25s ease-in-out;
}

.footer .call-to-action .link-holder .link:hover {
  text-decoration: none;
}

.footer .call-to-action .link-holder .link:hover:before {
  content: "";
  width: 0;
}

.footer address {
  width: 100%;
  display: block;
  margin: 0;
}

.footer address small {
  width: 100%;
  display: block;
  margin-bottom: 10px;
  opacity: 0.5;
  font-weight: 600;
  font-size: 14px;
}

.footer .footer-bottom {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  padding: 50px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  font-size: 14px;
}

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

.footer .footer-bottom .creation {
  margin-left: auto;
}

.footer .footer-bottom .creation a {
  color: #fff;
  text-decoration: underline;
}

.footer .footer-bottom .creation a:hover {
  text-decoration: none;
  color: var(--color-main);
}

/* RESPONSIVE TABLET FIXES */
@media only screen and (max-width: 991px),
only screen and (max-device-width: 991px) {
  .navbar .horizontal-menu {
    display: none;
  }

  .content-section {
    padding: 100px 0;
  }

  .body-horizontal-menu .navbar .hamburger {
    display: inline-block;
  }

  .kinetic-slider:before {
    content: "";
    width: 100%;
    height: 30%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
  }

  .kinetic-slider:after {
    content: "";
    width: 100%;
    height: 30%;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1;
  }

  .section-title {
    font-size: 8vw;
  }

  .page-header .inner {
    padding-left: 160px;
  }

  .all-cases .inner {
    padding-left: 160px;
  }

  .social-media .inner ul li {
    font-size: 4vw;
  }

  .all-cases .inner ul li {
    font-size: 10vw;
  }

  .works {
    padding: 80px 0;
  }

  .works ul li {
    width: 50%;
  }

  .works li {
    padding: 15px;
  }

  .works li:nth-child(3n+3) {
    padding-top: 20px;
  }

  .works li:nth-child(2n+2) {
    padding-top: 50px;
  }

  .works li .caption h3 {
    font-size: 20px;
  }

  .process-content-block p {
    padding-right: 0;
  }

  .testimonial {
    padding: 30px;
  }

  .testimonial blockquote {
    font-size: 14px;
    line-height: 1.5;
    padding-bottom: 60px;
  }

  .testimonials-slider .swiper-pagination {
    text-align: center;
    bottom: 130px;
  }

  .content-section .vc_custom_1583612565543 {
    padding-top: 100px !important;
  }

  .team {
    padding-bottom: 30px;
  }

  .team figcaption {
    padding-top: 15px;
    padding: 15px;
  }

  .slider .gallery-thumbs .swiper-slide-active span {
    width: 100%;
    font-size: 8vw;
    line-height: 11vw;
  }

  .intro .col-lg-7 {
    padding-left: 15px;
    margin-top: 50px;
  }

  .text-content {
    padding: 80px 0;
  }

  .intro-image {
    padding-bottom: 80px;
  }

  .content-section .vc_custom_1583658620539 {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .icon-content-block .col-lg-3:nth-child(3) {
    margin-top: 0;
  }

  .icon-content-block .content-block {
    padding: 30px 20px;
  }

  .icon-content-block figure {
    padding: 30px 15px;
  }

  .process {
    margin-bottom: 80px;
  }

  .process .col-lg-3:first-child {
    margin-bottom: 40px;
  }

  .process .odometer {
    font-size: 8vw;
  }

  .testimonials {
    margin-top: 80px;
  }

  .testimonials:before {
    display: none;
  }

  .testimonials .col-lg-6:first-child {
    order: 2;
  }

  .testimonials .col-lg-6:last-child {
    order: 1;
  }

  .testimonials .testimonials-slider {
    margin-top: 40px;
    width: 100%;
  }

  .testimonials .swiper-pagination {
    bottom: 65px;
  }

  .testimonials .testimonial {
    padding: 50px 80px;
  }

  .wpcf7 .wpcf7-spinner {
    float: left;
    margin-top: -40px;
  }

  .footer .col-lg-4 {
    margin-top: 0;
  }

  .footer .call-to-action {
    margin-bottom: 100px;
  }

  .footer .call-to-action h6 {
    font-size: 26px;
  }

  .footer ul {
    width: 100%;
    float: left;
    margin-bottom: 30px;
  }

  .footer ul li {
    margin-left: 0;
    margin-right: 10px;
  }
}

/* RESPONSIVE MOBILE FIXES */
@media only screen and (max-width: 767px),
only screen and (max-device-width: 767px) {
  main {
    margin-bottom: 0 !important;
  }

  br {
    display: revert;
  }

  .site-navigation {
    padding-left: 70px;
    padding-top: 50px;
  }

  .site-navigation .inner {
    padding: 20px 40px;
  }

  .site-navigation .inner ul li {
    margin: 5px 0;
  }

  .site-navigation .inner ul li ul {
    padding-left: 20px;
  }

  .text-interactive .container {
    padding-left: 100px;
  }

  .text-interactive .interactive-text {
    font-size: 9vw;
    line-height: 1.2;
  }

  .text-interactive .interactive-text span {
    font-size: 14px;
  }

  .slider .swiper-container .swiper-slide {
    padding: 0 80px;
    padding-left: 100px;
  }

  .section-title a {
    margin-bottom: 30px;
  }

  .slider .slide-progress {
    display: none;
  }

  .slider .gallery-thumbs {
    width: 100%;
    margin: 0;
    bottom: auto;
    padding: 0 10px;
  }

  .slider .gallery-thumbs .swiper-slide {
    padding: 0 !important;
  }

  .slider .gallery-thumbs .swiper-slide h1 {
    font-size: 8vw;
  }

  .left-side {
    padding-bottom: 0;
  }

  .slide-progress {
    display: none;
  }

  .all-cases-link {
    right: 15px;
  }

  .swiper-button-next {
    right: 20px;
  }

  .swiper-button-prev {
    right: 90px;
  }

  .team {
    margin-bottom: 30px;
    background: none;
  }

  .team figcaption {
    color: #fff;
    background: none;
  }

  .icon-content-block figure {
    padding: 20px 0;
  }

  .icon-content-block .col-lg-3:nth-child(3) {
    margin: 50px 0;
  }

  .icon-content-block .content-block {
    padding: 0;
  }

  .icon-content-block .content-block.selected {
    background: none;
    box-shadow: none;
  }

  .icon-content-block .content-block.selected:before {
    display: none;
  }

  .testimonials-slider .swiper-pagination {
    width: 100%;
    padding: 0 25px;
    left: 0;
    right: 0;
  }

  .testimonials .testimonial {
    padding: 70px 50px;
  }

  .testimonials .swiper-pagination {
    bottom: 85px;
  }

  .milestones .odometer {
    font-size: 10vw;
  }

  .works ul li {
    width: 100%;
  }

  .works ul li:nth-child(2n+2) {
    margin-top: 0;
  }

  .works ul li:nth-child(3n+3) {
    margin-top: 0;
  }

  .works li:nth-child(2n+2) {
    margin-top: 0;
    padding-top: 0;
  }

  .works li:nth-child(3n+3) {
    margin-top: 0;
    padding-top: 0;
  }

  .clients figure {
    padding: 40px 20px;
  }

  .clients-spacing {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .testimonials-flex .vc_col-sm-5 {
    display: flex;
    order: 2;
  }

  .testimonials-flex .vc_col-sm-4 {
    display: flex;
    order: 1;
    padding-top: 75px !important;
  }

  .works li {
    width: 100%;
    padding: 0 30px;
    margin-top: 0 !important;
    margin-bottom: 60px;
    padding-right: 0;
    padding-left: 0;
  }

  .works li:last-child {
    margin-bottom: 0;
  }

  .blog-post .post-image {
    width: 100%;
    display: block;
    flex: inherit;
    order: 1 !important;
  }

  .blog-post .post-content {
    width: 100%;
    display: block !important;
    flex: inherit !important;
    text-align: left !important;
    padding: 0 !important;
    order: 2 !important;
  }

  .blog-post .service {
    order: initial !important;
  }


  .blog-post .post-content .post-title {
    font-size: 6vw;
  }

  .blog-post.single-post .post-content .post-title {
    font-size: 8vw;
  }

  .wpcf7 {
    width: 100%;
    margin-left: 0;
    padding: 50px 30px;
  }

  .wpcf7 p:nth-last-child(2) {
    margin-bottom: 0;
  }

  .content-slider .content-pagination {
    display: none;
  }

  .section-title.text-center {
    padding: 0 15%;
  }

  .footer {
    position: static !important;
  }

  .footer-fixed .footer {
    position: static;
  }

  .footer .call-to-action {
    margin-top: 100px;
    margin-bottom: 50px;
  }

  .footer .call-to-action h6 {
    font-size: 5vw;
  }

  .footer .call-to-action h2 {
    font-size: 7vw;
  }

  .footer .call-to-action h2 br {
    display: none;
  }

  .footer .footer-bar .creation {
    width: 100%;
    display: block;
    margin-top: 5px;
  }

  .footer .footer-bottom .creation {
    margin-left: 0;
  }

  .content-section {
    padding: 75px 0;
  }

  .content-section .vc_custom_1583658801308 {
    margin-bottom: 75px !important;
  }

  .content-section .vc_custom_1583659272991 {
    margin-bottom: 25px !important;
  }

  .content-section .vc_custom_1583660019502 {
    padding-left: 15px !important;
    padding-right: 15px !important;
  }

  .content-section .vc_custom_1583658620539 {
    margin-top: 25px !important;
    padding-left: 5% !important;
    padding-right: 5% !important;
  }

  .content-section .vc_custom_1583657509251 {
    padding-top: 25px !important;
    margin-top: 0 !important;
  }

  .content-section .vc_custom_1583656998152 {
    margin-top: 0 !important;
  }

  .content-section .vc_custom_1583612565543 {
    padding-top: 75px !important;
  }

  .content-section .vc_custom_1583656998152 .section-title {
    margin-bottom: 25px;
  }

  .content-section .wpb_column:last-child .team {
    margin-bottom: 75px;
  }

  .content-section .vc_custom_1584008554616 {
    padding-bottom: 75px !important;
  }

  .content-section .title-spacing {
    margin-bottom: 25px;
  }
}

/* ANIMATIONS */
@keyframes texteffect {
  0% {
    transform: translateY(50%);
    opacity: 0;
  }

  100% {
    transform: translateY(0);
    opacity: 1;
  }
}

@keyframes texteffect {
  0% {
    transform: translateY(50%);
    opacity: 0;
  }

  100% {
    transform: translateY(0);
    opacity: 1;
  }
}

@-webkit-keyframes show-img-1 {

  0%,
  66.6% {
    visibility: hidden;
  }

  100%,
  66.7% {
    visibility: visible;
  }
}

@keyframes show-img-1 {

  0%,
  66.6% {
    visibility: hidden;
  }

  100%,
  66.7% {
    visibility: visible;
  }
}

@-webkit-keyframes slide-bg-2 {
  33.3% {
    -webkit-transform-origin: left top;
    transform-origin: left top;
    -webkit-transform: scale(0.05, 1);
    transform: scale(0.05, 1);
  }

  66.6% {
    -webkit-transform-origin: left center;
    transform-origin: left center;
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
  }

  66.7% {
    -webkit-transform-origin: right center;
    transform-origin: right center;
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
  }

  100% {
    -webkit-transform-origin: right center;
    transform-origin: right center;
    -webkit-transform: scale(0, 1);
    transform: scale(0, 1);
  }
}

@keyframes slide-bg-2 {
  33.3% {
    -webkit-transform-origin: left top;
    transform-origin: left top;
    -webkit-transform: scale(0.05, 1);
    transform: scale(0.05, 1);
  }

  66.6% {
    -webkit-transform-origin: left center;
    transform-origin: left center;
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
  }

  66.7% {
    -webkit-transform-origin: right center;
    transform-origin: right center;
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
  }

  100% {
    -webkit-transform-origin: right center;
    transform-origin: right center;
    -webkit-transform: scale(0, 1);
    transform: scale(0, 1);
  }
}

/* BASE FIXES */
figure.figure {
  margin: 0;
}

.content-section {
  display: block;
  flex-wrap: inherit;
}

/* CONTENT SLIDER */
.content-slider,
.placement-slider {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  overflow: hidden;
  position: relative;
}

.placement-slider {
  margin-top: 30px;
}

.content-slider .swiper-slide,
.placement-slider .swiper-slide {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  overflow: hidden;
  background-size: cover;
  background-position: center;
}

.content-slider .swiper-slide .reveal-effect,
.placement-slider .swiper-slide .reveal-effect {
  width: 100%;
  height: 100%;
}

.content-slider .swiper-slide .bg-image,
.placement-slider .swiper-slide .bg-image {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background-size: cover;
  background-position: center;
}

.content-slider .swiper-slide video,
.placement-slider .swiper-slide video {
  min-height: 100%;
  min-width: 100%;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translateX(-50%) translateY(-50%);
}

.content-slider .swiper-slide .slide-inner,
.placement-slider .swiper-slide .slide-inner {
  width: 100%;
  padding: 10px 50px;
  color: #fff;
}

.content-slider .swiper-slide .slide-inner a,
.placement-slider .swiper-slide .slide-inner a {
  color: #fff;
}

.content-slider .swiper-button-prev,
.placement-slider .swiper-button-prev {
  width: auto;
  height: auto;
  background: none;
  margin: 0;
  padding: 10px 20px;
  color: #fff;
  font-weight: 600;
  left: 30px;
  transform: translateY(-50%);
}

.content-slider .swiper-button-next,
.placement-slider .swiper-button-next {
  width: auto;
  height: auto;
  background: none;
  margin: 0;
  padding: 10px 20px;
  color: #fff;
  font-weight: 600;
  right: 30px;
  transform: translateY(-50%);
}

.content-slider .button-prev,
.content-slider .button-next:hover,
.placement-slider .button-prev,
.placement-slider .button-next:hover {
  opacity: 0.6;
}

.content-slider .content-pagination,
.placement-slider .content-pagination {
  margin: 0;
  position: absolute;
  bottom: 27px;
  text-align: center;
  z-index: 2;
}

.placement-slider .content-pagination {
  bottom: 0;
}

/* CUSTOM FIXES */
.wp-block-quote p:last-child {
  margin-bottom: 0;
}

.page.type-page code {
  background: #eee;
  padding: 4px;
  color: #161b2e;
  font-family: Courier;
}

.page-links {
  position: relative;
}

.post-501 .page-links {
  float: left;
  margin-top: 60px;
}

.post-501 .post-entry-footer {
  float: left;
}

.post-1133 .post-entry-footer {
  float: left;
}

.wp-image-907 {
  width: 100%;
}

.error-404.not-found {
  text-align: center;
}

.error-404.not-found .screen-reader-text {
  display: none;
}

.error-404.not-found img {
  margin-bottom: 30px;
}

.is-style-squared .wp-block-button__link {
  border-radius: 0 !important;
}

.blog-post .post-content .wp-block-quote {
  border: none;
  color: #fff;
  background: #75dab4;
  color: #fff;
  padding: 30px;
  margin-top: 20px;
  margin-bottom: 20px;
}

.blog-post .post-content .wp-block-quote a {
  color: #fff;
}

.blog-post .post-content .has-medium-font-size {
  font-size: 20px;
}

.page.type-page {
  width: 100%;
}

.blog-post .post-content select {
  width: 100%;
}

.logged-in.admin-bar .navbar {
  top: 32px;
}

.logged-in.admin-bar .left-side {
  top: 32px;
}

select {
  max-width: 100%;
  height: 60px;
  border-radius: 0;
}

/* BLOG STYLE FOR SIDEBAR */
.col-lg-8 .blog-post .post-content {
  text-align: left !important;
}

.col-lg-8 .blog-post .post-image {
  flex: inherit;
  width: 100%;
  display: block;
  order: inherit !important;
  margin-bottom: 30px;
}

.col-lg-8 .blog-post .post-content {
  flex: inherit;
  width: 100%;
  display: block;
  order: inherit !important;
  padding: 0;
  border: none;
}

.col-lg-10 .blog-post.sticky {
  background: #eee;
}

.col-lg-10 .blog-post.sticky .post-content {
  background: #fff;
  padding: 30px;
}

.col-lg-10 .blog-post.sticky:after {
  border-color: transparent transparent #eee transparent;
}

/* STICKY POST STYLE */
.blog-post.sticky {
  border: 1px solid #eee;
  padding: 30px;
  position: relative;
}

.blog-post.sticky:before {
  content: "";
  width: 14px;
  height: 25px;
  background: #161b2e;
  position: absolute;
  right: 30px;
  top: -10px;
}

.blog-post.sticky:after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 7px 6px 7px;
  border-color: transparent transparent #fff transparent;
  position: absolute;
  right: 30px;
  top: 9px;
}

/* BLOG FIXES */
.blog-post .post-content .post-tags {
  width: 100%;
  display: block;
  margin-bottom: 30px;
  padding: 0;
}

.blog-post .post-content .post-tags li {
  display: inline-block;
  margin: 3px 0;
  margin-right: 10px;
  padding: 0;
  list-style: none;
}

.blog-post .post-content .post-tags li a {
  background: #75dab4;
  color: #fff;
  padding: 4px 12px;
  font-size: 14px;
}

.blog-post .post-content .wp-block-button {
  width: 100%;
  display: block;
  margin-bottom: 10px;
}

.blog-post .post-content .wp-block-button:last-child {
  margin-bottom: 0;
}

.blog-post .post-content .wp-block-button__link {
  background: #161b2e;
  font-size: 14px;
  font-weight: 600;
  padding: 20px 40px;
  border-radius: 50px;
  color: #fff;
}

.blog-post .post-content .wp-block-button.is-style-outline .wp-block-button__link {
  background: none;
  border-color: var(--color-dark);
  color: var(--color-dark);
}

.blog-post .post-content .wp-block-cover {
  margin-bottom: 40px;
}

.blog-post .post-content .wp-block-cover.has-background-dim .wp-block-cover-text {
  color: #fff;
}

.blog-post .post-content .wp-block-cover-image.has-background-dim .wp-block-cover-image-text {
  color: #fff;
}

.blog-post .post-content .wp-block-gallery {
  width: 100%;
  margin-bottom: 40px;
  padding: 0;
}

.blog-post .post-content .wp-block-gallery .blocks-gallery-caption {
  font-size: 14px;
}

.blog-post .post-content .wp-block-gallery .blocks-gallery-item figure {
  width: 100%;
  position: relative;
}

.blog-post .post-content .wp-block-gallery .blocks-gallery-item figure figcaption {
  padding: 10px;
  bottom: 0;
}

.blog-post .post-content .wp-block-quote {
  margin: 20px 0;
}

.blog-post .post-content .wp-block-quote a {
  color: #fff;
}

.blog-post .post-content .wp-block-quote cite {
  font-family: georgia;
  font-style: italic;
  font-size: 14px;
}

.blog-post .post-content .wp-block-quote cite br {
  display: none;
}

.blog-post .post-content .blocks-gallery-grid {
  padding: 0;
  display: flex;
  flex-wrap: wrap;
}

.blog-post .post-content .wp-block-group.has-background {
  padding: 30px;
}

.blog-post .post-content .has-background {
  margin-bottom: 20px;
}

.blog-post .post-content .more-link {
  display: inline-block;
  margin-top: 20px;
  font-weight: 600;
  display: none;
}

.blog-post .post-content .gallery {
  display: block;
  margin-bottom: 40px;
}

.blog-post .post-content .gallery .gallery-item {
  position: relative;
}

.blog-post .post-content .gallery .gallery-item .gallery-caption {
  font-size: 14px;
  color: #727479;
}

.blog-post .post-content .gallery .gallery-item a {
  width: 100%;
  display: block;
  margin-bottom: 10px;
}

.blog-post .post-content .gallery .gallery-item a img {
  width: 100%;
  height: auto;
}

.blog-post .post-content .wp-block-archives {
  width: 100%;
  display: block;
  margin-bottom: 40px;
  padding: 0;
  font-size: 14px;
}

.blog-post .post-content .wp-block-archives li {
  width: 100%;
  display: block;
  margin: 0;
  margin-bottom: 10px;
  padding: 3px 0;
  list-style: none;
  color: #727479;
}

.blog-post .post-content .wp-block-archives li .comment-author-link a {
  text-decoration: none;
  font-weight: 600;
}

.blog-post .post-content .wp-block-archives li a {
  margin: 0;
  color: #161b2e;
}

.blog-post .post-content .wp-block-calendar {
  width: 100%;
  display: block;
  margin-bottom: 40px;
}

.blog-post .post-content .wp-block-calendar caption {
  width: 100%;
  padding-bottom: 20px;
  font-weight: 600;
  color: #727479;
}

.blog-post .post-content .wp-block-calendar a {
  display: inline-block;
  color: #161b2e;
  font-weight: 600;
  text-decoration: none;
  margin-top: 10px;
}

.blog-post .post-content .wp-block-table {
  width: 100%;
}

.blog-post .post-content .wp-block-table a {
  color: #161b2e;
}

.blog-post .post-content .wp-block-table table {
  width: 100%;
  border: 1px solid #f3f4f5;
}

.blog-post .post-content .wp-block-table table tr {
  border-bottom: 1px solid #f3f4f5;
}

.blog-post .post-content .wp-block-table table td {
  height: 50px;
  padding: 0 20px;
}

.blog-post .post-content .wp-block-search {
  width: 100%;
  display: block;
  margin-bottom: 40px;
}

.blog-post .post-content .wp-block-search .wp-block-search__label {
  display: none;
}

.blog-post .post-content .wp-block-search input[type=search] {
  border: 1px solid #eee;
  padding: 0 15px;
}

.blog-post .post-content .wp-block-categories {
  width: 100%;
  display: block;
  margin-bottom: 40px;
}

.blog-post .post-content .wp-block-latest-comments {
  width: 100%;
  display: block;
  padding: 0;
  margin-bottom: 40px;
}

.blog-post .post-content .wp-block-latest-comments .wp-block-latest-comments__comment-author {
  text-decoration: none;
  font-weight: 600;
}

.blog-post .post-content .wp-block-latest-comments a {
  text-decoration: underline;
}

.blog-post .post-content .wp-block-latest-comments p {
  font-weight: 400;
  padding: 0;
  border: none;
  text-transform: inherit;
}

.blog-post .post-content .wp-block-latest-posts {
  padding: 0;
  margin-bottom: 40px;
}

.blog-post .post-content .wp-block-tag-cloud {
  font-weight: 400;
  margin-bottom: 40px;
}

.blog-post .post-content .wp-block-tag-cloud a {
  display: inline-block;
  font-size: 14px !important;
  background: #161b2e;
  color: #fff;
  padding: 0 20px;
}

.blog-post .post-content .wp-block-rss {
  margin-bottom: 40px;
}

.blog-post .post-content .post-entry-footer {
  width: 100%;
  display: block;
  padding: 20px;
  border: 1px solid #e2e2e2;
  margin-bottom: 30px;
  box-shadow: 6px 6px 0 #f5f5f5;
  margin-top: 40px;
  overflow-wrap: break-word;
  word-wrap: break-word;
  hyphens: auto;
}

.blog-post .post-content .post-entry-footer .cat-links {
  width: 100%;
  display: block;
  padding-bottom: 20px;
  margin-bottom: 20px;
  border-bottom: 1px solid #e2e2e2;
  font-weight: 600;
}

.blog-post .post-content .post-entry-footer .cat-links a {
  text-decoration: underline;
  font-weight: 400;
}

.blog-post .post-content .post-entry-footer .cat-links a:hover {
  text-decoration: none;
}

.blog-post .post-content .post-entry-footer .tags-links {
  width: 100%;
  display: block;
  padding-bottom: 20px;
  margin-bottom: 20px;
  border-bottom: 1px solid #e2e2e2;
  font-weight: 600;
}

.blog-post .post-content .post-entry-footer .tags-links a {
  text-decoration: underline;
  font-weight: 400;
}

.blog-post .post-content .post-entry-footer .tags-links a:hover {
  text-decoration: none;
}

.blog-post .post-content .post-entry-footer .edit-link {
  width: 100%;
  display: block;
  font-weight: 600;
}

.blog-post .post-content .post-entry-footer .edit-link .screen-reader-text {
  display: inline-block;
  font-weight: 400;
}

.blog-post .post-content .post-navigation {
  width: 100%;
  display: block;
}

.blog-post .post-content .post-navigation .navigation {
  width: 100%;
  display: block;
  padding: 20px;
  border: 1px solid #e2e2e2;
  margin-bottom: 30px;
  box-shadow: 6px 6px 0 #f5f5f5;
}

.blog-post .post-content .post-navigation .navigation:last-child {
  margin-bottom: 0;
}

.blog-post .post-content .post-navigation .navigation .screen-reader-text {
  font-size: 20px;
  font-weight: 600;
  border-bottom: 1px solid #eee;
  margin-bottom: 20px;
  padding-bottom: 20px;
}

.blog-post .post-content .post-navigation .navigation .nav-links {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  overflow-wrap: break-word;
  word-wrap: break-word;
  hyphens: auto;
}

.blog-post .post-content .post-navigation .navigation .nav-links .nav-previous {
  flex: 1;
  width: 50%;
  padding-right: 20px;
  border-right: 1px solid #eee;
}

.blog-post .post-content .post-navigation .navigation .nav-links .nav-next {
  flex: 1;
  width: 50%;
  padding-left: 20px;
  text-align: right;
}

.blog-post .post-content .page-links {
  width: 100%;
  display: block;
  border-top: 1px solid #eee;
  padding-top: 20px;
}

.blog-post .post-content .page-links h6 {
  display: none;
}

.blog-post .post-content .page-links .post-page-numbers {
  height: 60px;
  line-height: 60px;
  display: inline-block;
  border: 1px solid #eee;
  padding: 0 20px;
  font-size: 14px;
  font-weight: 600;
}

.blog-post .post-content .page-links .post-page-numbers.current {
  background: #161b2e;
  border-color: #161b2e;
  color: #fff;
}

.blog-post .post-content .size-large {
  width: 100%;
  height: auto;
}

.blog-post .post-content code {
  background: #eee;
  padding: 4px;
  color: #161b2e;
  font-family: Courier;
}

.blog-post .post-content blockquote {
  background: #75dab4;
  color: #fff;
  padding: 30px;
  margin-top: 20px;
  margin-bottom: 20px;
}

.blog-post .post-content blockquote cite {
  display: block;
  margin-top: 10px;
}

.blog-post .post-content blockquote a {
  color: #fff;
  text-decoration: underline;
}

.blog-post .post-content blockquote *:last-child {
  margin-bottom: 0;
}

.blog-post .post-content h3 {
  font-weight: 600;
}

.blog-post .post-content h4 {
  font-weight: 600;
}

.blog-post .post-content h5 {
  font-weight: 600;
}

.blog-post .post-content h6 {
  font-weight: 600;
}

.blog-post .post-content strong {
  font-weight: 600;
}

.blog-post .post-content ol {
  padding-left: 20px;
}

.blog-post .post-content ul {
  padding-left: 20px;
}

.blog-post .post-content ul li {
  margin-bottom: 10px;
}

.blog-post .post-content ul li:last-child {
  margin-bottom: 0;
}

.blog-post .post-content ol li {
  margin-bottom: 10px;
}

.blog-post .post-content ol li:last-child {
  margin-bottom: 0;
}

.blog-post .post-content u {
  text-decoration: none;
  border-bottom: 5px solid #75dab4;
}

.blog-post .post-content .image-full {
  display: block;
  height: auto;
  margin-bottom: 30px;
}

.blog-post .post-content .post-author {
  margin-bottom: 40px;
}

.blog-post .post-content .post-link {
  width: 100%;
  display: inline-block;
}

.blog-post .post-content .link-more {
  width: 100%;
  display: inline-block;
  overflow: hidden;
}

.blog-post .post-content .link-more a {
  display: inline-block;
  position: relative;
  -webkit-transition: all 0.25s ease-in-out;
  -moz-transition: all 0.25s ease-in-out;
  -ms-transition: all 0.25s ease-in-out;
  -o-transition: all 0.25s ease-in-out;
  transition: all 0.25s ease-in-out;
  font-weight: 600;
}

.blog-post .post-content .link-more a:before {
  content: attr(data-text);
  position: absolute;
  left: 0;
  top: 100%;
}

.blog-post .post-content .link-more a:hover {
  transform: translateY(-100%);
  text-decoration: none;
}

.blog-post.tag-read-more .post-link {
  display: none;
}

table {
  width: 100%;
  border: 1px solid #eee;
  margin-bottom: 30px;
}

table tr {
  padding: 15px 0;
}

table tr th {
  padding: 15px;
  border: 1px solid #eee;
}

table tr td {
  padding: 15px;
  border: 1px solid #eee;
}

.tag-content-2 {
  position: relative;
}

.tag-content-2 .screen-reader-text {
  display: none;
}

.post-1788 .post-entry-footer {
  margin-top: 200px !important;
}

.post-password-form label {
  width: 100%;
}

.post-password-form input[type=password] {
  width: 100%;
  border: 1px solid #eee;
  padding: 0 15px;
  margin-top: 10px;
}

.post-password-form input[type=submit] {
  margin-top: 5px;
}

.page-links {
  width: 100%;
  display: block;
  border-top: 1px solid #eee;
  padding-top: 40px;
  font-size: 14px;
}

.page-links h6 {
  display: none;
}

.page-links .post-page-numbers {
  height: 60px;
  line-height: 60px;
  display: inline-block;
  border: 1px solid #eee;
  padding: 0 20px;
  font-size: 14px;
  font-weight: 600;
}

.page-links .post-page-numbers.current {
  background: #161b2e;
  border-color: #161b2e;
  color: #fff;
}

.post-entry-footer {
  width: 100%;
  display: block;
  padding: 20px;
  border: 1px solid #e2e2e2;
  margin-bottom: 30px;
  font-size: 14px;
  box-shadow: 6px 6px 0 #f5f5f5;
  margin-top: 40px;
}

.post-entry-footer:last-child {
  margin-bottom: 0;
}

.post-entry-footer .cat-links {
  width: 100%;
  display: block;
  padding-bottom: 20px;
  margin-bottom: 20px;
  border-bottom: 1px solid #161b2e;
  font-weight: 600;
}

.post-entry-footer .cat-links a {
  text-decoration: underline;
  font-weight: 400;
}

.post-entry-footer .tags-links {
  width: 100%;
  display: block;
  padding-bottom: 20px;
  margin-bottom: 20px;
  border-bottom: 1px solid #161b2e;
  font-weight: 600;
}

.post-entry-footer .tags-links a {
  text-decoration: underline;
  font-weight: 400;
}

.post-entry-footer .edit-link {
  width: 100%;
  display: block;
  font-weight: 600;
}

.post-entry-footer .edit-link .screen-reader-text {
  display: inline-block;
  font-weight: 400;
}

.post-comment {
  width: 100%;
  display: block;
  padding: 20px;
  border: 1px solid #e2e2e2;
  margin: 30px 0;
  box-shadow: 6px 6px 0 #f5f5f5;
}

.search-no-results .content-section {
  text-align: center;
}

.search-no-results .content-section p {
  width: 100%;
  display: block;
  padding: 0 15%;
  margin-bottom: 40px;
  font-size: 3vw;
}

.search-no-results .content-section form {
  width: 100%;
}

.search-no-results .content-section form label {
  width: 100%;
  display: block;
}

.search-no-results .content-section form .screen-reader-text {
  display: none;
}

.search-no-results .content-section form input[type=search] {
  width: 100%;
  max-width: 650px;
}

/* COMMENTS */
.post-comment .comments-title {
  width: 100%;
  display: block;
  font-weight: 600;
  border-bottom: 1px solid #eee;
  padding-bottom: 20px;
  margin-bottom: 20px;
  text-transform: uppercase;
}

.post-comment .comment-list {
  width: 100%;
  display: block;
  margin-bottom: 60px;
  padding: 0 !important;
}

.post-comment .comment-list .comment {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 20px;
  padding: 0;
  list-style: none;
  border-bottom: 1px solid #eee;
  padding-bottom: 20px;
}

.post-comment .comment-list .children {
  margin-bottom: 20px;
}

.post-comment .comment-list .comment .comment-list {
  margin-bottom: 20px;
}

.post-comment .comment-list .comment .comment-content {
  width: calc(100% - 100px);
  display: inline-block;
}

.post-comment .comment-list .comment .comment-content p:empty {
  display: none;
}

.post-comment .comment-list .comment .comment-content p {
  margin-bottom: 10px;
}

.post-comment .comment-list .comment .comment-content h4 {
  font-size: 14px;
  font-weight: 600;
}

.post-comment .comment-list .comment .comment-content small {
  width: 100%;
  display: block;
  margin-bottom: 5px;
  opacity: 0.6;
}

.post-comment .comment-list .comment .comment-content .comment-reply-link {
  display: inline-block;
  padding: 3px 8px;
  background: #161b2e;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
}

.post-comment .comment-list .comment .comment-content .comment-reply-link:hover {
  background: #73efcc;
  color: #161b2e;
  text-decoration: none;
}

.post-comment .comment-list .comment .comment-avatar {
  margin-right: 20px;
}

.post-comment .comment-list .comment .comment-avatar:empty {
  display: none;
}

.post-comment .comment-list .comment .comment-avatar img {
  width: 60px;
  height: 60px;
  border-radius: 50%;
}

.post-comment .comment-form {
  width: 100%;
  display: block;
}

.post-comment .comment-form .comment-respond {
  width: 100%;
  display: block;
}

.post-comment .comment-form .comment-respond .comment-reply-title {
  width: 100%;
  display: block;
  font-weight: 600;
  border-bottom: 1px solid #eee;
  padding-bottom: 20px;
  margin-bottom: 20px;
  text-transform: uppercase;
}

.post-comment .comment-form .comment-respond form {
  position: relative;
}

.post-comment .comment-form .comment-respond form .comment-notes {
  display: block;
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 20px;
}

.post-comment .comment-form .comment-respond form .comment-form-cookies-consent {
  padding: 0 15px;
}

.post-comment .comment-form .comment-respond form .comment-form-cookies-consent input[type=checkbox] {
  margin-right: 10px;
}

.post-comment .comment-form .comment-respond form .comment-form-cookies-consent label {
  width: auto;
  display: inline-block;
}

.post-comment .comment-form .comment-respond form .logged-in-as {
  font-weight: 400;
  text-transform: inherit;
  border: none;
  padding: 0;
  font-size: 14px;
  margin-bottom: 20px;
}

.post-comment .comment-form .comment-respond form .logged-in-as a {
  text-decoration: underline;
}

.post-comment .comment-form .comment-respond form label {
  width: 100%;
  display: block;
  font-weight: 600;
  margin-bottom: 10px;
}

.post-comment .comment-form .comment-respond form input[type=text] {
  width: 100%;
  display: block;
  border: 1px solid #dadada;
  padding: 0 15px;
  background: #f7f7f7;
}

.post-comment .comment-form .comment-respond form input[type=email] {
  width: 100%;
  display: block;
  border: 1px solid #dadada;
  padding: 0 15px;
  background: #f7f7f7;
}

.post-comment .comment-form .comment-respond form textarea {
  width: 100%;
  display: block;
  border: 1px solid #dadada;
  padding: 15px;
  background: #f7f7f7;
}

/* SIDEBAR */
.sidebar {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  padding-left: 60px;
  font-size: 14px;
}

.sidebar .widget {
  width: 100%;
  display: block;
  margin-bottom: 50px;
  background: #fff;
  padding: 40px;
  padding-top: 0;
  border: 1px solid #e2e2e2;
  position: relative;
  box-shadow: 6px 6px 0 #f5f5f5;
}

.sidebar .widget:last-child {
  margin-bottom: 0;
}

.sidebar .widget strong {
  font-weight: 600;
}

.sidebar .widget .categories {
  width: 100%;
  display: block;
  margin: 0;
  padding: 0;
  font-size: 14px;
}

.sidebar .widget .categories li {
  width: 100%;
  display: block;
  margin: 0;
  padding: 3px 0;
  list-style: none;
}

.sidebar .widget .categories li a {
  margin: 0;
}

.sidebar .widget .categories li a:hover {
  color: #73efcc;
  text-decoration: none;
}

.sidebar .widget .categories li span {
  float: right;
  opacity: 0.5;
}

.sidebar .widget .tags {
  width: 100%;
  display: block;
  margin: 0;
  padding: 0;
}

.sidebar .widget .tags li {
  display: inline-block;
  margin-right: 5px;
  margin-bottom: 5px;
  padding: 0;
  list-style: none;
}

.sidebar .widget .tags li a {
  color: #fff;
  background: #73efcc;
  display: inline-block;
  font-size: 14px;
  padding: 3px 6px;
}

.sidebar .widget .tags li a:hover {
  color: #73efcc;
  background: #161b2e;
  text-decoration: none;
}

.sidebar .widget .side-gallery {
  display: block;
  margin-left: -1px;
  margin-right: -1px;
  padding: 0;
}

.sidebar .widget .side-gallery li {
  width: 50%;
  float: left;
  margin: 0;
  padding: 1px;
  list-style: none;
}

.sidebar .widget p {
  margin-bottom: 0;
}

.sidebar .widget select {
  width: 100%;
}

.sidebar .widget form {
  margin: 0;
}

.sidebar .widget form input[type=search] {
  width: 100%;
  margin-bottom: 10px;
}

.sidebar .widget .widget-title {
  width: 100%;
  display: block;
  border-bottom: 4px solid #eee;
  line-height: 1;
  font-size: 18px;
  font-weight: 700;
  text-transform: uppercase;
  padding: 30px 0;
  margin-bottom: 30px;
  color: #161b2e;
  position: relative;
}

.sidebar .widget .wp-block-group__inner-container>h2 {
  width: 100%;
  display: block;
  border-bottom: 4px solid #eee;
  line-height: 1;
  font-size: 18px;
  font-weight: 700;
  text-transform: uppercase;
  padding: 30px 0;
  margin-bottom: 30px;
  color: #161b2e;
  position: relative;
}

.sidebar .widget .wp-block-group__inner-container>ul {
  width: 100%;
  margin: 0;
  padding-left: 20px;
}

.sidebar .widget .wp-block-group__inner-container>ol {
  width: 100%;
  margin: 0;
  padding: 0;
}

.sidebar .widget .wp-block-group__inner-container>ol li {
  margin-bottom: 15px;
}

.sidebar .widget .wp-block-group__inner-container>ul li {
  margin-bottom: 15px;
  list-style: initial;
}

.sidebar .widget .wp-block-group__inner-container>ol li:last-child {
  margin-bottom: 0;
}

.sidebar .widget .wp-block-group__inner-container>ul li:last-child {
  margin-bottom: 0;
}

.sidebar .widget_search {
  width: 100%;
}

.sidebar .widget_search .wp-block-search__label {
  width: 100%;
  display: block;
  border-bottom: 4px solid #eee;
  line-height: 1;
  font-size: 18px;
  font-weight: 700;
  text-transform: uppercase;
  padding: 30px 0;
  margin-bottom: 30px;
  color: #161b2e;
  position: relative;
}

.sidebar .widget_search .widget-title {
  margin-bottom: 0;
}

.sidebar .widget_search .search-form {
  padding-top: 40px;
}

.sidebar .widget_search .screen-reader-text {
  display: none;
}

.sidebar .widget_search .wp-block-search__inside-wrapper {
  flex-wrap: wrap;
}

.sidebar .widget_search label {
  width: 100%;
  display: block;
}

.sidebar .widget_search input[type=search] {
  border: 1px solid #eee;
  padding: 0 15px;
}

.sidebar .widget_search button[type=submit] {
  margin: 0;
}

.sidebar .widget_archive {
  position: relative;
}

.sidebar .widget_archive .screen-reader-text {
  display: none;
}

.sidebar .widget_archive ul {
  width: 100%;
  display: block;
  margin: 0;
  padding: 0;
  font-size: 14px;
}

.sidebar .widget_archive ul li {
  width: 100%;
  display: block;
  margin: 0;
  padding: 3px 0;
  list-style: none;
  color: #727479;
}

.sidebar .widget_archive ul li a {
  margin: 0;
  color: #161b2e;
}

.sidebar .widget_calendar {
  position: relative;
}

.sidebar .widget_calendar caption {
  padding-bottom: 0;
  color: #727479;
  font-weight: 600;
}

.sidebar .widget_calendar table {
  width: 100%;
  text-align: center;
}

.sidebar .widget_calendar table thead {
  margin-bottom: 10px;
}

.sidebar .widget_calendar table thead th {
  height: 50px;
  border-bottom: 1px solid #eee;
  padding: 0;
}

.sidebar .widget_calendar table tbody {
  margin-bottom: 10px;
}

.sidebar .widget_calendar table tbody td {
  height: 30px;
  padding: 0;
}

.sidebar .widget_calendar table tfoot {
  padding-top: 10px;
}

.sidebar .widget_calendar table tfoot td {
  border-top: 1px solid #eee;
  height: 50px;
  padding: 0;
}

.sidebar .widget_calendar table tfoot td:last-child {
  text-align: right;
}

.sidebar .widget_categories {
  position: relative;
}

.sidebar .widget_categories .screen-reader-text {
  display: none;
}

.sidebar .widget_categories ul {
  width: 100%;
  display: block;
  margin: 0;
  padding: 0;
  font-size: 14px;
}

.sidebar .widget_categories ul li {
  width: 100%;
  display: block;
  margin: 0;
  padding: 3px 0;
  list-style: none;
  color: #727479;
}

.sidebar .widget_categories ul li ul {
  padding-left: 20px;
}

.sidebar .widget_categories ul li a {
  margin: 0;
  color: #161b2e;
}

.sidebar .widget_pages {
  position: relative;
}

.sidebar .widget_pages ul {
  width: 100%;
  display: block;
  margin: 0;
  padding: 0;
  font-size: 14px;
}

.sidebar .widget_pages ul li {
  width: 100%;
  display: block;
  margin: 0;
  padding: 3px 0;
  list-style: none;
  color: #727479;
}

.sidebar .widget_pages ul li ul {
  padding-left: 20px;
}

.sidebar .widget_pages ul li a {
  margin: 0;
  color: #161b2e;
}

.sidebar .widget_meta {
  position: relative;
}

.sidebar .widget_meta ul {
  width: 100%;
  display: block;
  margin: 0;
  padding: 0;
  font-size: 14px;
}

.sidebar .widget_meta ul li {
  width: 100%;
  display: block;
  margin: 0;
  padding: 3px 0;
  list-style: none;
  color: #727479;
}

.sidebar .widget_meta ul li a {
  margin: 0;
}

.sidebar .widget_recent_comments {
  position: relative;
}

.sidebar .widget_recent_comments ul {
  width: 100%;
  display: block;
  margin: 0;
  padding: 0;
  font-size: 14px;
}

.sidebar .widget_recent_comments ul li {
  width: 100%;
  display: block;
  margin: 0;
  margin-bottom: 10px;
  padding: 3px 0;
  list-style: none;
  color: #727479;
  position: relative;
  padding-left: 15px;
}

.sidebar .widget_recent_comments ul li:before {
  content: "";
  width: 6px;
  height: 6px;
  background: #161b2e;
  position: absolute;
  left: 0;
  top: 12px;
  border-radius: 50%;
}

.sidebar .widget_recent_comments ul li:last-child {
  margin-bottom: 0;
}

.sidebar .widget_recent_comments ul li .comment-author-link a {
  text-decoration: none;
  font-weight: 600;
}

.sidebar .widget_recent_comments ul li a {
  margin: 0;
  color: #161b2e;
  text-decoration: underline;
}

.sidebar .widget_recent_comments ul li a:hover {
  text-decoration: none;
}

.sidebar .widget_recent_entries {
  position: relative;
}

.sidebar .widget_recent_entries ul {
  width: 100%;
  display: block;
  margin: 0;
  padding: 0;
  font-size: 14px;
}

.sidebar .widget_recent_entries ul li {
  width: 100%;
  display: block;
  margin: 0;
  margin-bottom: 20px;
  padding: 3px 0;
  list-style: none;
  color: #727479;
}

.sidebar .widget_recent_entries ul li:last-child {
  margin-bottom: 0;
}

.sidebar .widget_recent_entries ul li a {
  margin: 0;
}

.sidebar .widget_rss {
  position: relative;
}

.sidebar .widget_rss .rss-widget-icon {
  display: none;
}

.sidebar .widget_rss ul {
  width: 100%;
  display: block;
  margin: 0;
  padding: 0;
  font-size: 14px;
}

.sidebar .widget_rss ul li {
  width: 100%;
  display: block;
  margin: 0;
  margin-bottom: 10px;
  padding: 3px 0;
  list-style: none;
}

.sidebar .widget_rss ul li:last-child {
  margin-bottom: 0;
}

.sidebar .widget_rss ul li .rss-date {
  width: 100%;
  display: block;
  font-size: 14px;
  color: #727479;
  margin: 5px 0;
}

.sidebar .widget_rss ul li .rssSummary {
  width: 100%;
  display: block;
  margin-bottom: 5px;
}

.sidebar .widget_rss ul li cite {
  display: block;
  font-family: georgia;
  color: #727479;
}

.sidebar .widget_rss ul li a {
  margin: 0;
  color: #161b2e;
  font-weight: 600;
}

.sidebar .widget_text {
  position: relative;
}

.sidebar .widget_text .wp-caption-text {
  margin-top: 0;
}

.sidebar .widget_text img {
  height: auto;
  margin-top: 5px;
  margin-bottom: 10px;
}

.sidebar .widget_text a {
  display: inline-block;
}

.sidebar .widget_text p {
  margin-bottom: 20px;
}

.sidebar .widget_text p:empty {
  display: none;
}

.sidebar .widget_tag_cloud {
  position: relative;
}

.sidebar .widget_tag_cloud .tagcloud {
  width: 100%;
  display: block;
}

.sidebar .widget_tag_cloud .tagcloud a {
  color: #fff;
  background: #75dab4;
  display: inline-block;
  font-size: 14px !important;
  padding: 3px 6px;
  margin-right: 5px;
  margin-bottom: 5px;
}

.sidebar .widget_tag_cloud .tagcloud a:hover {
  color: #fff;
  background: #161b2e;
  text-decoration: none;
}

.sidebar .widget_nav_menu {
  position: relative;
}

.sidebar .widget_nav_menu ul {
  width: 100%;
  display: block;
  margin: 0;
  padding: 0;
  font-size: 14px;
}

.sidebar .widget_nav_menu ul li {
  width: 100%;
  display: block;
  margin: 0;
  padding: 3px 0;
  list-style: none;
  color: #727479;
}

.sidebar .widget_nav_menu ul li ul {
  padding-left: 17px;
}

.sidebar .widget_nav_menu ul li a {
  margin: 0;
  color: #161b2e;
}

/* FOOTER WIDGETS */
.footer-widget {
  width: 100%;
  display: block;
  margin-bottom: 40px;
}

.footer-widget table th,
.footer-widget table td {
  padding: 0;
  text-align: center;
}

.footer-widget a {
  color: #fff;
}

.footer-widget .widget-title {
  width: 100%;
  display: block;
  margin-bottom: 10px;
  opacity: 0.5;
  font-weight: 600;
  font-size: 14px;
}

.footer-widget .screen-reader-text {
  display: none;
}

.footer-widget .calendar_wrap {
  width: 100%;
  display: block;
}

.footer-widget .calendar_wrap caption {
  font-size: 14px;
  font-weight: 600;
  color: #fff;
}

.footer-widget .calendar_wrap table {
  width: 100%;
}

.footer-widget .recentcomments {
  margin-bottom: 10px !important;
}

.footer-widget .recentcomments .comment-author-link {
  text-decoration: underline;
}

.footer-widget .recentcomments .comment-author-link a {
  font-weight: 400;
}

.footer-widget .recentcomments a {
  font-weight: 600;
}

.footer-widget .rss-widget-icon {
  display: none;
}

.footer-widget .rsswidget {
  margin-bottom: 5px;
  font-weight: 600;
}

.footer-widget .rss-date {
  width: 100%;
  display: block;
  font-size: 14px;
  opacity: 0.3;
}

.footer-widget .rssSummary {
  width: 100%;
  display: block;
  margin-bottom: 10px;
}

.footer-widget .textwidget {
  width: 100%;
  display: block;
  margin-bottom: 30px;
}

.footer-widget .search-form {
  width: 100%;
  display: block;
}

.footer-widget .search-form label {
  width: 100%;
}

.footer-widget .tagcloud {
  width: 100%;
  display: block;
}

.footer-widget .tagcloud a {
  font-size: 14px !important;
  margin-right: 10px;
  margin-bottom: 5px;
}

.footer-widget img {
  margin-top: 5px;
  margin-bottom: 10px;
  height: auto;
  width: 100%;
}

.footer-widget strong {
  font-weight: 600;
}

.footer-widget cite {
  width: 100%;
  display: block;
  font-family: georgia;
  font-size: 14px;
  margin-bottom: 30px;
}

.footer-widget select {
  width: 100%;
}

.footer-widget input[type=search] {
  width: 100%;
  border: none;
  padding: 0 15px;
}

.footer-widget ul {
  width: 100%;
  display: block;
  margin: 0;
  padding: 0;
}

.footer-widget ul li {
  width: 100%;
  display: block;
  margin: 2px 0;
  padding: 0;
  list-style: none;
}

.footer-widget ul li ul {
  padding-left: 10px !important;
}

/* WOOCOMMERCE COMPATIBLE */
body.woocommerce {
  display: block !important;
}

.woocommerce {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
}

.woocommerce .blog-post.single-post .post-content .post-title {
  display: none;
}

.woocommerce .woocommerce-notices-wrapper {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
}

.woocommerce .woocommerce-form-coupon-toggle {
  width: 100%;
}

.woocommerce .woocommerce-form-coupon-toggle .woocommerce-info {
  width: 100%;
  margin: 0;
  padding: 20px 30px;
  border: none;
  background: var(--color-dark) !important;
  color: #fff;
}

.woocommerce .woocommerce-form-coupon-toggle .woocommerce-info:before {
  display: none;
}

.woocommerce .woocommerce-form-coupon-toggle .woocommerce-info .showcoupon {
  color: #fff;
  font-weight: 600;
  text-decoration: underline;
}

.woocommerce .woocommerce-form-coupon {
  width: 100%;
  background: var(--color-dark);
  border: none !important;
  border-radius: 0 !important;
  margin: 0 !important;
  color: #fff;
  padding: 20px 30px !important;
}

.woocommerce .woocommerce-form-coupon input[type=text] {
  border: none;
}

.woocommerce .woocommerce-NoticeGroup {
  width: 100%;
}

.woocommerce .woocommerce-notices-wrapper .woocommerce-message {
  width: 100%;
  display: block;
  line-height: 40px;
  margin-bottom: 50px;
  padding: 20px 30px;
  padding-left: 60px;
  border: 1px solid #eee;
  box-shadow: 6px 6px 0 #f5f5f5;
}

.woocommerce-error::before,
.woocommerce-info::before,
.woocommerce-message::before {
  top: 21px;
  left: 30px;
  font-size: 20px;
  color: yellow;
}

.woocommerce .woocommerce-notices-wrapper .woocommerce-message .button {
  border-radius: 0;
  height: 40px;
  line-height: 40px;
  font-weight: 600;
  padding: 0 20px;
  background-color: #212223 !important;
  color: #fff;
}

.woocommerce .woocommerce-result-count {
  line-height: 70px;
  margin-bottom: -70px;
}

.woocommerce .woocommerce-ordering {
  width: 100%;
  display: block;
  margin-bottom: 30px;
  padding-bottom: 20px;
  border-bottom: 1px solid #eee;
}

.woocommerce .woocommerce-ordering select {
  height: 70px;
  float: right;
}

.woocommerce ul.products {
  width: calc(100% + 30px);
  display: flex;
  flex-wrap: wrap;
  margin-left: -15px;
  margin-right: -15px;
}

.woocommerce ul.products.columns-3 {
  display: flex;
  flex-wrap: wrap;
}

.woocommerce ul.products.columns-3 li.product {
  width: 33.33333%;
  display: inline-block;
  margin: 0;
  margin-bottom: 40px;
  padding: 0 15px;
}

.woocommerce ul.products.columns-4 {
  display: flex;
  flex-wrap: wrap;
}

.woocommerce ul.products.columns-4 li.product {
  width: 25%;
  display: inline-block;
  margin: 0;
  margin-bottom: 40px;
  padding: 0 15px;
}

.woocommerce ul.products li.product .onsale {
  border-radius: 0;
  right: 25px;
  top: 10px;
  margin: 0;
  padding: 0 15px;
  background: var(--color-main);
}

.woocommerce ul.products li.product .price {
  color: #212223;
  font-size: 18px;
}

.woocommerce ul.products li.product .price ins {
  float: right;
}

.woocommerce ul.products li.product .button {
  padding: 0;
  margin: 0;
  color: #212223;
  text-transform: uppercase;
  background: none;
  border-radius: 0;
  font-size: 14px;
}

.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
  border-radius: 0;
  background: var(--color-main);
  color: #fff;
}

.woocommerce #respond input#submit:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
  color: #fff !important;
}

.woocommerce #respond input#submit.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
  border: 0;
  background: var(--color-main);
}

.woocommerce #respond input#submit.disabled,
.woocommerce #respond input#submit:disabled,
.woocommerce #respond input#submit:disabled[disabled],
.woocommerce a.button.disabled,
.woocommerce a.button:disabled,
.woocommerce a.button:disabled[disabled],
.woocommerce button.button.disabled,
.woocommerce button.button:disabled,
.woocommerce button.button:disabled[disabled],
.woocommerce input.button.disabled,
.woocommerce input.button:disabled,
.woocommerce input.button:disabled[disabled] {
  color: #fff !important;
}

.woocommerce-privacy-policy-text a {
  text-decoration: underline;
}

/* WOOCOMMERCE COLUMNS*/
.woocommerce .col2-set .col-1,
.woocommerce-page .col2-set .col-1 {
  flex: none;
  max-width: inherit;
  padding: 0;
}

.woocommerce .col2-set .col-2,
.woocommerce-page .col2-set .col-2 {
  flex: none;
  max-width: inherit;
  padding: 0;
}

/* WOOCOMMERCE LOGIN FORMS */
.woocommerce form.checkout_coupon,
.woocommerce form.login,
.woocommerce form.register {
  padding: 0 !important;
  border: none !important;
}

.woocommerce form .form-row label {
  width: 100%;
  display: block;
}

.woocommerce form .show-password-input,
.woocommerce-page form .show-password-input {
  top: 50%;
  transform: translateY(-50%);
}

.woocommerce form .password-input,
.woocommerce-page form .password-input {
  width: 100%;
}

/* WOOCOMMERCE ALERTS */
.woocommerce .woocommerce-error,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-message {
  width: 100%;
  border: none !important;
  padding: 20px 30px;
  background: var(--color-main);
  color: #fff;
  font-weight: 600;
}

.woocommerce .woocommerce-error:before,
.woocommerce .woocommerce-info:before,
.woocommerce .woocommerce-message:before {
  display: none;
}

.woocommerce-info {
  background: blue !important;
}

.woocommerce-error {
  background: red !important;
}

.woocommerce-error li,
.woocommerce-info li,
.woocommerce-message li {
  display: none;
}

.woocommerce-error li,
.woocommerce-info li,
.woocommerce-message li:first-child {
  display: block;
}

/* WOOCOMMERCE CART PAGE*/
.woocommerce .woocommerce-cart-form {
  width: 100%;
  display: block;
}

.woocommerce .woocommerce-cart-form table.shop_table {
  border: 0;
}

.woocommerce .woocommerce-cart-form .coupon input[type=text] {
  width: 50% !important;
}

.woocommerce .cart-collaterals .wc-proceed-to-checkout .checkout-button {
  background: var(--color-main) !important;
  height: 70px;
  line-height: 70px;
  padding: 0 !important;
}

.woocommerce .cart-collaterals .wc-proceed-to-checkout .checkout-button:hover {
  background: var(--color-main) !important;
}

.woocommerce #content table.cart td.actions .coupon,
.woocommerce table.cart td.actions .coupon,
.woocommerce-page #content table.cart td.actions .coupon,
.woocommerce-page table.cart td.actions .coupon {
  display: flex;
}

/* CHECKOUT */
.woocommerce .woocommerce-checkout {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  position: relative;
  margin-top: 50px;
}

.woocommerce .woocommerce-checkout .col2-set {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
}

.woocommerce .woocommerce-checkout .col2-set .col-1 {
  width: 60%;
  max-width: 100%;
  flex: none;
  padding: 0;
  padding-right: 30px;
}

.woocommerce .woocommerce-checkout .col2-set .col-2 {
  width: 40%;
  max-width: 100%;
  flex: none;
  padding: 0;
}

.woocommerce .woocommerce-checkout .woocommerce-input-wrapper {
  width: 100%;
  display: block;
}

.woocommerce .woocommerce-checkout label {
  width: 100%;
  display: block;
}

.woocommerce .woocommerce-checkout input[type=text] {
  width: 100%;
  max-width: 100%;
}

.woocommerce .woocommerce-checkout textarea {
  width: 100%;
  max-width: 100%;
  height: 360px !important;
}

.woocommerce .woocommerce-checkout select {
  width: 100%;
  height: 70px;
}

.woocommerce .woocommerce-checkout #customer_details {
  margin-bottom: 50px;
}

.woocommerce .woocommerce-checkout .checkout_coupon.woocommerce-form-coupon {
  padding: 30px !important;
}

.select2-container--open .select2-dropdown {
  top: 3px !important;
}

.select2-container--default .select2-search--dropdown .select2-search__field {
  height: 50px !important;
}

.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[data-selected] {
  background-color: var(--color-main);
}

input[type=tel] {
  width: 420px;
  max-width: 100%;
  height: 70px;
  padding: 0 30px;
  border: 1px solid #cecece;
}

.woocommerce #respond input#submit.alt:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover {
  background-color: var(--color-main);
}

.woocommerce .select2-container .select2-selection--single {
  height: 70px;
}

.woocommerce .select2-container--default .select2-selection--single {
  border: 1px solid #cecece;
  border-radius: 0;
  color: #757575;
}

.woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered {
  line-height: 70px;
}

.woocommerce .select2-container--default .select2-selection--single .select2-selection__arrow {
  top: 22px;
  right: 10px;
}

.woocommerce .woocommerce-checkout table.shop_table {
  border-collapse: collapse;
  border-radius: 0;
  margin-bottom: 50px;
}

.woocommerce .woocommerce-checkout-review-order-table {
  margin-bottom: 50px;
}

.woocommerce .woocommerce-checkout .woocommerce-checkout-payment {
  border-radius: 0 !important;
  background: none !important;
}

.woocommerce .woocommerce-checkout .woocommerce-checkout-payment .payment_methods {
  padding: 0 !important;
  padding-bottom: 50px !important;
  margin-bottom: 50px;
}

.woocommerce .woocommerce-checkout .place-order {
  padding: 0 !important;
  padding-top: 50px !important;
}

.woocommerce table.shop_table {
  border-collapse: collapse !important;
  border-radius: 0 !important;
}

/* WOOCOMMERCE ORDER */
.woocommerce .woocommerce-order {
  width: 100%;
  display: block;
}

.woocommerce .woocommerce-order .woocommerce-thankyou-order-received {
  width: 100%;
  display: block;
  text-align: center;
  font-size: 50px;
  font-weight: 600;
}

.woocommerce .woocommerce-order ul.order_details {
  width: 100%;
  display: block;
  margin: 0;
  margin-bottom: 100px !important;
  padding: 0;
  text-align: center;
}

.woocommerce .woocommerce-order ul.order_details li {
  display: inline-block;
  float: none;
}

.woocommerce .woocommerce-order .woocommerce-customer-details address {
  border-radius: 0;
  padding: 20px 30px;
  line-height: 30px;
}

.woocommerce .woocommerce-order .woocommerce-customer-details address .woocommerce-customer-details--phone {
  margin-top: 10px;
  font-weight: 600;
}

.woocommerce .woocommerce-order .woocommerce-customer-details address .woocommerce-customer-details--email {
  margin-top: 10px;
}

#add_payment_method #payment ul.payment_methods li,
.woocommerce-cart #payment ul.payment_methods li,
.woocommerce-checkout #payment ul.payment_methods li label {
  width: auto;
  display: inline-block;
}

/* PRODUCT PAGE */
.woocommerce .blog-post .post-image {
  display: none;
}

.woocommerce .single-product {
  width: 100%;
}

.woocommerce div.product {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
}

.woocommerce span.onsale {
  border-radius: 0;
  left: 10px;
  top: 10px;
  margin: 0;
  padding: 0 15px;
  background: var(--color-main);
}

.woocommerce div.product div.images .woocommerce-product-gallery__trigger {
  border-radius: 0;
}

.woocommerce div.product div.images .flex-control-thumbs {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
}

.woocommerce div.product div.images .flex-control-thumbs li {
  flex: 1;
}

.woocommerce div.product div.summary {
  padding-left: 50px;
}

.woocommerce div.product p.price {
  color: #212223;
  font-size: 28px;
}

.woocommerce div.product .woocommerce-product-details__short-description {
  width: 100%;
  display: block;
}

.woocommerce div.product form.cart {
  width: 100%;
  display: block;
  margin-bottom: 30px;
}

.woocommerce .quantity .qty {
  width: 70px;
  padding: 0 10px;
}

.woocommerce div.product form.cart .button {
  border-radius: 0;
  background: #212223;
  color: #fff;
}

.woocommerce div.product form.product_meta {
  width: 100%;
  display: block;
  margin-bottom: 20px;
}

.woocommerce div.product .product_meta .posted_in {
  width: 100%;
  display: block;
  font-weight: 600;
  margin-bottom: 15px;
}

.woocommerce div.product .product_meta .posted_in a {
  font-weight: 400;
  text-decoration: underline;
}

.woocommerce div.product .product_meta .tagged_as {
  width: 100%;
  display: block;
  font-weight: 600;
}

.woocommerce div.product .product_meta .tagged_as a {
  font-weight: 400;
  text-decoration: underline;
}

.woocommerce div.product .woocommerce-tabs {
  width: 100%;
  display: block;
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
  padding: 0;
  margin: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before {
  border-bottom: 1px solid #eee;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
  border-radius: 0;
  border: 1px solid #eee;
  margin: 0;
  padding: 0 30px;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
  padding: 0;
  height: 60px;
  line-height: 60px;
  display: inline-block;
  font-weight: 400;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active::before {
  display: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active::after {
  display: none;
}

.woocommerce div.product .woocommerce-tabs .panel {
  width: 100%;
  display: block;
  border: 1px solid #eee;
  border-top: none;
  padding: 30px;
  box-shadow: 6px 6px 0 #f5f5f5;
  margin-bottom: 60px;
}

.woocommerce div.product .woocommerce-tabs .panel h2 {
  width: 100%;
  display: block;
  font-size: 14px;
  font-weight: 600;
  border-bottom: 1px solid #eee;
  padding-bottom: 10px;
  margin-bottom: 15px;
}

.woocommerce div.product .woocommerce-tabs .panel p:last-child {
  margin-bottom: 0;
}

.related.products {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
}

.related.products h2 {
  width: 100%;
  font-weight: 600;
  font-size: 20px;
  border-bottom: 1px solid #eee;
  margin-bottom: 30px;
  padding-bottom: 15px;
}

.related.products .products.columns-4 {
  padding-left: 0;
}

.related.products .products.columns-3 {
  padding-left: 0;
}

/* TABLET */
@media only screen and (max-width: 991px),
only screen and (max-device-width: 991px) {
  .woocommerce ul.products.columns-4 li.product {
    width: 50%;
  }

  .woocommerce .woocommerce-checkout .col2-set .col-1 {
    width: 100%;
  }

  .woocommerce .woocommerce-checkout .col2-set .col-2 {
    width: 100%;
  }
}

/* MOBILE */
@media only screen and (max-width: 767px),
only screen and (max-device-width: 767px) {
  .woocommerce ul.products.columns-4 li.product {
    width: 100%;
  }

  .woocommerce div.product div.summary {
    padding-left: 0;
  }
}

.inner #custom_html-2 ul.repair-address {
  border-bottom: 3px solid #9f9696;
  width: 90%;
  padding-bottom: 16px;
  overflow-y: hidden;
  margin-bottom: 16px;
}

.mb-30 {
  margin-bottom: 30px !important;
}

.mb-5 {
  margin-bottom: 5px !important;
}

.pr-10 {
  padding-right: 10px;
}

.about-us {
  display: flex;
  align-items: center;
}

.center {
  text-align: center;
}

.part-search {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 15px;
  flex-direction: column;
  width: 100%;
}

.part-search.form {
  position: relative;
}

.part-search input {
  width: 50%;
  height: 40px;
}

.part-search-or-text {
  color: #fff;
  margin: 15px 0 15px 0;
}

.capability-search-text {
  color: #fff;
  text-transform: uppercase;
  font-size: 30px;
  margin-bottom: 0;
}

.down-load-entire-list {
  display: inline-block;
  padding: 10px 20px;
  background-color: #fff;
  color: #212529;
  text-decoration: none !important;
  border-radius: 5px;
  font-weight: 600;
  width: 25%;
  text-transform: uppercase;
  height: 40px;
  text-align: center;
}

.quality-pdf {
  gap: 30px;
  align-items: center;
  justify-content: center;
}

.quality-pdf a {
  margin-top: 0;
  color: #212529;
}

.error-msg {
  color: red;
  font-size: 14px;
  display: block;
  margin-top: 5px;
}

input.invalid,
textarea.invalid {
  border: 1px solid red;
}

/* part search Autocomplete css*/

.autocomplete-items {
  position: absolute;
  border: 1px solid #d4d4d4;
  border-bottom: none;
  border-top: none;
  z-index: 99;
  background-color: #fff;
  max-height: 200px;
  overflow-y: auto;
  top: 41px;
  width: 50%;
}

.autocomplete-items div {
  padding: 10px;
  cursor: pointer;
}

.autocomplete-items div:hover {
  background-color: #e9e9e9;
}

.p-realtive {
  position: relative;
}

.mt-20 {
  margin-top: 30px;
}

.student-card {
  background: #1e2235;
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 20px;
  text-align: center;
  padding: 36px 24px 32px;
  transition: transform 0.4s ease, box-shadow 0.4s ease, border-color 0.4s ease;
  min-height: 380px;
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
}

.student-card::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 50% 0%, rgba(204,0,0,0.08) 0%, transparent 65%);
  opacity: 0;
  transition: opacity 0.4s ease;
  pointer-events: none;
}

.student-card:hover {
  transform: translateY(-8px);
  border-color: rgba(204,0,0,0.35);
  box-shadow: 0 24px 60px rgba(0,0,0,0.4);
}

.student-card:hover::before {
  opacity: 1;
}

.student-photo {
  width: 90px;
  height: 90px;
  border-radius: 50%;
  margin-bottom: 16px;
  object-fit: cover;
  border: 3px solid rgba(255,255,255,0.1);
  box-shadow: 0 0 0 6px rgba(204,0,0,0.1);
  transition: box-shadow 0.4s ease, border-color 0.4s ease;
}

.student-card:hover .student-photo {
  border-color: rgba(204,0,0,0.5);
  box-shadow: 0 0 0 6px rgba(204,0,0,0.2);
}

.student-card h4 {
  font-size: 18px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 4px;
}

.branch {
  font-size: 14px;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: rgba(255,255,255,0.5);
  margin-bottom: 20px;
}

.details {
  border-top: 1px solid rgba(255,255,255,0.07);
  padding-top: 16px;
}

.details p {
  font-size: 14px;
  margin: 6px 0;
  color: rgba(255,255,255,0.6);
}

.details p strong {
  color: #cc0000;
}

/* Active (center) slide */
.swiper-slide-active .student-card {
  background: linear-gradient(135deg, #cc0000 0%, #990000 100%);
  border-color: transparent;
  box-shadow: 0 20px 60px rgba(204,0,0,0.4);
  transform: translateY(-6px);
}

.swiper-slide-active .student-card::before {
  display: none;
}

.swiper-slide-active .student-photo {
  border-color: rgba(255,255,255,0.5);
  box-shadow: 0 0 0 6px rgba(255,255,255,0.15);
}

.swiper-slide-active .branch {
  color: rgba(255,255,255,0.7);
}

.swiper-slide-active .details {
  border-top-color: rgba(255,255,255,0.2);
}

.swiper-slide-active .details p {
  color: rgba(255,255,255,0.85);
}

.swiper-slide-active .details p strong {
  color: #fff;
}

/* Make all slides same width alignment */
.placement-slider .swiper-slide {
  display: flex;
  justify-content: center;
  align-items: stretch;
}

.founder-co {
  color: #fff;
  margin: 0;
}

.blog-post .post-content .post-title .white,
.white {
  color: #fff;
}

.height-450 {
  height: 450px;
}

.align-left {
  text-align: left;
}

.upercase,
.upercase:hover {
  text-transform: uppercase;
  color: #fff;
}

.office-address.min-height-auto figure {
  min-height: auto;
}

.document-sections {
  display: flex !important;
  justify-content: center;
  align-items: center;
  gap: 15px;
}

.list-style-none {
  margin-bottom: 30px !important;
}

.list-style-none li {
  border-bottom: 2px solid #e5e5e5;
  padding: 8px !important;
}

.list-style-none li i {
  padding-right: 10px;
}

.btn-width {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  text-transform: uppercase;
  background: #fff;
}

.list-style-none b {
  font-weight: bold;
}

.downloadCirculam {
  border: 1px solid #fff;
  padding: 10px;
  background: #fff;
  text-align: center;
  text-transform: uppercase;
}

.blink {
  animation: blinker 1.5s linear infinite;
  font-family: sans-serif;
}

.blink:hover {
  text-decoration: none;
}

@keyframes blinker {
  50% {
    opacity: 0;
  }
}

.why-take-course {
  display: flex;
  gap: 10px;
}

.why-take-course-desc li {
  margin-bottom: 5px;
}

/*accourdian start*/
.accordion__item {
  margin-bottom: 10px;
}

.accordion__item__header {
  background-color: #fff;
  padding: 15px;
  cursor: pointer;
  position: relative;
  color: #000;
  font-family: Arial;
  font-weight: 400;
  font-size: 20px;
  box-shadow: 0 0.5em 1em -0.125em rgba(10, 10, 10, 0.1),
    0 0 0 1px rgba(10, 10, 10, 0.02);
}

.accordion__item__header::before {
  height: 15px;
  width: 15px;
  content: "";
  position: absolute;
  right: 15px;
  top: 15px;
  transition: 0.5s all;
  transform: rotate(45deg);
  border-right: 2px solid #000;
  border-bottom: 2px solid #000;
}

.accordion__item__header.active {
  background-color: #fff;
  color: #000;
  transition: 0.4s;
}

.accordion__item__header.active::before {
  transform: rotate(-135deg);
  top: 23px;
}

.accordion__item__content {
  overflow-y: hidden;
  padding: 0;
  display: none;
  padding-left: 15px;
}

b,
strong {
  font-weight: bolder;
}

.mt-3 {
  margin-top: 1rem !important;
}

/*accourdian End*/
.width-100 {
  width: 100%;
}

.join-course-btn {
  text-transform: uppercase;
}

.join-course-btn:hover {
  color: #fff;
}

#contact-form input,
#contact-form select,
#contact-form textarea {
  border: 1px solid #000;
}

@media only screen and (max-width: 767px) {
  .site-navigation .inner ul li {
    font-size: 10vw;
  }

  .about-us {
    flex-direction: column;
  }

  .part-search input,
  .down-load-entire-list {
    width: 100%;
  }

  .autocomplete-items {
    width: 100%;
  }

  .student-card {
    min-height: auto;
  }

  .height-450 {
    height: auto;
  }

  .document-sections {
    flex-direction: column;
  }

  .document-sections .white.upercase {
    order: 2;
  }

  .mb-pd-lr-0 {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .btn-width {
    margin-left: 5%;
    margin-right: 5%;
    width: 90%;
  }

  .why-take-course-desc {
    padding-left: 10px;
    margin-top: 30px
  }

  .all-cases .inner ul li {
    font-size: 5vw;
    font-weight: 400;
    line-height: initial;
    margin-bottom: 10px;
  }
}


/* BANNER SERVICE TAGS */
.slide-service-tags {
  position: absolute;
  bottom: 120px;
  left: 150px;
  z-index: 5;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s ease 0.4s, transform 0.6s ease 0.4s;
}

.swiper-slide-active .slide-service-tags {
  opacity: 1;
  transform: translateY(0);
}

.slide-service-tags span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(0, 120, 255, 0.18);
  border: 1px solid rgba(0, 210, 255, 0.55);
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.5px;
  padding: 8px 18px;
  border-radius: 30px;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  text-transform: uppercase;
  white-space: nowrap;
  box-shadow: 0 0 14px rgba(0, 180, 255, 0.25);
  animation: tagPulse 3s ease-in-out infinite;
}

.slide-service-tags span:nth-child(2) {
  animation-delay: 0.3s;
}

.slide-service-tags span:nth-child(3) {
  animation-delay: 0.6s;
}

.slide-service-tags span::before {
  content: '';
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #00d4ff;
  box-shadow: 0 0 8px #00d4ff;
  flex-shrink: 0;
}

@keyframes tagPulse {

  0%,
  100% {
    box-shadow: 0 0 14px rgba(0, 180, 255, 0.25);
    border-color: rgba(0, 210, 255, 0.55);
  }

  50% {
    box-shadow: 0 0 22px rgba(0, 180, 255, 0.5);
    border-color: rgba(0, 210, 255, 0.9);
  }
}

@media only screen and (max-width: 767px) {
  .slide-service-tags {
    bottom: 80px;
    left: 80px;
    gap: 8px;
  }

  .slide-service-tags span {
    font-size: 14px;
    padding: 6px 12px;
  }
}

/* WPBakery grid fix */
.vc_row:after,
.vc_row:before {
  content: " ";
  display: table
}

.vc_row:after {
  clear: both
}

.vc_row-fluid {
  width: 100%
}

.vc_row {
  margin-left: -15px;
  margin-right: -15px
}

.vc_column_container {
  width: 100%
}

.vc_column_container>.vc_column-inner {
  box-sizing: border-box;
  padding-left: 15px;
  padding-right: 15px;
  width: 100%
}

.vc_col-sm-1,
.vc_col-sm-2,
.vc_col-sm-3,
.vc_col-sm-4,
.vc_col-sm-5,
.vc_col-sm-6,
.vc_col-sm-7,
.vc_col-sm-8,
.vc_col-sm-9,
.vc_col-sm-10,
.vc_col-sm-11,
.vc_col-sm-12 {
  position: relative;
  min-height: 1px;
  padding-left: 15px;
  padding-right: 15px;
  box-sizing: border-box
}

@media (min-width:768px) {

  .vc_col-sm-1,
  .vc_col-sm-2,
  .vc_col-sm-3,
  .vc_col-sm-4,
  .vc_col-sm-5,
  .vc_col-sm-6,
  .vc_col-sm-7,
  .vc_col-sm-8,
  .vc_col-sm-9,
  .vc_col-sm-10,
  .vc_col-sm-11,
  .vc_col-sm-12 {
    float: left
  }

  .vc_col-sm-12 {
    width: 100%
  }

  .vc_col-sm-11 {
    width: 91.66666667%
  }

  .vc_col-sm-10 {
    width: 83.33333333%
  }

  .vc_col-sm-9 {
    width: 75%
  }

  .vc_col-sm-8 {
    width: 66.66666667%
  }

  .vc_col-sm-7 {
    width: 58.33333333%
  }

  .vc_col-sm-6 {
    width: 50%
  }

  .vc_col-sm-5 {
    width: 41.66666667%
  }

  .vc_col-sm-4 {
    width: 33.33333333%
  }

  .vc_col-sm-3 {
    width: 25%
  }

  .vc_col-sm-2 {
    width: 16.66666667%
  }

  .vc_col-sm-1 {
    width: 8.33333333%
  }
}

.vc_custom_1583658620539 {
  padding-left: 60px !important;
  padding-right: 60px !important
}

.vc_custom_1584008554616 {
  padding-bottom: 150px !important
}

.vc_custom_1607670738390 {
  padding-left: 0 !important;
  padding-right: 0 !important
}

@media only screen and (max-width:767px) {

  .vc_col-sm-1,
  .vc_col-sm-2,
  .vc_col-sm-3,
  .vc_col-sm-4,
  .vc_col-sm-5,
  .vc_col-sm-6,
  .vc_col-sm-7,
  .vc_col-sm-8,
  .vc_col-sm-9,
  .vc_col-sm-10,
  .vc_col-sm-11,
  .vc_col-sm-12 {
    float: none;
    width: 100%
  }

  .vc_custom_1583658620539 {
    padding-left: 15px !important;
    padding-right: 15px !important
  }
}

/* content-slider: remove overlay and pagination dots */
.content-slider .hq-overlay {
  display: none;
}

.content-slider .content-pagination {
  display: none;
}


/* ── SERVICES SHOWCASE SECTION ── */
.services-showcase {
  background: #fff;
  padding: 80px 0;
  position: relative;
  overflow: hidden;
}

.services-showcase::before {
  content: '';
  position: absolute;
  top: -200px;
  right: -200px;
  width: 600px;
  height: 600px;
  background: radial-gradient(circle, rgba(204,0,0,0.06) 0%, transparent 70%);
  pointer-events: none;
}

/* Image side */
.ss-image-wrap {
  position: relative;
  display: inline-block;
  width: 100%;
}

.ss-img {
  width: 100%;
  border-radius: 16px;
  display: block;
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.5);
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 0.6s ease;
}

.ss-image-wrap:hover .ss-img {
  transform: translateY(-8px) scale(1.02);
  box-shadow: 0 50px 100px rgba(204,0,0,0.15);
}

.ss-badge {
  position: absolute;
  bottom: -18px;
  right: -18px;
  background: #cc0000;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 1px;
  padding: 14px 22px;
  border-radius: 10px;
  box-shadow: 0 10px 30px rgba(204,0,0,0.4);
  animation: badgePulse 2.5s ease-in-out infinite;
}

@keyframes badgePulse {
  0%, 100% { box-shadow: 0 10px 30px rgba(204,0,0,0.4); }
  50%       { box-shadow: 0 10px 50px rgba(204,0,0,0.7); }
}

/* Content side */
.ss-content {
  padding-left: 60px;
}

.ss-label {
  display: inline-block;
  font-size: 14px;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--color-main, #0057ff);
  margin-bottom: 16px;
  position: relative;
  padding-left: 30px;
}

.ss-label::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  width: 20px;
  height: 1px;
  background: var(--color-main, #0057ff);
}

.ss-title {
  font-size: clamp(36px, 4vw, 58px);
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -1.5px;
  margin-bottom: 24px;
}

.ss-title a {
  color: #000;
  text-decoration: none;
  transition: color 0.3s ease;
}

.ss-title a:hover {
  color: #cc0000;
}

.ss-desc {
  font-size: 14px;
  line-height: 1.8;
  color: #000;
  margin-bottom: 28px;
}

/* Tech tags */
.ss-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 28px;
}

.ss-tags span {
  font-size: 14px;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #000;
  border: 1px solid #c8c8c8;
  padding: 6px 14px;
  border-radius: 4px;
  transition: border-color 0.3s ease, color 0.3s ease, background 0.3s ease;
}

.ss-tags span:hover {
  border-color: #cc0000;
  color: #cc0000;
  background: rgba(204,0,0,0.06);
}

/* Companies */
.ss-companies {
  margin-bottom: 36px;
  padding: 18px 20px;
  border-left: 2px solid #cc0000;
  background: rgba(204,0,0,0.03);
  border-radius: 0 8px 8px 0;
}

.ss-companies small {
  display: block;
  font-size: 14px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #cc0000;
  margin-bottom: 6px;
}

.ss-companies p {
  font-size: 14px;
  color: #000;
  margin: 0;
  line-height: 1.6;
}

/* CTA button */
.ss-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: #cc0000;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  text-decoration: none;
  padding: 16px 32px;
  border-radius: 6px;
  transition: background 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease;
}

.ss-btn span {
  transition: transform 0.3s ease;
}

.ss-btn:hover {
  background: #aa0000;
  transform: translateY(-2px);
  box-shadow: 0 12px 30px rgba(204,0,0,0.35);
  color: #fff;
  text-decoration: none;
}

.ss-btn:hover span {
  transform: translateX(4px);
}

@media (max-width: 991px) {
  .ss-content {
    padding-left: 0;
    margin-top: 0;
  }
  .services-showcase .col-lg-6:first-child {
    order: 2;
  }
  .services-showcase .col-lg-6:last-child {
    order: 1;
    margin-bottom: 40px;
  }
}

@media (max-width: 767px) {
  .services-showcase {
    padding: 60px 0;
  }
  .ss-title {
    font-size: clamp(28px, 6vw, 42px);
  }
  .ss-tags {
    gap: 8px;
  }
  .ss-companies {
    padding: 14px 16px;
  }
  .ss-btn {
    width: 100%;
    justify-content: center;
  }
}

/* ── ABILITIES SECTION ── */

.abilities-light {
  background: #fff !important;
}

.abilities-light .works-subtitle {
  color: #000;
}

.abilities-light .section-title h2 {
  color: #000;
}


.abilities-header {
  margin-bottom: 70px;
  text-align: center;
}

.abilities-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}

.ability-card {
  position: relative;
  background: #fff;
  border: 1px solid #c8c8c8;
  border-radius: 20px;
  padding: 48px 36px 40px;
  overflow: hidden;
  transition: border-color 0.4s ease, transform 0.4s ease, box-shadow 0.4s ease;
  text-align: center;
}

.ability-card::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 50% 0%, rgba(204,0,0,0.06) 0%, transparent 65%);
  opacity: 0;
  transition: opacity 0.4s ease;
  border-radius: 20px;
}

.ability-card:hover {
  border-color: #cc0000;
  transform: translateY(-10px);
  box-shadow: 0 30px 70px rgba(204,0,0,0.12);
}

.ability-card:hover::before {
  opacity: 1;
}

/* Icon area */
.ability-icon {
  width: 130px;
  height: 130px;
  margin: 0 auto 32px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  animation: iconFloat 3.5s ease-in-out infinite;
}

.ability-icon::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background: transparent;
  border: 1px solid rgba(204,0,0,0.15);
  transition: border-color 0.4s ease;
}

.ability-card:hover .ability-icon::before {
  border-color: rgba(204,0,0,0.4);
}

.ability-icon i {
  font-size: 48px;
  color: #cc0000;
  position: relative;
  z-index: 1;
  transition: transform 0.4s ease, color 0.4s ease;
}

.ability-card:hover .ability-icon i {
  transform: scale(1.15);
}

@keyframes iconFloat {
  0%, 100% { transform: translateY(0); }
  50%       { transform: translateY(-8px); }
}

.ability-title {
  font-size: 20px;
  font-weight: 700;
  color: #000;
  margin-bottom: 14px;
  letter-spacing: 0.2px;
  line-height: 1.3;
}

.ability-desc {
  font-size: 14px;
  line-height: 1.8;
  color: #000;
  margin: 0 0 28px;
  transition: color 0.4s ease;
}

.ability-card:hover .ability-desc {
  color: #000;
}

.ability-line {
  height: 2px;
  width: 40px;
  background: #c8c8c8;
  border-radius: 2px;
  margin: 0 auto;
  transition: width 0.4s ease, background 0.4s ease;
}

.ability-card:hover .ability-line {
  width: 80px;
  background: #cc0000;
}

@media (max-width: 991px) {
  .abilities-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .abilities-header {
    margin-bottom: 40px;
  }
}

@media (max-width: 767px) {
  .ability-card {
    padding: 32px 24px 28px;
  }
  .ability-title {
    font-size: 14px;
  }
  .works-header {
    margin-bottom: 50px;
  }
  .works-subtitle {
    font-size: 14px;
    padding: 0 16px;
  }
}

/* ── UX SECTION ── */
.uxsec {
  background: #fff;
  padding: 80px 0;
  position: relative;
  overflow: hidden;
}

.uxsec::before {
  content: '';
  position: absolute;
  bottom: -200px;
  left: -200px;
  width: 500px;
  height: 500px;
  background: radial-gradient(circle, rgba(0,87,255,0.06) 0%, transparent 65%);
  pointer-events: none;
}

.uxsec::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.08), transparent);
}

.uxsec-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: start;
}

/* Left */
.uxsec-label {
  display: inline-block;
  font-size: 14px;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: #cc0000;
  margin-bottom: 20px;
  padding-left: 28px;
  position: relative;
}

.uxsec-label::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  width: 18px;
  height: 1px;
  background: #cc0000;
}

.uxsec-title {
  font-size: clamp(28px, 3.5vw, 48px);
  font-weight: 800;
  color: #000;
  line-height: 1.15;
  letter-spacing: -1px;
  margin-bottom: 32px;
}

.uxsec-email {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #000;
  font-size: 14px;
  text-decoration: none;
  border-bottom: 1px solid rgba(0,0,0,0.15);
  padding-bottom: 8px;
  margin-bottom: 40px;
  transition: color 0.3s ease, border-color 0.3s ease;
}

.uxsec-email:hover {
  color: #cc0000;
  border-color: #cc0000;
}

.uxsec-email svg {
  flex-shrink: 0;
  color: #cc0000;
}

.uxsec-stat {
  display: inline-flex;
  flex-direction: column;
  border-left: 3px solid #cc0000;
  padding-left: 20px;
}

.uxsec-stat strong {
  font-size: 52px;
  font-weight: 900;
  color: #000;
  line-height: 1;
  letter-spacing: -2px;
}

.uxsec-stat span {
  font-size: 14px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #000;
  margin-top: 6px;
}

/* Right */
.uxsec-desc {
  font-size: 14px;
  line-height: 1.85;
  color: #000;
  margin-bottom: 36px;
}

.uxsec-feature {
  display: flex;
  gap: 20px;
  align-items: flex-start;
  padding: 24px;
  border: 1px solid #c8c8c8;
  border-radius: 12px;
  margin-bottom: 16px;
  background: transparent;
  transition: border-color 0.3s ease, background 0.3s ease, transform 0.3s ease;
  opacity: 0;
  transform: translateY(40px);
}

.uxsec-feature.animated {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.6s ease, transform 0.6s ease, border-color 0.3s ease, background 0.3s ease;
}

.uxsec-feature:hover {
  border-color: #cc0000;
  background: transparent;
  transform: translateY(0) translateX(6px);
}

.uxsec-feature-icon {
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  border-radius: 10px;
  background: rgba(204,0,0,0.10);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #cc0000;
  transition: background 0.3s ease;
}

.uxsec-feature:hover .uxsec-feature-icon {
  background: rgba(204,0,0,0.22);
}

.uxsec-feature h6 {
  font-size: 14px;
  font-weight: 700;
  color: #000;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  margin: 0 0 8px;
}

.uxsec-feature p {
  font-size: 14px;
  line-height: 1.7;
  color: #000;
  margin: 0;
}

/* Responsive */
@media (max-width: 991px) {
  .uxsec-inner {
    grid-template-columns: 1fr;
    gap: 48px;
  }
}

@media (max-width: 767px) {
  .uxsec {
    padding: 60px 0;
  }
  .uxsec-stat strong {
    font-size: 40px;
  }
  .uxsec-feature {
    flex-direction: column;
    gap: 14px;
  }
  .uxsec-desc {
    font-size: 14px;
  }
}

/* ── PLACEMENT SECTION ── */
.placement-section {
  background: #161b2e;
  background-image: radial-gradient(ellipse at 80% 50%, rgba(204,0,0,0.05) 0%, transparent 55%);
  padding: 80px 0;
  position: relative;
  overflow: hidden;
}

.placement-section > .container {
  position: relative;
}

.placement-section::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.08), transparent);
}

.placement-header {
  text-align: center;
  margin-bottom: 60px;
}

@media (max-width: 767px) {
  .placement-section {
    padding: 60px 0;
  }
  .placement-header {
    margin-bottom: 40px;
  }
  .student-card {
    padding: 28px 18px 24px;
    min-height: auto;
  }
}


/* ── ALL-CASES OVERLAY RESPONSIVE ── */
@media (max-width: 991px) {
  .all-cases-content {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .all-cases .inner {
    padding: 0 40px;
    overflow-y: auto;
    max-height: 100vh;
  }
  .all-cases-heading {
    font-size: clamp(36px, 8vw, 60px);
  }
}

@media (max-width: 767px) {
  .all-cases .inner {
    padding: 60px 24px;
  }
  .all-cases-list li a {
    font-size: clamp(18px, 5vw, 26px);
    padding: 14px 0;
  }
  .all-cases-cta {
    width: 100%;
    justify-content: center;
  }
}

/* ── HIDE NAVBAR ELEMENTS WHEN OVERLAY OPEN ── */
.navbar.overlay-open .logo,
.navbar.overlay-open .hamburger,
.navbar.overlay-open .social-links {
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}

.navbar.overlay-open {
  z-index: 11;
}

.navbar.overlay-open .all-cases-link {
  opacity: 1;
  pointer-events: auto;
  position: relative;
  z-index: 13;
}

/* ── MOBILE NAVIGATION (≤767px) ── */
@media only screen and (max-width: 767px) {

  .site-navigation {
    width: 100%;
    left: -100%;
    padding: 0;
    justify-content: center;
  }

  .site-navigation.active {
    left: 0;
  }

  .site-navigation .inner {
    padding: 0 24px 0 80px;
    width: 100%;
    margin-top: -450px;
  }

  .site-navigation .inner ul {
    padding: 0;
  }

  .site-navigation .inner ul li {
    margin: 0;
    border-bottom: 1px solid rgba(255,255,255,0.06);
  }

  .site-navigation .inner ul li a {
    font-size: 7vw;
    font-weight: 800;
    padding: 8px 0;
    gap: 0;
    letter-spacing: -0.5px;
  }

  .nav-num {
    display: none;
  }

  /* Close X: same position as hamburger in left sidebar */
  .nav-close {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
}

/* ── MOBILE BANNER / SLIDER FIXES (≤767px) ── */
@media only screen and (max-width: 767px) {

  .navbar {
    padding: 10px !important;
  }

  /* Reduce banner height */
  .slider,
  .slider .gallery-top,
  .slider .gallery-top .swiper-wrapper,
  .slider .swiper-container {
    height: 55vh;
    min-height: 300px;
  }

  /* gallery-thumbs centered via CSS on mobile */
  .slider .gallery-thumbs {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 9;
    position: absolute !important;
    top: 50% !important;
    bottom: auto !important;
    left: 0 !important;
    height: auto !important;
    transform: translateY(-50%) !important;
    margin-top: 90px !important;
  }

  .slider .gallery-thumbs .swiper-wrapper {
    padding-left: 0;
    align-items: center !important;
  }

  .slider .gallery-thumbs .swiper-slide {
    text-align: center !important;
  }

  .slider .gallery-thumbs .swiper-slide-active {
    transform: none !important;
  }

  .slider .gallery-thumbs .swiper-slide h1,
  .slider .gallery-thumbs .swiper-slide-active h1 {
    font-size: 10vw;
    font-weight: 900;
    line-height: 1.1;
    text-align: center;
  }

  .slider .gallery-thumbs .swiper-slide-active a {
    font-size: 14px;
    text-align: center;
  }

  .slider .gallery-thumbs .swiper-slide-active a.hire-btn,
  .slider .gallery-thumbs .swiper-slide-duplicate-active a.hire-btn {
    padding: 0px 28px;
    letter-spacing: 0.3px;
    border-radius: 20px;
    margin-top: 8px;
  }

  /* Service tags */
  .slide-service-tags {
    bottom: 16px;
    left: 70px;
    gap: 6px;
  }

  /* Hide prev/next buttons */
  .slider .swiper-button-prev,
  .slider .swiper-button-next {
    display: none;
  }

  /* left-side scrolls with banner (absolute), full banner height */
  .left-side {
    position: absolute !important;
    width: 60px;
    height: 55vh;
    min-height: 300px;
    border-right: none;
    padding: 16px 8px;
    justify-content: space-between;
  }

  /* Social icons at bottom of sidebar */
  .left-side .social-links {
    display: block !important;
  }

  .left-side .social-links ul {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
  }

  .left-side .social-links ul li a {
    width: 26px;
    height: 26px;
    font-size: 14px;
  }

  .left-side.nav-open .social-links ul li a {
    color: #fff;
    background: #cc0000;
    border: 1px solid #cc0000;
  }

  .left-side.nav-open .social-links ul li a:hover {
    background: #a00000;
    border-color: #a00000;
    color: #fff;
  }
}

/* ══════════════════════════════════════
   ABOUT PAGE
══════════════════════════════════════ */

/* ── HERO ── */
.about-hero {
  width: 100%;
  height: 100vh;
  position: relative;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: #0a0e1a;
  padding-top: 80px;
}

.about-hero .video-bg {
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.about-hero .video-bg video {
  min-width: 100%;
  min-height: 100%;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  object-fit: cover;
}

.about-hero-overlay {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 80% 70% at 15% 50%, rgba(0,80,255,0.22) 0%, transparent 65%),
    radial-gradient(ellipse 55% 60% at 85% 25%, rgba(0,180,160,0.14) 0%, transparent 60%),
    linear-gradient(to bottom, rgba(0,5,20,0.30) 0%, rgba(0,5,15,0.20) 45%, rgba(0,0,10,0.55) 100%);
}
.about-hero-overlay::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to right, rgba(0,10,40,0.38) 0%, transparent 50%, rgba(0,0,0,0.10) 100%);
}

.about-hero-inner {
  position: relative;
  z-index: 2;
  width: 100%;
  padding-left: 220px;
  padding-right: 60px;
}

.about-hero-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--color-main, #0057ff);
  margin-bottom: 12px;
  padding: 6px 14px;
  border: 1px solid rgba(0,87,255,0.35);
  border-radius: 100px;
}

.about-hero-title {
  font-size: clamp(36px, 5vw, 72px);
  font-weight: 900;
  color: #fff;
  line-height: 1;
  letter-spacing: -2px;
  margin-bottom: 14px;
}

.about-hero-title em {
  font-style: normal;
  color: var(--color-main, #0057ff);
}

.about-hero-sub {
  font-size: 18px;
  color: rgba(255,255,255,0.6);
  font-weight: 300;
  margin-bottom: 28px;
  max-width: 480px;
}

.about-hero-stats {
  display: flex;
  align-items: center;
  gap: 40px;
}

.ahs-item {
  display: flex;
  flex-direction: column;
}

.ahs-item strong {
  font-size: 42px;
  font-weight: 900;
  color: #fff;
  line-height: 1;
  letter-spacing: -2px;
}

.ahs-item span {
  font-size: 14px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: rgba(255,255,255,0.4);
  margin-top: 4px;
}

.ahs-divider {
  width: 1px;
  height: 50px;
  background: rgba(255,255,255,0.15);
}

/* ── WHO WE ARE ── */
.about-intro-sec {
  background: #fff;
  padding: 100px 0;
  position: relative;
}

.about-intro-sec::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(0,0,0,0.08), transparent);
}

/* Centered heading block */
.about-intro-header {
  text-align: center;
  margin-bottom: 70px;
}

.about-intro-header .section-title h2 {
  color: #000;
}

.about-intro-header .works-subtitle {
  color: rgba(0,0,0,0.55);
}

.about-intro-header .works-label {
  color: #cc0000;
}

/* Image left + content right */
.about-intro-body {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 70px;
  align-items: center;
}

.about-intro-img {
  min-width: 0;
}

.about-intro-content {
  min-width: 0;
}

.about-intro-title {
  font-size: clamp(28px, 3.5vw, 48px);
  font-weight: 900;
  color: #000;
  line-height: 1.1;
  letter-spacing: -1.5px;
  margin: 16px 0 28px;
}

.about-intro-title em {
  font-style: normal;
  color: #cc0000;
}

.about-intro-line {
  width: 50px;
  height: 3px;
  background: #cc0000;
  border-radius: 2px;
  margin-bottom: 32px;
}

.about-cert-fig {
  position: relative;
  display: block;
  border-radius: 16px;
  overflow: hidden;
  margin: 0;
}

.about-cert-fig img {
  width: 100%;
  display: block;
  border-radius: 16px;
  filter: brightness(0.92);
  transition: filter 0.4s ease, transform 0.5s ease;
}

.about-cert-fig:hover img {
  filter: brightness(1);
  transform: scale(1.03);
}

.about-cert-badge {
  position: absolute;
  bottom: 16px;
  left: 16px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(0,0,0,0.75);
  backdrop-filter: blur(8px);
  color: #fff;
  font-size: 14px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  padding: 8px 14px;
  border-radius: 100px;
  border: 1px solid rgba(204,0,0,0.5);
}

.about-intro-desc {
  font-size: 14px;
  line-height: 1.85;
  color: #000;
  margin-bottom: 20px;
}

.about-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 32px;
}

.about-tags span {
  font-size: 14px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: #cc0000;
  border: 1px solid rgba(204,0,0,0.35);
  padding: 6px 16px;
  border-radius: 100px;
  transition: background 0.3s ease, color 0.3s ease;
}

.about-tags span:hover {
  background: #cc0000;
  color: #fff;
}

/* ── TESTIMONIALS ── */
.about-testi-sec {
  background: #0f1320;
  padding: 100px 0;
  position: relative;
  overflow: hidden;
}

.about-testi-sec::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.08), transparent);
}

.about-testi-sec::after {
  content: '';
  position: absolute;
  top: -200px; right: -200px;
  width: 500px; height: 500px;
  background: radial-gradient(circle, rgba(204,0,0,0.07) 0%, transparent 65%);
  pointer-events: none;
}

.about-testi-grid {
  display: grid;
  grid-template-columns: 1fr 1.6fr;
  gap: 60px;
  align-items: center;
}

.about-testi-left {
  min-width: 0;
}

.about-testi-right {
  min-width: 0;
  overflow: hidden;
}

.about-testi-title {
  font-size: clamp(30px, 3.5vw, 52px);
  font-weight: 800;
  color: #fff;
  line-height: 1.15;
  letter-spacing: -1px;
  margin: 0 0 20px;
}

.about-testi-title em {
  font-style: normal;
  color: var(--color-main);
}

.about-testi-left .works-label {
  display: inline-block;
  font-family: 'Fjalla One', sans-serif;
  font-size: 14px;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: var(--color-main);
  margin-bottom: 16px;
  padding-left: 24px;
  position: relative;
}

.about-testi-left .works-label::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  width: 16px;
  height: 1px;
  background: var(--color-main);
}

/* ── FOUNDERS ── */
.about-founders-sec {
  background: #fff;
  padding: 100px 0;
  position: relative;
}

.about-founders-sec::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(0,0,0,0.08), transparent);
}

.about-founders-header {
  text-align: center;
  margin-bottom: 64px;
}

.about-founders-header .works-label {
  color: #cc0000;
}

.about-founders-header .section-title h2 {
  color: #000;
}

.about-founders-header .works-subtitle {
  color: rgba(0,0,0,0.55);
}

.about-founders-title {
  font-size: clamp(28px, 3.5vw, 48px);
  font-weight: 800;
  color: #000;
  line-height: 1.15;
  letter-spacing: -1px;
  margin: 0 0 20px;
}

.about-founders-title em {
  font-style: normal;
  color: #cc0000;
}

.about-founders-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
}

.founder-card {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 32px;
  align-items: start;
  background: transparent;
  border: 1px solid #c8c8c8;
  border-radius: 16px;
  padding: 32px;
  transition: border-color 0.3s ease, background 0.3s ease, transform 0.3s ease;
}

.founder-card:hover {
  border-color: #cc0000;
  background: transparent;
  transform: translateY(-6px);
}

.founder-img-wrap {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
}

.founder-img-wrap img {
  width: 100%;
  display: block;
  border-radius: 12px;
  transition: transform 0.5s ease;
}

.founder-card:hover .founder-img-wrap img {
  transform: scale(1.05);
}

.founder-img-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(204,0,0,0.2), transparent);
  border-radius: 12px;
}

.founder-role {
  font-size: 14px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #cc0000;
  margin-bottom: 10px;
}

.founder-name {
  font-size: 24px;
  font-weight: 800;
  color: #000;
  letter-spacing: -0.5px;
  margin: 0 0 16px;
}

.founder-desc {
  font-size: 14px;
  line-height: 1.8;
  color: #000;
  margin: 0;
}

/* ── TEAM ── */
.about-team-sec {
  background: #0a0e1a;
  padding: 100px 0;
  position: relative;
}

.about-team-sec::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.08), transparent);
}

.about-team-header {
  text-align: center;
  margin-bottom: 64px;
}

.about-team-header .works-subtitle {
  color: rgba(255,255,255,0.55);
}

.about-team-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 24px;
}

.team-card {
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 14px;
  overflow: hidden;
  transition: border-color 0.3s ease, transform 0.3s ease, background 0.3s ease;
}

.team-card:hover {
  border-color: rgba(0,87,255,0.4);
  background: rgba(0,87,255,0.05);
  transform: translateY(-8px);
}

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

.team-card-img img {
  width: 100%;
  aspect-ratio: 3/4;
  object-fit: cover;
  display: block;
  transition: transform 0.5s ease;
  filter: grayscale(20%);
}

.team-card:hover .team-card-img img {
  transform: scale(1.06);
  filter: grayscale(0%);
}

.team-card-socials {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  display: flex;
  justify-content: center;
  gap: 10px;
  padding: 16px;
  background: linear-gradient(to top, rgba(0,0,0,0.8), transparent);
  transform: translateY(100%);
  transition: transform 0.35s ease;
}

.team-card:hover .team-card-socials {
  transform: translateY(0);
}

.team-card-socials a {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--color-main, #0057ff);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  transition: background 0.3s ease, transform 0.3s ease;
}

.team-card-socials a:hover {
  background: #fff;
  color: var(--color-main, #0057ff);
  transform: scale(1.15);
}

.team-card-info {
  padding: 18px 16px;
  text-align: center;
}

.team-card-info h6 {
  font-size: 14px;
  font-weight: 700;
  color: #fff;
  margin: 0 0 6px;
  letter-spacing: 0.3px;
}

.team-card-info small {
  font-size: 14px;
  color: rgba(255,255,255,0.4);
  letter-spacing: 0.5px;
}

/* ── RESPONSIVE ── */
@media (max-width: 1199px) {
  .about-team-grid { grid-template-columns: repeat(3, 1fr); }
  .about-founders-grid { grid-template-columns: 1fr; }
  .founder-card { grid-template-columns: 180px 1fr; }
}

@media (max-width: 991px) {
  .about-hero-inner { padding-left: 140px; }
  .about-intro-body,
  .about-testi-grid { grid-template-columns: 1fr; gap: 48px; }
  .about-team-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 767px) {
  .about-hero-inner { padding-left: 80px; padding-right: 24px; }
  .about-hero-stats { gap: 24px; }
  .about-hero { height: 55vh; min-height: 300px; }
  .ahs-item strong { font-size: 30px; }
  .about-intro-sec,
  .about-testi-sec,
  .about-founders-sec,
  .about-team-sec { padding: 60px 0; }
  .founder-card { grid-template-columns: 1fr; }
  .about-team-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ── ABOUT PAGE TESTIMONIAL OVERRIDES ── */
.about-testi-sec .testimonials-slider {
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 20px;
  overflow: hidden;
  color: #fff;
}

.about-testi-sec .testimonial {
  padding: 48px 48px 56px;
  flex-direction: column;
}

.about-testi-sec .testimonial blockquote {
  font-size: 17px;
  line-height: 1.85;
  font-weight: 300;
  color: rgba(255,255,255,0.8);
  border-bottom: 1px solid rgba(255,255,255,0.1);
  padding-bottom: 28px;
  margin-bottom: 28px;
  position: relative;
  padding-top: 36px;
}

.about-testi-sec .testimonial blockquote::before {
  content: '\201C';
  position: absolute;
  top: -8px;
  left: 0;
  font-size: 72px;
  line-height: 1;
  color: var(--color-main);
  font-family: Georgia, serif;
  opacity: 0.6;
}

.about-testi-sec .testimonial .reviewer img {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  border: 2px solid var(--color-main);
  object-fit: cover;
}

.about-testi-sec .testimonial .reviewer h6 {
  color: #fff;
  font-size: 14px;
  font-weight: 700;
}

.about-testi-sec .testimonial .reviewer small {
  color: rgba(255,255,255,0.45);
  font-size: 14px;
  letter-spacing: 0.5px;
}

.about-testi-sec .testimonials-slider .swiper-pagination {
  bottom: 20px;
  left: 0;
  right: 0;
  width: 100%;
  text-align: center;
}

.about-testi-sec .testimonials-slider .swiper-pagination-bullet {
  background: rgba(255,255,255,0.3);
  border: none;
  transform: scale(0.7);
}

.about-testi-sec .testimonials-slider .swiper-pagination-bullet-active {
  background: var(--color-main);
  border: none;
  transform: scale(1);
}

/* ── HAMBURGER WRAP ── */
.hamburger-wrap {
  position: relative;
  margin: auto;
  display: flex;
  align-items: center;
  justify-content: center;
}

.hamburger-wrap .hamburger {
  margin: 0;
}

/* ══════════════════════════════════════
   SERVICES PAGE
══════════════════════════════════════ */

/* ── INTRO ── */
.srv-intro-sec {
  background: #fff;
  padding: 80px 0;
  position: relative;
  overflow: hidden;
}

.srv-intro-sec::before {
  content: '';
  position: absolute;
  bottom: -200px;
  left: -200px;
  width: 500px;
  height: 500px;
  background: radial-gradient(circle, rgba(0,87,255,0.06) 0%, transparent 65%);
  pointer-events: none;
}

.srv-intro-sec::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(0,0,0,0.08), transparent);
}

/* ── SERVICE CARDS ── */
.srv-cards-sec {
  background: #f7f7f9;
  padding: 20px 0 100px;
}

.srv-cards-grid {
  display: flex;
  flex-direction: column;
  gap: 28px;
}

.srv-card {
  display: grid;
  grid-template-columns: 1fr 1fr;
  overflow: hidden;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 4px 24px rgba(0,0,0,0.06);
  transition: transform 0.4s ease, box-shadow 0.4s ease;
  position: relative;
}

.srv-card::before {
  content: '';
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 4px;
  background: #cc0000;
  border-radius: 24px 0 0 24px;
  opacity: 0;
  transition: opacity 0.4s ease;
  z-index: 2;
}

.srv-card:hover::before { opacity: 1; }

.srv-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 24px 72px rgba(0,0,0,0.12), 0 4px 16px rgba(204,0,0,0.08);
}

.srv-card--reverse {
  direction: rtl;
}

.srv-card--reverse > * {
  direction: ltr;
}

.srv-card--reverse::before {
  left: auto;
  right: 0;
  border-radius: 0 24px 24px 0;
}

/* Image side */
.srv-card-img {
  position: relative;
  overflow: hidden;
  min-height: 400px;
}

.srv-card-img::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(204,0,0,0.18) 0%, transparent 60%);
  opacity: 0;
  transition: opacity 0.5s ease;
}

.srv-card:hover .srv-card-img::after { opacity: 1; }

.srv-card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.7s cubic-bezier(0.25,0.46,0.45,0.94);
  filter: brightness(0.9) saturate(1.1);
}

.srv-card:hover .srv-card-img img {
  transform: scale(1.08);
  filter: brightness(1) saturate(1.15);
}

.srv-card-num {
  position: absolute;
  bottom: 24px;
  left: 24px;
  font-size: clamp(52px, 6vw, 80px);
  font-weight: 900;
  line-height: 1;
  color: #fff;
  opacity: 0.18;
  letter-spacing: -4px;
  pointer-events: none;
  z-index: 1;
  transition: opacity 0.4s ease;
}

.srv-card:hover .srv-card-num { opacity: 0.32; }

/* Content side */
.srv-card-body {
  padding: 52px 56px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: #fff;
  position: relative;
}

.srv-card--reverse .srv-card-body {
  padding: 52px 56px;
}

.srv-card-icon {
  width: 56px;
  height: 56px;
  border-radius: 16px;
  background: #cc0000;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  margin-bottom: 28px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  box-shadow: 0 8px 24px rgba(204,0,0,0.25);
}

.srv-card:hover .srv-card-icon {
  transform: scale(1.1) rotate(-4deg);
  box-shadow: 0 12px 32px rgba(204,0,0,0.35);
}

.srv-card-title {
  font-size: clamp(20px, 2vw, 30px);
  font-weight: 800;
  color: #0a0e1a;
  letter-spacing: -0.6px;
  margin: 0 0 14px;
  line-height: 1.2;
}

.srv-card-desc {
  font-size: 14px;
  line-height: 1.9;
  color: #000;
  margin: 0 0 32px;
}

.srv-card-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.srv-card-tags span {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: #cc0000;
  background: rgba(204,0,0,0.06);
  border: 1px solid rgba(204,0,0,0.18);
  padding: 6px 16px;
  border-radius: 100px;
  transition: background 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}

.srv-card-tags span:hover {
  background: #cc0000;
  color: #fff;
  border-color: #cc0000;
}

.srv-card-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 28px;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.5px;
  color: #cc0000;
  text-decoration: none;
  transition: gap 0.3s ease, opacity 0.3s ease;
}

.srv-card-link:hover {
  gap: 14px;
  opacity: 0.8;
}

/* ── CTA STRIP ── */
.srv-cta-sec {
  background: #0a0e1a;
  padding: 80px 0;
  position: relative;
}

.srv-cta-sec::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.08), transparent);
}

.srv-cta-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  background: rgba(0,87,255,0.07);
  border: 1px solid rgba(0,87,255,0.2);
  border-radius: 20px;
  padding: 56px 60px;
}

.srv-cta-title {
  font-size: clamp(28px, 3vw, 44px);
  font-weight: 900;
  color: #fff;
  line-height: 1.1;
  letter-spacing: -1.5px;
  margin: 0 0 12px;
}

.srv-cta-title em {
  font-style: normal;
  color: var(--color-main, #0057ff);
}

.srv-cta-desc {
  font-size: 14px;
  color: rgba(255,255,255,0.5);
  margin: 0;
  max-width: 420px;
}

.srv-cta-right {
  display: flex;
  gap: 16px;
  flex-shrink: 0;
}

.srv-cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 28px;
  border-radius: 100px;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.5px;
  text-decoration: none;
  background: #cc0000;
  color: #fff;
  transition: gap 0.3s ease, transform 0.3s ease;
}

.srv-cta-btn:hover {
  background: #cc0000;
  transform: translateY(-2px);
  color: #fff;
  gap: 14px;
}

.srv-cta-btn--outline {
  background: transparent;
  border: 1px solid rgba(255,255,255,0.2);
  color: rgba(255,255,255,0.8);
}

.srv-cta-btn--outline:hover {
  background: rgba(255,255,255,0.08);
  border-color: rgba(255,255,255,0.4);
  color: #fff;
}

/* ── RESPONSIVE ── */
@media (max-width: 991px) {
  .srv-card::before { display: none; }
  .srv-card,
  .srv-card--reverse {
    grid-template-columns: 1fr;
    direction: ltr;
  }
  .srv-card .srv-card-body { order: -1; }
  .srv-card-img { min-height: 280px; }
  .srv-card-body,
  .srv-card--reverse .srv-card-body { padding: 36px 32px; }
  .srv-cta-inner { flex-direction: column; text-align: center; padding: 40px 32px; }
  .srv-cta-right { justify-content: center; }
  .srv-cta-desc { max-width: 100%; }
}

@media (max-width: 767px) {
  .srv-cards-sec { padding: 20px 0 60px; background: #f7f7f9; }
  .srv-cards-grid { gap: 20px; }
  .srv-card-body,
  .srv-card--reverse .srv-card-body { padding: 28px 24px; }
  .srv-cta-right { flex-direction: column; width: 100%; }
  .srv-cta-btn { justify-content: center; }
}

/* ══════════════════════════════════════
   DOWNLOAD PAGE
══════════════════════════════════════ */

.dl-intro-sec {
  background: #0f1320;
  padding: 100px 0 20px;
  position: relative;
  z-index: 3;
}

.dl-intro-sec::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(204,0,0,0.3), transparent);
}

.dl-intro-sec .about-intro-header .section-title h2 {
  color: #fff;
}

.dl-intro-sec .about-intro-header .works-subtitle {
  color: rgba(255,255,255,0.55);
}

.dl-intro-sec .about-intro-header .works-label {
  color: #cc0000;
}

.dl-intro-sec .about-intro-header {
  margin-bottom: 0;
}

.dl-cards-sec {
  background: #0f1320;
  padding: 20px 0 100px;
  position: relative;
  z-index: 3;
}

.dl-cards-sec::before {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.06), transparent);
}

.dl-cards-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-bottom: 48px;
}

@keyframes dlCardIn {
  from { opacity: 0; transform: translateY(30px) scale(0.97); }
  to   { opacity: 1; transform: translateY(0)   scale(1); }
}

@keyframes dlIconFloat {
  0%,100% { transform: translateY(0); }
  50%      { transform: translateY(-5px); }
}

@keyframes dlCardGlow {
  0%,100% { box-shadow: 0 0 0 0 rgba(204,0,0,0); }
  50%      { box-shadow: 0 0 24px 4px rgba(204,0,0,0.15); }
}

.dl-card {
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 20px;
  padding: 36px 32px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  position: relative;
  overflow: hidden;
  transition: border-color 0.35s ease, background 0.35s ease, transform 0.35s cubic-bezier(.22,.68,0,1.2), box-shadow 0.35s ease;
  backdrop-filter: blur(6px);
}

.dl-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, #cc0000, rgba(204,0,0,0.2));
  opacity: 0;
  transition: opacity 0.35s ease;
  border-radius: 20px 20px 0 0;
}

.dl-card:hover::before { opacity: 1; }

.dl-card.animated {
  animation: dlCardIn 0.55s cubic-bezier(.22,.68,0,1.2) both;
}

.dl-card:hover {
  border-color: rgba(204,0,0,0.4);
  background: rgba(255,255,255,0.08);
  transform: translateY(-10px);
  box-shadow: 0 24px 60px rgba(0,0,0,0.4), 0 0 0 1px rgba(204,0,0,0.15);
}

.dl-card-icon {
  width: 56px;
  height: 56px;
  border-radius: 16px;
  background: #cc0000;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  flex-shrink: 0;
  box-shadow: 0 8px 24px rgba(204,0,0,0.3);
}

.dl-card:hover .dl-card-icon {
  transform: scale(1.1) rotate(-4deg);
  box-shadow: 0 12px 32px rgba(204,0,0,0.45);
  animation: none;
}

.dl-card-icon--policy {
  background: #cc0000;
  color: #fff;
  box-shadow: 0 8px 24px rgba(204,0,0,0.3);
}

.dl-card:hover .dl-card-icon--policy {
  transform: scale(1.1) rotate(-4deg);
  animation: none;
}

.dl-card-body {
  flex: 1;
}

.dl-card-type {
  display: inline-block;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #cc0000;
  background: rgba(204,0,0,0.1);
  border: 1px solid rgba(204,0,0,0.2);
  padding: 4px 12px;
  border-radius: 100px;
  margin-bottom: 14px;
}

.dl-card-type--policy {
  color: #cc0000;
  background: rgba(204,0,0,0.1);
  border-color: rgba(204,0,0,0.2);
}

.dl-card-title {
  font-size: 17px;
  font-weight: 700;
  color: #fff;
  margin: 0 0 10px;
  line-height: 1.3;
  letter-spacing: -0.3px;
}

.dl-card-desc {
  font-size: 14px;
  line-height: 1.75;
  color: rgba(255,255,255,0.45);
  margin: 0;
}

.dl-card-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  color: #cc0000;
  text-decoration: none;
  padding: 12px 0 0;
  border-top: 1px solid rgba(255,255,255,0.07);
  transition: gap 0.3s ease, color 0.3s ease;
}

.dl-card-btn:hover {
  gap: 14px;
  color: #fff;
}

.dl-note {
  display: flex;
  align-items: center;
  gap: 20px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.1);
  border-left: 3px solid #cc0000;
  border-radius: 16px;
  padding: 24px 32px;
  margin-top: 12px;
  transition: background 0.3s ease, border-color 0.3s ease;
}

.dl-note:hover {
  background: rgba(255,255,255,0.07);
  border-color: rgba(204,0,0,0.5);
  border-left-color: #cc0000;
}

.dl-note-icon {
  width: 52px;
  height: 52px;
  border-radius: 14px;
  background: #cc0000;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  flex-shrink: 0;
  box-shadow: 0 8px 24px rgba(204,0,0,0.3);
}

.dl-note-text {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.dl-note-text strong {
  font-size: 14px;
  font-weight: 700;
  color: #fff;
  letter-spacing: -0.2px;
}

.dl-note-text span {
  font-size: 14px;
  color: rgba(255,255,255,0.45);
  line-height: 1.5;
}

.dl-note-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.3px;
  color: #fff;
  background: #cc0000;
  text-decoration: none;
  padding: 12px 24px;
  border-radius: 100px;
  box-shadow: 0 8px 24px rgba(204,0,0,0.3);
  transition: gap 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease;
}

.dl-note-btn:hover {
  gap: 14px;
  transform: translateY(-2px);
  box-shadow: 0 12px 32px rgba(204,0,0,0.45);
  color: #fff;
}

@media (max-width: 640px) {
  .dl-note { flex-direction: column; align-items: flex-start; gap: 16px; padding: 24px; }
  .dl-note-btn { width: 100%; justify-content: center; }
}

@media (max-width: 991px) {
  .dl-cards-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 600px) {
  .dl-cards-grid { grid-template-columns: 1fr; }
  .dl-cards-sec { padding: 20px 0 60px; }
}

/* =============================================
   CONTACT PAGE
   ============================================= */

/* INTRO */
.ct-intro-sec {
  padding: 80px 0 50px;
  background: #0f1320;
  position: relative;
}
.ct-intro-sec::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(204,0,0,0.3), transparent);
}
.ct-intro-inner {
  max-width: 700px;
  margin: 0 auto;
  text-align: center;
}

/* OFFICE CARDS */
.ct-offices-sec {
  padding: 20px 0 70px;
  background: #0f1320;
}
.ct-offices-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}
.ct-office-card {
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 20px;
  padding: 32px 28px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  position: relative;
  overflow: hidden;
  transition: border-color 0.35s ease, background 0.35s ease, transform 0.35s cubic-bezier(.22,.68,0,1.2), box-shadow 0.35s ease;
  min-width: 0;
}
.ct-office-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, #cc0000, rgba(204,0,0,0.2));
  border-radius: 20px 20px 0 0;
  opacity: 0;
  transition: opacity 0.35s ease;
}
.ct-office-card:hover::before { opacity: 1; }
.ct-office-card.animated {
  animation: dlCardIn 0.55s cubic-bezier(.22,.68,0,1.2) both;
}
.ct-office-card:hover {
  border-color: rgba(204,0,0,0.4);
  background: rgba(255,255,255,0.08);
  transform: translateY(-8px);
  box-shadow: 0 24px 60px rgba(0,0,0,0.4), 0 0 0 1px rgba(204,0,0,0.15);
}
.ct-office-icon {
  width: 52px;
  height: 52px;
  border-radius: 14px;
  background: #cc0000;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 18px;
  flex-shrink: 0;
  box-shadow: 0 8px 24px rgba(204,0,0,0.3);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.ct-office-card:hover .ct-office-icon {
  transform: scale(1.1) rotate(-4deg);
  box-shadow: 0 12px 32px rgba(204,0,0,0.45);
}
.ct-office-city {
  font-size: 20px;
  font-weight: 700;
  color: #fff;
  margin: 0;
  letter-spacing: -0.3px;
}
.ct-office-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.ct-office-list li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 14px;
  color: rgba(255,255,255,0.55);
  line-height: 1.6;
}
.ct-office-list li i {
  color: #cc0000;
  margin-top: 3px;
  flex-shrink: 0;
  font-size: 14px;
}
.ct-office-list li a {
  color: rgba(255,255,255,0.55);
  text-decoration: none;
  transition: color 0.25s ease;
}
.ct-office-list li a:hover { color: #fff; }

/* MAP + FORM */
.ct-mapform-sec {
  padding: 0 0 90px;
  background: #0f1320;
}
.ct-mapform-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  align-items: stretch;
}
.ct-map-wrap {
  border-radius: 20px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,0.1);
  display: flex;
  flex-direction: column;
  min-height: 480px;
  position: relative;
}
.ct-map-label {
  background: rgba(204,0,0,0.12);
  border-bottom: 1px solid rgba(204,0,0,0.2);
  padding: 14px 20px;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: #cc0000;
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}
.ct-map-wrap iframe {
  flex: 1;
  width: 100%;
  display: block;
  min-height: 0;
}

/* FORM WRAP */
.ct-form-wrap {
  background: #fff;
  border: 1px solid #e8e8e8;
  border-radius: 20px;
  padding: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  box-shadow: 0 4px 32px rgba(0,0,0,0.07);
}
.ct-form-header {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 32px 36px 28px;
  border-bottom: 1px solid #f0f0f0;
  position: relative;
}
.ct-form-header::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: #cc0000;
  border-radius: 20px 20px 0 0;
}
.ct-form-title {
  font-size: 22px;
  font-weight: 800;
  color: #0a0e1a;
  margin: 0;
  letter-spacing: -0.5px;
}
.ct-form-sub {
  font-size: 14px;
  color: rgba(0,0,0,0.4);
  margin: 0;
  line-height: 1.5;
}

/* override old wpcf7 styles inside ct-form-wrap */
.ct-form-wrap .wpcf7 {
  width: 100%;
  padding: 0;
  background: transparent;
  margin-left: 0;
  box-shadow: none;
}
.ct-form-wrap form {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 28px 36px 32px;
}
.ct-field-row {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.ct-field-group {
  display: flex;
  flex-direction: column;
  gap: 5px;
  padding-bottom: 14px;
  border-bottom: 1px solid #f5f5f5;
  margin-bottom: 14px;
}
.ct-field-group:last-of-type {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}
.ct-field-group label {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: #cc0000;
  width: auto;
  margin: 0;
}
.ct-field-group label sup { color: #cc0000; }
.ct-form-wrap input[type="text"],
.ct-form-wrap input[type="email"],
.ct-form-wrap textarea {
  width: 100%;
  background: #fafafa;
  border: 1.5px solid #ebebeb;
  border-radius: 10px;
  padding: 13px 16px;
  color: #0a0e1a;
  font-size: 14px;
  font-weight: 500;
  outline: none;
  transition: border-color 0.25s ease, background 0.25s ease, box-shadow 0.25s ease;
  box-sizing: border-box;
}
.ct-form-wrap input[type="text"]:focus,
.ct-form-wrap input[type="email"]:focus,
.ct-form-wrap textarea:focus {
  border-color: #cc0000;
  background: #fff;
  box-shadow: 0 0 0 3px rgba(204,0,0,0.07);
}
.ct-form-wrap input::placeholder,
.ct-form-wrap textarea::placeholder { color: rgba(0,0,0,0.22); }
.ct-form-wrap textarea { resize: vertical; min-height: 130px; }
.error-msg {
  font-size: 14px;
  color: #cc0000;
  min-height: 0;
}
.ct-submit-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: #cc0000;
  color: #fff;
  border: none;
  border-radius: 100px;
  padding: 14px 32px;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.5px;
  cursor: pointer;
  transition: gap 0.3s ease, transform 0.3s ease;
  align-self: flex-start;
}
.ct-submit-btn:hover {
  background: #cc0000;
  color: #fff;
  gap: 14px;
  transform: translateY(-2px);
}
#contactFormMessage {
  font-size: 14px;
  margin-top: 4px;
}

/* RESPONSIVE */
@media (max-width: 991px) {
  .ct-offices-grid { grid-template-columns: 1fr 1fr; }
  .ct-mapform-grid { grid-template-columns: 1fr; }
  .ct-map-wrap { min-height: 320px; }
}
@media (max-width: 600px) {
  .ct-offices-grid { grid-template-columns: 1fr; }
  .ct-field-row { grid-template-columns: 1fr; }
  .ct-form-wrap { padding: 0; }
  .ct-form-header { padding: 24px 20px 20px; }
  .ct-form-wrap form { padding: 20px 20px 24px; }
  .ct-submit-btn { width: 100%; justify-content: center; }
}

/* =============================================
   JOIN COURSE PAGE
   ============================================= */
.jc-sec {
  padding: 80px 0 100px;
  background: #0f1320;
}
.jc-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: start;
}

/* BENEFITS PANEL */
.jc-benefits {
  display: flex;
  flex-direction: column;
  gap: 28px;
  position: sticky;
  top: 100px;
}
.jc-benefits-title {
  font-size: clamp(26px, 3vw, 38px);
  font-weight: 800;
  color: #fff;
  line-height: 1.2;
  letter-spacing: -0.5px;
  margin: 0;
}
.jc-benefits-title em {
  font-style: normal;
  color: var(--color-main, #cc0000);
}
.jc-benefits-sub {
  font-size: 14px;
  color: rgba(255,255,255,0.45);
  margin: 0;
  line-height: 1.7;
}
.jc-perks {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.jc-perks li {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 20px;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 14px;
  position: relative;
  overflow: hidden;
  transition: border-color 0.35s ease, background 0.35s ease, transform 0.35s cubic-bezier(.22,.68,0,1.2), box-shadow 0.35s ease;
  opacity: 0;
  transform: translateX(-24px);
}
.jc-perks li.jc-perk-visible {
  animation: jcPerkIn 0.5s cubic-bezier(.22,.68,0,1.2) forwards;
}
.jc-perks li::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, #cc0000, rgba(204,0,0,0.2));
  opacity: 0;
  transition: opacity 0.35s ease;
  border-radius: 14px 14px 0 0;
}
.jc-perks li:hover::before { opacity: 1; }
.jc-perks li:hover {
  border-color: rgba(204,0,0,0.4);
  background: rgba(255,255,255,0.06);
  transform: translateY(-6px) !important;
  box-shadow: 0 16px 40px rgba(0,0,0,0.35), 0 0 0 1px rgba(204,0,0,0.15);
}
.jc-perk-icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: rgba(204,0,0,0.12);
  color: #cc0000;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 17px;
  flex-shrink: 0;
  transition: background 0.3s ease, transform 0.3s ease;
}
.jc-perks li:hover .jc-perk-icon {
  background: rgba(204,0,0,0.25);
  animation: dlIconFloat 1.2s ease-in-out infinite;
}
.jc-perks li div strong {
  display: block;
  font-size: 14px;
  font-weight: 700;
  color: #fff;
  margin: 0 0 4px;
}
.jc-perks li div span {
  font-size: 14px;
  color: rgba(255,255,255,0.45);
  line-height: 1.6;
}
.jc-courses-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.jc-courses-tags span {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.5px;
  color: #fff;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.1);
  padding: 8px 16px;
  border-radius: 100px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  transition: background 0.25s ease, color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
  opacity: 0;
  animation: jcTagIn 0.4s ease forwards;
}
.jc-courses-tags span i {
  width: 24px;
  height: 24px;
  background: #cc0000;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  color: #fff;
  flex-shrink: 0;
}
.jc-courses-tags span:hover {
  background: rgba(255,255,255,0.1);
  border-color: rgba(204,0,0,0.4);
  transform: translateY(-2px);
  box-shadow: 0 4px 14px rgba(204,0,0,0.2);
}

/* FORM PANEL */
@keyframes jcPerkIn {
  from { opacity: 0; transform: translateX(-24px); }
  to   { opacity: 1; transform: translateX(0); }
}
@keyframes jcTagIn {
  from { opacity: 0; transform: translateY(8px) scale(0.9); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes jcFormGlow {
  0%,100% { box-shadow: 0 0 0 0 rgba(204,0,0,0); }
  50%      { box-shadow: 0 0 32px 6px rgba(204,0,0,0.1); }
}
@keyframes jcBtnPulse {
  0%,100% { box-shadow: 0 0 0 0 rgba(204,0,0,0.4); }
  50%      { box-shadow: 0 0 0 8px rgba(204,0,0,0); }
}
.jc-form-wrap {
  background: #fff;
  border: 1px solid #e8e8e8;
  border-radius: 20px;
  padding: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  box-shadow: 0 4px 32px rgba(0,0,0,0.07);
  animation: none;
}
.jc-form-header {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 32px 36px 28px;
  border-bottom: 1px solid #f0f0f0;
  position: relative;
}
.jc-form-header::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: #cc0000;
  border-radius: 20px 20px 0 0;
}
.jc-form-title {
  font-size: 22px;
  font-weight: 800;
  color: #0a0e1a;
  margin: 0;
  letter-spacing: -0.5px;
}
.jc-form-sub {
  font-size: 14px;
  color: rgba(0,0,0,0.4);
  margin: 0;
}
.jc-form-wrap form {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 28px 36px 32px;
}
.jc-form-wrap input[type="text"],
.jc-form-wrap input[type="email"],
.jc-form-wrap select,
.jc-form-wrap textarea {
  width: 100%;
  background: #fafafa;
  border: 1.5px solid #ebebeb;
  border-radius: 10px;
  padding: 13px 16px;
  color: #0a0e1a;
  font-size: 14px;
  font-weight: 500;
  outline: none;
  transition: border-color 0.25s ease, background 0.25s ease, box-shadow 0.25s ease;
  box-sizing: border-box;
  appearance: none;
}
.jc-form-wrap select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='rgba(0,0,0,0.4)' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  padding-right: 36px;
}
.jc-form-wrap select option { background: #fff; color: #0a0e1a; }
.jc-form-wrap input:focus,
.jc-form-wrap select:focus,
.jc-form-wrap textarea:focus {
  border-color: #cc0000;
  background: #fff;
  box-shadow: 0 0 0 3px rgba(204,0,0,0.07);
}
.jc-form-wrap input::placeholder,
.jc-form-wrap textarea::placeholder { color: rgba(0,0,0,0.22); }
.jc-form-wrap textarea { resize: vertical; min-height: 110px; }
.jc-form-wrap .ct-field-group {
  padding-bottom: 14px;
  border-bottom: 1px solid #f5f5f5;
  margin-bottom: 14px;
}
.jc-form-wrap .ct-field-group:last-of-type {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}
.jc-form-wrap .ct-field-group label {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: #cc0000;
  margin: 0;
}
.jc-form-wrap .ct-field-group label sup { color: #cc0000; }
.jc-submit-btn {
  width: 100%;
  justify-content: center;
  padding: 15px 32px;
  font-size: 14px;
  border-radius: 12px;
  margin-top: 8px;
}
.jc-submit-btn:hover {
  gap: 14px;
  transform: translateY(-2px);
}
.jc-form-wrap input.invalid,
.jc-form-wrap select.invalid,
.jc-form-wrap textarea.invalid {
  border-color: rgba(255,77,77,0.6);
  box-shadow: 0 0 0 3px rgba(255,77,77,0.1);
}
#joinFormMessage {
  font-size: 14px;
  text-align: center;
  min-height: 18px;
}

.jc-courses-tags span:nth-child(1) { animation-delay: 0.05s; }
.jc-courses-tags span:nth-child(2) { animation-delay: 0.12s; }
.jc-courses-tags span:nth-child(3) { animation-delay: 0.19s; }
.jc-courses-tags span:nth-child(4) { animation-delay: 0.26s; }
.jc-courses-tags span:nth-child(5) { animation-delay: 0.33s; }
.jc-courses-tags span:nth-child(6) { animation-delay: 0.40s; }
.jc-courses-tags span:nth-child(7) { animation-delay: 0.47s; }

/* RESPONSIVE */
@media (max-width: 991px) {
  .jc-grid { grid-template-columns: 1fr; gap: 40px; }
  .jc-benefits { position: static; }
}
@media (max-width: 600px) {
  .jc-form-wrap { padding: 28px 20px; }
  .jc-sec { padding: 50px 0 70px; }
}

/* =============================================
   JAVA FULL STACK PAGE
   ============================================= */

/* HERO ACTIONS */
.jfs-hero-actions {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}
.jfs-outline-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  color: rgba(255,255,255,0.8);
  border: 1px solid rgba(255,255,255,0.25);
  border-radius: 10px;
  padding: 13px 24px;
  text-decoration: none;
  transition: border-color 0.3s ease, color 0.3s ease, background 0.3s ease;
}
.jfs-outline-btn:hover {
  border-color: #fff;
  color: #fff;
  background: rgba(255,255,255,0.06);
}

/* STATS BAR */
.jfs-stats-bar {
  background: #0a0e1a;
  border-top: 1px solid rgba(204,0,0,0.2);
  border-bottom: 1px solid rgba(204,0,0,0.2);
  padding: 28px 0;
  position: relative;
  z-index: 2;
}
.jfs-stats-grid {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  flex-wrap: wrap;
}
.jfs-stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  padding: 0 40px;
}
.jfs-stat-num {
  font-size: 32px;
  font-weight: 900;
  color: var(--color-main, #cc0000);
  line-height: 1;
  letter-spacing: -1px;
}
.jfs-stat-label {
  font-size: 14px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: rgba(255,255,255,0.45);
}
.jfs-stat-divider {
  width: 1px;
  height: 40px;
  background: rgba(255,255,255,0.1);
}

/* ABOUT SECTION */
.jfs-about-sec {
  padding: 90px 0 70px;
  background: #0a0e1a;
  position: relative;
  z-index: 2;
}
.jfs-about-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: start;
}
.jfs-about-content {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.jfs-sec-title {
  font-size: clamp(26px, 3vw, 38px);
  font-weight: 800;
  color: #fff;
  line-height: 1.2;
  letter-spacing: -0.5px;
  margin: 0;
}
.jfs-sec-title em {
  font-style: normal;
  color: var(--color-main, #cc0000);
}
.jfs-about-content p {
  font-size: 14px;
  color: rgba(255,255,255,0.5);
  line-height: 1.8;
  margin: 0;
}
.jfs-tech-stack {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 12px;
}
.jfs-tech-stack span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 700;
  color: #fff;
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.1);
  padding: 10px 20px;
  border-radius: 100px;
  position: relative;
  overflow: hidden;
  transition: border-color 0.3s, background 0.3s, transform 0.3s, box-shadow 0.3s;
  box-shadow: 0 4px 14px rgba(0,0,0,0.2);
}
.jfs-tech-stack span i {
  color: #cc0000;
  font-size: 14px;
}
.jfs-tech-stack span::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(204,0,0,0.15), transparent);
  opacity: 0;
  transition: opacity 0.3s;
}
.jfs-tech-stack span:hover {
  border-color: rgba(204,0,0,0.5);
  background: rgba(204,0,0,0.1);
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(204,0,0,0.2);
}
.jfs-tech-stack span:hover::before {
  opacity: 1;
}
.jfs-why-cards {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.jfs-why-card {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 20px;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 14px;
  position: relative;
  overflow: hidden;
  transition: border-color 0.35s ease, background 0.35s ease, transform 0.35s cubic-bezier(.22,.68,0,1.2), box-shadow 0.35s ease;
}
.jfs-why-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, #cc0000, rgba(204,0,0,0.2));
  opacity: 0;
  transition: opacity 0.35s ease;
  border-radius: 14px 14px 0 0;
}
.jfs-why-card:hover::before { opacity: 1; }
.jfs-why-card:hover {
  border-color: rgba(204,0,0,0.4);
  background: rgba(255,255,255,0.06);
  transform: translateY(-6px);
  box-shadow: 0 16px 40px rgba(0,0,0,0.35), 0 0 0 1px rgba(204,0,0,0.15);
}
.jfs-why-icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: rgba(204,0,0,0.12);
  color: #cc0000;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 17px;
  flex-shrink: 0;
  transition: background 0.3s, transform 0.3s;
}
.jfs-why-card:hover .jfs-why-icon {
  background: rgba(204,0,0,0.25);
  animation: dlIconFloat 1.2s ease-in-out infinite;
}
.jfs-why-card div strong,
.jfs-why-title {
  display: block;
  font-size: 14px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 4px;
  margin: 0 0 4px;
}
.jfs-why-card div span {
  font-size: 14px;
  color: rgba(255,255,255,0.45);
  line-height: 1.6;
}

/* BATCHES */
.jfs-batches-sec {
  padding: 20px 0 80px;
  background: #fff;
  position: relative;
  z-index: 2;
}
.jfs-sec-header .section-title h2 { color: #000; }
.jfs-learn-sec .jfs-sec-header .section-title h2 { color: #fff; }

.jfs-sec-header {
  text-align: center;
  margin-bottom: 48px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  position: relative;
  z-index: 1;
}
.jfs-batches-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
  position: relative;
  z-index: 1;
}
.jfs-batch-card {
  background: #fff;
  border: 1px solid #c8c8c8;
  border-radius: 20px;
  padding: 36px 28px 32px;
  display: flex;
  flex-direction: column;
  gap: 18px;
  position: relative;
  overflow: hidden;
  transition: border-color 0.4s ease, transform 0.4s ease, box-shadow 0.4s ease;
  min-width: 0;
}
.jfs-batch-card::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 50% 0%, rgba(204,0,0,0.06) 0%, transparent 65%);
  opacity: 0;
  transition: opacity 0.4s ease;
  border-radius: 20px;
  pointer-events: none;
}
.jfs-batch-card:hover::before { opacity: 1; }
.jfs-batch-card.animated { animation: dlCardIn 0.55s cubic-bezier(.22,.68,0,1.2) both; }
.jfs-batch-card:hover {
  border-color: #cc0000;
  background: #fff;
  transform: translateY(-10px);
  box-shadow: 0 30px 70px rgba(204,0,0,0.12);
}
.jfs-batch-badge {
  position: absolute;
  top: 20px; right: 20px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: #555;
  background: rgba(0,0,0,0.05);
  border: 1px solid #c8c8c8;
  padding: 4px 10px;
  border-radius: 100px;
}
.jfs-batch-badge--blue {
  color: #cc0000;
  background: rgba(204,0,0,0.08);
  border-color: rgba(204,0,0,0.2);
}
.jfs-batch-icon {
  font-size: 36px;
  color: #cc0000;
  line-height: 1;
}
.jfs-batch-title {
  font-size: 18px;
  font-weight: 700;
  color: #000;
  margin: 0;
  letter-spacing: -0.3px;
}
.jfs-batch-list {
  list-style: none;
  margin: 0; padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1;
}
.jfs-batch-list li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 14px;
  color: #444;
  line-height: 1.5;
  border-bottom: 1px solid #f0f0f0;
  padding-bottom: 10px;
}
.jfs-batch-list li:last-child { border-bottom: none; padding-bottom: 0; }
.jfs-batch-list li i {
  color: #cc0000;
  margin-top: 3px;
  flex-shrink: 0;
  font-size: 14px;
  background: none;
  width: auto;
  height: auto;
  border-radius: 0;
  display: inline-block;
  align-items: unset;
  justify-content: unset;
}
.jfs-batch-list li b { color: #000; font-weight: 700; }
.jfs-enroll-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  color: #cc0000;
  text-decoration: none;
  padding: 10px 0;
  border-top: 1px solid #e8e8e8;
  transition: gap 0.3s, color 0.3s;
  position: relative;
  z-index: 2;
}
.jfs-enroll-btn:hover { gap: 12px; color: #aa0000; text-decoration: none; }

/* WHY / LEARN */
.jfs-learn-sec {
  padding: 80px 0 80px;
  background: #0a0e1a;
  position: relative;
  z-index: 2;
}
.jfs-learn-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
}
.jfs-learn-block {
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 18px;
  padding: 36px 32px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  position: relative;
  overflow: hidden;
  transition: border-color 0.35s ease, background 0.35s ease, transform 0.35s cubic-bezier(.22,.68,0,1.2), box-shadow 0.35s ease;
}
.jfs-learn-block::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, #cc0000, rgba(204,0,0,0.2));
  opacity: 0;
  transition: opacity 0.35s ease;
  border-radius: 18px 18px 0 0;
}
.jfs-learn-block:hover::before { opacity: 1; }
.jfs-learn-block:hover {
  border-color: rgba(204,0,0,0.4);
  background: rgba(255,255,255,0.06);
  transform: translateY(-10px);
  box-shadow: 0 24px 60px rgba(0,0,0,0.4), 0 0 0 1px rgba(204,0,0,0.15);
}
.jfs-learn-icon-wrap {
  width: 52px;
  height: 52px;
  border-radius: 14px;
  background: rgba(204,0,0,0.12);
  color: var(--color-main, #cc0000);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
}
.jfs-learn-title {
  font-size: 20px;
  font-weight: 700;
  color: #fff;
  margin: 0;
  letter-spacing: -0.3px;
}
.jfs-learn-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.jfs-learn-list li {
  font-size: 14px;
  color: rgba(255,255,255,0.8);
  line-height: 1.7;
  padding-left: 0;
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 8px;
}
.jfs-learn-list li::before { display: none; }
.jfs-learn-list li i {
  color: var(--color-main, #cc0000);
  font-size: 14px;
  flex-shrink: 0;
  margin-top: 3px;
}

/* CURRICULUM */
.jfs-curriculum-sec {
  padding: 80px 0 80px;
  background: #fff;
  position: relative;
  z-index: 2;
}
.jfs-curriculum-sec .jfs-sec-header { position: relative; z-index: 1; }
.jfs-curriculum-sec .jfs-sec-header .section-title h2 { color: #000; }
.jfs-curriculum-sec .works-subtitle { color: #444; }
.jfs-accordion-wrap {
  max-width: 860px;
  margin: 0 auto 40px;
}

/* override old accordion styles inside jfs */
.jfs-accordion-wrap .accordion__item {
  margin-bottom: 12px;
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid #c8c8c8;
  background: #fff;
  transition: border-color 0.3s, box-shadow 0.3s, background 0.3s;
}
.jfs-accordion-wrap .accordion__item:hover {
  border-color: rgba(204,0,0,0.3);
  background: #fff;
}
.jfs-accordion-wrap .accordion__item:has(.active) {
  border-color: #cc0000;
  box-shadow: 0 8px 32px rgba(204,0,0,0.1);
}
.jfs-accordion-wrap .accordion__item__header {
  background: transparent;
  border: none;
  border-radius: 0;
  padding: 20px 56px 20px 24px;
  color: #000;
  font-size: 14px;
  font-weight: 700;
  font-family: inherit;
  letter-spacing: normal;
  word-spacing: normal;
  display: flex;
  align-items: center;
  gap: 14px;
  box-shadow: none;
  transition: color 0.3s, padding-left 0.3s;
  margin-bottom: 0;
  cursor: pointer;
  position: relative;
}
.jfs-accordion-wrap .accordion__item:hover .accordion__item__header:not(.active) {
  padding-left: 30px;
  color: #000;
}
.jfs-accordion-wrap .accordion__item:hover .accordion__item__header:not(.active)::after {
  content: '';
  position: absolute;
  left: 0;
  top: 20%;
  height: 60%;
  width: 3px;
  background: #cc0000;
  border-radius: 0 3px 3px 0;
}
.jfs-accordion-wrap .accordion__item__header:hover {
  color: #000;
}
.jfs-accordion-wrap .accordion__item__header.active {
  color: #cc0000;
  border-bottom: 1px solid rgba(204,0,0,0.15);
}
.jfs-accordion-wrap .accordion__item__header::before {
  content: '';
  position: absolute;
  right: 22px;
  top: 50%;
  width: 9px;
  height: 9px;
  transform: translateY(-65%) rotate(45deg);
  border-right: 2px solid #888;
  border-bottom: 2px solid #888;
  border-left: none;
  border-top: none;
  transition: transform 0.3s ease, border-color 0.3s;
}
.jfs-accordion-wrap .accordion__item__header.active::before {
  transform: translateY(-35%) rotate(-135deg);
  border-color: #cc0000;
}
.jfs-accordion-wrap .accordion__item__content {
  background: transparent;
  border: none;
  border-radius: 0;
  padding: 0;
}
.jfs-accordion-wrap .accordion__item__content .content {
  padding: 20px 24px 24px;
  color: #444;
  font-size: 14px;
  line-height: 1.8;
}
.jfs-accordion-wrap .accordion__item__content .content strong {
  color: #000;
}
.jfs-acc-num {
  font-size: 14px;
  font-weight: 900;
  color: #cc0000;
  background: rgba(204,0,0,0.08);
  padding: 3px 9px;
  border-radius: 6px;
  letter-spacing: 0.5px;
  flex-shrink: 0;
}
.jfs-acc-meta {
  margin-left: auto;
  font-size: 14px;
  font-weight: 400;
  color: #888;
  letter-spacing: 0.5px;
  padding-right: 24px;
}
.jfs-acc-content {
  padding: 24px 28px;
}
.jfs-acc-content p {
  font-size: 14px;
  color: #444;
  line-height: 1.8;
  margin: 0 0 14px;
}
.jfs-acc-content p:last-child { margin-bottom: 0; }
.jfs-acc-content strong { color: #000; }

/* DOWNLOAD CTA */
.jfs-download-cta {
  max-width: 860px;
  margin: 0 auto;
}

/* INTERNSHIP DOWNLOAD CARDS */
.int-download-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin-top: 48px;
}
.int-download-card {
  display: flex;
  flex-direction: column;
  gap: 20px;
  background: #0f1320;
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 20px;
  padding: 36px 32px;
  position: relative;
  overflow: hidden;
  transition: border-color 0.35s ease, transform 0.35s cubic-bezier(.22,.68,0,1.2), box-shadow 0.35s ease;
}
.int-download-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, #cc0000, rgba(204,0,0,0.2));
  border-radius: 20px 20px 0 0;
  opacity: 0;
  transition: opacity 0.35s ease;
}
.int-download-card:hover::before { opacity: 1; }
.int-download-card:hover {
  border-color: rgba(204,0,0,0.35);
  transform: translateY(-6px);
  box-shadow: 0 20px 50px rgba(0,0,0,0.4), 0 0 0 1px rgba(204,0,0,0.12);
}
.int-download-icon {
  width: 56px;
  height: 56px;
  border-radius: 16px;
  background: rgba(204,0,0,0.12);
  color: #cc0000;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 26px;
  flex-shrink: 0;
  transition: background 0.3s ease;
}
.int-download-card:hover .int-download-icon {
  background: rgba(204,0,0,0.22);
}
.int-download-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.int-download-track {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #cc0000;
}
.int-download-body h4 {
  font-size: 18px;
  font-weight: 800;
  color: #fff;
  margin: 0;
  letter-spacing: -0.3px;
  line-height: 1.3;
}
.int-download-body p {
  font-size: 13px;
  color: rgba(255,255,255,0.45);
  line-height: 1.7;
  margin: 0;
}
.int-download-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #cc0000;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  padding: 12px 24px;
  border-radius: 10px;
  text-decoration: none;
  align-self: flex-start;
  transition: background 0.3s ease, gap 0.3s ease, transform 0.3s ease;
}
.int-download-btn:hover {
  background: #aa0000;
  gap: 12px;
  transform: translateY(-2px);
  color: #fff;
  text-decoration: none;
}
@media (max-width: 640px) {
  .int-download-grid { grid-template-columns: 1fr; }
}
.jfs-download-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  background: #0f1320;
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 20px;
  padding: 40px 48px;
  flex-wrap: wrap;
  position: relative;
  overflow: hidden;
  box-shadow: 0 24px 60px rgba(0,0,0,0.35);
}
.jfs-download-inner::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, transparent, #cc0000, transparent);
}
.jfs-download-inner::after {
  content: '';
  position: absolute;
  inset: 0;
  background-image: radial-gradient(rgba(204,0,0,0.05) 1px, transparent 1px);
  background-size: 24px 24px;
  pointer-events: none;
}
.jfs-download-inner div {
  display: flex;
  flex-direction: column;
  gap: 8px;
  position: relative;
  z-index: 1;
}
.jfs-download-inner strong {
  font-size: 20px;
  font-weight: 800;
  color: #fff;
  letter-spacing: -0.3px;
}
.jfs-download-inner span {
  font-size: 14px;
  color: #fff;
  line-height: 1.6;
}
.jfs-download-inner .ct-submit-btn {
  position: relative;
  z-index: 1;
  flex-shrink: 0;
}

/* ENROLL CTA */
.jfs-cta-sec {
  padding: 80px 0 100px;
  background: #0a0e1a;
  position: relative;
  z-index: 2;
}
.jfs-cta-inner {
  background: #0f1320;
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 24px;
  padding: 90px 60px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 28px;
  box-shadow: 0 32px 80px rgba(0,0,0,0.4);
  position: relative;
  overflow: hidden;
}
.jfs-cta-inner::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, transparent, #cc0000, transparent);
}
.jfs-cta-inner::after {
  content: '';
  position: absolute;
  inset: 0;
  background-image: radial-gradient(rgba(204,0,0,0.06) 1px, transparent 1px);
  background-size: 28px 28px;
  pointer-events: none;
  opacity: 0.6;
}
.jfs-cta-title {
  font-size: clamp(28px, 3vw, 48px);
  font-weight: 900;
  color: #fff;
  letter-spacing: -1px;
  line-height: 1.15;
  margin: 0;
  position: relative;
  z-index: 1;
}
.jfs-cta-title em { font-style: normal; color: var(--color-main, #cc0000); }
.jfs-cta-inner p {
  font-size: 14px;
  color: rgba(255,255,255,0.5);
  margin: 0;
  max-width: 480px;
  line-height: 1.8;
  position: relative;
  z-index: 1;
}
.jfs-cta-btn { padding: 16px 40px; font-size: 14px; align-self: center; position: relative; z-index: 1; }

/* RESPONSIVE */
@media (max-width: 991px) {
  .jfs-about-grid { grid-template-columns: 1fr; gap: 40px; }
  .jfs-batches-grid { grid-template-columns: 1fr 1fr; }
  .jfs-learn-grid { grid-template-columns: 1fr; }
  .jfs-stat { padding: 0 20px; }
  .jfs-cta-inner { padding: 50px 30px; }
}
@media (max-width: 600px) {
  .jfs-batches-grid { grid-template-columns: 1fr; }
  .jfs-stats-grid { gap: 16px; }
  .jfs-stat-divider { display: none; }
  .jfs-download-inner { flex-direction: column; align-items: flex-start; }
  .jfs-hero-actions { flex-direction: column; align-items: flex-start; }
  .jfs-acc-meta { display: none; }
}

/* STATS BAR ANIMATION */
@keyframes jfsStatIn {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes jfsNumPop {
  0%   { transform: scale(0.7); opacity: 0; }
  70%  { transform: scale(1.15); opacity: 1; }
  100% { transform: scale(1); }
}
.jfs-stat {
  opacity: 0;
}
.jfs-stat.jfs-stat-visible {
  animation: jfsStatIn 0.5s cubic-bezier(.22,.68,0,1.2) forwards;
}
.jfs-stat.jfs-stat-visible .jfs-stat-num {
  animation: jfsNumPop 0.6s cubic-bezier(.22,.68,0,1.2) forwards;
}
.jfs-stat-divider {
  transition: opacity 0.4s ease;
  opacity: 0;
}
.jfs-stat-divider.jfs-stat-visible {
  opacity: 1;
}

/* SOFTWARE TESTING — 3-col learn grid */
.st-learn-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
@media (max-width: 991px) {
  .st-learn-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
  .st-learn-grid { grid-template-columns: 1fr; }
}

/* ══════════════════════════════════════
   NEW FOOTER
══════════════════════════════════════ */

.footer {
  width: 100%;
  background: #fff;
  color: #000;
  position: relative;
  z-index: 2;
  border-top: 1px solid rgba(204,0,0,0.15);
}

.footer-glow-line {
  width: 100%;
  height: 3px;
  background: linear-gradient(90deg, transparent 0%, #cc0000 30%, rgba(204,0,0,0.4) 60%, transparent 100%);
  opacity: 0.9;
}

/* CTA STRIP */
.footer-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  padding: 64px 0 48px;
  flex-wrap: wrap;
}
.footer-cta-label {
  display: inline-block;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: #cc0000;
  margin-bottom: 10px;
}
.footer-cta-title {
  font-size: clamp(24px, 3vw, 38px);
  font-weight: 900;
  color: #000;
  margin: 0;
  letter-spacing: -0.5px;
  line-height: 1.2;
}
.footer-cta-title em {
  font-style: normal;
  color: #cc0000;
}
.footer-cta-btn {
  flex-shrink: 0;
}

.footer-divider {
  width: 100%;
  height: 1px;
  background: rgba(0,0,0,0.1);
}

/* MAIN GRID */
.footer-main-grid {
  display: grid;
  grid-template-columns: 1.8fr 1fr 1fr 1.4fr;
  gap: 48px;
  padding: 56px 0 48px;
}

/* Brand col */
.footer-logo {
  font-size: 28px;
  font-weight: 900;
  color: #000;
  letter-spacing: -0.5px;
  margin-bottom: 16px;
}
.footer-logo span {
  color: #cc0000;
}
.footer-brand-desc {
  font-size: 14px;
  color: #000;
  line-height: 1.8;
  margin-bottom: 24px;
  max-width: 260px;
}
.footer-socials {
  display: flex;
  gap: 10px;
}
.footer-social-btn {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(0,0,0,0.06);
  border: 1px solid rgba(0,0,0,0.15);
  color: #000;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  transition: background 0.3s ease, border-color 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease;
}
.footer-social-btn:hover {
  transform: scale(1.15);
  box-shadow: 0 4px 14px rgba(0,0,0,0.35);
}
.footer-social-fb:hover,
.footer-social-li:hover,
.footer-social-tw:hover,
.footer-social-yt:hover { background: #cc0000; border-color: #cc0000; color: #fff; }

/* Link cols */
.footer-col-title {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #000;
  margin-bottom: 20px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(0,0,0,0.15);
}
.footer-links {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.footer-links li a {
  font-size: 14px;
  color: #000;
  transition: color 0.25s, padding-left 0.25s;
  display: inline-block;
}
.footer-links li a:hover {
  color: #cc0000;
  padding-left: 6px;
}

/* Contact list */
.footer-contact-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.footer-contact-list li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-size: 14px;
  color: #000;
  line-height: 1.6;
}
.footer-contact-list li i {
  color: #cc0000;
  font-size: 14px;
  margin-top: 3px;
  flex-shrink: 0;
}
.footer-contact-list li a {
  color: #000;
  transition: color 0.25s;
}
.footer-contact-list li a:hover { color: #cc0000; }

/* BOTTOM BAR */
.footer-bottom-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  padding: 24px 0;
  border-top: 1px solid rgba(0,0,0,0.1);
  font-size: 14px;
  color: #000;
}
.footer-bottom-bar strong { color: #000; }

/* FOOTER RESPONSIVE */
@media (max-width: 991px) {
  .footer-main-grid { grid-template-columns: 1fr 1fr; gap: 36px; }
  .footer-brand-col { grid-column: 1 / -1; }
}
@media (max-width: 600px) {
  .footer-main-grid { grid-template-columns: 1fr; }
  .footer-cta { flex-direction: column; align-items: flex-start; }
  .footer-bottom-bar { flex-direction: column; text-align: center; }
}

/* ── CURRENT OPENINGS PAGE ─────────────────────────────── */

/* Showcase section overrides */
.co-showcase-sec .hq-section-title em { color: #cc0000; font-style: normal; }
.co-showcase-content { gap: 28px; }
.co-showcase-features {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 24px;
  margin-top: 8px;
}
.co-showcase-feat {
  font-size: 13px;
  color: #c8c8c8;
  display: flex;
  align-items: center;
  gap: 8px;
}
.co-showcase-feat i { color: #cc0000; font-size: 14px; }
.co-showcase-cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: #cc0000;
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  padding: 14px 28px;
  border-radius: 10px;
  text-decoration: none;
  align-self: flex-start;
  margin-top: 8px;
  transition: background 0.2s, gap 0.2s;
}
.co-showcase-cta:hover { background: #aa0000; gap: 14px; color: #fff; text-decoration: none; }

/* RIGHT slider inside hq-section-right */
.co-showcase-slider-wrap { padding: 0 !important; }
.co-img-slider {
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
}
.co-img-slide { height: 100%; overflow: hidden; }
.co-img-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  display: block;
}
.co-slider-pagination { bottom: 16px !important; }
.co-slider-pagination .swiper-pagination-bullet { background: rgba(255,255,255,0.5); }
.co-slider-pagination .swiper-pagination-bullet-active { background: #cc0000; }

/* Section head */
.co-sec-head {
  text-align: center;
  max-width: 680px;
  margin: 0 auto 60px;
  position: relative;
  z-index: 1;
}
.co-sec-head p {
  color: #444;
  font-size: 16px;
  margin-top: 16px;
}
.co-sec-head .jfs-sec-title {
  color: #000;
}
.co-sec-head .section-title h2 {
  color: #000;
}

/* Openings section */
.co-openings-sec {
  padding: 100px 0 80px;
  background: #fff;
  position: relative;
}
.co-openings-sec::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(0,0,0,0.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0,0,0,0.03) 1px, transparent 1px);
  background-size: 60px 60px;
  pointer-events: none;
}

/* Jobs grid */
.co-jobs-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
  position: relative;
  z-index: 1;
}

/* Job card */
.co-job-card {
  background: #fff;
  border: 1px solid #c8c8c8;
  border-radius: 20px;
  padding: 36px 28px 28px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  position: relative;
  overflow: hidden;
  transition: transform 0.4s ease, box-shadow 0.4s ease, border-color 0.4s ease;
  text-align: left;
}
.co-job-card::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 50% 0%, rgba(204,0,0,0.06) 0%, transparent 65%);
  opacity: 0;
  transition: opacity 0.4s ease;
  border-radius: 20px;
}
.co-job-card:hover {
  border-color: #cc0000;
  transform: translateY(-10px);
  box-shadow: 0 30px 70px rgba(204,0,0,0.12);
}
.co-job-card:hover::before { opacity: 1; }

.co-job-top {
  display: flex;
  align-items: center;
  gap: 14px;
}
.co-job-icon {
  width: 48px; height: 48px;
  background: rgba(204,0,0,0.08);
  border-radius: 12px;
  display: flex; align-items: center; justify-content: center;
  color: #cc0000;
  font-size: 20px;
  flex-shrink: 0;
  transition: background 0.3s;
}
.co-job-card:hover .co-job-icon { background: rgba(204,0,0,0.14); }
.co-job-meta {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.co-job-dept {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #cc0000;
}
.co-job-type {
  font-size: 11px;
  color: #555;
  background: rgba(0,0,0,0.05);
  padding: 2px 8px;
  border-radius: 20px;
  display: inline-block;
  border: 1px solid #c8c8c8;
}
.co-job-title {
  font-size: 18px;
  font-weight: 700;
  color: #000;
  line-height: 1.3;
  margin: 0;
}
.co-job-desc {
  font-size: 14px;
  color: #444;
  line-height: 1.7;
  margin: 0;
  flex: 1;
}
.co-job-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.co-job-tags span {
  font-size: 11px;
  font-weight: 600;
  color: #333;
  background: rgba(0,0,0,0.04);
  border: 1px solid #c8c8c8;
  padding: 4px 10px;
  border-radius: 20px;
}
.co-job-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 16px;
  border-top: 1px solid #c8c8c8;
  gap: 10px;
  position: relative;
  z-index: 1;
}
.co-job-exp {
  font-size: 13px;
  color: #555;
  display: flex;
  align-items: center;
  gap: 6px;
}
.co-job-exp i { color: #cc0000; }
.co-apply-btn {
  font-size: 12px;
  font-weight: 700;
  color: #fff;
  background: #cc0000;
  padding: 8px 16px;
  border-radius: 8px;
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 6px;
  transition: background 0.2s, gap 0.2s;
  white-space: nowrap;
}
.co-apply-btn:hover { background: #aa0000; gap: 10px; color: #fff; text-decoration: none; }

/* Contact CTA bar */
.co-contact-sec {
  padding: 0 0 80px;
  background: #0d1117;
}
.co-contact-inner {
  background: #0f1320;
  border: 1px solid rgba(204,0,0,0.25);
  border-radius: 16px;
  padding: 32px 40px;
  display: flex;
  align-items: center;
  gap: 24px;
}
.co-contact-icon {
  width: 56px; height: 56px;
  background: rgba(204,0,0,0.12);
  border-radius: 12px;
  display: flex; align-items: center; justify-content: center;
  color: #cc0000;
  font-size: 22px;
  flex-shrink: 0;
}
.co-contact-body { flex: 1; }
.co-contact-body h3 { color: #fff; font-size: 20px; font-weight: 700; margin: 0 0 4px; }
.co-contact-body p { color: #a0a8b8; font-size: 14px; margin: 0; }
.co-contact-btn { white-space: nowrap; }

/* Responsive */
@media (max-width: 1024px) {
  .co-jobs-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .co-jobs-grid { grid-template-columns: 1fr; }
  .co-contact-inner { flex-direction: column; text-align: center; }
  .co-contact-btn { align-self: center; }
}
