body {
  background-color: #f8f9fa;
  color: #343a40;
  font-family: 'Arial', sans-serif;
  overflow-x: hidden;
  position: relative; }

#floating-shapes-container {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: -1;
  pointer-events: none;
  opacity: 1; }

.floating-shape {
  position: absolute;
  border-radius: 50%;
  opacity: 1;
  -webkit-filter: blur(0px);
  filter: blur(0px);
  will-change: transform; }

.shape-blue-circle {
  background-color: #1C325C;
  width: 250px;
  height: 250px;
  top: 10%;
  left: 15%; }

.shape-orange-square {
  background-color: #FF822F;
  width: 180px;
  height: 180px;
  border-radius: 100px;
  top: 60%;
  right: 5%; }

#main-nav {
  background-color: rgba(248, 249, 250, 0.95);
  -webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05); }

.nav-link {
  color: #343a40 !important;
  font-weight: 500;
  -webkit-transition: color 0.3s ease;
  -o-transition: color 0.3s ease;
  transition: color 0.3s ease; }

.nav-link:hover {
  color: #FF822F !important; }

.nav-link.active {
  position: relative;
  color: #FF822F !important;
  font-weight: bold; }
  .nav-link.active:after {
    content: '';
    position: absolute;
    bottom: -5px;
    left: 50%;
    -webkit-transform: translateX(-50%) scaleX(1);
    -ms-transform: translateX(-50%) scaleX(1);
    transform: translateX(-50%) scaleX(1);
    width: 100%;
    height: 3px;
    background-color: #ff4500;
    border-radius: 5px;
    -webkit-transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
    -o-transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
    transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
    -webkit-box-shadow: 0 0 10px #ff4500, 0 0 5px #ff4500;
    box-shadow: 0 0 10px #ff4500, 0 0 5px #ff4500; }

.offcanvas {
  background-color: #f8f9fa;
  width: 80%; }

.offcanvas-header {
  border-bottom: 1px solid #ddd; }

.btn-primary {
  background-color: #1C325C;
  border-color: #1C325C;
  -webkit-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease; }
  .btn-primary:hover {
    background-color: #101d35;
    border-color: #101d35;
    -webkit-transform: translateY(-2px);
    -ms-transform: translateY(-2px);
    transform: translateY(-2px); }

.gradient-text {
  background: -webkit-gradient(linear, left top, right top, from(#FF822F), to(#1C325C));
  background: -webkit-linear-gradient(left, #FF822F 0%, #1C325C 100%);
  background: -o-linear-gradient(left, #FF822F 0%, #1C325C 100%);
  background: linear-gradient(90deg, #FF822F 0%, #1C325C 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  display: inline-block; }

.card-ia {
  border: 1px solid #eee;
  background-color: #fff;
  -webkit-transition: -webkit-transform 0.3s ease, -webkit-box-shadow 0.3s ease;
  transition: -webkit-transform 0.3s ease, -webkit-box-shadow 0.3s ease;
  -o-transition: transform 0.3s ease, box-shadow 0.3s ease;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  transition: transform 0.3s ease, box-shadow 0.3s ease, -webkit-transform 0.3s ease, -webkit-box-shadow 0.3s ease; }
  .card-ia:hover {
    -webkit-transform: translateY(-5px);
    -ms-transform: translateY(-5px);
    transform: translateY(-5px);
    -webkit-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.05);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.05); }

@media (max-width: 992px) {
  .navbar-collapse {
    display: none !important; }
  .floating-shape {
    -webkit-filter: blur(50px);
    filter: blur(50px); }
  .shape-blue-circle {
    width: 150px;
    height: 150px; }
  .shape-orange-square {
    width: 100px;
    height: 100px; } }
