:root {
  --surface: rgba(255, 255, 255, 0.04);
  --border: rgba(255, 255, 255, 0.10);
  --muted: rgba(255, 255, 255, 0.65);

  /* Dark mode background (dark grey / near-black) */
  --bg-0: #070809;
  --bg-1: rgba(255, 255, 255, 0.06);
  --bg-2: rgba(255, 255, 255, 0.03);
}

/* Backgrounds */
html[data-bs-theme="dark"] body {
  background:
    radial-gradient(1200px 600px at 15% -10%, var(--bg-1), transparent 60%),
    radial-gradient(900px 500px at 85% 0%, var(--bg-2), transparent 55%),
    var(--bg-0);
  min-height: 100vh;
}
html[data-bs-theme="light"] body {
  background:
    radial-gradient(1200px 600px at 15% -10%, rgba(13, 110, 253, 0.14), transparent 60%),
    radial-gradient(900px 500px at 85% 0%, rgba(32, 201, 151, 0.12), transparent 55%),
    #f6f8fb;
  min-height: 100vh;
}

/* Surfaces */
.surface {
  background: var(--surface);
  border-bottom: 1px solid var(--border);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.surface-footer {
  background: var(--surface);
  border-top: 1px solid var(--border);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
html[data-bs-theme="light"] .surface,
html[data-bs-theme="light"] .surface-footer {
  --surface: rgba(255, 255, 255, 0.74);
  --border: rgba(15, 23, 42, 0.10);
}

/* Keep navbar always on top */
.navbar-wrap { position: sticky; top: 0; z-index: 1100; }
.navbar .navbar-collapse { position: relative; z-index: 1101; }

/* Collapsed menu surface + centered items */
@media (max-width: 991.98px) {
  .navbar .navbar-collapse {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 1rem;
    padding: 0.75rem;
    margin-top: 0.75rem;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    box-shadow: 0 1rem 2rem rgba(0, 0, 0, 0.18);
  }
  html[data-bs-theme="light"] .navbar .navbar-collapse {
    box-shadow: 0 1rem 2rem rgba(15, 23, 42, 0.12);
  }

  /* Center nav items when collapsed */
  .navbar .navbar-nav {
    width: 100%;
    justify-content: center;
    text-align: center;
  }
  .navbar .navbar-nav .nav-item { width: 100%; }
  .navbar .navbar-nav .nav-link { justify-content: center; }
  .navbar .dropdown-menu { width: 100%; text-align: center; }
}

/* disabled nav item */
html[data-bs-theme="light"] .disabled { 
color: #8c6d00 !important; 
}

html[data-bs-theme="dark"] .disabled { 
color: #f5e65e !important; 
}
/* Logos */

.brand-logo { height: 44px; width: auto; display: inline-block; }
.brand-logo-footer { height: 40px; width: auto; display: inline-block; }

html[data-bs-theme="dark"] #logoOnDark { display: inline-block; }
html[data-bs-theme="dark"] #logoOnLight { display: none; }
html[data-bs-theme="light"] #logoOnDark { display: none; }
html[data-bs-theme="light"] #logoOnLight { display: inline-block; }

html[data-bs-theme="dark"] #logoOnDarkFooter { display: inline-block; }
html[data-bs-theme="dark"] #logoOnLightFooter { display: none; }
html[data-bs-theme="light"] #logoOnDarkFooter { display: none; }
html[data-bs-theme="light"] #logoOnLightFooter { display: inline-block; }


/* Language chips */
.lang-list { display: flex; align-items: center; gap: 0.5rem; }
.lang-chip {
  width: 34px; height: 34px;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: rgba(255, 255, 255, 0.88);
  text-decoration: none;
  font-size: 0.8rem;
  letter-spacing: 0.02em;
  transition: transform 120ms ease, background 120ms ease, border-color 120ms ease;
}
html[data-bs-theme="light"] .lang-chip {
  background: rgba(15, 23, 42, 0.04);
  border-color: rgba(15, 23, 42, 0.12);
  color: rgba(15, 23, 42, 0.86);
}
.lang-chip:hover {
  transform: translateY(-1px);
  background: rgba(255, 255, 255, 0.10);
  border-color: rgba(255, 255, 255, 0.22);
}
html[data-bs-theme="light"] .lang-chip:hover {
  background: rgba(15, 23, 42, 0.07);

  border-color: rgba(15, 23, 42, 0.18);
}
.lang-chip.active {
  background: rgba(13, 110, 253, 0.22);
  border-color: rgba(13, 110, 253, 0.45);
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.12);
}
html[data-bs-theme="light"] .lang-chip.active {
  background: rgba(13, 110, 253, 0.16);
  border-color: rgba(13, 110, 253, 0.35);
}

/* 3-button mode switch */
.mode-switch { display: inline-flex; align-items: center; gap: 0.5rem; margin-left: 0.5rem; }
.mode-btn {
  height: 34px;
  padding: 0 0.85rem;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  font-size: 0.8rem;
  letter-spacing: 0.02em;
  user-select: none;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: rgba(255, 255, 255, 0.88);
  transition: transform 120ms ease, background 120ms ease, border-color 120ms ease, box-shadow 120ms ease;
}
html[data-bs-theme="light"] .mode-btn {
  background: rgba(15, 23, 42, 0.04);
  border-color: rgba(15, 23, 42, 0.12);
  color: rgba(15, 23, 42, 0.86);
}
.mode-btn:hover {
  transform: translateY(-1px);
  background: rgba(255, 255, 255, 0.10);
  border-color: rgba(255, 255, 255, 0.22);
}
html[data-bs-theme="light"] .mode-btn:hover {
  background: rgba(15, 23, 42, 0.07);
  border-color: rgba(15, 23, 42, 0.18);
}
.mode-btn.active {
  background: rgba(13, 110, 253, 0.22);
  border-color: rgba(13, 110, 253, 0.45);
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.12);
}
html[data-bs-theme="light"] .mode-btn.active {
  background: rgba(13, 110, 253, 0.16);
  border-color: rgba(13, 110, 253, 0.35);
}

/* Contact links */
.contact-link { text-decoration: none; }
html[data-bs-theme="dark"] .contact-link { color: rgba(255, 255, 255, 0.90); }
html[data-bs-theme="light"] .contact-link { color: rgba(15, 23, 42, 0.90); }
.contact-link:hover { text-decoration: underline; }
html[data-bs-theme="dark"] .muted { color: rgba(255, 255, 255, 0.65); }
html[data-bs-theme="light"] .muted { color: rgba(15, 23, 42, 0.60); }

/* Navbar links */
.navbar .nav-link {
  border-radius: 999px;
  padding: 0.5rem 0.85rem;
  transition: background 120ms ease, color 120ms ease, border-color 120ms ease;
}
html[data-bs-theme="dark"] .navbar .nav-link { color: rgba(255, 255, 255, 0.78); }
html[data-bs-theme="light"] .navbar .nav-link { color: rgba(15, 23, 42, 0.78); }
.navbar .nav-link:hover {}
html[data-bs-theme="light"] .navbar .nav-link:hover {color: #FF6900; }
html[data-bs-theme="dark"] .navbar .nav-link:hover {color: #FF6900; }
.navbar .nav-link.active {
  color: #fff;
  background: rgba(13, 110, 253, 0.18);
  border: 1px solid rgba(13, 110, 253, 0.28);
}
html[data-bs-theme="light"] .navbar .nav-link.active {
  color: rgba(15, 23, 42, 0.92);
  background: rgba(13, 110, 253, 0.14);
  border-color: rgba(13, 110, 253, 0.24);
}

/* Dropdown menu */
html[data-bs-theme="dark"] .dropdown-menu {
  background: rgba(20, 26, 39, 0.96);
  border: 1px solid rgba(255, 255, 255, 0.10);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
html[data-bs-theme="light"] .dropdown-menu {
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(15, 23, 42, 0.10);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

/* Titlebar */
.titlebar { border-bottom: 1px solid var(--border); }
.page-title { line-height: 1.1; }
.search-wrap { max-width: 320px; }
@media (max-width: 767.98px) { .search-wrap { max-width: 100%; } }
.search-input { border-color: rgba(255, 255, 255, 0.12) !important; }
html[data-bs-theme="dark"] .search-input { background: rgba(255, 255, 255, 0.05) !important; }
html[data-bs-theme="light"] .search-input {
  background: rgba(15, 23, 42, 0.03) !important;
  border-color: rgba(15, 23, 42, 0.12) !important;
}
html[data-bs-theme="dark"] .search-input::placeholder { color: rgba(255, 255, 255, 0.40); }
html[data-bs-theme="light"] .search-input::placeholder { color: rgba(15, 23, 42, 0.45); }

@media (max-width: 767.98px) {
  .topbar-left, .topbar-right { width: 100%; justify-content: center !important; text-align: center; }
  .titlebar-row { text-align: center; }
  .titlebar-title { width: 100%; text-align: center; }
  .search-wrap { margin-left: auto; margin-right: auto; }
}

/* Banner */
.banner { position: relative; overflow: hidden; min-height: 280px; }
@media (min-width: 768px) { .banner { min-height: 420px; } }
.banner-bg {
  position: absolute; inset: 0;
  background-image: url("banner.jpg");
  background-size: cover;
  background-position: center;
  transform: scale(1.03);
}

/* topbar lang chips */
.lang-list{
  display:flex;
  gap:.5rem;
  align-items:center;
}

.lang-chip{
  --chip-size: 2rem;
  --inner-gap: .12rem;

  width: var(--chip-size);
  height: var(--chip-size);
  border-radius: 50%;

  display:inline-flex;
  align-items:center;
  justify-content:center;

  padding: var(--inner-gap);
  overflow:hidden;

  /* Softer, less “bright” surface */
  background: rgba(var(--bs-body-color-rgb), .04);  /* subtle tint in both themes */
  border: 1px solid rgba(var(--bs-body-color-rgb), .14);

  text-decoration:none;

  /* much gentler shadow */
  box-shadow: 0 .08rem .18rem rgba(0,0,0,.12);

  transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease, background-color .12s ease;
}

.lang-chip:hover{
  transform: translateY(-1px);
  background: rgba(var(--bs-body-color-rgb), .06);
  box-shadow: 0 .14rem .28rem rgba(0,0,0,.16);
}

.lang-chip:focus-visible{
  outline:none;
  box-shadow: 0 0 0 .2rem rgba(var(--bs-primary-rgb), .20);
}

/* Flag image fills the chip and is round */
.lang-chip img{
  width: 100%;
  height: 100%;
  display:block;
  border-radius: 50%;
  object-fit: cover;
  object-position: center;
  vertical-align: middle;

  /* slightly “de-brighten” flags without killing color */
  filter: saturate(.92) contrast(.98);
  opacity: .55;
  transition: opacity .12s ease, filter .12s ease;
}

.lang-chip:hover img{
  opacity: .95;
  filter: none;
}

/* Active: crisp but not neon */
.lang-chip.active, .lang-chip[aria-current="page"] {
  border-color: rgba(var(--bs-primary-rgb), .55);
  box-shadow: 0 0 0 .14rem rgba(var(--bs-primary-rgb), .22);
  background: rgba(var(--bs-primary-rgb), .06);
  transform: none;
}

.lang-chip[aria-current="page"]{
  pointer-events:none;
  cursor:default;
}

/* Non-active flags: more muted */
.lang-chip:not(.active):not([aria-current="page"]) img{
  opacity: .72;                 /* was ~.92 */
  filter: saturate(.85) contrast(.95);
}

/* On hover: still muted, but a bit clearer */
.lang-chip:not(.active):not([aria-current="page"]):hover img{
  opacity: .85;
  filter: saturate(.92) contrast(.98);
}

/* Active flag: normal */
.lang-chip.active img,
.lang-chip[aria-current="page"] img{
  opacity: 1;
  filter: none;
}

/* current lang-chip */
.lang-chip.is-current {
  pointer-events: none;   /* disables clicking */
  cursor: default;
  opacity: 0.45;          /* visual "disabled" cue */
  filter: grayscale(100%);
}


/* Optional: disable clicking the current language */
.lang-chip[aria-current="page"]{
  pointer-events: none;
  cursor: default;
}

/* languages tooltip */
/* Theme-aware tooltip */
/* Keep tooltip above navbar + theme-aware colors */
.tooltip.lang-tooltip{
  --bs-tooltip-zindex: 2000;

  --bs-tooltip-opacity: 1;
  --bs-tooltip-bg: var(--bs-body-bg);
  --bs-tooltip-color: var(--bs-body-color);
}

/* Tooltip bubble styling + glow */
.tooltip.lang-tooltip .tooltip-inner{
  border: 1px solid rgba(var(--bs-body-color-rgb), .18);

  /* soft glow (works in both modes) */
  box-shadow:
    0 .35rem 1rem rgba(0,0,0,.22),
    0 0 0.9rem rgba(var(--bs-primary-rgb), .20);
}

/* Offset (gap) between the chip and tooltip when placed at bottom */
.tooltip.lang-tooltip[data-popper-placement^="bottom"]{
  margin-top: .95rem; /* increase/decrease to taste */
}

/* Keep arrow matching the tooltip background */
.tooltip.lang-tooltip .tooltip-arrow::before{
  border-bottom-color: var(--bs-tooltip-bg);
}

/* tooltip for bottom position */

/* Your existing border on the tooltip body */
.tooltip.lang-tooltip .tooltip-inner{
  border: 1px solid rgba(var(--bs-body-color-rgb), .18);
}

/* Bottom placement: add an outer (border) triangle behind the normal arrow */
.tooltip.lang-tooltip[data-popper-placement^="bottom"] .tooltip-arrow::after{
  content: "";
  position: absolute;

  /* triangle shape */
  border-style: solid;
  border-color: transparent;

  /* slightly bigger than the real arrow triangle */
  border-width: 0 .45rem .45rem;

  /* match the tooltip border color */
  border-bottom-color: rgba(var(--bs-body-color-rgb), .18);

  /* sit behind the real arrow, nudged a bit */
  top: -1px;
  left: -1px;
  z-index: -1;
}



.banner-overlay-block {
  position: absolute; inset: 0;	
  background:
    radial-gradient(900px 420px at 20% 45%, rgba(5, 6, 7, 0.4), transparent 60%),
    radial-gradient(700px 380px at 70% 30%, rgba(5, 6, 7, 0.2), transparent 55%),
    linear-gradient(to top,
      rgba(5, 6, 7, 0.78) 0%,
      rgba(5, 6, 7, 0.38) 45%,
      rgba(5, 6, 7, 0.10) 70%,
      rgba(5, 6, 7, 0.00) 100%
    );	
}

html[data-bs-theme="light"] .banner-overlay-block  {
  background:
    radial-gradient(900px 420px at 20% 70%, rgba(13, 110, 253, 0.08), transparent 100%),
    radial-gradient(700px 380px at 80% 40%, rgba(32, 201, 151, 0.06), transparent 100%),
    linear-gradient(to top,
      rgba(202, 202, 202, 0.78) 0%,
      rgba(202, 202, 202, 0.38) 45%,
      rgba(202, 202, 202, 0.10) 70%,
      rgba(202, 202, 202, 0.00) 100%
    );
}

.banner-content { position: relative; z-index: 1; }

.banner-card {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-radius: 10px;
}
html[data-bs-theme="light"] .banner-card {
  background: rgba(255, 255, 255, 0.78);
  border-color: rgba(15, 23, 42, 0.10);
}

/* Cards (glass style) */
.card-glass {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.10);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-radius: 10px;
}
html[data-bs-theme="light"] .card-glass {
  background: rgba(255, 255, 255, 0.78);
  border-color: rgba(15, 23, 42, 0.10);
}

/* Business card */
.biz-card { position: relative; overflow: hidden; }
.biz-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(700px 360px at 12% 20%, rgba(13,110,253,0.18), transparent 55%),
    radial-gradient(600px 320px at 88% 10%, rgba(32,201,151,0.14), transparent 55%),
    radial-gradient(520px 260px at 82% 92%, rgba(255,193,7,0.10), transparent 55%);
  pointer-events: none;
}
.biz-card > * { position: relative; z-index: 1; }
.biz-avatar {
  width: 72px; height: 72px;
  border-radius: 999px;
  object-fit: cover;
  border: 2px solid rgba(255, 255, 255, 0.22);
  box-shadow: 0 0.75rem 1.5rem rgba(0, 0, 0, 0.18);
}
html[data-bs-theme="light"] .biz-avatar {
  border-color: rgba(15, 23, 42, 0.14);
  box-shadow: 0 0.75rem 1.5rem rgba(15, 23, 42, 0.10);
}
.biz-meta { display: flex; flex-wrap: wrap; gap: 0.5rem 0.75rem; align-items: center; }
.biz-sep { width: 1px; height: 14px; background: rgba(255,255,255,0.16); }
html[data-bs-theme="light"] .biz-sep { background: rgba(15,23,42,0.14); }
.biz-link { text-decoration: none; }
html[data-bs-theme="dark"] .biz-link { color: rgba(255,255,255,0.92); }
html[data-bs-theme="light"] .biz-link { color: rgba(15,23,42,0.92); }
.biz-link:hover { text-decoration: underline; }

/* Quote banner card */
.quote-card { border-radius: 1.5rem; overflow: hidden; }
.quote-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(900px 420px at 18% 30%, rgba(13,110,253,0.18), transparent 55%),
    radial-gradient(900px 420px at 88% 18%, rgba(32,201,151,0.14), transparent 55%),
    linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.00));
  pointer-events: none;
}
.quote-card .card-body { position: relative; z-index: 1; }

/* Media cards with image */
.media-card-img {
  height: 180px;
  object-fit: cover;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
}
@media (min-width: 992px) { .media-card-img { height: 190px; } }

/* Footer */
.footer-wrap { width: 100%; }
.footer-link { text-decoration: none; }
html[data-bs-theme="dark"] .footer-link { color: rgba(255, 255, 255, 0.82); }
html[data-bs-theme="light"] .footer-link { color: rgba(15, 23, 42, 0.78); }
.footer-link:hover { text-decoration: underline; }

.icon-pill {
  width: 36px;
  height: 36px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.06);
}
html[data-bs-theme="light"] .icon-pill {
  border-color: rgba(15, 23, 42, 0.12);
  background: rgba(15, 23, 42, 0.04);
}

.icon-pill-inline-block {
  width: 36px;
  height: 36px;
  border-radius: 999px;
  display: inline-block;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.06);
}
html[data-bs-theme="light"] .icon-pill-inline-block {
  border-color: rgba(15, 23, 42, 0.12);
  background: rgba(15, 23, 42, 0.04);
}

/* Center footer columns on small screens */
@media (max-width: 767.98px) {
  .footer-wrap .row,
  .footer-wrap .col-12,
  .footer-wrap .col-6,
  .footer-wrap .col-md-4,
  .footer-wrap .col-lg-5,
  .footer-wrap .col-lg-7 {
    text-align: center;
  }

  .footer-wrap .d-flex.align-items-center.gap-3 { justify-content: center; }

  .footer-wrap .row.g-4.justify-content-lg-end { justify-content: center !important; }

  .footer-wrap ul.list-unstyled { justify-items: center; }

  .footer-wrap .d-grid.gap-2 a,
  .footer-wrap .d-grid.gap-2 div { justify-content: center; }

  .footer-wrap .footer-link.d-inline-flex { justify-content: center; }

  .footer-wrap .d-flex.align-items-center.gap-2.mt-2 { justify-content: center; }
	
  .footer-header {padding-bottom: 1rem;}

  .footer-wrap .d-flex.flex-column.flex-md-row.align-items-center.justify-content-between {
    justify-content: center !important;
    text-align: center;
  }

  /* FIX: center the company info paragraph itself */
  .footer-wrap p.small.muted {
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
  }
}

/* Sticky scroll-to-top */
.scroll-to-top {
  display: inline-block;
  height: 46px;
}

#scrollTopBtn {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 1200;
  width: 46px;
  height: 46px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255, 255, 255, 0.14);
  background: rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  opacity: 0;
  pointer-events: none;
  transform: translateY(8px);
  transition: opacity 160ms ease, transform 160ms ease, background 160ms ease;
}
html[data-bs-theme="light"] #scrollTopBtn {
  border-color: rgba(15, 23, 42, 0.14);
  background: rgba(255, 255, 255, 0.70);
}
#scrollTopBtn:hover { background: rgba(255, 255, 255, 0.12); }
html[data-bs-theme="light"] #scrollTopBtn:hover { background: rgba(255, 255, 255, 0.86); }
#scrollTopBtn.is-visible { opacity: 1; pointer-events: auto; transform: translateY(0); }

/* modal */
.modal {
  z-index: 3000;
}

.modal-backdrop {
  z-index: 2999;
}