:root {
  --luxury-dark: #001b3d;
  --royal-blue: #003087;
  --soft-blue: #0077b6;
  --creamy-white: #f8f1e9;
  --gold-accent: #daa520;
  --gold-accent-dark: #b8860b;
  --premium-bg: #e6f0ff;

  --overlay-bg: rgba(0, 27, 61, 0.75);

  --brand-blue: var(--royal-blue);
  --brand-blue-dark: #00215c;
  --brand-blue-rgb: 0, 48, 135;
  --brand-green: #388e3c;
  --brand-green-dark: #237827;
  --brand-red: #c62828;
  --brand-red-dark: #a31515;

  --input-bg: #ffffff;
  --input-border: #b0c4de;
  --placeholder-color: #5a789d;

  --scroll-bg: var(--premium-bg);
  --scroll-border: var(--soft-blue);
  --scroll-item-text-color: var(--luxury-dark);
  --scroll-item-active-text-color: var(--creamy-white);

  --font-family: "Georgia", "Times New Roman", Times, serif;
  --transition-std: 0.25s ease-in-out;
  --radius-medium: 6px;
  --radius-large: 10px;
  --shadow-soft: 0 4px 12px rgba(0, 27, 61, 0.08);
  --shadow-medium: 0 8px 25px rgba(0, 27, 61, 0.12);
  --divider-color: #c5d9ed;

  --text-on-light-primary: var(--luxury-dark);
  --text-on-light-secondary: var(--soft-blue);
  --text-on-dark-primary: var(--creamy-white);
  --text-on-dark-secondary: #a9cce3;

  --header-height: 60px;
  --sidebar-width: 260px;
}

*,
html,
body {
  margin: 0;
  padding: 0;
  scroll-behavior: smooth;
  box-sizing: border-box;
  font: var(--font);
  animation: fadeInOverlay 0.1s ease-in-out;
}

*::-webkit-scrollbar {
  display: none;
}

a {
  text-decoration: none;
  color: var(--textcolor);
}

a:visited {
  color: var(--textcolor);
}

body {
  font-family: var(--font-family);
  background: var(--creamy-white);
  color: var(--text-on-light-primary);
  padding-top: var(--header-height);
  position: relative;
  overflow-x: hidden;
}

body.no-scroll {
  overflow-y: hidden;
}

[data-aos] {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.8s cubic-bezier(0.23, 1, 0.32, 1),
    transform 0.8s cubic-bezier(0.23, 1, 0.32, 1);
  will-change: opacity, transform;
}

[data-aos].aos-animate {
  opacity: 1;
  transform: none;
}

[data-aos="fade-right"] {
  transform: translateX(-40px);
}
[data-aos="fade-right"].aos-animate {
  transform: none;
}

[data-aos="fade-left"] {
  transform: translateX(40px);
}
[data-aos="fade-left"].aos-animate {
  transform: none;
}

[data-aos="fade-up"] {
  transform: translateY(40px);
}
[data-aos="fade-up"].aos-animate {
  transform: none;
}

[data-aos="fade-in"] {
  opacity: 0;
}
[data-aos="fade-in"].aos-animate {
  opacity: 1;
  transform: none;
}

@keyframes fadeInOverlay {
  to {
    opacity: 1;
  }
}

@keyframes fadeOutOverlay {
  to {
    opacity: 0;
  }
}

@keyframes slideInPopup {
  to {
    transform: scale(1) translateY(0);
    opacity: 1;
  }
}

@keyframes slideOutPopup {
  to {
    transform: scale(0.95) translateY(-10px);
    opacity: 0;
  }
}

[data-aos][data-aos-delay] {
  transition-delay: var(--aos-delay, 0ms);
}

@media (max-width: 900px) {
  html,
  body {
    width: 100vw;
    max-width: 100vw;
    overflow-x: hidden;
    box-sizing: border-box;
  }
}
