:root {
  --accent: #0e9f9a;
  --accent-dark: #0a7b79;
  --ink: #14233c;
  --ink-soft: #4a607f;
  --line: #dce8f3;
  --surface: #ffffff;
  --surface-soft: #f5f9fc;
  --shell-1: #f8fdff;
  --shell-2: #edf4fa;
  --hero-1: #0d2f57;
  --hero-2: #1f5f8e;
  --hero-3: #0e9f9a;
}

body.theme8-shell {
  color: var(--ink-soft);
  background: linear-gradient(160deg, var(--shell-1) 0%, var(--shell-2) 100%);
  line-height: 1.68;
  letter-spacing: 0.01em;
}

body.theme8-shell::before {
  background:
    radial-gradient(circle at 6% 10%, rgba(14, 159, 154, 0.2), transparent 40%),
    radial-gradient(circle at 88% 15%, rgba(31, 95, 142, 0.17), transparent 40%),
    radial-gradient(circle at 50% 95%, rgba(13, 47, 87, 0.08), transparent 36%);
  animation: ambientShift 14s ease-in-out infinite alternate;
}

h1,
h2,
h3,
h4,
h5,
h6,
.display-font {
  color: var(--ink);
  letter-spacing: -0.02em;
}

.main-nav {
  border-bottom: 1px solid rgba(20, 35, 60, 0.08);
  transition: box-shadow 0.35s ease, background-color 0.35s ease;
}

.main-nav.scrolled {
  background: rgba(255, 255, 255, 0.97);
  box-shadow: 0 18px 38px rgba(15, 47, 77, 0.12);
}

.navbar-nav .nav-link {
  position: relative;
  padding: 0.45rem 0.8rem;
  border-radius: 999px;
  transition: color 0.28s ease, background-color 0.28s ease;
}

.navbar-nav .nav-link::after {
  content: "";
  position: absolute;
  left: 0.8rem;
  right: 0.8rem;
  bottom: 0.35rem;
  height: 2px;
  background: linear-gradient(90deg, var(--accent-dark), var(--accent));
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 0.28s ease;
}

.navbar-nav .nav-link:hover,
.navbar-nav .nav-link.active {
  color: var(--accent-dark) !important;
  background: rgba(14, 159, 154, 0.08);
}

.navbar-nav .nav-link:hover::after,
.navbar-nav .nav-link.active::after {
  transform: scaleX(1);
}

.btn-primary,
.btn-outline-primary {
  border-radius: 999px;
  font-weight: 700;
  padding: 0.62rem 1.35rem;
  transition: transform 0.28s ease, box-shadow 0.28s ease, background-color 0.28s ease;
}

.btn-primary {
  background: linear-gradient(130deg, var(--accent-dark), var(--accent));
  border-color: transparent;
  box-shadow: 0 12px 24px rgba(14, 159, 154, 0.24);
}

.btn-primary:hover,
.btn-primary:focus {
  transform: translateY(-2px);
  box-shadow: 0 16px 28px rgba(14, 159, 154, 0.3);
}

.btn-outline-primary {
  border-color: rgba(14, 159, 154, 0.4);
  color: var(--accent-dark);
  background: rgba(255, 255, 255, 0.76);
}

.page-hero,
.hero-home::after {
  background: linear-gradient(128deg, var(--hero-1) 0%, var(--hero-2) 56%, var(--hero-3) 100%);
}

.page-shell > section:not(.page-hero):not(.diag-band),
.section-space {
  padding: 5rem 0;
}

.card-theme,
.feature-tile,
.info-tile,
.blog-tile,
.job-tile,
.media-tile,
.download-tile,
.product-tile {
  border-color: rgba(19, 50, 89, 0.09);
  box-shadow: 0 16px 38px rgba(17, 45, 75, 0.1);
  transition: transform 0.32s ease, box-shadow 0.32s ease, border-color 0.32s ease;
}

.card-theme:hover,
.feature-tile:hover,
.info-tile:hover,
.blog-tile:hover,
.job-tile:hover,
.media-tile:hover,
.download-tile:hover,
.product-tile:hover {
  transform: translateY(-8px);
  border-color: rgba(14, 159, 154, 0.28);
  box-shadow: 0 24px 52px rgba(17, 45, 75, 0.16);
}

.site-footer {
  margin-top: 4.5rem;
  background:
    radial-gradient(circle at 12% 14%, rgba(14, 159, 154, 0.24), transparent 40%),
    linear-gradient(120deg, #081b31 0%, #0d2848 50%, #0f3158 100%);
}

.contact-float .item {
  transition: transform 0.26s ease, box-shadow 0.26s ease;
}

.contact-float .item:hover {
  transform: translateY(-4px) scale(1.04);
  box-shadow: 0 18px 30px rgba(0, 0, 0, 0.3);
}

.reveal-block {
  transition-delay: var(--reveal-delay, 0ms);
}

.stagger-children > * {
  opacity: 0;
  transform: translateY(16px);
  animation: childRise 0.62s ease forwards;
}

.stagger-children > *:nth-child(2) { animation-delay: 90ms; }
.stagger-children > *:nth-child(3) { animation-delay: 180ms; }
.stagger-children > *:nth-child(4) { animation-delay: 270ms; }
.stagger-children > *:nth-child(5) { animation-delay: 360ms; }

@keyframes ambientShift {
  from { transform: translate3d(0, 0, 0) scale(1); }
  to { transform: translate3d(0, -14px, 0) scale(1.02); }
}

@keyframes childRise {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 991px) {
  .page-shell > section:not(.page-hero):not(.diag-band),
  .section-space {
    padding: 4rem 0;
  }

  .navbar-nav .nav-link {
    padding: 0.6rem 0.75rem;
    margin: 0.1rem 0;
  }
}

@media (max-width: 767px) {
  body.theme8-shell {
    line-height: 1.62;
  }

  .page-hero {
    padding-top: 6.2rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  * {
    animation: none !important;
    transition-duration: 0.01ms !important;
    transition-delay: 0ms !important;
  }
}
