/* =========================================================
   Bavesta Hospitality — Design System (Black / Gold Theme, matched to logo)
   ========================================================= */
:root {
  --bg: rgb(0, 0, 0);
  --bg-soft: #141414;
  --card: #181818;
  --ink: #ffffff;
  --grey: #111;
  --grey-soft: #808080;
  --border: rgba(255, 255, 255, 0.12);
  --orange: #c89640;
  --orange-light: #e7c171;
  --orange-dark: #8a611f;
  --orange-gradient: linear-gradient(135deg, #ecc77c 0%, #c89640 50%, #93701f 100%);
  --purple: #1c1c1c;
  --purple-dark: #050505;
  --yellow: #dfb35a;
  --navy: #000000;
  --navy-soft: #141414;
  --radius: 14px;
  --shadow: 0 20px 50px rgba(0, 0, 0, 0.5);
  --container: 1500px;
  --ff-heading: "Lato", sans-serif;
  --ff-body: "Lato", sans-serif;
}

/* Alternating section theme: flips a section to a white/black-text surface
   for a black-and-white rhythm down the page, while gold accents stay gold. */
.bg-soft {
  --bg: #ffffff;
  --bg-soft: #f1f1f1;
  --card: #f5f5f5;
  --ink: #0a0a0a;
  --grey: #4a4a4a;
  --grey-soft: #6e6e6e;
  --border: rgba(0, 0, 0, 0.1);
  background: var(--bg);
  color: var(--grey);
}

* { margin: 0; padding: 0; box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  background: var(--bg);
  color: var(--grey);
  font-family: var(--ff-body);
  font-weight: 300;
  line-height: 1.7;
  overflow-x: hidden;
}

img { max-width: 100%; display: block; }
a { text-decoration: none; color: inherit; }
ul { list-style: none; }

.container {
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 24px;
}

h1, h2, h3, h4 {
  font-family: var(--ff-heading);
  font-weight: 700;
  line-height: 1.25;
  color: var(--ink);
}

.eyebrow {
  display: inline-block;
  font-family: var(--ff-body);
  font-size: 13px;
  letter-spacing: 3px;
  text-transform: capitalize;
  color: var(--orange);
  margin-bottom: 14px;
  font-weight: 600;
}

.section-title {
  font-size: clamp(28px, 4vw, 42px);
  margin-bottom: 16px;
}

.section-lead {
  color: var(--grey);
  font-size: 16px;
  max-width: 640px;
}

.section-head {
  text-align: center;
  max-width: 720px;
  margin: 0 auto 56px;
}

section { padding: 100px 0; position: relative; }
.section-tight { padding: 70px 0; }

.gold-text {
  background: var(--orange-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

/* ---------- Buttons ---------- */
.btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 13px 30px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.5px;
  cursor: pointer;
  border: 1px solid transparent;
  transition: all 0.3s ease;
  white-space: nowrap;
}
.btn-gold {
  background: var(--orange-gradient);
  color: #fff;
}
.btn-gold:hover { transform: translateY(-2px); box-shadow: 0 10px 26px rgba(244,130,31,0.35); }
.btn-outline {
  border: 1px solid var(--border);
  color: var(--ink);
  background: transparent;
}
.btn-outline:hover { border-color: var(--orange); color: var(--orange); }
.btn-text { font-size: 14px; font-weight: 500; color: var(--grey); padding: 13px 10px; }
.btn-text:hover { color: var(--orange); }
.btn-lg { padding: 16px 38px; font-size: 15px; }

/* =========================================================
   Header / Nav
   ========================================================= */
.site-header {
  position: sticky;
  top: 0; left: 0; right: 0;
  z-index: 1000;
  background: #000;
  transition: all 0.3s ease;
}
.site-header.scrolled {
  backdrop-filter: blur(10px);
  box-shadow: 0 6px 24px rgba(0,0,0,0.35);
}

.logo { display: flex; align-items: center; gap: 12px; }
.logo-img { height: 110px;width: 175px; }

.container-xxl { max-width: var(--container); padding-left: 40px; padding-right: 40px; }
.site-header .container-xxl { background: #000; }

/* Row 1: utility / search bar */
.utility-bar { background: #000; border-bottom: 1px solid rgba(255,255,255,0.12); }
.utility-search { margin-left: 50px; position: relative; }
.btn-search { margin-left: auto; }
.search-field {
  min-width: 190px;
  border: none;
  background: transparent;
  color: var(--ink);
  padding: 0;
  text-align: left;
  cursor: pointer;
}
.site-header .search-field, .site-header .sf-value { color: #fff; }
.site-header .sf-label, .site-header .sf-icon { color: rgba(255,255,255,0.68); }
.search-field .sf-icon { color: var(--grey-soft); flex-shrink: 0; }
.search-field .sf-text { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.search-field .sf-label { font-size: 11.5px; color: var(--grey-soft); display: flex; align-items: center; gap: 3px; }
.search-field .sf-label .chev { font-size: 9px; transition: transform 0.2s ease; }
.search-field .sf-value {
  font-family: var(--ff-body);
  font-size: 14px;
  font-weight: 600;
  color: var(--ink);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 170px;
}
.search-field.active .sf-label .chev { transform: rotate(180deg); }
.search-divider { width: 1px; height: 32px; background: var(--border); }
.btn-search {
  background: #000;
  border: 1px solid rgba(255,255,255,0.22);
  color: #fff;
  font-weight: 600;
  font-size: 14px;
  padding: 12px 28px;
  border-radius: 999px;
  white-space: nowrap;
}
.btn-search:hover { background: var(--orange); border-color: var(--orange); color: #fff; }
.site-header .search-field .sf-icon,
.site-header .search-field .sf-label { color: rgba(255,255,255,0.68); }
.site-header .search-field .sf-value { color: #fff; }
.site-header .search-divider { background: rgba(255,255,255,0.18); }
.site-header .icon-circle-btn { border-color: rgba(255,255,255,0.22); color: #fff; }
.search-panel {
  position: absolute;
  top: calc(100% + 18px);
  z-index: 1200;
  display: none;
  background: #ffffff;
  color: #242424;
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 22px;
  box-shadow: 0 22px 50px rgba(0,0,0,0.18);
  padding: 28px;
}
.search-panel.open { display: block; }
.services-panel {
  left: 0;
  width: min(680px, calc(100vw - 64px));
}
.services-menu-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(110px, 1fr));
  gap: 22px 26px;
}
.service-menu-card {
  min-height: 126px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 14px;
  color: #2b2b2b;
  text-align: center;
  font-size: 13px;
  line-height: 1.35;
}
.service-menu-icon {
  width: 76px;
  height: 76px;
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 12px;
  display: grid;
  place-items: center;
  background: #fff;
  transition: border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}
.service-menu-icon svg {
  width: 42px;
  height: 42px;
  stroke: #444;
  fill: none;
  stroke-width: 1.35;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.service-menu-card:hover { color: var(--orange); }
.service-menu-card:hover .service-menu-icon {
  border-color: rgba(200,150,64,0.45);
  box-shadow: 0 10px 26px rgba(200,150,64,0.14);
  transform: translateY(-2px);
}
.service-menu-card:hover .service-menu-icon svg { stroke: var(--orange); }
.location-panel {
  left: 205px;
  width: min(660px, calc(100vw - 64px));
  display: none;
  grid-template-columns: 170px 1fr;
  gap: 18px;
  padding: 30px;
}
.location-panel.open { display: grid; }
.location-states { display: grid; gap: 6px; align-content: start; }
.location-state {
  border: none;
  background: transparent;
  color: #222;
  font: 600 15px var(--ff-body);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 12px;
  border-radius: 10px;
  cursor: pointer;
  text-align: left;
}
.location-state span { font-size: 24px; line-height: 1; color: #242424; }
.location-state.active,
.location-state:hover { color: #5d2a80; background: rgba(200,150,64,0.08); }
.location-cities {
  background: #f0f1ed;
  border-radius: 14px;
  padding: 12px 16px;
  min-height: 272px;
}
.city-list { display: none; }
.city-list.active { display: grid; gap: 4px; }
.city-list button {
  border: none;
  background: transparent;
  color: #353535;
  text-align: left;
  padding: 5px 0;
  font: 400 14px var(--ff-body);
  cursor: pointer;
}
.city-list button:hover { color: var(--orange); }
.date-panel {
  right: 24px;
  width: min(620px, calc(100vw - 64px));
  padding: 18px 18px 0;
}
.date-calendar { display: grid; gap: 14px; }
.calendar-toolbar {
  display: grid;
  grid-template-columns: 36px 1fr 36px;
  align-items: center;
  gap: 10px;
}
.calendar-toolbar strong {
  color: #151515;
  font: 700 13px var(--ff-body);
  text-align: center;
}
.calendar-nav {
  width: 34px;
  height: 34px;
  border: 1px solid rgba(0,0,0,0.1);
  border-radius: 50%;
  background: #fff;
  color: #222;
  font-size: 24px;
  line-height: 1;
  display: grid;
  place-items: center;
  cursor: pointer;
}
.calendar-nav:disabled {
  opacity: 0.35;
  cursor: not-allowed;
}
.calendar-months {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 22px;
}
.calendar-month h4 {
  font: 700 13px var(--ff-body);
  color: #111;
  text-align: center;
  margin-bottom: 12px;
}
.calendar-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 4px;
  text-align: center;
}
.calendar-grid span,
.calendar-grid button {
  width: 30px;
  height: 28px;
  display: grid;
  place-items: center;
  font: 500 12px var(--ff-body);
}
.calendar-grid span { color: #111; }
.calendar-grid button {
  border: none;
  border-radius: 7px;
  background: transparent;
  color: #202020;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease, transform 0.15s ease;
}
.calendar-grid button:not(:disabled):hover {
  background: rgba(200,150,64,0.15);
  color: #8a611f;
}
.calendar-grid button.muted { color: #9ca0a6; }
.calendar-grid button.disabled,
.calendar-grid button:disabled {
  color: #c6c8cc;
  cursor: not-allowed;
  text-decoration: line-through;
  background: transparent;
}
.calendar-grid button.today {
  border: 1px solid var(--orange);
  color: var(--orange-dark);
  font-weight: 700;
}
.calendar-grid button.selected,
.calendar-grid button.range-start,
.calendar-grid button.range-end { background: #0d6efd; color: #fff; text-decoration: none; border-color: #0d6efd; }
.calendar-grid button.in-range { background: rgba(13,110,253,0.14); color: #0d4fb8; text-decoration: none; }
.date-actions {
  margin: 14px -18px 0;
  border-top: 1px solid rgba(0,0,0,0.08);
  padding: 10px 12px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  color: #222;
  font-size: 13px;
}
.date-actions span { margin-right: auto; padding-left: 8px; }
.date-clear,
.date-apply {
  border: 1px solid rgba(0,0,0,0.12);
  border-radius: 6px;
  padding: 7px 12px;
  font: 600 12px var(--ff-body);
  cursor: pointer;
}
.date-clear { background: #fff; color: #222; }
.date-apply { background: #0d6efd; border-color: #0d6efd; color: #fff; }

.utility-actions { display: flex; align-items: center; gap: 14px; }
.home-tab { font-size: 13px; font-weight: 700; letter-spacing: 1px; text-transform: capitalize; color: var(--ink); padding-bottom: 6px; border-bottom: 2px solid transparent; }
.home-tab.active, .home-tab:hover { color: var(--orange); border-color: var(--orange); }
.icon-circle-btn {
  width: 40px; height: 40px; border-radius: 50%;
  border: 1px solid var(--border);
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; background: transparent; color: var(--ink);
  flex-shrink: 0;
}
.icon-circle-btn.filled { background: var(--orange-gradient); border-color: transparent; color: var(--navy); }

/* Row 2: icon services nav */
.icon-nav { background: #000; border-bottom: 1px solid rgba(255,255,255,0.12); }
.icon-nav-item { display: flex; flex-direction: column; align-items: center; gap: 8px; text-align: center; }
.icon-nav-item svg { width: 24px; height: 24px; stroke: var(--ink); fill: none; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.icon-nav-item span { font-size: 12.5px; font-weight: 600; color: var(--orange); }
.icon-nav-item:hover svg, .icon-nav-item.active svg { stroke: var(--orange); }

/* Offcanvas flyout (hamburger) — Bootstrap handles position/backdrop/show-hide */
.main-nav { width: min(420px, 100vw); padding: 10px 8px; background: #000; color: #fff; }
.main-nav .offcanvas-body a {
  font-size: 15px;
  font-weight: 500;
  color: var(--ink);
}
.main-nav .offcanvas-body a:hover,
.main-nav .offcanvas-body a.active { color: var(--orange); }
.chev { font-size: 11px; margin-left: 2px; }

.dropdown { padding-left: 14px; }
.dropdown li a { font-size: 14px; color: var(--grey); }
.dropdown li a:hover { color: var(--orange); }
.nav-contact-panel {
  margin-top: auto;
  padding: 28px 4px 6px;
  border-top: 1px solid rgba(255,255,255,0.12);
}
.nav-contact-title {
  display: block;
  color: var(--orange-light);
  font-family: var(--ff-heading);
  font-size: 18px;
  margin-bottom: 14px;
}
.nav-social-links {
  display: flex;
  gap: 12px;
  margin-bottom: 22px;
}
.nav-social-links a {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,0.16);
  display: grid;
  place-items: center;
  color: #fff;
  background: rgba(255,255,255,0.04);
  transition: transform 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
.nav-social-links a:hover {
  transform: translateY(-2px);
  border-color: var(--orange);
  color: var(--orange-light);
}
.nav-social-links svg {
  width: 20px;
  height: 20px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.nav-contact-list {
  display: grid;
  gap: 12px;
}
.nav-contact-item {
  display: grid;
  grid-template-columns: 40px 1fr;
  gap: 12px;
  align-items: start;
  padding: 14px;
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 12px;
  background: rgba(255,255,255,0.035);
  color: rgba(255,255,255,0.72) !important;
  line-height: 1.45;
  word-break: break-word;
}
.nav-contact-item:hover { border-color: rgba(200,150,64,0.42); color: #fff !important; }
.nav-contact-icon {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: var(--orange-gradient);
  color: #fff;
  font-weight: 700;
  flex-shrink: 0;
}
.nav-contact-item strong {
  display: block;
  color: #fff;
  font-size: 12px;
  letter-spacing: 1px;
  text-transform: capitalize;
  margin-bottom: 3px;
}

/* Premium two-level Bavesta header */
.container-xxl { max-width: var(--container); padding-left: 40px; padding-right: 40px; }

.bavesta-header.site-header {
  position: sticky;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  background: transparent;
  transition: box-shadow 0.3s ease;
}
.bavesta-header.site-header.scrolled { box-shadow: 0 10px 34px rgba(0,0,0,0.2); }
.bavesta-header .container-xxl { background: transparent; }

.bavesta-topbar {
  background: var(--orange-gradient);
  color: #070707;
  border-bottom: 1px solid rgba(0,0,0,0.14);
}
.bavesta-topbar-inner {
  min-height: 42px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
}
.bavesta-contact-strip {
  display: flex;
  align-items: center;
  gap: 24px;
  min-width: 0;
}
.bavesta-contact-strip a,
.bavesta-contact-strip span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #080808;
  font-size: 12.5px;
  font-weight: 600;
  line-height: 1.35;
}
.bavesta-contact-strip i {
  color: #fff;
  text-shadow: 0 1px 1px rgba(0,0,0,0.2);
}
.bavesta-contact-strip > span:last-child {
  
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.bavesta-socials {
  display: flex;
  align-items: center;
  gap: 9px;
  flex-shrink: 0;
}
.bavesta-socials a {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: rgba(0,0,0,0.18);
  border: 1px solid rgba(255,255,255,0.3);
  transition: transform 0.24s ease, background 0.24s ease, color 0.24s ease;
}
.bavesta-socials a:hover {
  transform: translateY(-2px);
  background: #050505;
  color: var(--orange-light);
}

.bavesta-navbar {
  min-height: 90px;
  padding: 0;
  background: #fff;
  border-bottom: 1px solid rgba(200,150,64,0.24);
}
.bavesta-brand {
  display: flex;
  align-items: center;
  
  margin: 0;
}
.bavesta-brand img {
  width: 220px;
  height: auto;
  max-height: 96px;
  object-fit: contain;
}
.bavesta-toggler {
  width: 46px;
  height: 46px;
  border: 1px solid rgba(200,150,64,0.55);
  border-radius: 50%;
  color: #101010;
  box-shadow: none;
}
.bavesta-toggler:focus { box-shadow: 0 0 0 3px rgba(200,150,64,0.18); }
.bavesta-collapse { background: #fff; }
.bavesta-dropdown { padding-left: 0; }
.bavesta-menu { gap: 4px; }
.bavesta-menu .nav-link {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 34px 13px 31px;
  color: #141414;
  font-size: 13.5px;
  font-weight: 700;
  letter-spacing: 0.2px;
  text-transform: capitalize;
  transition: color 0.24s ease, transform 0.24s ease;
}
.bavesta-menu .nav-link i {
  color: var(--orange);
  font-size: 15px;
  transition: transform 0.24s ease;
}
.bavesta-menu .nav-link::after {
  content: "";
  position: absolute;
  left: 13px;
  right: 13px;
  bottom: 22px;
  height: 2px;
  border: 0;
  margin: 0;
  background: var(--orange-gradient);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.28s ease;
}
.bavesta-menu .dropdown-toggle::after { display: none; }
.bavesta-menu .nav-link:hover,
.bavesta-menu .nav-link.active { color: var(--orange-dark); }
.bavesta-menu .nav-link:hover i,
.bavesta-menu .nav-link.active i { transform: translateY(-1px); }
.bavesta-menu .nav-link:hover::after,
.bavesta-menu .nav-link.active::after { transform: scaleX(1); }

.bavesta-dropdown-menu {
  min-width: 270px;
  padding: 12px;
  border: 1px solid rgba(200,150,64,0.26);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 22px 54px rgba(0,0,0,0.18);
}
.bavesta-dropdown-menu .dropdown-item {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 5px;
  min-height: 42px;
  border-radius: 6px;
  color: #171717;
  font-size: 13.5px;
  font-weight: 600;
  transition: background 0.22s ease, color 0.22s ease, transform 0.22s ease;
}
.bavesta-dropdown-menu .dropdown-item i {
  color: var(--orange);
  font-size: 12px;
}
.bavesta-dropdown-menu .dropdown-item:hover,
.bavesta-dropdown-menu .dropdown-item.active {
  background: linear-gradient(135deg, rgba(236,199,124,0.2), rgba(200,150,64,0.1));
  color: var(--orange-dark);
  transform: translateX(3px);
}

@media (min-width: 1200px) {
  .bavesta-dropdown:hover > .dropdown-menu {
    display: block;
    margin-top: 0;
  }
}

/* Cinematic luxury refinement for the premium header */
.bavesta-header.site-header {
  isolation: isolate;
  animation: bavestaHeaderReveal 0.8s cubic-bezier(0.2, 0.8, 0.2, 1) both;
}
.bavesta-header.site-header::before {
  content: "";
  position: absolute;
  left: 7%;
  right: 7%;
  bottom: -18px;
  height: 34px;
  z-index: -1;
  pointer-events: none;
  background: radial-gradient(ellipse at center, rgba(236,199,124,0.34), rgba(236,199,124,0));
  filter: blur(18px);
  opacity: 0.85;
  transition: opacity 0.3s ease;
}
.bavesta-header.site-header.scrolled::before { opacity: 0.45; }
.bavesta-header.site-header.scrolled {
  box-shadow: 0 18px 42px rgba(0,0,0,0.24);
}

.bavesta-topbar {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(90deg, #9d6e1e 0%, #e8bf65 24%, #b98224 50%, #f3d58a 76%, #936414 100%);
  background-size: 220% 100%;
  animation: bavestaGoldFlow 10s ease-in-out infinite;
}
.bavesta-topbar::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(110deg, transparent 0%, rgba(255,255,255,0.55) 42%, transparent 58%),
    radial-gradient(circle at 15% 50%, rgba(255,255,255,0.24), transparent 26%);
  transform: translateX(-120%);
  animation: bavestaTopbarSheen 5.8s ease-in-out infinite;
}
.bavesta-topbar-inner { position: relative; z-index: 1; }
.bavesta-contact-strip a,
.bavesta-contact-strip span {
  text-shadow: 0 1px 0 rgba(255,255,255,0.22);
}
.bavesta-contact-strip a:hover {
  color: #fff;
  transform: translateY(-1px);
}
.bavesta-contact-strip a,
.bavesta-socials a { transition: color 0.24s ease, transform 0.24s ease, background 0.24s ease; }

.bavesta-navbar {
  position: relative;
  overflow: visible;
  
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.9), 0 12px 30px rgba(0,0,0,0.08);
}
.bavesta-navbar::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 2px;
  background: linear-gradient(90deg, transparent, #e7c171, #8a611f, #e7c171, transparent);
  background-size: 240% 100%;
  animation: bavestaGoldLine 6s linear infinite;
}
.bavesta-navbar::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 18px;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(0,0,0,0.07), rgba(0,0,0,0));
  transform: translateY(100%);
}
.bavesta-brand {
  position: relative;
  transition: transform 0.28s ease;
}
.bavesta-brand::after {
  content: "";
  position: absolute;
  inset: 9px -12px;
  border-radius: 14px;
  background: radial-gradient(circle, rgba(232,191,101,0.22), rgba(232,191,101,0));
  opacity: 0;
  z-index: -1;
  transition: opacity 0.28s ease;
}
.bavesta-brand:hover {
  transform: translateY(-2px) scale(1.015);
}
.bavesta-brand:hover::after { opacity: 1; }
.bavesta-brand img {
  filter: drop-shadow(0 10px 18px rgba(0,0,0,0.12));
}

.bavesta-menu .nav-item {
  animation: bavestaNavRise 0.62s cubic-bezier(0.2, 0.8, 0.2, 1) both;
}
.bavesta-menu .nav-item:nth-child(1) { animation-delay: 80ms; }
.bavesta-menu .nav-item:nth-child(2) { animation-delay: 130ms; }
.bavesta-menu .nav-item:nth-child(3) { animation-delay: 180ms; }
.bavesta-menu .nav-item:nth-child(4) { animation-delay: 230ms; }
.bavesta-menu .nav-item:nth-child(5) { animation-delay: 280ms; }
.bavesta-menu .nav-item:nth-child(6) { animation-delay: 330ms; }
.bavesta-menu .nav-link {
  border-radius: 999px;
}
.bavesta-menu .nav-link::before {
  content: "";
  position: absolute;
  inset: 19px 4px 17px;
  border-radius: 999px;
  
  opacity: 0;
  transform: scale(0.92);
  transition: opacity 0.28s ease, transform 0.28s ease;
}
.bavesta-menu .nav-link:hover::before,
.bavesta-menu .nav-link.active::before {
  opacity: 1;
  transform: scale(1);
}
.bavesta-menu .nav-link span,
.bavesta-menu .nav-link i {
  position: relative;
  z-index: 1;
}
.bavesta-menu .nav-link:hover {
  transform: translateY(-2px);
}
.bavesta-menu .nav-link::after {
  bottom: 18px;
  height: 3px;
  border-radius: 999px;
  box-shadow: 0 0 14px rgba(200,150,64,0.45);
}

.bavesta-dropdown-menu {
  overflow: hidden;
  border-radius: 14px;
  background:
    linear-gradient(180deg, rgba(18,18,18,0.98), rgba(5,5,5,0.98)),
    radial-gradient(circle at 20% 0%, rgba(236,199,124,0.18), transparent 36%);
  border: 1px solid rgba(232,191,101,0.34);
  box-shadow: 0 28px 70px rgba(0,0,0,0.32), inset 0 1px 0 rgba(255,255,255,0.08);
  animation: bavestaDropdownReveal 0.24s ease both;
}
.bavesta-dropdown-menu::before {
  content: "";
  position: absolute;
  left: 16px;
  right: 16px;
  top: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(236,199,124,0.9), transparent);
}
.bavesta-dropdown-menu .dropdown-item {
  position: relative;
  color: rgba(255,255,255,0.82);
}
.bavesta-dropdown-menu .dropdown-item::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 6px;
  background: linear-gradient(90deg, rgba(232,191,101,0.18), rgba(255,255,255,0.04));
  opacity: 0;
  transition: opacity 0.22s ease;
}
.bavesta-dropdown-menu .dropdown-item i,
.bavesta-dropdown-menu .dropdown-item span {
  position: relative;
  z-index: 1;
}
.bavesta-dropdown-menu .dropdown-item:hover,
.bavesta-dropdown-menu .dropdown-item.active {
  background: transparent;
  color: #f5d58b;
  transform: translateX(5px);
}
.bavesta-dropdown-menu .dropdown-item:hover::after,
.bavesta-dropdown-menu .dropdown-item.active::after { opacity: 1; }

.bavesta-toggler {
  position: relative;
  overflow: hidden;
  background: linear-gradient(180deg, #fff, #f7f1e4);
  transition: transform 0.24s ease, box-shadow 0.24s ease, color 0.24s ease;
}
.bavesta-toggler::after {
  content: "";
  position: absolute;
  inset: -40%;
  background: linear-gradient(110deg, transparent 30%, rgba(232,191,101,0.58), transparent 70%);
  transform: translateX(-80%);
  transition: transform 0.45s ease;
}
.bavesta-toggler i {
  position: relative;
  z-index: 1;
}
.bavesta-toggler:hover {
  color: var(--orange-dark);
  transform: translateY(-2px);
  box-shadow: 0 10px 22px rgba(200,150,64,0.22);
}
.bavesta-toggler:hover::after { transform: translateX(80%); }

@keyframes bavestaHeaderReveal {
  from { opacity: 0; transform: translateY(-18px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes bavestaGoldFlow {
  0%, 100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}
@keyframes bavestaTopbarSheen {
  0%, 42% { transform: translateX(-120%); opacity: 0; }
  52% { opacity: 1; }
  70%, 100% { transform: translateX(120%); opacity: 0; }
}
@keyframes bavestaGoldLine {
  from { background-position: 0% 50%; }
  to { background-position: 240% 50%; }
}
@keyframes bavestaNavRise {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes bavestaDropdownReveal {
  from { opacity: 0; transform: translateY(10px) scale(0.98); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@media (prefers-reduced-motion: reduce) {
  .bavesta-header.site-header,
  .bavesta-topbar,
  .bavesta-topbar::after,
  .bavesta-navbar::before,
  .bavesta-menu .nav-item,
  .bavesta-dropdown-menu {
    animation: none;
  }
}


/* =========================================================
   Hero
   ========================================================= */
.hero {
  display: flex;
  align-items: center;
  position: relative;
  padding: 170px 0 90px;
  background: var(--bg);
  overflow: hidden;
}
.hero-content h1 {
  font-size: clamp(32px, 4.4vw, 50px);
  margin-bottom: 20px;
}
.hero-content p { color: var(--grey); font-size: 16.5px; max-width: 480px; margin-bottom: 32px; }
.hero-cta { display: flex; gap: 16px; flex-wrap: wrap; }
.btn-outline-light { border: 1px solid rgba(255,255,255,0.45); color: #fff; background: transparent; }
.btn-outline-light:hover { border-color: #fff; background: rgba(255,255,255,0.12); }

.hgc-item {
  border-radius: var(--radius);
  overflow: hidden;
  border: 1px solid var(--border);
  box-shadow: var(--shadow);
  aspect-ratio: 4/3.4;
}
.hgc-item img { width: 100%; height: 100%; object-fit: cover; display: block; }

.hero-visual {
  position: relative;
  border-radius: var(--radius);
  overflow: hidden;
  border: 1px solid var(--border);
  background: linear-gradient(160deg, #1a1a1a, #000000);
  display: flex; align-items: center; justify-content: center;
}
.hero-visual img { width: 100%; height: 100%; object-fit: cover; }
.hero-visual .visual-emblem { font-family: var(--ff-heading); font-size: 60px; color: var(--orange); opacity: 0.3; }
.auth-visual { aspect-ratio: 4/5; min-height: 420px; }
.partner-visual { height: 100%; min-height: 620px; }

.hero-stat-card {
  position: absolute;
  bottom: 24px; left: 24px;
  background: rgba(0,0,0,0.85);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 16px 20px;
  backdrop-filter: blur(6px);
  box-shadow: var(--shadow);
}
.hero-stat-card strong { font-family: var(--ff-heading); color: var(--orange); font-size: 24px; display: block; }
.hero-stat-card span { font-size: 12px; color: var(--grey); letter-spacing: 0.5px; }

.hero-search {
  margin-top: 40px;
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 18px;
  box-shadow: var(--shadow);
}
.hero-search .field { display: flex; flex-direction: column; gap: 6px; }
.hero-search label { font-size: 11px; letter-spacing: 1px; text-transform: capitalize; color: var(--grey-soft); }
.hero-search select, .hero-search input {
  background: transparent; border: none; color: var(--ink); font-family: var(--ff-body); font-size: 14px; outline: none;
}


/* =========================================================
   Home expansion sections
   ========================================================= */
.home-experiences,
.planning-journey,
.destination-highlights { overflow: hidden; }
.experience-card::after, .destination-card::after {
  content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,0.06), rgba(0,0,0,0.78)); pointer-events: none;
}
.experience-card img, .destination-card img {
  position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 0.7s ease;
}
.experience-card:hover img, .destination-card:hover img { transform: scale(1.08); }
.experience-card h3, .destination-card > div { position: relative; z-index: 1; }
.experience-card h3, .destination-card h3 { color: #fff; font-size: 20px; margin-bottom: 8px; }
.destination-card p { color: rgba(255,255,255,0.78); font-size: 13.5px; margin: 0; }
.experience-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.experience-card {
  position: relative; min-height: 250px; border-radius: 18px; overflow: hidden; border: 1px solid var(--border);
  display: flex; align-items: flex-end; padding: 22px; box-shadow: var(--shadow);
}
.experience-card h3 { margin: 0; }
.journey-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.journey-step {
  position: relative; min-height: 230px; border: 1px solid var(--border); border-radius: 18px; background: var(--card);
  padding: 30px; box-shadow: var(--shadow); overflow: hidden;
}
.journey-step::before {
  content: ""; position: absolute; inset: auto -30% -45% -30%; height: 120px; background: radial-gradient(circle, rgba(200,150,64,0.26), transparent 65%);
}
.journey-step span { display: inline-flex; color: var(--orange); font-family: var(--ff-heading); font-size: 34px; line-height: 1; margin-bottom: 38px; }
.journey-step h3 { font-size: 20px; margin-bottom: 10px; }
.journey-step p { color: var(--grey); font-size: 14px; margin: 0; }
.destination-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.destination-card {
  position: relative; min-height: 320px; border-radius: 18px; overflow: hidden; border: 1px solid var(--border);
  display: flex; align-items: flex-end; padding: 24px; box-shadow: var(--shadow);
}
/* =========================================================
   Logo strip / clients
   ========================================================= */
.client-marquee {
  position: relative;
  overflow: hidden;
  display: flex;
  gap: 18px;
  padding: 8px 0;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.client-marquee:hover .client-marquee-track { animation-play-state: paused; }
.client-marquee-track {
  display: flex;
  align-items: stretch;
  gap: 18px;
  min-width: max-content;
  animation: client-scroll 28s linear infinite;
}
.client-logo {
  width: 170px;
  min-height: 132px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: var(--card);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 18px 14px;
  box-shadow: 0 12px 28px rgba(0,0,0,0.08);
  flex: 0 0 auto;
}
.client-logo img {
  width: 62px;
  height: 62px;
  border-radius: 50%;
  object-fit: cover;
  border: 1px solid var(--border);
}
.client-logo span {
  font-family: var(--ff-heading);
  font-size: 16px;
  color: var(--ink);
  letter-spacing: 0.4px;
  text-align: center;
}
@keyframes client-scroll {
  from { transform: translateX(0); }
  to { transform: translateX(calc(-100% - 18px)); }
}

/* =========================================================
   Cards & Grids
   ========================================================= */
.card {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 34px;
  box-shadow: var(--shadow);
  transition: transform 0.3s ease, border-color 0.3s ease;
}
.card:hover { transform: translateY(-6px); border-color: var(--orange); }
.card .icon-badge {
  width: 54px; height: 54px;
  border-radius: 50%;
  background: var(--orange-gradient);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--ff-heading); font-size: 22px; color: #fff;
  margin-bottom: 22px;
}
.card h3 { font-size: 19px; margin-bottom: 12px; color: var(--ink); }
.card p { color: var(--grey); font-size: 14.5px; }

.media-card {
  border-radius: var(--radius);
  overflow: hidden;
  border: 1px solid var(--border);
  background: var(--card);
  box-shadow: var(--shadow);
}
.media-card .media {
  aspect-ratio: 4/3;
  background: linear-gradient(160deg, #1a1a1a, #000000);
  display: flex; align-items: center; justify-content: center;
  position: relative;
  overflow: hidden;
}
.media-card .media img { width: 100%; height: 100%; object-fit: cover; }
.media-card .media .ph-label { font-family: var(--ff-heading); color: var(--orange); opacity: 0.5; font-size: 15px; letter-spacing: 1px; }
.media-card .media::after,
.hero-visual::after,
.gallery-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,0) 45%, rgba(0,0,0,0.28) 100%);
  pointer-events: none;
}
.media-card .media-body { padding: 22px; }
.media-card h3 { font-size: 17px; margin-bottom: 8px; color: var(--ink); }
.media-card p { color: var(--grey); font-size: 14px; margin-bottom: 14px; }
.media-card .know-more {
  display: inline-flex; align-items: center; gap: 6px;
  background: var(--orange-gradient);
  color: #fff;
  font-size: 13px; font-weight: 600;
  padding: 9px 20px;
  border-radius: 999px;
}

.tag {
  display: inline-block;
  font-size: 11px;
  letter-spacing: 1px;
  text-transform: capitalize;
  color: var(--orange);
  border: 1px solid var(--border);
  padding: 4px 12px;
  border-radius: 999px;
  margin-bottom: 12px;
}

/* =========================================================
   Purple band (stats / blog teaser)
   ========================================================= */
.purple-band {
  background: linear-gradient(135deg, var(--purple) 0%, var(--purple-dark) 100%);
  border: 1px solid var(--border);
  box-shadow: var(--shadow);
  border-radius: 20px;
  padding: 56px;
  color: #fff;
}
.purple-band h2, .purple-band h3 { color: #fff; }
.purple-band p { color: rgba(255,255,255,0.78); }
.purple-band .eyebrow { color: var(--orange-light); }

.purple-split { display: grid; grid-template-columns: 1.3fr 1fr; gap: 40px; align-items: center; }
.purple-points { display: grid; gap: 16px; margin: 18px 0 26px; }
.purple-points li { display: flex; gap: 12px; color: rgba(255,255,255,0.85); font-size: 14.5px; }
.purple-points li span { color: var(--orange-light); font-weight: 700; }
.purple-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; text-align: center; }
.purple-stats strong { display: block; font-family: var(--ff-heading); font-size: clamp(26px, 3.4vw, 36px); color: #fff; }
.purple-stats span { font-size: 12px; color: rgba(255,255,255,0.7); letter-spacing: 0.4px; }

.blog-band-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin: 26px 0 30px; }
.blog-band-grid .item h4 { color: #fff; font-size: 15px; margin-bottom: 6px; }
.blog-band-grid .item p { color: rgba(255,255,255,0.7); font-size: 13px; }

/* =========================================================
   Partners logos
   ========================================================= */
.partners-grid { display: flex; flex-wrap: wrap; justify-content: center; gap: 18px; }
.partner-logo {
  min-width: 150px;
  border: 1px solid var(--border);
  padding: 14px 18px;
  border-radius: 10px;
  background: var(--card);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}
.partner-logo img {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  object-fit: cover;
}
.partner-logo span {
  font-family: var(--ff-heading);
  font-size: 16px;
  color: var(--ink);
  white-space: nowrap;
}

/* =========================================================
   Years-of-excellence badge
   ========================================================= */
.years-badge { text-align: center; }
.years-badge .num {
  font-family: var(--ff-heading);
  font-size: clamp(90px, 14vw, 160px);
  font-weight: 800;
  background: var(--orange-gradient);
  -webkit-background-clip: text; background-clip: text; color: transparent;
  line-height: 1;
}
.years-badge h3 { font-size: 22px; margin: 6px 0 8px; }
.years-badge p { color: var(--grey); font-size: 13px; letter-spacing: 1px; text-transform: capitalize; }

/* =========================================================
   Testimonials
   ========================================================= */
.testimonial-slider { position: relative; max-width: 760px; margin: 0 auto; text-align: center; }
.testimonial-slide { display: none; }
.testimonial-slide.active { display: block; animation: fadeIn 0.6s ease; }
.testimonial-slide p { font-family: var(--ff-heading); font-size: clamp(18px, 2.4vw, 24px); color: var(--ink); margin-bottom: 22px; font-weight: 500; }
.testimonial-author strong { color: var(--orange); display: block; font-size: 14px; }
.testimonial-author span { color: var(--grey-soft); font-size: 12.5px; }
.slider-dots { display: flex; justify-content: center; gap: 8px; margin-top: 32px; }
.slider-dots button { width: 9px; height: 9px; border-radius: 50%; border: none; background: var(--border); cursor: pointer; }
.slider-dots button.active { background: var(--orange); }
@keyframes fadeIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }

/* =========================================================
   CTA Band (plain card style)
   ========================================================= */
.cta-band {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 20px;
  padding: 60px;
  box-shadow: var(--shadow);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  flex-wrap: wrap;
}
.cta-band h2 { font-size: clamp(24px, 3vw, 32px); margin-bottom: 8px; }
.cta-band p { color: var(--grey); }

/* =========================================================
   Forms
   ========================================================= */
.form-group { display: flex; flex-direction: column; gap: 8px; }
.form-group label { font-size: 13px; color: var(--grey); letter-spacing: 0.3px; }
.form-group input, .form-group select, .form-group textarea {
  background: var(--bg-soft);
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 13px 16px;
  color: var(--ink);
  font-family: var(--ff-body);
  font-size: 14px;
  outline: none;
  transition: border-color 0.25s ease;
}
.form-group input:focus, .form-group select:focus, .form-group textarea:focus { border-color: var(--orange); }
.form-card {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 40px;
  box-shadow: var(--shadow);
}

/* =========================================================
   Contact strip (yellow)
   ========================================================= */
.contact-strip { background: var(--yellow); padding: 26px 0; }
.contact-strip-item { display: flex; align-items: center; gap: 12px; color: var(--navy); }
.contact-strip-item .ci-icon {
  width: 38px; height: 38px; border-radius: 50%;
  background: rgba(28,26,35,0.12);
  display: flex; align-items: center; justify-content: center;
  font-size: 16px; flex-shrink: 0;
}
.contact-strip-item strong { display: block; font-size: 13.5px; }
.contact-strip-item span { font-size: 12px; opacity: 0.85; }

/* =========================================================
   Footer (dark navy — local theme override)
   ========================================================= */
.site-footer {
  --bg: var(--navy);
  --bg-soft: var(--navy-soft);
  --card: var(--navy-soft);
  --ink: #f5f3ee;
  --grey: #b9b4c4;
  --grey-soft: #8d899a;
  --border: rgba(255,255,255,0.1);
  background: var(--navy);
  padding-top: 70px;
  color: var(--grey);
}
.site-footer .logo-img { height: 84px; }
.footer-tagline { color: var(--grey); font-size: 13.5px; margin: 16px 0 20px; max-width: 260px; }
.site-footer h4 { font-size: 15px; margin-bottom: 18px; color: var(--orange-light); }
.footer-col li { margin-bottom: 12px; }
.footer-col li a { color: var(--grey); font-size: 14px; }
.footer-col li a:hover { color: var(--orange-light); }
.footer-contact li { color: var(--grey); font-size: 13.5px; }
.social-links { display: flex; gap: 10px; }
.social-links a {
  width: 36px; height: 36px;
  border: 1px solid var(--border);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 11px; text-transform: capitalize; color: var(--grey);
}
.social-links a:hover { border-color: var(--orange-light); color: var(--orange-light); }
.footer-bottom { border-top: 1px solid var(--border); padding: 20px 0; }
.footer-bottom p { color: var(--grey-soft); font-size: 13px; }

/* =========================================================
   Premium Royal Cinematic Footer - bvf scoped
   ========================================================= */
.bvf-footer {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  padding-top: clamp(74px, 8vw, 118px);
  color: #cfcfcf;
  background:
    radial-gradient(circle at 16% 12%, rgba(201,161,74,0.16), transparent 30%),
    radial-gradient(circle at 84% 86%, rgba(212,175,55,0.12), transparent 28%),
    linear-gradient(145deg, #050505 0%, #121212 45%, #050505 100%);
}
.bvf-bg,
.bvf-bg span {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.bvf-bg { z-index: -1; }
.bvf-topline {
  position: absolute;
  inset: 0 0 auto;
  height: 2px;
  background: linear-gradient(90deg, transparent, #c9a14a, #f7e3a1, #c9a14a, transparent);
  background-size: 220% 100%;
  animation: bvfGradientFlow 7s linear infinite;
  box-shadow: 0 0 28px rgba(201,161,74,0.58);
}
.bvf-orb {
  width: 520px;
  height: 520px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(212,175,55,0.22), rgba(201,161,74,0.08) 35%, transparent 68%);
  opacity: 0.62;
  filter: blur(8px);
  mix-blend-mode: screen;
  animation: bvfGlowPulse 13s ease-in-out infinite;
}
.bvf-orb-one { top: -220px; left: -180px; }
.bvf-orb-two { right: -190px; bottom: -250px; animation-delay: -5s; }
.bvf-wave {
  height: 240px;
  width: 90%;
  border-radius: 999px;
  opacity: 0.28;
  background: linear-gradient(105deg, transparent, rgba(201,161,74,0.18), rgba(255,255,255,0.06), transparent);
  filter: blur(16px);
  mix-blend-mode: screen;
  animation: bvfWaveMove 24s ease-in-out infinite alternate;
}
.bvf-wave-one { top: 8%; left: -30%; transform: rotate(-8deg); }
.bvf-wave-two { right: -32%; bottom: 10%; transform: rotate(-7deg); animation-duration: 31s; }
.bvf-particles::before,
.bvf-particles::after,
.bvf-sparkles::before,
.bvf-sparkles::after {
  content: "";
  position: absolute;
  inset: -12%;
  will-change: transform, opacity;
}
.bvf-particles::before {
  opacity: 0.38;
  background-image:
    radial-gradient(circle, rgba(247,227,161,0.42) 0 1px, transparent 1.5px),
    radial-gradient(circle, rgba(201,161,74,0.32) 0 0.9px, transparent 1.4px);
  background-size: 34px 34px, 79px 79px;
  animation: bvfParticleDrift 42s linear infinite;
}
.bvf-particles::after {
  opacity: 0.22;
  background-image: radial-gradient(circle, rgba(255,255,255,0.18) 0 0.8px, transparent 1.3px);
  background-size: 53px 53px;
  animation: bvfParticleDrift 62s linear infinite reverse;
}
.bvf-sparkles::before {
  opacity: 0.48;
  background:
    radial-gradient(circle at 8% 26%, #fff 0 1px, rgba(201,161,74,0.65) 1px 2px, transparent 6px),
    radial-gradient(circle at 22% 72%, rgba(247,227,161,0.8) 0 1px, transparent 5px),
    radial-gradient(circle at 79% 18%, #fff 0 1px, rgba(212,175,55,0.5) 1px 2px, transparent 6px),
    radial-gradient(circle at 92% 82%, rgba(247,227,161,0.8) 0 1px, transparent 7px);
  animation: bvfSparkleTwinkle 8s ease-in-out infinite;
}
.bvf-newsletter {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(340px, 0.72fr);
  align-items: center;
  gap: 28px;
  margin-bottom: 46px;
  padding: clamp(24px, 4vw, 42px);
  border: 1px solid rgba(201,161,74,0.24);
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(255,255,255,0.08), rgba(255,255,255,0.025));
  box-shadow: 0 26px 70px rgba(0,0,0,0.34), inset 0 1px 0 rgba(255,255,255,0.08);
  backdrop-filter: blur(14px);
}
.bvf-newsletter::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(115deg, transparent 0%, rgba(255,255,255,0.1) 42%, transparent 58%);
  transform: translateX(-100%);
  animation: bvfGlassShine 8s ease-in-out infinite;
  pointer-events: none;
}
.bvf-kicker {
  display: inline-block;
  margin-bottom: 10px;
  color: #f7e3a1;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 2.6px;
  text-transform: capitalize;
}
.bvf-newsletter h2 {
  margin: 0;
  max-width: 760px;
  color: #fff;
  font-size: clamp(24px, 3vw, 38px);
}
.bvf-newsletter-form {
  position: relative;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
}
.bvf-newsletter-form input {
  min-height: 56px;
  width: 100%;
  border: 1px solid rgba(201,161,74,0.42);
  border-radius: 999px;
  padding: 0 20px;
  background: rgba(5,5,5,0.48);
  color: #fff;
  outline: none;
  transition: border-color 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
}
.bvf-newsletter-form input::placeholder { color: rgba(255,255,255,0.46); }
.bvf-newsletter-form input:focus {
  border-color: #f7e3a1;
  box-shadow: 0 0 0 4px rgba(201,161,74,0.12), 0 0 32px rgba(201,161,74,0.16);
  background: rgba(5,5,5,0.68);
}
.bvf-newsletter-form button {
  min-height: 56px;
  border: none;
  border-radius: 999px;
  padding: 0 22px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #141006;
  font-weight: 800;
  background: linear-gradient(135deg, #f7e3a1, #c9a14a 55%, #8d681c);
  box-shadow: 0 14px 30px rgba(201,161,74,0.28);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.bvf-newsletter-form button:hover {
  transform: translateY(-3px);
  box-shadow: 0 20px 42px rgba(201,161,74,0.42);
}
.bvf-newsletter-form small {
  position: absolute;
  left: 18px;
  bottom: -22px;
  color: #f7e3a1;
  font-size: 12px;
}
.bvf-main { padding-bottom: clamp(44px, 6vw, 76px); }
.bvf-brand-card,
.bvf-link-card,
.bvf-contact-card {
  height: 100%;
}
.bvf-glass-card {
  height: 100%;
  position: relative;
  padding: 28px;
  border: 1px solid rgba(201,161,74,0.16);
  border-radius: 16px;
  background: linear-gradient(145deg, rgba(255,255,255,0.07), rgba(255,255,255,0.022));
  box-shadow: 0 18px 52px rgba(0,0,0,0.28);
  backdrop-filter: blur(12px);
  transform-style: preserve-3d;
  transition: transform 0.28s ease, border-color 0.28s ease, box-shadow 0.28s ease;
}
.bvf-glass-card:hover {
  transform: translateY(-7px);
  border-color: rgba(201,161,74,0.42);
  box-shadow: 0 28px 70px rgba(0,0,0,0.4), 0 0 34px rgba(201,161,74,0.08);
}
.bvf-glass-card::after {
  content: "";
  position: absolute;
  width: 34px;
  height: 34px;
  right: -1px;
  top: -1px;
  border-top: 1px solid rgba(247,227,161,0.8);
  border-right: 1px solid rgba(247,227,161,0.8);
  border-radius: 0 16px 0 0;
  opacity: 0.8;
}
.bvf-main > [class*="col-"] {
  position: relative;
}
.bvf-main > [class*="col-"] + [class*="col-"]::before {
  content: "";
  position: absolute;
  top: 8px;
  bottom: 8px;
  left: calc(var(--bs-gutter-x) * -0.25);
  width: 1px;
  background: linear-gradient(180deg, transparent, rgba(201,161,74,0.36), transparent);
}
.bvf-logo img {
  width: 164px;
  max-height: 82px;
  object-fit: contain;
  filter: drop-shadow(0 14px 24px rgba(0,0,0,0.32));
}
.bvf-brand-card p {
  margin: 22px 0 14px;
  color: rgba(255,255,255,0.72);
  font-size: 14.5px;
  line-height: 1.8;
}
.bvf-brand-card strong {
  display: block;
  color: #f7e3a1;
  font-family: var(--ff-heading);
  font-size: 18px;
  margin-bottom: 22px;
}
.bvf-cta-card {
  max-width: 440px;
}
.bvf-cta-kicker {
  display: inline-flex;
  margin-bottom: 14px;
  color: #f7e3a1;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.bvf-cta-card h2 {
  margin: 0 0 18px;
  color: #fff;
  font-family: var(--ff-heading);
  font-size: clamp(28px, 2.7vw, 42px);
  line-height: 1.08;
}
.bvf-cta-card p {
  margin: 0 0 24px;
  color: rgba(255,255,255,0.76);
  font-size: clamp(14.5px, 1.1vw, 16.5px);
  line-height: 1.78;
}
.bvf-cta-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 48px;
  padding: 13px 20px;
  border-radius: 999px;
  color: #111;
  background: linear-gradient(120deg, #f7e3a1, #d4af37 56%, #b8871d);
  font-size: 14px;
  font-weight: 900;
  box-shadow: 0 16px 34px rgba(201,161,74,0.22);
  transition: transform 0.28s ease, box-shadow 0.28s ease;
}
.bvf-cta-button:hover {
  color: #111;
  transform: translateY(-3px);
  box-shadow: 0 22px 46px rgba(201,161,74,0.34);
}
.bvf-cta-button i {
  font-size: 13px;
}
.bvf-socials {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.bvf-socials a {
  position: relative;
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: rgba(255,255,255,0.055);
  transform-style: preserve-3d;
  transition: transform 0.3s ease, color 0.3s ease, box-shadow 0.3s ease;
}
.bvf-socials a::before {
  content: "";
  position: absolute;
  inset: -3px;
  border-radius: 50%;
  border: 1px solid rgba(201,161,74,0.42);
  transition: transform 0.35s ease, border-color 0.35s ease;
}
.bvf-socials a:hover {
  color: #f7e3a1;
  transform: translateY(-5px) rotateX(12deg) rotateY(-10deg) scale(35px);
  box-shadow: 0 16px 32px rgba(201,161,74,0.18);
}
.bvf-socials a:hover::before {
  transform: rotate(38deg) scale(1.08);
  border-color: #f7e3a1;
}
.bvf-link-card h3,
.bvf-contact-card h3 {
  margin: 0 0 22px;
  color: #fff;
  font-size: 18px;
}
.bvf-link-card h3::after,
.bvf-contact-card h3::after {
  content: "";
  display: block;
  width: 46px;
  height: 2px;
  margin-top: 10px;
  background: linear-gradient(90deg, #c9a14a, transparent);
}
.bvf-link-list,
.bvf-contact-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 13px;
}
.bvf-link-list a {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: rgba(255,255,255,0.72);
  font-size: 14px;
  transition: color 0.24s ease, transform 0.24s ease, text-shadow 0.24s ease;
}
.bvf-link-list a i {
  width: 18px;
  color: #c9a14a;
  transition: transform 0.24s ease, color 0.24s ease;
}
.bvf-link-list a::after {
  content: "";
  position: absolute;
  left: 28px;
  right: 0;
  bottom: -4px;
  height: 1px;
  background: linear-gradient(90deg, #c9a14a, transparent);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.28s ease;
}
.bvf-link-list a:hover {
  color: #fff;
  transform: translateX(6px);
  text-shadow: 0 0 18px rgba(201,161,74,0.28);
}
.bvf-link-list a:hover i {
  color: #f7e3a1;
  transform: translateZ(12px) rotate(-6deg);
}
.bvf-link-list a:hover::after { transform: scaleX(1); }
.bvf-contact-list li {
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 12px;
  color: rgba(255,255,255,0.7);
  font-size: 13.5px;
  line-height: 1.55;
}
.bvf-contact-list i {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  color: #f7e3a1;
  background: rgba(201,161,74,0.12);
  border: 1px solid rgba(201,161,74,0.18);
}
.bvf-contact-list strong {
  display: block;
  color: #fff;
  margin-bottom: 2px;
  font-size: 12px;
  text-transform: capitalize;
  letter-spacing: 0.6px;
}
.bvf-contact-list a { color: rgba(255,255,255,0.78); }
.bvf-contact-list a:hover { color: #f7e3a1; }
.bvf-bottom {
  border-top: 1px solid rgba(201,161,74,0.16);
  background: rgba(0,0,0,0.38);
}
.bvf-bottom-inner {
  min-height: 74px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}
.bvf-bottom p {
  margin: 0;
  color: rgba(255,255,255,0.6);
  font-size: 13px;
}
.bvf-bottom nav {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
}
.bvf-bottom nav a {
  color: rgba(255,255,255,0.64);
  font-size: 13px;
}
.bvf-bottom nav a:hover { color: #f7e3a1; }
@keyframes bvfGradientFlow {
  from { background-position: 0% 50%; }
  to { background-position: 220% 50%; }
}
@keyframes bvfGlowPulse {
  0%, 100% { transform: translate3d(0,0,0) scale(1); opacity: 0.42; }
  50% { transform: translate3d(3%, -2%, 0) scale(1.08); opacity: 0.7; }
}
@keyframes bvfWaveMove {
  from { transform: translate3d(-3%, 0, 0) rotate(-8deg); }
  to { transform: translate3d(4%, -14px, 0) rotate(-5deg); }
}
@keyframes bvfParticleDrift {
  from { transform: translate3d(0,0,0); }
  to { transform: translate3d(-80px,-70px,0); }
}
@keyframes bvfSparkleTwinkle {
  0%, 100% { opacity: 0.18; transform: scale(0.98); }
  50% { opacity: 0.72; transform: scale(1.03); }
}
@keyframes bvfGlassShine {
  0%, 42% { transform: translateX(-110%); opacity: 0; }
  54% { opacity: 1; }
  74%, 100% { transform: translateX(110%); opacity: 0; }
}
@media (max-width: 1199px) {
  .bvf-newsletter { grid-template-columns: 1fr; }
  .bvf-main > [class*="col-"] + [class*="col-"]::before {
    display: none;
  }
}
@media (max-width: 768px) {
  .bvf-footer { padding-top: 70px; }
  .bvf-cta-card {
    max-width: 100%;
    text-align: center;
  }
  .bvf-cta-button {
    width: 100%;
  }
  .bvf-newsletter-form { grid-template-columns: 1fr; }
  .bvf-newsletter-form button { justify-content: center; }
  .bvf-bottom-inner {
    flex-direction: column;
    justify-content: center;
    text-align: center;
    padding: 20px 0;
  }
  .bvf-bottom nav { justify-content: center; }
}
@media (max-width: 575px) {
  .bvf-glass-card { padding: 22px; }
  .bvf-newsletter { padding: 24px 18px 34px; }
  .bvf-contact-list li { grid-template-columns: 36px 1fr; }
  .bvf-contact-list i { width: 36px; height: 36px; }
}
@media (prefers-reduced-motion: reduce) {
  .bvf-topline,
  .bvf-orb,
  .bvf-wave,
  .bvf-particles::before,
  .bvf-particles::after,
  .bvf-sparkles::before,
  .bvf-newsletter::before {
    animation: none !important;
  }
}

.quote-float {
  position: fixed;
  bottom: 28px;
  right: 28px;
  min-width: 188px;
  min-height: 66px;
  border: 1px solid rgba(255,255,255,0.16);
  border-radius: 999px;
  background: #050505;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 10px 18px 10px 12px;
  font-family: var(--ff-body);
  box-shadow: 0 18px 44px rgba(0,0,0,0.34), 0 0 0 1px rgba(200,150,64,0.28) inset;
  z-index: 999;
  cursor: pointer;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}
.quote-float:hover {
  transform: translateY(-4px);
  border-color: rgba(200,150,64,0.58);
  box-shadow: 0 24px 52px rgba(0,0,0,0.42), 0 0 0 1px rgba(200,150,64,0.5) inset;
}
.quote-float-icon {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: var(--orange-gradient);
  color: #fff;
  font-size: 19px;
  line-height: 1;
  flex: 0 0 auto;
}
.quote-float-text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  line-height: 1.15;
}
.quote-float-text strong { font-size: 14px; letter-spacing: 0.2px; }
.quote-float-text small { color: rgba(255,255,255,0.62); font-size: 11px; font-weight: 500; margin-top: 3px; }
.quote-modal .modal-dialog { max-width: 1120px; }
.quote-modal .modal-content {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,0.14);
  border-radius: 22px;
  background: #080808;
  color: #fff;
  box-shadow: 0 34px 90px rgba(0,0,0,0.52);
}
.quote-close {
  position: absolute;
  top: 18px;
  right: 18px;
  z-index: 3;
  width: 38px;
  height: 38px;
  border: 1px solid rgba(255,255,255,0.2);
  border-radius: 50%;
  background: rgba(0,0,0,0.58);
  color: #fff;
  font-size: 26px;
  line-height: 1;
  cursor: pointer;
}
.quote-modal-grid {
  display: grid;
  grid-template-columns: 0.82fr 1.38fr;
  min-height: 640px;
}
.quote-modal-side {
  position: relative;
  padding: 56px 44px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  background:
    linear-gradient(180deg, rgba(0,0,0,0.05), rgba(0,0,0,0.88)),
    url('https://images.unsplash.com/photo-1519167758481-83f550bb49b3?auto=format&fit=crop&w=900&q=80') center/cover;
}
.quote-modal-side::before {
  content: "";
  position: absolute;
  inset: 24px;
  border: 1px solid rgba(255,255,255,0.16);
  border-radius: 18px;
  pointer-events: none;
}
.quote-modal-side > * { position: relative; z-index: 1; }
.quote-modal-side h2 {
  color: #fff;
  font-size: clamp(30px, 3vw, 44px);
  margin-bottom: 18px;
}
.quote-modal-side p { color: rgba(255,255,255,0.8); font-size: 15px; }
.quote-points {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 24px;
}
.quote-points span {
  border: 1px solid rgba(255,255,255,0.22);
  border-radius: 999px;
  padding: 8px 13px;
  background: rgba(0,0,0,0.3);
  color: rgba(255,255,255,0.9);
  font-size: 12px;
}
.quote-form {
  padding: 42px;
  background: linear-gradient(180deg, #161616 0%, #0f0f0f 100%);
}
.quote-form-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 22px;
  padding-bottom: 18px;
  border-bottom: 1px solid rgba(255,255,255,0.1);
}
.quote-form-head span {
  font-family: var(--ff-heading);
  font-size: 24px;
  color: #fff;
}
.quote-form-head strong {
  border: 1px solid rgba(200,150,64,0.35);
  border-radius: 999px;
  padding: 8px 12px;
  color: var(--orange-light);
  font-size: 11px;
  font-weight: 600;
  white-space: nowrap;
}
.quote-form .form-group label { color: rgba(255,255,255,0.72); font-size: 12px; }
.quote-form .form-group input,
.quote-form .form-group select,
.quote-form .form-group textarea {
  background: #060606;
  border-color: rgba(255,255,255,0.13);
  color: #fff;
  min-height: 46px;
}
.quote-form .form-group input::placeholder,
.quote-form .form-group textarea::placeholder { color: rgba(255,255,255,0.36); }
.quote-form .form-group input:focus,
.quote-form .form-group select:focus,
.quote-form .form-group textarea:focus {
  border-color: var(--orange);
  box-shadow: 0 0 0 3px rgba(200,150,64,0.12);
}
.quote-note { color: rgba(255,255,255,0.58); font-size: 13px; }
/* =========================================================
   Page hero (sub-pages)
   ========================================================= */
.page-hero {
  padding: 90px 0 80px;
  background: var(--bg-soft);
  text-align: center;
  border-bottom: 1px solid var(--border);
}
.page-hero .breadcrumb {
  display: none;
}
.about-page-hero {
  position: relative;
  overflow: hidden;
  min-height: 400px;
  display: flex;
  align-items: center;
  background:
    linear-gradient(90deg, rgba(0,0,0,0.78) 0%, rgba(0,0,0,0.62) 42%, rgba(0,0,0,0.34) 100%),
    linear-gradient(180deg, rgba(0,0,0,0.42), rgba(0,0,0,0.68)),
    var(--about-hero-image, url("../b4.png")) center right / cover no-repeat;
  color: #fff;
}
.about-page-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 18% 18%, rgba(212,175,55,0.22), transparent 28%),
    radial-gradient(circle at 82% 72%, rgba(10,113,101,0.22), transparent 32%);
}
.about-page-hero .container {
  position: relative;
  z-index: 1;
}
.about-page-hero .breadcrumb,
.about-page-hero .breadcrumb a {
  color: rgba(255,255,255,0.78);
}
.about-page-hero .breadcrumb a:hover,
.about-page-hero .eyebrow {
  color: var(--orange-light);
}
.about-page-hero .section-title {
  color: #fff;
  text-shadow: 0 14px 34px rgba(0,0,0,0.36);
}
.about-page-hero .section-lead {
  max-width: 820px;
  color: rgba(255,255,255,0.86);
}
.process-page-hero {
  background: linear-gradient(90deg, rgb(4 21 72 / 83%) 0%, rgba(0, 0, 0, 0.62) 42%, rgba(0, 0, 0, 0.34) 100%), linear-gradient(180deg, rgba(0, 0, 0, 0.42), rgb(3 20 72 / 70%)), var(--about-hero-image, url(../b4.png)) center right / cover no-repeat;
}
.process-page-hero .process-hero-lead {
  max-width: 760px;
  margin: 18px auto 0;
  text-align: center;
  line-height: 1.8;
}
.service-page-hero {
  min-height: 400px;
  text-align: center;
  background:
    linear-gradient(90deg, rgba(0,0,0,0.82) 0%, rgba(0,0,0,0.64) 46%, rgba(0,0,0,0.28) 100%),
    linear-gradient(180deg, rgba(10,113,101,0.24), rgba(0,0,0,0.68)),
    var(--service-hero-image) center right / cover no-repeat;
}
.service-page-hero::before {
  background:
    radial-gradient(circle at 18% 18%, rgba(242,209,107,0.28), transparent 30%),
    radial-gradient(circle at 82% 72%, rgba(10,113,101,0.24), transparent 34%),
    linear-gradient(115deg, rgba(255,255,255,0.08), transparent 44%);
}
.service-page-hero .section-title {
  max-width: 980px;
  margin-left: auto;
  margin-right: auto;
}
.service-page-hero .hero-cta {
  justify-content: center;
}
.service-detail-section,
.service-process-section,
.service-cta-section {
  background:
    radial-gradient(circle at 12% 14%, rgba(212,175,55,0.09), transparent 28%),
    linear-gradient(135deg, #ffffff 0%, #fffdf8 50%, #f7fbfa 100%);
}
.service-detail-section .card,
.service-process-section .step-item,
.service-cta-section .cta-band {
  background: rgba(255,255,255,0.92);
  border-color: rgba(10,113,101,0.12);
  box-shadow: 0 22px 52px rgba(16,28,36,0.08);
}
.service-detail-section .card h3,
.service-process-section .step-item h4,
.service-cta-section .cta-band h2 {
  color: #051546;
}
.service-detail-section .card p,
.service-process-section .step-item p,
.service-cta-section .cta-band p {
  color: #303d39;
}
.workforce-detail-section {
  padding: clamp(62px, 7vw, 108px) 0;
  background:
    radial-gradient(circle at 10% 14%, rgba(212,175,55,0.1), transparent 30%),
    radial-gradient(circle at 88% 72%, rgba(10,113,101,0.08), transparent 32%),
    linear-gradient(135deg, #ffffff 0%, #fffdf8 48%, #f7fbfa 100%);
}
.workforce-overview {
  display: grid;
  grid-template-columns: minmax(300px, 0.9fr) minmax(0, 1.1fr);
  gap: clamp(30px, 5vw, 76px);
  align-items: center;
  margin-bottom: clamp(34px, 5vw, 64px);
}
.workforce-overview-media {
  position: relative;
  overflow: hidden;
  
  margin: 0;
  border-radius: 18px;
  background: #051546;
  box-shadow: 0 24px 60px rgba(17,58,48,0.18);
}
.workforce-overview-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(0,0,0,0.02), rgba(0,0,0,0.22)),
    radial-gradient(circle at 18% 16%, rgba(242,209,107,0.2), transparent 34%);
  pointer-events: none;
}
.workforce-overview-media img {
  width: 100%;
  height: 100%;
  min-height: inherit;
  object-fit: cover;
  object-position: center;
  display: block;
}
.workforce-overview-copy {
  min-width: 0;
}
.workforce-overview-copy .section-title {
  margin-bottom: 18px;
  color: #051546;
  text-align: left;
}
.workforce-overview-copy .section-title span {
  color: #c89640;
}
.workforce-overview-copy p {
  margin: 0 0 26px;
  max-width: 760px;
  color: #171717;
  font-size: clamp(17px, 1.35vw, 21px);
  line-height: 1.75;
  font-weight: 700 !important;
}
.workforce-point-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 18px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.workforce-point-list li {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  min-height: 58px;
  padding: 16px 17px;
  border: 1px solid rgba(10,113,101,0.12);
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(10,113,101,0.055), rgba(242,209,107,0.075));
  color: #171717;
  font-size: clamp(15px, 1.05vw, 17px);
  font-weight: 800;
  line-height: 1.35;
}
.workforce-point-list i {
  flex: 0 0 auto;
  margin-top: 2px;
  color: #c89640;
  font-size: 15px;
}
.workforce-card-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 18px;
}
.workforce-service-card {
  position: relative;
  overflow: hidden;
  min-height: 245px;
  padding: 28px 22px;
  border: 1px solid rgba(10,113,101,0.12);
  border-radius: 16px;
  background: rgba(255,255,255,0.92);
  box-shadow: 0 22px 52px rgba(16,28,36,0.08);
}
.workforce-service-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(10,113,101,0.055), rgba(242,209,107,0.08));
  opacity: 0.9;
  pointer-events: none;
}
.workforce-service-icon,
.workforce-service-card h3,
.workforce-service-card p {
  position: relative;
  z-index: 1;
}
.workforce-service-icon {
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  margin-bottom: 20px;
  border-radius: 14px;
  background: #051546;
  color: #f2d16b;
  font-size: 22px;
  box-shadow: 0 16px 32px rgba(17,58,48,0.18);
}
.workforce-service-card h3 {
  margin: 0 0 12px;
  color: #051546;
  font-size: clamp(17px, 1.25vw, 21px);
  line-height: 1.25;
}
.workforce-service-card p {
  margin: 0;
  color: #303d39;
  font-size: 14px;
  line-height: 1.65;
}
.core-values-page-hero {
  background:
    linear-gradient(90deg, rgba(0,0,0,0.8) 0%, rgba(0,0,0,0.62) 45%, rgba(0,0,0,0.34) 100%),
    linear-gradient(180deg, rgba(211,147,29,0.22), rgba(0,0,0,0.68)),
    var(--core-hero-image, url("../img/home-hero-corporate-hospitality-slide-3.png")) center right / cover no-repeat;
}
.core-hero-values {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 12px;
  max-width: 1320px;
  margin: 34px auto 0;
}
.core-hero-values article {
  position: relative;
  overflow: hidden;
  min-height: 128px;
  padding: 18px 14px;
  border-radius: 14px;
  border: 1px solid rgba(242,209,107,0.28);
  background: rgba(0,0,0,0.38);
  box-shadow: 0 18px 34px rgba(0,0,0,0.22), inset 0 1px 0 rgba(255,255,255,0.08);
  backdrop-filter: blur(10px);
  text-align: left;
}
.core-hero-values article::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  background: var(--orange-gradient);
}
.core-hero-values strong {
  display: block;
  margin-bottom: 9px;
  color: #f2d16b;
  font-size: 13px;
  line-height: 1.2;
}
.core-hero-values span {
  display: block;
  color: rgba(255,255,255,0.84);
  font-size: 12px;
  line-height: 1.45;
  font-weight: 500;
}
.core-hero-closing {
  max-width: 760px;
  margin: 24px auto 0;
  color: rgba(255,255,255,0.86);
  font-size: 15px;
  font-weight: 700 !important;
}
.contact-page-hero {
  min-height: 400px;
  background:
    linear-gradient(90deg, rgba(0,0,0,0.82) 0%, rgba(0,0,0,0.64) 44%, rgba(0,0,0,0.2) 100%),
    linear-gradient(180deg, rgba(6,63,55,0.2), rgba(0,0,0,0.52)),
    url("../b1.png") center right / cover no-repeat;
}
.contact-page-hero::before {
  background:
    radial-gradient(circle at 18% 16%, rgba(212,175,55,0.28), transparent 28%),
    radial-gradient(circle at 72% 72%, rgba(10,113,101,0.24), transparent 34%),
    linear-gradient(120deg, rgba(255,255,255,0.08), transparent 42%);
}
.why-page-hero {
  min-height: 400px;
  background:
    linear-gradient(90deg, rgba(0,0,0,0.84) 0%, rgba(0,0,0,0.64) 46%, rgba(0,0,0,0.24) 100%),
    linear-gradient(180deg, rgba(212,175,55,0.16), rgba(0,0,0,0.6)),
    var(--why-hero-image, url("../w.png")) center right / cover no-repeat;
}
.why-page-hero::before {
  background:
    radial-gradient(circle at 18% 18%, rgba(242,209,107,0.28), transparent 30%),
    radial-gradient(circle at 82% 70%, rgba(10,113,101,0.26), transparent 34%),
    linear-gradient(115deg, rgba(255,255,255,0.08), transparent 44%);
}
.why-intro-section {
  position: relative;
  padding: clamp(58px, 6vw, 92px) 0;
  background:
    radial-gradient(circle at 10% 14%, rgba(212,175,55,0.1), transparent 28%),
    linear-gradient(135deg, #ffffff 0%, #fffdf8 54%, #f7fbfa 100%);
}
.why-intro-card {
  display: grid;
  grid-template-columns: minmax(300px, 0.82fr) minmax(0, 1.18fr);
  gap: clamp(28px, 4.5vw, 66px);
  align-items: center;
  padding: clamp(28px, 4vw, 54px);
  border: 1px solid rgba(200,150,64,0.22);
  border-radius: 18px;
  background: rgba(255,255,255,0.9);
  box-shadow: 0 24px 70px rgba(16,28,36,0.1);
}
.why-intro-media {
  position: relative;
  overflow: hidden;
  min-height: clamp(360px, 35vw, 520px);
  margin: 0;
  border-radius: 16px;
  background: #0a4039;
  box-shadow: 0 22px 54px rgba(10,64,57,0.18);
}
.why-intro-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(0,0,0,0.02), rgba(0,0,0,0.22)),
    radial-gradient(circle at 20% 18%, rgba(242,209,107,0.2), transparent 34%);
  pointer-events: none;
}
.why-intro-media img {
  width: 100%;
  height: 100%;
  min-height: inherit;
  object-fit: cover;
  object-position: center;
  display: block;
}
.why-intro-content {
  display: grid;
  gap: clamp(22px, 3vw, 34px);
  min-width: 0;
}
.why-intro-copy .section-title {
  margin-bottom: 22px;
  text-align: left;
  color: #051546;
}
.why-intro-copy .section-title span {
  color: #051546;
}
.why-intro-text {
  display: grid;
  gap: 12px;
}
.why-intro-text p {
  margin: 0;
  color: var(--dark);
  font-size: clamp(16px, 1.2vw, 18px);
  line-height: 1.7;
}
.why-intro-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 18px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.why-intro-list li {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  min-height: 52px;
  padding: 14px 15px;
  border: 1px solid rgba(10,113,101,0.12);
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(10,113,101,0.055), rgba(242,209,107,0.075));
  color: var(--dark);
  font-size: clamp(14px, 1vw, 16px);
  font-weight: 700;
  line-height: 1.35;
}
.why-intro-list i {
  flex: 0 0 auto;
  margin-top: 2px;
  color: var(--orange);
  font-size: 15px;
}
.why-premium-section {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  padding: clamp(76px, 8vw, 120px) 0;
  background:
    radial-gradient(circle at 12% 18%, rgba(212,175,55,0.12), transparent 28%),
    radial-gradient(circle at 88% 74%, rgba(10,113,101,0.1), transparent 32%),
    linear-gradient(135deg, #ffffff 0%, #fffdf8 46%, #f8fbfa 100%);
}
.why-premium-bg,
.why-premium-bg span {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.why-premium-bg {
  z-index: -1;
}
.why-glow {
  width: 460px;
  height: 460px;
  border-radius: 50%;
  opacity: 0.58;
  background: radial-gradient(circle, rgba(212,175,55,0.14), transparent 68%);
  animation: whyGlowFloat 14s ease-in-out infinite;
}
.why-glow-one {
  top: -180px;
  left: -170px;
}
.why-glow-two {
  right: -180px;
  bottom: -190px;
  background: radial-gradient(circle, rgba(10,113,101,0.12), transparent 70%);
  animation-delay: -7s;
}
.why-grid-light {
  opacity: 0.26;
  background-image:
    linear-gradient(rgba(10,113,101,0.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(10,113,101,0.08) 1px, transparent 1px);
  background-size: 54px 54px;
  mask-image: radial-gradient(circle at 50% 46%, #000 0%, transparent 72%);
}
.why-premium-head {
  max-width: 850px;
}
.why-premium-head .section-title {
  color: #031541;
}
.why-premium-head .section-title span {
  background: linear-gradient(105deg, #a87515, #d4af37 36%, #fff0a6 52%, #9e6c13);
  background-size: 250% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  animation: whyGoldFlow 8s ease-in-out infinite;
}
.why-premium-head .section-lead {
  color: #4c5754;
  margin-left: auto;
  margin-right: auto;
}
.why-3d-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  max-width: 1180px;
  margin: 0 auto;
  perspective: 1200px;
}
.why-3d-card {
  --why-tilt-x: 0deg;
  --why-tilt-y: 0deg;
  --why-x: 50%;
  --why-y: 50%;
  --why-border-angle: 0deg;
  position: relative;
  min-height: 330px;
  overflow: hidden;
  padding: 30px 28px;
  border-radius: 20px;
  border: 1px solid transparent;
  background:
    linear-gradient(145deg, rgba(255,255,255,0.96), rgba(248,251,250,0.86)) padding-box,
    conic-gradient(from var(--why-border-angle), rgba(255,255,255,0), var(--why-color), #f2d16b, rgba(255,255,255,0), var(--why-color)) border-box;
  box-shadow:
    0 24px 58px rgba(6,63,55,0.1),
    inset 0 1px 0 rgba(255,255,255,0.9);
  transform: perspective(1100px) rotateX(var(--why-tilt-x)) rotateY(var(--why-tilt-y)) translate3d(0,0,0);
  transition: transform 0.28s ease, box-shadow 0.28s ease;
  animation: whyBorderSpin 7s linear infinite;
}
.why-3d-card::before,
.why-3d-card::after {
  content: "";
  position: absolute;
  pointer-events: none;
}
.why-3d-card::before {
  inset: 1px;
  border-radius: 19px;
  background:
    radial-gradient(circle at var(--why-x) var(--why-y), color-mix(in srgb, var(--why-color) 18%, transparent), transparent 34%),
    linear-gradient(120deg, rgba(255,255,255,0.7), rgba(255,255,255,0) 42%);
  opacity: 0.82;
}
.why-3d-card::after {
  inset: 0;
  background: linear-gradient(115deg, transparent, rgba(255,255,255,0.72), transparent);
  transform: translateX(-120%);
  opacity: 0;
}
.why-3d-card:hover {
  transform: perspective(1100px) rotateX(var(--why-tilt-x)) rotateY(var(--why-tilt-y)) translate3d(0,-10px,0) scale(1.018);
  box-shadow:
    0 36px 82px rgba(6,63,55,0.18),
    0 0 34px color-mix(in srgb, var(--why-color) 18%, transparent),
    inset 0 1px 0 rgba(255,255,255,0.94);
}
.why-3d-card:hover::after {
  opacity: 1;
  animation: whyCardSheen 0.9s ease forwards;
}
.why-card-number {
  position: absolute;
  top: 24px;
  right: 26px;
  z-index: 1;
  color: color-mix(in srgb, var(--why-color) 16%, transparent);
  font-size: 66px;
  font-weight: 900;
  line-height: 1;
}
.why-card-icon {
  position: relative;
  z-index: 2;
  width: 72px;
  height: 72px;
  display: grid;
  place-items: center;
  margin-bottom: 28px;
  border-radius: 20px;
  color: #fff;
  font-size: 28px;
  background:
    radial-gradient(circle at 34% 24%, rgba(255,255,255,0.36), transparent 30%),
    linear-gradient(145deg, color-mix(in srgb, var(--why-color) 92%, #fff), color-mix(in srgb, var(--why-color) 78%, #000));
  box-shadow:
    0 18px 34px color-mix(in srgb, var(--why-color) 24%, transparent),
    inset 0 1px 0 rgba(255,255,255,0.28);
  transform: translateZ(42px);
  transition: transform 0.28s ease, box-shadow 0.28s ease;
}
.why-3d-card:hover .why-card-icon {
  transform: translateZ(60px) rotate(5deg) scale(1.06);
}
.why-3d-card h3 {
  position: relative;
  z-index: 1;
  margin: 0 0 14px;
  color: #031541;
  font-size: clamp(21px, 1.7vw, 27px);
  line-height: 1.15;
}
.why-3d-card p {
  position: relative;
  z-index: 1;
  margin: 0;
  color: #3d4946;
  font-size: 15px;
  line-height: 1.75;
}
.why-proof-section {
  padding: clamp(70px, 8vw, 110px) 0;
  background:
    radial-gradient(circle at 82% 18%, rgba(212,175,55,0.1), transparent 30%),
    linear-gradient(135deg, #f7faf9 0%, #ffffff 100%);
}
.why-proof-panel {
  display: grid;
  grid-template-columns: minmax(280px, 0.72fr) minmax(0, 1.2fr);
  gap: clamp(28px, 4vw, 54px);
  align-items: center;
  padding: clamp(30px, 5vw, 56px);
  border-radius: 24px;
  border: 1px solid rgba(6,63,55,0.12);
  background:
    linear-gradient(145deg, rgba(255,255,255,0.96), rgba(247,250,249,0.84));
  box-shadow: 0 30px 78px rgba(6,63,55,0.12);
}
.why-proof-copy h2 {
  margin: 0;
  color: #031541;
  font-size: clamp(28px, 3vw, 44px);
  line-height: 1.1;
}
.why-proof-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.why-proof-steps article {
  position: relative;
  overflow: hidden;
  min-height: 190px;
  padding: 24px 20px;
  border-radius: 18px;
  background: #fff;
  border: 1px solid rgba(212,175,55,0.24);
  box-shadow: 0 18px 40px rgba(6,63,55,0.08);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.why-proof-steps article:hover {
  transform: translateY(-8px);
  box-shadow: 0 28px 58px rgba(6,63,55,0.14);
}
.why-proof-steps i {
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  margin-bottom: 18px;
  border-radius: 50%;
  color: #111;
  background: var(--orange-gradient);
}
.why-proof-steps strong {
  display: block;
  margin-bottom: 8px;
  color: #031541;
  font-size: 18px;
}
.why-proof-steps span {
  color: #4d5755;
  font-size: 13.5px;
  line-height: 1.55;
}
.why-cta-section {
  padding: clamp(54px, 6vw, 86px) 0;
  background: #081714;
}
.why-cta-panel {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: clamp(28px, 5vw, 48px);
  border-radius: 24px;
  border: 1px solid rgba(212,175,55,0.32);
  background:
    radial-gradient(circle at 88% 18%, rgba(212,175,55,0.22), transparent 30%),
    linear-gradient(135deg, rgba(255,255,255,0.08), rgba(255,255,255,0.02));
  box-shadow: 0 28px 72px rgba(0,0,0,0.32);
}
.why-cta-panel h2 {
  max-width: 820px;
  margin: 0;
  color: #fff;
  font-size: clamp(26px, 3vw, 44px);
  line-height: 1.12;
}
@property --why-border-angle {
  syntax: "<angle>";
  inherits: false;
  initial-value: 0deg;
}
@keyframes whyBorderSpin {
  to { --why-border-angle: 360deg; }
}
@keyframes whyCardSheen {
  from { transform: translateX(-120%); }
  to { transform: translateX(120%); }
}
@keyframes whyGlowFloat {
  0%, 100% { transform: translate3d(0,0,0) scale(1); opacity: 0.5; }
  50% { transform: translate3d(24px,-18px,0) scale(1.08); opacity: 0.78; }
}
@keyframes whyGoldFlow {
  0%, 100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}
.contact-modern-section {
  overflow: hidden;
  padding: clamp(64px, 7vw, 96px) 0;
  background:
    radial-gradient(circle at 14% 18%, rgba(212,175,55,0.12), transparent 26%),
    radial-gradient(circle at 86% 70%, rgba(10,113,101,0.1), transparent 30%),
    linear-gradient(135deg, #ffffff 0%, #fbfbfb 100%);
}
.contact-info-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
  align-items: stretch;
}
.contact-info-grid > [class*="col-"] {
  width: 100%;
  max-width: none;
  padding: 0;
  flex: none;
}
.contact-info-card {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 250px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  padding: 30px 22px;
  border-radius: 18px;
  border: 1px solid rgba(6,63,55,0.1);
  background:
    linear-gradient(145deg, rgba(255,255,255,0.96), rgba(248,250,249,0.84)),
    radial-gradient(circle at 18% 10%, rgba(212,175,55,0.14), transparent 34%);
  box-shadow:
    0 22px 52px rgba(6,63,55,0.1),
    inset 0 1px 0 rgba(255,255,255,0.92);
  text-align: center;
  transform-style: preserve-3d;
  transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
}
.contact-info-card::before {
  content: "";
  position: absolute;
  inset: -45% -20% auto;
  height: 170px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.75), transparent);
  transform: rotate(12deg) translateX(-36%);
  transition: transform 0.55s ease;
}
.contact-info-card:hover {
  transform: translateY(-10px) perspective(900px) rotateX(3deg);
  border-color: rgba(212,175,55,0.36);
  box-shadow:
    0 34px 72px rgba(6,63,55,0.16),
    0 0 28px rgba(212,175,55,0.12),
    inset 0 1px 0 rgba(255,255,255,0.94);
}
.contact-info-card:hover::before {
  transform: rotate(12deg) translateX(58%);
}
.contact-info-icon {
  position: relative;
  z-index: 1;
  width: 74px;
  height: 74px;
  display: grid;
  place-items: center;
  margin-bottom: 22px;
  border-radius: 20px;
  color: #fff;
  font-size: 28px;
  background: linear-gradient(145deg, #031541, #031541 58%, #032c28);
  box-shadow:
    0 16px 30px rgba(10,113,102,0.26),
    inset 0 1px 0 rgba(255,255,255,0.25);
}
.contact-info-card h3 {
  position: relative;
  z-index: 1;
  margin: 0 0 12px;
  color: #031541;
  font-size: 22px;
}
.contact-info-card p,
.contact-info-card a {
  position: relative;
  z-index: 1;
  margin: 0;
  color: #4d5755;
  font-size: 14px;
  line-height: 1.7;
  word-break: normal;
  overflow-wrap: anywhere;
}
.contact-info-card a:hover {
  color: #a87515;
}
.contact-form-section {
  position: relative;
  overflow: hidden;
  padding: clamp(70px, 8vw, 116px) 0;
  background:
    radial-gradient(circle at 8% 12%, rgba(212,175,55,0.13), transparent 30%),
    radial-gradient(circle at 92% 80%, rgba(6,63,55,0.1), transparent 34%),
    linear-gradient(180deg, #f7f8f7 0%, #ffffff 100%);
}
.contact-form-shell {
  position: relative;
  display: grid;
  grid-template-columns: minmax(280px, 0.82fr) minmax(0, 1.35fr);
  max-width: 1180px;
  margin: 0 auto;
  overflow: hidden;
  border-radius: 24px;
  background: rgba(255,255,255,0.72);
  border: 1px solid rgba(6,63,55,0.1);
  box-shadow: 0 34px 90px rgba(6,63,55,0.15);
}
.contact-form-side {
  position: relative;
  overflow: hidden;
  min-height: 100%;
  padding: clamp(34px, 4vw, 58px);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  color: #fff;
 background:
    linear-gradient(180deg, rgba(6, 63, 55, 0.16), rgb(2 21 66)), url(../img/home-hero-corporate-hospitality-slide-2.png) center / cover no-repeat;
}
.contact-form-side::before {
  content: "";
  position: absolute;
  inset: 22px;
  border: 1px solid rgba(255,255,255,0.18);
  border-radius: 18px;
  pointer-events: none;
}
.contact-form-side > * {
  position: relative;
  z-index: 1;
}
.contact-form-side .eyebrow {
  color: #f2d16b;
}
.contact-form-side h2 {
  margin: 0 0 16px;
  color: #fff;
  font-size: clamp(30px, 3vw, 46px);
  line-height: 1.08;
}
.contact-form-side p {
  max-width: 420px;
  color: rgba(255,255,255,0.82);
  font-size: 15px;
}
.contact-side-points {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 26px;
}
.contact-side-points span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 13px;
  border-radius: 999px;
  background: rgba(255,255,255,0.12);
  border: 1px solid rgba(255,255,255,0.16);
  color: rgba(255,255,255,0.9);
  font-size: 12px;
  font-weight: 700;
}
.contact-form-card {
  padding: clamp(30px, 4vw, 52px);
  background:
    radial-gradient(circle at 92% 8%, rgba(212,175,55,0.12), transparent 28%),
    linear-gradient(145deg, #ffffff, #f7f9f8);
}
.contact-form-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 18px;
  margin-bottom: 24px;
}
.contact-form-head span {
  display: block;
  color: #a87515;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 1.6px;
  text-transform: uppercase;
}
.contact-form-head h2 {
  margin: 4px 0 0;
  color: #031541;
  font-size: clamp(24px, 2.4vw, 34px);
}
.contact-form-head strong {
  flex: 0 0 auto;
  padding: 9px 13px;
  border-radius: 999px;
  color: #8a611f;
  background: rgba(212,175,55,0.13);
  border: 1px solid rgba(212,175,55,0.24);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.7px;
}
.contact-form-notice {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 20px;
  padding: 13px 15px;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 800;
}
.contact-form-notice.success {
  color: #176b35;
  background: #eefbf2;
  border: 1px solid #ccefd6;
}
.contact-form-notice.error {
  color: #8a1f1f;
  background: #fff0f0;
  border: 1px solid #ffd2d2;
}
.contact-success-modal .modal-dialog {
  max-width: 520px;
}
.contact-success-modal .modal-content {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(212,175,55,0.28);
  border-radius: 18px;
  padding: 34px 30px 30px;
  text-align: center;
  background: #fff;
  color: #182522;
  box-shadow: 0 26px 70px rgba(0,0,0,0.24);
}
.contact-success-modal .modal-content::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 6px;
  background: linear-gradient(90deg, #d4af37, #8f6d16);
}
.contact-success-close {
  position: absolute;
  top: 12px;
  right: 14px;
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 50%;
  background: #f5f1e7;
  color: #5f4a16;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
}
.contact-success-icon {
  display: inline-grid;
  place-items: center;
  width: 58px;
  height: 58px;
  margin: 0 auto 16px;
  border-radius: 50%;
  background: #eefbf2;
  color: #176b35;
  font-size: 25px;
}
.contact-success-modal h2 {
  margin: 0 0 10px;
  color: #182522;
  font-size: 28px;
  font-weight: 900;
}
.contact-success-modal p {
  margin: 0 auto 22px;
  max-width: 430px;
  color: #5f6f6b;
  font-size: 15px;
  line-height: 1.7;
}
.contact-success-btn {
  border: 0;
  border-radius: 999px;
  padding: 12px 30px;
  background: #d4af37;
  color: #111;
  font-size: 14px;
  font-weight: 900;
  cursor: pointer;
  box-shadow: 0 12px 26px rgba(212,175,55,0.28);
}
.contact-form-card .form-group label {
  color: #263633;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.5px;
}
.contact-form-card .form-group input,
.contact-form-card .form-group select,
.contact-form-card .form-group textarea {
  min-height: 48px;
  border-radius: 12px;
  border: 1px solid rgba(6,63,55,0.14);
  background: #fff;
  color: #151515;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.88);
}
.contact-form-card .form-group input:focus,
.contact-form-card .form-group select:focus,
.contact-form-card .form-group textarea:focus {
  border-color: #c89640;
  box-shadow: 0 0 0 4px rgba(200,150,64,0.13);
}
.contact-submit-btn {
  width: 100%;
  min-height: 54px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border: 0;
  border-radius: 14px;
  color: #1a1200;
  background: linear-gradient(135deg, #f2d16b, #c89640 58%, #9e6c13);
  font-weight: 900;
  letter-spacing: 0.4px;
  box-shadow: 0 16px 34px rgba(200,150,64,0.28);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.contact-submit-btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 22px 44px rgba(200,150,64,0.38);
}
.contact-map-section {
  padding: clamp(60px, 7vw, 96px) 0;
  background: #fff;
}
.contact-map-panel {
  position: relative;
  overflow: hidden;
  min-height: clamp(320px, 36vw, 480px);
  display: grid;
  align-items: end;
  border-radius: 24px;
  box-shadow: 0 34px 80px rgba(6,63,55,0.16);
}
.contact-map-panel img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.contact-map-panel::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0,0,0,0.74), rgba(0,0,0,0.34), rgba(0,0,0,0.08));
}
.contact-map-copy {
  position: relative;
  z-index: 1;
  max-width: 600px;
  padding: clamp(28px, 4vw, 54px);
}
.contact-map-copy .eyebrow {
  color: #f2d16b;
}
.contact-map-copy h2 {
  margin: 0 0 12px;
  color: #fff;
  font-size: clamp(28px, 3vw, 46px);
}
.contact-map-copy p {
  margin: 0;
  color: rgba(255,255,255,0.82);
  font-size: 15px;
}
.core-values-section {
  position: relative;
  overflow: hidden;
  padding: clamp(76px, 8vw, 124px) 0;
  background: #fff;
}
.core-values-section::before {
  display: none;
}
.core-values-section .container,
.core-commitment-section .container {
  position: relative;
  z-index: 1;
}
.core-values-section .section-title {
  color: #031541;
}
.core-values-section .section-head {
  max-width: 820px;
  text-align: center;
}
.core-values-section .section-head .section-lead {
  max-width: 700px;
  margin: 18px auto 0;
  text-align: center;
  line-height: 1.8;
}
.core-values-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(18px, 2.4vw, 30px);
  margin-top: 42px;
  perspective: 1200px;
}
.core-value-3d-card {
  --cv-color: #051546;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: 280px;
  display: flex;
  flex-direction: column;
  gap: 22px;
  padding: clamp(24px, 2.4vw, 34px);
  border: 1px solid transparent;
  border-radius: 18px;
  background:
    linear-gradient(145deg, rgba(255,255,255,0.98), rgba(255,250,239,0.9)) padding-box,
    conic-gradient(from 140deg, rgba(211,147,29,0.18), var(--cv-color), rgba(211,147,29,0.78), rgba(6,63,55,0.22), rgba(211,147,29,0.18)) border-box;
  box-shadow: 0 24px 56px rgba(6,63,55,0.1), inset 0 1px 0 rgba(255,255,255,0.92);
  transform-style: preserve-3d;
  transition: transform 0.32s ease, box-shadow 0.32s ease;
}
.core-value-3d-card:nth-child(7) {
  grid-column: 2;
}
.core-value-3d-card::before {
  content: "";
  position: absolute;
  inset: 1px;
  z-index: -1;
  border-radius: 17px;
  background:
    radial-gradient(circle at 82% 14%, color-mix(in srgb, var(--cv-color) 14%, transparent), transparent 32%),
    linear-gradient(130deg, rgba(255,255,255,0.68), transparent 42%);
}
.core-value-3d-card:hover {
  transform: translateY(-8px) rotateX(3deg) rotateY(-3deg);
  box-shadow: 0 34px 76px rgba(6,63,55,0.17), 0 0 30px rgba(211,147,29,0.12);
}
.core-value-3d-card .core-value-number {
  top: 18px;
  right: 22px;
  color: color-mix(in srgb, var(--cv-color) 18%, transparent);
  font-size: clamp(42px, 4.6vw, 66px);
}
.core-value-3d-card .core-value-icon {
  width: 64px;
  height: 64px;
  margin: 0;
  border-radius: 16px;
  background:
    radial-gradient(circle at 30% 24%, rgba(255,255,255,0.42), transparent 30%),
    linear-gradient(145deg, color-mix(in srgb, var(--cv-color) 88%, #fff), var(--cv-color));
  box-shadow: 0 16px 30px color-mix(in srgb, var(--cv-color) 24%, transparent), inset 0 1px 0 rgba(255,255,255,0.22);
}
.core-value-3d-card h3 {
  margin: 0 0 12px;
  padding-right: 34px;
  color: #031541;
  font-family: var(--ff-heading);
  font-size: clamp(20px, 1.35vw, 25px);
  line-height: 1.18;
}
.core-value-3d-card p {
  margin: 0;
  color: #444;
  font-size: 15px;
  line-height: 1.75;
}
.core-values-grid {
  margin-top: 22px;
}
.core-value-card {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: 330px;
  padding: 30px 26px;
  border-radius: 22px;
  border: 1px solid rgba(211,147,29,0.26);
  background:
    linear-gradient(145deg, rgba(255,255,255,0.96), rgba(255,250,240,0.86)),
    radial-gradient(circle at 84% 12%, rgba(26,115,103,0.16), transparent 30%);
  box-shadow: 0 24px 58px rgba(6,63,55,0.1);
  transform-style: preserve-3d;
  transition: transform 0.45s ease, box-shadow 0.45s ease, border-color 0.45s ease;
}
.core-value-card::before {
  content: "";
  position: absolute;
  inset: 12px;
  border: 1px solid rgba(26,115,103,0.12);
  border-radius: 17px;
  pointer-events: none;
}
.core-value-card::after {
  content: "";
  position: absolute;
  left: 22px;
  right: 22px;
  bottom: 0;
  height: 5px;
  border-radius: 999px 999px 0 0;
  background: linear-gradient(90deg, #051546, #d3931d);
  transform: scaleX(0.42);
  transform-origin: left;
  transition: transform 0.45s ease;
}
.core-value-card:hover {
  transform: translateY(-10px) perspective(900px) rotateX(2deg) rotateY(-2deg);
  border-color: rgba(211,147,29,0.52);
  box-shadow: 0 36px 82px rgba(6,63,55,0.18);
}
.core-value-card:hover::after {
  transform: scaleX(1);
}
.core-value-number {
  position: absolute;
  top: 20px;
  right: 22px;
  color: rgba(26,115,103,0.1);
  font-size: 58px;
  line-height: 1;
  font-weight: 900;
}
.core-value-icon {
  width: 64px;
  height: 64px;
  display: grid;
  place-items: center;
  margin-bottom: 26px;
  border-radius: 18px;
  color: #fff;
  font-size: 24px;
  background: linear-gradient(145deg, #051546, #0d4039);
  box-shadow: 0 16px 34px rgba(26,115,103,0.22), inset 0 2px 10px rgba(255,255,255,0.18);
  transition: transform 0.45s ease;
}
.core-values-grid > div:nth-child(even) .core-value-icon {
  background: linear-gradient(145deg, #d3931d, #a86f10);
  box-shadow: 0 16px 34px rgba(211,147,29,0.24), inset 0 2px 10px rgba(255,255,255,0.2);
}
.core-value-card:hover .core-value-icon {
  transform: translateZ(22px) rotate(-8deg) scale(1.06);
}
.core-value-card h3 {
  position: relative;
  color: #031541;
  font-size: clamp(20px, 1.5vw, 25px);
  line-height: 1.2;
  margin-bottom: 14px;
  padding-right: 24px;
}
.core-value-card p {
  position: relative;
  color: #555;
  font-size: 15px;
  line-height: 1.72;
  margin: 0;
}
.core-radial-wrap {
  position: relative;
  width: min(100%, 760px);
  min-height: 760px;
  margin: 18px auto 0;
  isolation: isolate;
  transform-style: preserve-3d;
  perspective: 1200px;
}
.core-radial-wrap::before,
.core-radial-wrap::after {
  content: "";
  position: absolute;
  inset: 8%;
  border-radius: 50%;
  pointer-events: none;
}
.core-radial-wrap::before {
  z-index: -2;
  background:
    radial-gradient(circle at 50% 50%, rgba(255,255,255,0.98) 0 34%, rgba(241,241,241,0.9) 56%, transparent 74%),
    radial-gradient(circle at 42% 38%, rgba(0,0,0,0.04), transparent 44%);
  box-shadow: inset 0 0 70px rgba(0,0,0,0.05);
}
.core-radial-wrap::after {
  z-index: -1;
  inset: 22%;
  border: 1px solid rgba(0,0,0,0.04);
  box-shadow: 0 28px 88px rgba(0,0,0,0.08);
}
.core-abstract-circle {
  display: none;
}
.core-abstract-one {
  width: 86px;
  height: 86px;
  left: 7%;
  top: 12%;
}
.core-abstract-two {
  width: 54px;
  height: 54px;
  right: 10%;
  top: 20%;
}
.core-abstract-three {
  width: 72px;
  height: 72px;
  right: 16%;
  bottom: 12%;
}
.core-ribbon {
  position: absolute;
  z-index: 2;
  overflow: hidden;
  transform-origin: center;
  background:
    linear-gradient(160deg, rgba(255,255,255,0.2), rgba(255,255,255,0) 34%),
    linear-gradient(130deg, var(--ribbon-a), var(--ribbon-b));
  box-shadow:
    0 22px 32px rgba(0,0,0,0.24),
    inset 0 11px 18px rgba(255,255,255,0.18),
    inset 0 -18px 24px rgba(0,0,0,0.18);
  animation: coreRibbonDrift 5.5s ease-in-out infinite;
}
.core-ribbon::before,
.core-ribbon::after {
  content: "";
  position: absolute;
  pointer-events: none;
}
.core-ribbon::before {
  inset: 15px 18px auto 18px;
  height: 42%;
  border-radius: inherit;
  border: 1px solid rgba(255,255,255,0.18);
  border-bottom: 0;
  opacity: 0.58;
}
.core-ribbon::after {
  inset: auto 0 0 0;
  height: 34%;
  background: linear-gradient(180deg, rgba(0,0,0,0), rgba(0,0,0,0.16));
  filter: blur(1px);
}
.core-ribbon-blue {
  left: 23%;
  top: 15%;
  width: 128px;
  height: 330px;
  border-radius: 90px 105px 48px 80px;
  clip-path: polygon(18% 9%, 52% 0, 100% 12%, 92% 100%, 18% 100%, 4% 26%);
  transform: rotate(-13deg);
}
.core-ribbon-green {
  left: 38%;
  top: 18%;
  width: 360px;
  height: 134px;
  border-radius: 78px 128px 128px 74px;
  clip-path: polygon(0 46%, 82% 0, 100% 30%, 92% 73%, 74% 100%, 0 88%);
  transform: rotate(-22deg);
  z-index: 4;
  animation-delay: -0.8s;
}
.core-ribbon-orange {
  left: 56%;
  top: 34%;
  width: 345px;
  height: 130px;
  border-radius: 72px 120px 120px 58px;
  clip-path: polygon(0 0, 78% 8%, 100% 31%, 95% 69%, 79% 92%, 0 100%, 12% 48%);
  transform: rotate(15deg);
  z-index: 3;
  animation-delay: -1.6s;
}
.core-ribbon-pink {
  left: 58%;
  top: 45%;
  width: 132px;
  height: 342px;
  border-radius: 84px 80px 56px 100px;
  clip-path: polygon(8% 0, 86% 0, 100% 74%, 72% 100%, 24% 94%, 0 18%);
  transform: rotate(11deg);
  z-index: 2;
  animation-delay: -2.4s;
}
.core-ribbon-purple {
  left: 30%;
  top: 60%;
  width: 360px;
  height: 130px;
  border-radius: 118px 68px 80px 118px;
  clip-path: polygon(0 35%, 22% 0, 100% 8%, 92% 76%, 23% 100%, 0 73%);
  transform: rotate(-16deg);
  z-index: 2;
  animation-delay: -3.2s;
}
.core-ribbon-red {
  left: 5%;
  top: 50%;
  width: 355px;
  height: 130px;
  border-radius: 118px 72px 80px 118px;
  clip-path: polygon(0 35%, 20% 0, 100% 18%, 88% 100%, 15% 85%, 0 68%);
  transform: rotate(15deg);
  z-index: 3;
  animation-delay: -4s;
}
.core-info-badge {
  position: absolute;
  z-index: 10;
  width: 152px;
  min-height: 152px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 18px 15px;
  border-radius: 50%;
  text-align: center;
  color: #1d2422;
  background:
    linear-gradient(145deg, rgba(255,255,255,0.96), rgba(246,249,248,0.92)),
    radial-gradient(circle at 30% 16%, rgba(255,255,255,0.95), transparent 38%);
  border: 9px solid var(--badge-color);
  box-shadow:
    -10px 18px 26px color-mix(in srgb, var(--badge-color) 36%, transparent),
    0 22px 36px rgba(0,0,0,0.22),
    inset 0 0 0 2px rgba(255,255,255,0.92),
    inset 0 -13px 22px rgba(0,0,0,0.08);
  transition: transform 0.4s ease, box-shadow 0.4s ease;
  animation: coreBadgeFloat 4.8s ease-in-out infinite;
}
.core-info-badge::before,
.core-info-badge::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}
.core-info-badge::before {
  inset: -18px;
  border: 7px solid color-mix(in srgb, var(--badge-color) 70%, transparent);
  box-shadow:
    inset 0 0 0 12px rgba(255,255,255,0.92),
    0 16px 24px rgba(0,0,0,0.18);
}
.core-info-badge::after {
  inset: 16px 24px auto 24px;
  height: 34px;
  background: linear-gradient(180deg, rgba(255,255,255,0.92), rgba(255,255,255,0));
  filter: blur(0.2px);
}
.core-info-badge i {
  position: relative;
  z-index: 1;
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  color: #202020;
  font-size: 18px;
}
.core-info-badge h3 {
  position: relative;
  z-index: 1;
  margin: 0;
  color: #111;
  font-size: 13px;
  line-height: 1.18;
}
.core-info-badge p {
  position: relative;
  z-index: 1;
  max-width: 112px;
  margin: 0;
  color: #606060;
  font-size: 9.5px;
  line-height: 1.35;
  font-weight: 600 !important;
}
.core-info-badge:hover {
  transform: translate(-50%, -50%) translateY(-10px) scale(1.05);
  box-shadow:
    0 34px 68px rgba(6,63,55,0.24),
    0 0 34px color-mix(in srgb, var(--badge-color) 28%, transparent),
    inset 0 0 0 2px rgba(255,255,255,0.95),
    inset 0 -14px 24px rgba(6,63,55,0.07);
}
.core-badge-top {
  left: 50%;
  top: 9%;
  transform: translate(-50%, -50%);
}
.core-badge-upper-right {
  left: 82%;
  top: 31%;
  transform: translate(-50%, -50%);
  animation-delay: -0.8s;
}
.core-badge-lower-right {
  left: 80%;
  top: 65%;
  transform: translate(-50%, -50%);
  animation-delay: -1.6s;
}
.core-badge-bottom {
  left: 50%;
  top: 85.5%;
  transform: translate(-50%, -50%);
  animation-delay: -2.4s;
}
.core-badge-lower-left {
  left: 17%;
  top: 66%;
  transform: translate(-50%, -50%);
  animation-delay: -3.2s;
}
.core-badge-upper-left {
  left: 18%;
  top: 31%;
  transform: translate(-50%, -50%);
  animation-delay: -4s;
}
.core-clock {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 9;
  width: 260px;
  height: 260px;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  background:
    radial-gradient(circle at 50% 50%, #ffffff 0 56%, #edf1f0 57% 62%, #d3d8d8 63% 66%, #ffffff 67% 69%, #a9b0b2 70% 73%, #f9fbfb 74% 100%);
  border: 10px solid #d8dddf;
  box-shadow:
    0 28px 48px rgba(0,0,0,0.3),
    inset 0 7px 16px rgba(255,255,255,0.95),
    inset 0 -16px 28px rgba(6,63,55,0.12);
}
.clock-glass {
  position: absolute;
  inset: 12px;
  z-index: 4;
  border-radius: 50%;
  pointer-events: none;
  background:
    linear-gradient(135deg, rgba(255,255,255,0.72) 0 16%, rgba(255,255,255,0.1) 18% 40%, transparent 42%),
    radial-gradient(circle at 36% 24%, rgba(255,255,255,0.72), transparent 30%);
  opacity: 0.74;
}
.clock-markers {
  position: absolute;
  inset: 25px;
  border-radius: 50%;
}
.clock-markers span {
  position: absolute;
  left: 50%;
  top: 50%;
  color: #1c2523;
  font-size: 16px;
  font-weight: 800;
  line-height: 1;
  transform:
    translate(-50%, -50%)
    rotate(calc(var(--i) * 30deg))
    translateY(-94px)
    rotate(calc(var(--i) * -30deg));
}
.clock-center {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 7;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  background: radial-gradient(circle at 35% 35%, #fff, #c89640 45%, #6f4a11);
  box-shadow: 0 4px 12px rgba(0,0,0,0.25);
}
.clock-hand {
  position: absolute;
  left: 50%;
  bottom: 50%;
  z-index: 6;
  transform-origin: 50% 100%;
  border-radius: 999px;
  box-shadow: 0 3px 7px rgba(0,0,0,0.2);
}
.clock-hour {
  width: 8px;
  height: 62px;
  background: linear-gradient(180deg, #2c3331, #060606);
}
.clock-minute {
  width: 6px;
  height: 86px;
  background: linear-gradient(180deg, #444c49, #101010);
}
.clock-second {
  width: 2px;
  height: 96px;
  background: #d22b2b;
  box-shadow: 0 2px 7px rgba(210,43,43,0.32);
}
@keyframes coreRibbonDrift {
  0%, 100% { filter: saturate(1); }
  50% { filter: saturate(1.12) brightness(1.04); }
}
@keyframes coreBadgeFloat {
  0%, 100% { margin-top: 0; }
  50% { margin-top: -8px; }
}
@media (max-width: 1199px) {
  .core-radial-wrap {
    width: min(100%, 760px);
    min-height: 760px;
  }
  .core-info-badge {
    width: 148px;
    min-height: 148px;
    border-width: 6px;
  }
  .core-info-badge h3 {
    font-size: 13px;
  }
  .core-info-badge p {
    max-width: 104px;
    font-size: 10px;
  }
  .core-clock {
    width: 232px;
    height: 232px;
  }
  .clock-markers span {
    transform:
      translate(-50%, -50%)
      rotate(calc(var(--i) * 30deg))
      translateY(-82px)
      rotate(calc(var(--i) * -30deg));
  }
}
@media (max-width: 767px) {
  .core-radial-wrap {
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
    width: 100%;
    min-height: auto;
    padding: 270px 0 0;
    perspective: none;
  }
  .core-radial-wrap::before {
    inset: 0 auto auto 50%;
    width: min(86vw, 360px);
    height: min(86vw, 360px);
    transform: translateX(-50%);
  }
  .core-radial-wrap::after,
  .core-abstract-circle,
  .core-ribbon {
    display: none;
  }
  .core-clock {
    top: 0;
    width: min(70vw, 230px);
    height: min(70vw, 230px);
    transform: translate(-50%, 0);
  }
  .clock-markers span {
    font-size: 14px;
    transform:
      translate(-50%, -50%)
      rotate(calc(var(--i) * 30deg))
      translateY(calc(min(70vw, 230px) * -0.35))
      rotate(calc(var(--i) * -30deg));
  }
  .clock-hour {
    height: 25%;
  }
  .clock-minute {
    height: 35%;
  }
  .clock-second {
    height: 39%;
  }
  .core-info-badge,
  .core-badge-top,
  .core-badge-upper-right,
  .core-badge-lower-right,
  .core-badge-bottom,
  .core-badge-lower-left,
  .core-badge-upper-left {
    position: relative;
    left: auto;
    top: auto;
    width: min(100%, 360px);
    min-height: 112px;
    margin: 0 auto;
    padding: 18px 20px 18px 82px;
    border-width: 0 0 0 7px;
    border-radius: 18px;
    align-items: flex-start;
    text-align: left;
    transform: none;
    animation: none;
  }
  .core-info-badge::before {
    inset: 10px;
    border-radius: 14px;
    border-color: rgba(6,63,55,0.09);
    box-shadow: none;
  }
  .core-info-badge::after {
    inset: 0;
    height: 100%;
    border-radius: 18px;
    background: linear-gradient(90deg, color-mix(in srgb, var(--badge-color) 14%, transparent), transparent 50%);
  }
  .core-info-badge i {
    position: absolute;
    left: 24px;
    top: 50%;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    transform: translateY(-50%);
    color: #fff;
    background: var(--badge-color);
  }
  .core-info-badge h3 {
    font-size: 16px;
  }
  .core-info-badge p {
    max-width: none;
    font-size: 12px;
  }
  .core-info-badge:hover {
    transform: translateY(-5px);
  }
}
@media (max-width: 420px) {
  .core-radial-wrap {
    padding-top: 245px;
  }
  .core-info-badge,
  .core-badge-top,
  .core-badge-upper-right,
  .core-badge-lower-right,
  .core-badge-bottom,
  .core-badge-lower-left,
  .core-badge-upper-left {
    padding-left: 72px;
  }
  .core-info-badge i {
    left: 20px;
  }
}

/* Reference-matched six-card circular infographic */
.core-infographic-wrap {
  --cv-bg: #f3f3f3;
  position: relative;
  width: min(100%, 1260px);
  min-height: 620px;
  margin: 24px auto 0;
  border-radius: 0;
  background: transparent;
  font-family: "Poppins", var(--ff-body);
  isolation: isolate;
}
.core-infographic-wrap::before {
  display: none;
}
.cv-center-stage {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 430px;
  height: 430px;
  transform: translate(-50%, -50%);
}
.cv-ring {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background:
    conic-gradient(from -60deg,
      #d3931d 0deg 50deg,
      #fff 50deg 60deg,
      #051546 60deg 110deg,
      #fff 110deg 120deg,
      #d3931d 120deg 170deg,
      #fff 170deg 180deg,
      #051546 180deg 230deg,
      #fff 230deg 240deg,
      #d3931d 240deg 290deg,
      #fff 290deg 300deg,
      #051546 300deg 350deg,
      #fff 350deg 360deg);
  box-shadow:
    0 26px 46px rgba(0,0,0,0.22),
    inset 0 15px 18px rgba(255,255,255,0.2),
    inset 0 -14px 28px rgba(0,0,0,0.16);
}
.cv-ring::before {
  content: "";
  position: absolute;
  inset: 72px;
  border-radius: 50%;
  background: #fff;
  box-shadow:
    inset 0 10px 18px rgba(255,255,255,0.86),
    inset 0 -14px 18px rgba(0,0,0,0.08);
}
.cv-ring::after {
  content: "";
  position: absolute;
  inset: 26px;
  border-radius: 50%;
  border: 2px solid rgba(255,255,255,0.36);
  box-shadow: inset 0 0 0 20px rgba(255,255,255,0.08);
}
.cv-center-card {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 6;
  width: 282px;
  height: 282px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  color: #777;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 6px;
  background:
    radial-gradient(circle at 38% 26%, #fff, #ededed 68%, #dadada);
  border: 9px solid #f5f5f5;
  box-shadow:
    0 22px 38px rgba(0,0,0,0.2),
    inset 0 0 0 4px #dedede,
    inset 0 14px 20px rgba(255,255,255,0.72);
  transition: box-shadow 0.4s ease, transform 0.4s ease;
}
.core-infographic-wrap:hover .cv-center-card {
  box-shadow:
    0 28px 46px rgba(0,0,0,0.22),
    0 0 30px rgba(255,255,255,0.82),
    inset 0 0 0 4px #dedede,
    inset 0 14px 20px rgba(255,255,255,0.78);
}
.cv-center-card span,
.cv-center-card strong {
  display: block;
  font-size: 28px;
  line-height: 1.22;
  font-weight: 500;
}
.cv-center-card span {
  color: #7a7a7a;
  font-size: 20px;
  letter-spacing: 4px;
}
.cv-center-card strong {
  color: #555;
  max-width: 220px;
  font-size: 23px;
  font-weight: 700;
  letter-spacing: 2px;
}
.cv-center-card em {
  max-width: 190px;
  margin-top: 12px;
  color: #747474;
  font-size: 11px;
  font-style: normal;
  font-weight: 700;
  line-height: 1.42;
  letter-spacing: 0;
  text-transform: none;
}
.cv-center-card i {
  margin-top: 18px;
  color: #666;
  font-size: 52px;
  letter-spacing: 0;
}
.cv-icon {
  position: absolute;
  z-index: 8;
  width: 76px;
  height: 76px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  font-size: 36px;
  background:
    radial-gradient(circle at 34% 26%, rgba(255,255,255,0.46), transparent 28%),
    linear-gradient(145deg, color-mix(in srgb, var(--cv-color) 94%, #fff), color-mix(in srgb, var(--cv-color) 82%, #000));
  box-shadow:
    0 18px 26px rgba(0,0,0,0.24),
    inset 0 4px 8px rgba(255,255,255,0.2),
    inset 0 -8px 14px rgba(0,0,0,0.18);
  transition: transform 0.4s ease, box-shadow 0.4s ease;
}
.cv-icon::after {
  content: "";
  position: absolute;
  inset: 8px 11px auto 11px;
  height: 22px;
  border-radius: 50%;
  background: linear-gradient(180deg, rgba(255,255,255,0.38), transparent);
  pointer-events: none;
}
.core-infographic-wrap:hover .cv-icon {
  box-shadow:
    0 22px 32px rgba(0,0,0,0.28),
    inset 0 4px 8px rgba(255,255,255,0.22),
    inset 0 -8px 14px rgba(0,0,0,0.2);
}
.cv-icon:hover {
  transform: rotate(8deg) scale(1.06);
}
.cv-icon-01 { left: 75px; top: 40px; }
.cv-icon-02 { left: 10px; top: 190px; }
.cv-icon-03 { left: 110px; bottom: 30px; }
.cv-icon-04 { right: 88px; bottom: 56px; }
.cv-icon-05 { right: 20px; top: 160px; }
.cv-icon-06 { right: 115px; top: 30px; }
.cv-card {
  position: absolute;
  z-index: 7;
  width: 318px;
  min-height: 112px;
  display: grid;
  overflow: hidden;
  border-radius: 0 18px 18px 0;
  color: #777;
  background:
    linear-gradient(145deg, #fff, #f4f4f4);
  border: 3px solid rgba(255,255,255,0.88);
  box-shadow:
    0 20px 28px rgba(0,0,0,0.2),
    inset 0 1px 0 rgba(255,255,255,0.9);
  transition: transform 0.4s ease, box-shadow 0.4s ease;
}
.cv-card:hover {
  transform: translateY(-8px);
  box-shadow:
    0 28px 38px rgba(0,0,0,0.24),
    inset 0 1px 0 rgba(255,255,255,0.95);
}
.cv-card-left {
  grid-template-columns: 40px 1fr;
  border-radius: 24px 4px 4px 0;
}
.cv-card-right {
  grid-template-columns: 1fr 40px;
  border-radius: 4px 24px 0 4px;
}
.cv-card-strip {
  display: block;
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--cv-color) 90%, #fff), var(--cv-color));
  box-shadow: inset -8px 0 16px rgba(0,0,0,0.08);
}
.cv-card-left .cv-card-strip {
  border-radius: 22px 0 0 0;
}
.cv-card-right .cv-card-strip {
  border-radius: 0 22px 0 0;
}
.cv-card-content {
  padding: 21px 24px 17px 22px;
}
.cv-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 7px;
}
.cv-card h3 {
  margin: 0;
  color: color-mix(in srgb, var(--cv-color) 78%, #777);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}
.cv-card strong {
  color: var(--cv-color);
  font-size: 24px;
  font-weight: 900;
  line-height: 1;
}
.cv-card p {
  max-width: 212px;
  margin: 0;
  color: #9a9a9a;
  font-size: 9px;
  line-height: 1.42;
  font-weight: 500 !important;
}
.cv-pill {
  display: block;
  width: 58px;
  height: 15px;
  margin-top: 11px;
  margin-left: auto;
  border-radius: 999px;
  background:
    linear-gradient(145deg, color-mix(in srgb, var(--cv-color) 80%, #fff), var(--cv-color));
  box-shadow:
    0 4px 6px color-mix(in srgb, var(--cv-color) 24%, transparent),
    inset 0 2px 3px rgba(255,255,255,0.34);
}
.cv-card-left .cv-pill {
  margin-right: 0;
}
.cv-card-right .cv-pill {
  margin-left: 0;
}
.cv-card-01 { left: 116px; top: 72px; }
.cv-card-02 { left: 14px; top: 254px; }
.cv-card-03 { left: 116px; bottom: 72px; }
.cv-card-04 { right: 116px; bottom: 72px; }
.cv-card-05 { right: 14px; top: 254px; }
.cv-card-06 { right: 116px; top: 72px; }
.cv-connector {
  position: absolute;
  z-index: 0;
  width: 104px;
  height: 32px;
  border-radius: 999px;
  background: linear-gradient(145deg, #fff, #ececec);
  box-shadow:
    0 14px 20px rgba(0,0,0,0.16),
    inset 0 1px 0 rgba(255,255,255,0.9);
}
.cv-connector-01 { left: 414px; top: 127px; transform: rotate(22deg); }
.cv-connector-02 { left: 328px; top: 297px; transform: rotate(2deg); }
.cv-connector-03 { left: 414px; bottom: 130px; transform: rotate(-24deg); }
.cv-connector-04 { right: 414px; bottom: 130px; transform: rotate(24deg); }
.cv-connector-05 { right: 328px; top: 297px; transform: rotate(-2deg); }
.cv-connector-06 { right: 414px; top: 127px; transform: rotate(-22deg); }

@media (max-width: 1199px) {
  .core-values-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .core-value-3d-card:nth-child(7) {
    grid-column: 1 / -1;
    max-width: 560px;
    width: 100%;
    justify-self: center;
  }
  .core-infographic-wrap {
    min-height: 570px;
    transform: scale(0.9);
    transform-origin: top center;
    margin-bottom: -44px;
  }
}
@media (max-width: 991px) {
  .core-infographic-wrap {
    width: 100%;
    min-height: auto;
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 34px 18px;
    transform: none;
    margin-bottom: 0;
  }
  .cv-center-stage,
  .cv-card,
  .cv-connector {
    position: relative;
    inset: auto;
    left: auto;
    right: auto;
    top: auto;
    bottom: auto;
    transform: none;
  }
  .cv-center-stage {
    order: 1;
    width: min(86vw, 430px);
    height: min(86vw, 430px);
    margin: 0 auto 16px;
  }
  .cv-card {
    order: 2;
    width: min(100%, 460px);
    margin: 0 auto;
  }
  .cv-connector {
    display: none;
  }
}
@media (max-width: 575px) {
  .core-values-card-grid {
    grid-template-columns: 1fr;
    margin-top: 30px;
  }
  .core-value-3d-card,
  .core-value-3d-card:nth-child(7) {
    grid-column: auto;
    min-height: auto;
    max-width: none;
    padding: 24px 20px;
  }
  .core-infographic-wrap {
    padding: 28px 12px;
  }
  .cv-center-card {
    width: 62%;
    height: 62%;
    border-width: 7px;
    letter-spacing: 3px;
  }
  .cv-center-card span,
  .cv-center-card strong {
    font-size: 19px;
  }
  .cv-center-card i {
    margin-top: 18px;
    font-size: 54px;
  }
  .cv-ring::before {
    inset: 17%;
  }
  .cv-icon {
    width: 17%;
    height: 17%;
    font-size: 24px;
  }
  .cv-icon-01 { left: 21%; top: 13%; }
  .cv-icon-02 { left: 4%; top: 47%; }
  .cv-icon-03 { left: 20%; bottom: 13%; }
  .cv-icon-04 { right: 20%; bottom: 13%; }
  .cv-icon-05 { right: 4%; top: 47%; }
  .cv-icon-06 { right: 21%; top: 13%; }
  .cv-card {
    min-height: 104px;
  }
  .cv-card-content {
    padding: 18px 18px 15px;
  }
}
.core-commitment-section {
  position: relative;
  overflow: hidden;
  padding: clamp(54px, 6vw, 86px) 0;
  background: #081714;
}
.core-commitment-panel {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  padding: clamp(28px, 5vw, 48px);
  border-radius: 24px;
  border: 1px solid rgba(211,147,29,0.32);
  background:
    radial-gradient(circle at 88% 18%, rgba(211,147,29,0.22), transparent 30%),
    linear-gradient(135deg, rgba(255,255,255,0.08), rgba(255,255,255,0.02));
  box-shadow: 0 28px 72px rgba(0,0,0,0.32);
}
.core-commitment-panel h2 {
  max-width: 850px;
  margin: 0;
  color: #fff;
  font-size: clamp(26px, 3vw, 46px);
  line-height: 1.12;
}
.process-flow-section .container {
  position: relative;
  z-index: 1;
}
.process-flow-section {
  position: relative;
  overflow: hidden;
  padding: clamp(70px, 7vw, 110px) 0 clamp(88px, 8vw, 130px);
  background:
    radial-gradient(circle at 18% 10%, rgba(255,255,255,0.9), transparent 24%),
    radial-gradient(circle at 82% 70%, rgba(211,147,29,0.22), transparent 30%),
    radial-gradient(circle at 50% 100%, rgba(242,209,107,0.24), transparent 36%),
    linear-gradient(180deg, #fff8e6 0%, #f7dfaa 48%, #fffaf0 100%);
  box-shadow:
    inset 0 30px 70px rgba(211,147,29,0.12),
    inset 0 -34px 80px rgba(26,115,103,0.08);
  font-family: "Poppins", var(--ff-body);
}
.process-flow-section::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(211,147,29,0.12) 1px, transparent 1px),
    linear-gradient(90deg, rgba(211,147,29,0.12) 1px, transparent 1px);
  background-size: 46px 46px;
  opacity: 0.52;
}
.process-flow-section::after {
  content: "";
  position: absolute;
  left: 8%;
  right: 8%;
  bottom: -80px;
  height: 180px;
  border-radius: 50%;
  background: rgba(211,147,29,0.28);
  filter: blur(30px);
  pointer-events: none;
}
.process-flow-section .section-head .section-title {
  color: #051546;
}
.process-flow-section .section-head .section-lead {
  max-width: 760px;
  margin: 18px auto 0;
  color: rgba(17,58,48,0.78);
  text-align: center;
  line-height: 1.8;
}
.process-ladder-wrap {
  position: relative;
  width: min(100%, 900px);
  min-height: 1000px;
  margin: 54px auto 0;
  padding: 24px 0 34px;
  isolation: isolate;
}
.process-cloud-bg,
.process-cloud-bg::before,
.process-cloud-bg::after {
  position: relative;
  display: block;
  background: rgba(255,255,255,0.72);
  border-radius: 999px;
  box-shadow: 0 20px 42px rgba(211,147,29,0.14);
}
.process-cloud-bg {
  position: absolute;
  width: 220px;
  height: 70px;
  opacity: 0.58;
  animation: processCloudFloat 10s ease-in-out infinite;
  z-index: -1;
}
.process-cloud-bg::before,
.process-cloud-bg::after {
  content: "";
  position: absolute;
}
.process-cloud-bg::before {
  width: 92px;
  height: 92px;
  left: 34px;
  bottom: 18px;
}
.process-cloud-bg::after {
  width: 118px;
  height: 118px;
  right: 26px;
  bottom: 4px;
}
.process-cloud-bg-one { top: 10%; left: 3%; }
.process-cloud-bg-two { top: 42%; right: 2%; animation-delay: -3s; }
.process-cloud-bg-three { bottom: 8%; left: 15%; animation-delay: -6s; }
.process-ladder-item {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 138px;
  margin: 0 0 26px;
  animation: processPlatformFloat 5.5s ease-in-out infinite;
  animation-delay: var(--float-delay);
}
.process-ladder-left {
  justify-content: flex-start;
  padding-left: 26px;
}
.process-ladder-right {
  justify-content: flex-end;
  padding-right: 26px;
}
.process-platform {
  --tilt-x: 0deg;
  --tilt-y: 0deg;
  position: relative;
  width: min(100%, 430px);
  min-height: 86px;
  display: grid;
  grid-template-columns: 70px minmax(0,1fr) 70px;
  align-items: center;
  gap: 10px;
  padding: 18px;
  color: #fff;
  border-radius: 13px;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.28), transparent 34%),
    linear-gradient(135deg, var(--platform-a), var(--platform-b));
  box-shadow:
    inset 0 2px 0 rgba(255,255,255,0.38),
    inset 0 -15px 24px rgba(0,0,0,0.16),
    0 26px 38px rgba(0,65,112,0.2);
  transform: perspective(900px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));
  transform-style: preserve-3d;
  transition: transform 0.4s ease, box-shadow 0.4s ease, filter 0.4s ease;
  z-index: 3;
}
.process-platform::before,
.process-platform::after {
  content: "";
  position: absolute;
  top: 14px;
  bottom: -14px;
  width: 48px;
  background: linear-gradient(180deg, rgba(255,255,255,0.22), rgba(0,0,0,0.24)), linear-gradient(135deg, var(--platform-a), var(--platform-b));
  filter: brightness(0.78);
  z-index: -1;
}
.process-platform::before {
  left: -30px;
  clip-path: polygon(100% 0, 100% 100%, 0 78%, 0 18%);
  border-radius: 10px 0 0 14px;
  box-shadow: inset -12px 0 18px rgba(0,0,0,0.14);
}
.process-platform::after {
  right: -30px;
  clip-path: polygon(0 0, 100% 18%, 100% 78%, 0 100%);
  border-radius: 0 10px 14px 0;
  box-shadow: inset 12px 0 18px rgba(255,255,255,0.08);
}
.process-platform:hover {
  transform: perspective(900px) translateY(-12px) scale(1.03) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));
  box-shadow:
    inset 0 2px 0 rgba(255,255,255,0.45),
    inset 0 -18px 28px rgba(0,0,0,0.18),
    0 38px 58px rgba(0,65,112,0.28);
  filter: saturate(1.08);
}
.process-platform .platform-no {
  position: relative;
  display: grid;
  place-items: center;
  height: 100%;
  min-height: 50px;
  color: rgba(255,255,255,0.95);
  font-size: 28px;
  font-weight: 800;
  line-height: 1;
  text-shadow: 0 3px 8px rgba(0,0,0,0.16);
}
.process-platform .platform-no:first-child {
  border-right: 1px solid rgba(255,255,255,0.24);
}
.process-platform .platform-no:last-child {
  border-left: 1px solid rgba(255,255,255,0.24);
}
.process-platform strong {
  color: #fff;
  font-size: clamp(18px, 2vw, 25px);
  line-height: 1.15;
  font-weight: 900;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  text-shadow: 0 4px 12px rgba(0,0,0,0.16);
}
.process-info-cloud {
  position: absolute;
  width: 255px;
  min-height: 118px;
  padding: 30px 28px 24px;
  color: #6a6f78;
  background: rgba(255,255,255,0.94);
  border-radius: 70px;
  box-shadow: 0 22px 46px rgba(42,119,169,0.18), inset 0 1px 0 rgba(255,255,255,0.94);
  animation: processInfoCloudDrift 7s ease-in-out infinite;
  z-index: 2;
}
.process-info-cloud::before,
.process-info-cloud::after {
  content: "";
  position: absolute;
  background: inherit;
  border-radius: 50%;
  z-index: -1;
}
.process-info-cloud::before {
  width: 92px;
  height: 92px;
  left: 34px;
  top: -34px;
}
.process-info-cloud::after {
  width: 112px;
  height: 112px;
  right: 28px;
  top: -48px;
}
.process-ladder-left .process-info-cloud {
  left: 520px;
  top: 12px;
}
.process-ladder-right .process-info-cloud {
  right: 520px;
  top: 12px;
}
.process-info-cloud h3 {
  color: #4a5562;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0.8px;
  margin: 0 0 8px;
}
.process-info-cloud p {
  color: #747b86;
  font-size: 12px;
  line-height: 1.55;
  margin: 0;
}
.process-ladder-connector {
  position: relative;
  width: 104px;
  height: 104px;
  margin: -18px auto -18px;
  transform: rotate(28deg);
  filter: drop-shadow(0 10px 12px rgba(36,111,161,0.18));
  animation: processLadderGlow 3.8s ease-in-out infinite;
  z-index: 1;
  background:
    linear-gradient(90deg, transparent 0 22px, #fff 22px 82px, transparent 82px) 0 16px / 100% 9px no-repeat,
    linear-gradient(90deg, transparent 0 22px, #fff 22px 82px, transparent 82px) 0 48px / 100% 9px no-repeat,
    linear-gradient(90deg, transparent 0 22px, #fff 22px 82px, transparent 82px) 0 80px / 100% 9px no-repeat;
}
.process-ladder-connector-left {
  transform: rotate(-28deg);
}
.process-ladder-connector::before,
.process-ladder-connector::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 10px;
  border-radius: 999px;
  background: linear-gradient(180deg, #fff, #eef8ff);
  box-shadow: inset 0 2px 0 rgba(255,255,255,0.9), 0 4px 10px rgba(31,109,159,0.18);
}
.process-ladder-connector::before { left: 25px; }
.process-ladder-connector::after { right: 25px; }
.process-arrow-cluster {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 4;
}
.process-float-arrow {
  position: absolute;
  display: grid;
  place-items: center;
  width: 42px;
  height: 58px;
  color: #fff;
  font-size: 21px;
  border-radius: 24px 24px 10px 10px;
  box-shadow: 0 14px 26px rgba(0,70,120,0.22);
  animation: processArrowBounce 2.8s ease-in-out infinite;
}
.process-float-arrow::after {
  content: "";
  position: absolute;
  bottom: -15px;
  border-left: 21px solid transparent;
  border-right: 21px solid transparent;
  border-top: 18px solid currentColor;
  filter: brightness(0.92);
}
.process-float-arrow i {
  position: relative;
  z-index: 1;
}
.process-float-arrow-red {
  left: 49%;
  top: 28%;
  background: #051546;
  color: #051546;
}
.process-float-arrow-red i,
.process-float-arrow-orange i,
.process-float-arrow-teal i { color: #fff; }
.process-float-arrow-orange {
  left: 42%;
  top: 50%;
  background: #d3931d;
  color: #d3931d;
  animation-delay: -0.8s;
}
.process-float-arrow-teal {
  left: 54%;
  top: 68%;
  background: #051546;
  color: #051546;
  animation-delay: -1.5s;
}
@keyframes processPlatformFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}
@keyframes processCloudFloat {
  0%, 100% { transform: translateX(0); }
  50% { transform: translateX(24px); }
}
@keyframes processInfoCloudDrift {
  0%, 100% { transform: translateX(0) translateY(0); }
  50% { transform: translateX(12px) translateY(-6px); }
}
@keyframes processLadderGlow {
  0%, 100% { opacity: 0.86; filter: drop-shadow(0 10px 12px rgba(36,111,161,0.16)); }
  50% { opacity: 1; filter: drop-shadow(0 13px 18px rgba(255,255,255,0.5)); }
}
@keyframes processArrowBounce {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-12px); }
}
.about-story-section {
  position: relative;
  overflow: hidden;
  padding: 40px;
  background:
    radial-gradient(circle at 12% 18%, rgba(212,175,55,0.1), transparent 26%),
    radial-gradient(circle at 86% 78%, rgba(10,113,101,0.08), transparent 30%),
    linear-gradient(135deg, #ffffff 0%, #fffaf0 48%, #ffffff 100%);
}
.about-story-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 0.92fr);
  gap: clamp(42px, 6vw, 86px);
  align-items: center;
}
.about-story-copy .section-title {
  max-width: 760px;
  color: #031541;
  font-size: 30px;
  line-height: 35px;
  margin-bottom: 26px;
}
.about-story-copy > .section-lead {
  display: none;
}
.about-story-text {
  display: grid;
  gap: 14px;
  max-width: 760px;
}
.about-story-text p {
  margin: 0;
  color: #242424;
  font-size: clamp(15px, 1.18vw, 18px);
  line-height: 1.82;
}
.about-story-highlights {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
}
.about-story-highlights span {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 42px;
  padding: 10px 14px;
  border: 1px solid rgba(212,175,55,0.28);
  border-radius: 999px;
  background: rgba(255,255,255,0.78);
  color: #031541;
  font-size: 13.5px;
  font-weight: 800;
  box-shadow: 0 12px 26px rgba(10,63,57,0.07);
}
.about-story-highlights i {
  color: #c89640;
}
.about-story-visual {
  position: relative;
}
.about-story-image {
  position: relative;
  overflow: hidden;
  aspect-ratio: 4 / 5;
  border-radius: 24px;
  border: 1px solid rgba(212,175,55,0.34);
  box-shadow: 0 30px 72px rgba(10,63,57,0.18);
}
.about-story-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(0,0,0,0.02), rgba(0,0,0,0.32)),
    radial-gradient(circle at 18% 14%, rgba(255,215,106,0.2), transparent 30%);
  pointer-events: none;
}
.about-story-image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
}
.about-story-stat {
  position: absolute;
  left: -28px;
  bottom: 34px;
  max-width: 260px;
  padding: 20px 22px;
  border: 1px solid rgba(212,175,55,0.38);
  border-radius: 16px;
  background: rgb(2 20 71 / 79%);
  color: #fff;
  box-shadow: 0 24px 50px rgba(0,0,0,0.22);
}
.about-story-stat strong {
  display: block;
  color: #f2d16b;
  font-size: 18px;
  margin-bottom: 6px;
}
.about-story-stat span {
  color: rgba(255,255,255,0.82);
  font-size: 13.5px;
  line-height: 1.55;
}
.about-promise-section {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  padding: clamp(72px, 8vw, 116px) 0;
  background:
    radial-gradient(circle at 14% 18%, rgba(212,175,55,0.12), transparent 28%),
    radial-gradient(circle at 86% 82%, rgba(6,63,55,0.08), transparent 34%),
    linear-gradient(145deg, #ffffff 0%, #fffdf8 48%, #ffffff 100%);
  color: #111;
}
.about-promise-section::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: 0.22;
  background-image:
    radial-gradient(circle, rgba(212,175,55,0.45) 0 1px, transparent 1.6px),
    radial-gradient(circle, rgba(6,63,55,0.08) 0 1px, transparent 1.6px);
  background-size: 82px 82px, 46px 46px;
  animation: aboutPromiseDust 34s linear infinite;
}
.about-promise-section .section-head {
  max-width: 860px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
.about-promise-section .section-title {
  color: #031541;
}
.about-promise-section .section-head > .section-lead {
  width: min(100%, 680px);
  max-width: 680px;
  margin: 18px auto 0;
  color: #333;
  text-align: center;
  line-height: 1.8;
  text-wrap: balance;
}
.about-promise-grid {
  perspective: 1200px;
}
.about-promise-card {
  --promise-angle: 0deg;
  position: relative;
  min-height: 360px;
  padding: clamp(26px, 2.4vw, 34px);
  border: 1px solid transparent;
  border-radius: 20px;
  background:
    linear-gradient(145deg, rgba(255,255,255,0.96), rgba(255,250,239,0.82)) padding-box,
    conic-gradient(from var(--promise-angle), rgba(212,175,55,0.12), rgba(212,175,55,0.9), rgba(6,63,55,0.32), rgba(212,175,55,0.12)) border-box;
  box-shadow: 0 22px 56px rgba(10,63,57,0.1), inset 0 1px 0 rgba(255,255,255,0.92);
  transform-style: preserve-3d;
  transition: transform 0.34s ease, box-shadow 0.34s ease, border-color 0.34s ease;
  animation: aboutPromiseBorder 7s linear infinite;
}
.about-promise-card::before {
  content: "";
  position: absolute;
  inset: 1px;
  border-radius: 19px;
  pointer-events: none;
  background:
    linear-gradient(120deg, rgba(255,255,255,0.7), transparent 38%),
    radial-gradient(circle at 18% 12%, rgba(212,175,55,0.16), transparent 28%);
}
.about-promise-card > * {
  position: relative;
  z-index: 1;
}
.about-promise-card:hover {
  transform: translateY(-10px) rotateX(4deg) rotateY(-4deg);
  box-shadow: 0 34px 78px rgba(10,63,57,0.18), 0 0 36px rgba(212,175,55,0.14), inset 0 1px 0 rgba(255,255,255,0.96);
}
.about-promise-card-feature {
  background:
    linear-gradient(145deg, rgba(255,248,220,0.98), rgba(255,255,255,0.88)) padding-box,
    conic-gradient(from var(--promise-angle), rgba(242,209,107,0.92), rgba(6,63,55,0.24), rgba(212,175,55,0.92)) border-box;
}
.about-promise-icon {
  width: 92px;
  height: 92px;
  display: grid;
  place-items: center;
  margin-bottom: 26px;
  border-radius: 18px;
  border: 1px solid rgba(212,175,55,0.38);
  color: #031541;
  font-size: 25px;
  background: linear-gradient(145deg, #fff8cf, #d4af37);
  box-shadow: 0 18px 34px rgba(139,91,14,0.16);
  transform: translateZ(34px);
}
.about-promise-icon img {
  width: 80px;
  height: 80px;
  object-fit: contain;
  display: block;
}
.about-promise-label {
  display: inline-flex;
  margin-bottom: 14px;
  color: #b8871d;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 3px;
  text-transform: uppercase;
}
.about-promise-card h3 {
  margin: 0 0 16px;
  color: #031541;
  font-family: var(--ff-heading);
  font-size: 20px;
  line-height: 1.18;
}
.about-promise-card p {
  margin: 0;
  color: #333;
  font-size: 15px;
  line-height: 1.8;
}
.about-promise-points {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
  color: #333;
  font-size: 15px;
  line-height: 1.55;
}
.about-promise-points li {
  position: relative;
  padding-left: 26px;
}
.about-promise-points li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.58em;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #d4af37;
  box-shadow: 0 0 0 4px rgba(212,175,55,0.16);
}
@property --promise-angle {
  syntax: "<angle>";
  inherits: false;
  initial-value: 0deg;
}
@keyframes aboutPromiseBorder {
  to { --promise-angle: 360deg; }
}
@keyframes aboutPromiseDust {
  from { transform: translate3d(0,0,0); }
  to { transform: translate3d(-82px,-46px,0); }
}
.founders-message-section {
  position: relative;
  overflow: hidden;
  padding: clamp(72px, 8vw, 118px) 0;
  background:
    linear-gradient(180deg, #fff 0%, #f7f3ea 48%, #ffffff 100%);
}
.founders-message-panel {
  position: relative;
  overflow: hidden;
  padding: clamp(28px, 5vw, 64px);
  border: 1px solid rgba(212,175,55,0.28);
  border-radius: 24px;
  background:
    linear-gradient(135deg, rgba(4,18,50,0.96), rgba(8,49,44,0.94)),
    #031541;
  color: #fff;
  box-shadow: 0 34px 86px rgba(3,21,65,0.22);
}
.founders-message-panel::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0.22;
  background-image:
    linear-gradient(120deg, transparent 0 42%, rgba(212,175,55,0.42) 50%, transparent 58%),
    repeating-linear-gradient(90deg, rgba(255,255,255,0.08) 0 1px, transparent 1px 82px);
  pointer-events: none;
}
.founders-message-panel::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 5px;
  background: linear-gradient(90deg, #d4af37, #fff1a8, #8f6d16);
}
.founders-message-panel > * {
  position: relative;
  z-index: 1;
}
.founders-message-kicker {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: clamp(28px, 4vw, 46px);
  padding-bottom: 18px;
  border-bottom: 1px solid rgba(255,255,255,0.14);
}
.founders-message-kicker span {
  color: #f2d16b;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.founders-message-kicker i {
  color: rgba(242,209,107,0.32);
  font-size: clamp(38px, 6vw, 78px);
  line-height: 1;
}
.founders-message-grid {
  display: grid;
  grid-template-columns: minmax(280px, 0.78fr) minmax(0, 1.22fr);
  gap: clamp(34px, 6vw, 78px);
  align-items: start;
}
.founders-message-title {
  position: sticky;
  top: 110px;
}
.founders-message-title .eyebrow {
  color: #f2d16b;
}
.founders-message-title h2 {
  max-width: 520px;
  margin: 14px 0 0;
  color: #fff;
  font-family: var(--ff-heading);
  font-size: clamp(34px, 4.2vw, 58px);
  line-height: 1.02;
}
.founders-message-pillars {
  display: grid;
  gap: 12px;
  margin-top: 34px;
}
.founders-message-pillars span {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  width: fit-content;
  min-height: 44px;
  padding: 10px 15px;
  border: 1px solid rgba(212,175,55,0.28);
  border-radius: 999px;
  background: rgba(255,255,255,0.08);
  color: rgba(255,255,255,0.9);
  font-size: 14px;
  font-weight: 800;
}
.founders-message-pillars i {
  color: #f2d16b;
}
.founders-message-copy {
  padding: clamp(22px, 3vw, 34px);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 18px;
  background: rgba(255,255,255,0.07);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.08);
}
.founders-message-copy p {
  margin: 0 0 18px;
  color: rgba(255,255,255,0.84);
  font-size: clamp(15px, 1.18vw, 18px);
  line-height: 1.84;
}
.founders-message-copy p:first-child {
  color: #fff;
  font-size: clamp(18px, 1.6vw, 24px);
  font-weight: 900;
  line-height: 1.35;
}
.founders-message-signature {
  margin-top: 30px;
  padding-top: 24px;
  border-top: 1px solid rgba(212,175,55,0.25);
}
.founders-message-signature strong,
.founders-message-signature span {
  display: block;
}
.founders-message-signature strong {
  color: #f2d16b;
  font-family: var(--ff-heading);
  font-size: clamp(24px, 2.2vw, 34px);
}
.founders-message-signature span {
  margin-top: 6px;
  color: rgba(255,255,255,0.74);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.growth-fold-section {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  padding: clamp(70px, 8vw, 110px) 0;
  background:
    radial-gradient(circle at 50% 12%, rgba(27,111,232,0.07), transparent 32%),
    radial-gradient(circle at 20% 82%, rgba(34,199,223,0.08), transparent 28%),
    linear-gradient(180deg, #fff 0%, #f8fbff 100%);
}
.growth-fold-section::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  opacity: 0.48;
  background-image:
    linear-gradient(rgba(12,79,184,0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(12,79,184,0.045) 1px, transparent 1px);
  background-size: 32px 32px;
  animation: growthGridDrift 28s linear infinite;
}
.growth-fold-section::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  opacity: 0.36;
  background:
    linear-gradient(115deg, transparent 0%, rgba(211,147,29,0.1) 36%, transparent 54%),
    radial-gradient(circle at 78% 24%, rgba(26,115,103,0.12), transparent 28%),
    radial-gradient(circle at 22% 72%, rgba(211,147,29,0.12), transparent 30%);
  animation: growthBackgroundSweep 18s ease-in-out infinite;
}
.growth-doodles {
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  color: #051546;
  opacity: 0.13;
}
.growth-doodles i {
  position: absolute;
  font-size: clamp(28px, 4vw, 58px);
  transform: rotate(var(--doodle-rotate, -10deg));
}
.growth-doodles i:nth-child(1) { top: 13%; left: 8%; --doodle-rotate: -12deg; }
.growth-doodles i:nth-child(2) { top: 34%; left: 3%; --doodle-rotate: 10deg; }
.growth-doodles i:nth-child(3) { bottom: 18%; left: 8%; --doodle-rotate: -8deg; }
.growth-doodles i:nth-child(4) { top: 10%; right: 8%; --doodle-rotate: 12deg; }
.growth-doodles i:nth-child(5) { top: 42%; right: 4%; --doodle-rotate: -9deg; }
.growth-doodles i:nth-child(6) { bottom: 18%; right: 9%; --doodle-rotate: 10deg; }
.growth-doodles i:nth-child(7) { bottom: 7%; left: 22%; --doodle-rotate: 7deg; }
.growth-doodles i:nth-child(8) { top: 7%; left: 26%; --doodle-rotate: -6deg; }
.growth-service-orbits {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}
.growth-orbit-column {
  position: absolute;
  top: 24%;
  bottom: 14%;
  width: min(16vw, 180px);
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  align-items: center;
}
.growth-orbit-left { left: clamp(12px, 4vw, 70px); }
.growth-orbit-right { right: clamp(12px, 4vw, 70px); }
.growth-orbit-column span {
  width: clamp(48px, 5vw, 72px);
  height: clamp(48px, 5vw, 72px);
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #051546;
  border: 1px solid rgba(26,115,103,0.18);
  background:
    linear-gradient(145deg, rgba(255,255,255,0.86), rgba(255,250,239,0.62)),
    radial-gradient(circle at 32% 24%, rgba(211,147,29,0.22), transparent 48%);
  box-shadow: 0 18px 34px rgba(26,115,103,0.1), inset 0 1px 0 rgba(255,255,255,0.86);
  animation: growthServiceFloat 6.8s ease-in-out infinite;
}
.growth-orbit-column span:nth-child(2) {
  color: #d3931d;
  animation-delay: -2.1s;
}
.growth-orbit-column span:nth-child(3) {
  animation-delay: -4.2s;
}
.growth-orbit-column i {
  font-size: clamp(18px, 2vw, 26px);
}
.growth-fold-wrap {
  position: relative;
  z-index: 1;
  width: min(100%, 650px);
  min-height: 900px;
  display: flex;
  flex-direction: column;
  align-items: center;
  perspective: 1400px;
}
.growth-fold-intro {
  max-width: 820px;
  margin: 0 auto 38px;
  text-align: center;
}
.growth-fold-intro .section-title {
  color: #051546;
  font-size: clamp(32px, 4vw, 54px);
}
.growth-fold-intro p {
  max-width: 760px;
  margin: 14px auto 0;
  color: #333;
  font-size: 15.5px;
  line-height: 1.78;
}
.growth-arrow {
  position: relative;
  width: min(46vw, 218px);
  height: 292px;
  margin-bottom: -8px;
  clip-path: polygon(50% 0, 100% 38%, 78% 38%, 78% 100%, 22% 100%, 22% 38%, 0 38%);
  background:
    linear-gradient(145deg, rgba(255,255,255,0.2), transparent 30%),
    linear-gradient(180deg, #051546 0%, #155f55 46%, #0d4039 100%);
  box-shadow: 0 28px 46px rgba(26,115,103,0.28), 0 0 0 1px rgba(211,147,29,0.28);
  animation: growthArrowFloat 4.5s ease-in-out infinite;
  transform-style: preserve-3d;
}
.growth-arrow::before,
.growth-arrow::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.growth-arrow::before {
  background:
    radial-gradient(circle at 50% 24%, rgba(211,147,29,0.38), transparent 32%),
    linear-gradient(112deg, rgba(255,255,255,0.34), transparent 34%),
    linear-gradient(90deg, rgba(0,0,0,0.2), transparent 26%, transparent 74%, rgba(255,255,255,0.14));
  mix-blend-mode: screen;
}
.growth-arrow::after {
  background:
    linear-gradient(135deg, transparent 0 42%, rgba(255,255,255,0.2) 43% 45%, transparent 46%),
    linear-gradient(225deg, transparent 0 42%, rgba(0,0,0,0.2) 43% 45%, transparent 46%),
    linear-gradient(180deg, rgba(211,147,29,0.24), transparent 46%);
  opacity: 0.82;
}
.growth-arrow-face {
  position: absolute;
  inset: 58px 22px 22px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 14px;
  color: #fff;
  text-align: center;
  transform: translateZ(30px);
}
.growth-arrow-icon {
  width: 66px;
  height: 66px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,0.42);
  color: #fff;
  font-size: 27px;
  background:
    linear-gradient(145deg, rgba(255,255,255,0.18), rgba(255,255,255,0.04)),
    linear-gradient(135deg, #d3931d, #f1c96d 54%, #b97810);
  box-shadow: 0 16px 28px rgba(0,0,0,0.18), 0 0 24px rgba(211,147,29,0.32), inset 0 1px 0 rgba(255,255,255,0.42);
}
.growth-arrow-face strong {
  display: inline-block;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid rgba(211,147,29,0.28);
  background: rgba(0,0,0,0.12);
  color: #fff;
  font-size: 16px;
  line-height: 1.16;
  letter-spacing: 1.6px;
  text-shadow: 0 2px 10px rgba(0,0,0,0.22);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.12);
}
.growth-steps {
  width: 100%;
  display: grid;
  gap: 0;
  transform-style: preserve-3d;
}
.growth-step {
  --growth-tilt-x: 0deg;
  --growth-tilt-y: 0deg;
  position: relative;
  min-height: 118px;
  display: grid;
  grid-template-columns: 142px minmax(0, 1fr) 116px;
  align-items: stretch;
  margin-top: -8px;
  opacity: 0;
  transform: translateY(34px) rotateX(-12deg) scale(0.96);
  transform-style: preserve-3d;
  transition: opacity 0.65s ease, transform 0.65s ease, filter 0.5s ease;
  filter: drop-shadow(0 18px 20px rgba(8,47,125,0.12));
}
.growth-step.is-open {
  opacity: 1;
  transform: rotateX(var(--growth-tilt-x)) rotateY(var(--growth-tilt-y)) translateZ(0);
}
.growth-step:hover {
  transform: rotateX(var(--growth-tilt-x)) rotateY(var(--growth-tilt-y)) translateY(-8px) translateZ(28px);
  filter: drop-shadow(0 26px 28px rgba(8,47,125,0.2));
  z-index: 4;
}
.growth-fold-left,
.growth-fold-right,
.growth-step-center {
  position: relative;
  min-height: 118px;
}
.growth-fold-left {
  display: grid;
  place-items: center;
  align-content: center;
  clip-path: polygon(0 15%, 100% 0, 100% 100%, 0 85%);
  background:
    linear-gradient(105deg, #ffffff 0%, #f3f6fb 62%, #dfe8f4 100%);
  color: #051546;
  box-shadow: inset -18px 0 26px rgba(8,47,125,0.11), inset 0 1px 0 rgba(255,255,255,0.98);
}
.growth-fold-left strong {
  font-size: 34px;
  line-height: 1;
  font-family: var(--ff-heading);
}
.growth-fold-left span {
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 1.8px;
}
.growth-step-center {
  display: grid;
  align-content: center;
  padding: 24px 30px;
  color: #fff;
  background:
    linear-gradient(120deg, rgba(255,255,255,0.18), transparent 34%),
    linear-gradient(180deg, var(--step-color), var(--step-color-2));
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.22), inset 0 -14px 24px rgba(0,0,0,0.12);
}
.growth-step-center::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0,0,0,0.1), transparent 18%, transparent 82%, rgba(255,255,255,0.14));
  pointer-events: none;
}
.growth-step-center h3 {
  position: relative;
  margin: 0 0 4px;
  color: #fff;
  font-size: clamp(16px, 2.1vw, 22px);
  line-height: 1.14;
  font-weight: 900;
  letter-spacing: 0.6px;
}
.growth-step-center p {
  position: relative;
  margin: 0;
  color: rgba(255,255,255,0.82);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.45;
}
.growth-fold-right {
  display: grid;
  place-items: center;
  clip-path: polygon(0 0, 100% 15%, 100% 85%, 0 100%);
  background:
    linear-gradient(250deg, #ffffff 0%, #f5f7fb 62%, #dfe8f4 100%);
  box-shadow: inset 18px 0 26px rgba(8,47,125,0.11), inset 0 1px 0 rgba(255,255,255,0.98);
}
.growth-fold-right i {
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: var(--step-color-2);
  border: 1px solid rgba(12,79,184,0.16);
  background: #fff;
  font-size: 22px;
  box-shadow: 0 12px 20px rgba(8,47,125,0.13);
  transition: transform 0.5s ease;
}
.growth-step:hover .growth-fold-right i {
  transform: rotate(12deg) scale(1.08);
}
@keyframes growthArrowFloat {
  0%, 100% { transform: translateY(0) rotateX(0deg); }
  50% { transform: translateY(-12px) rotateX(3deg); }
}
@keyframes growthGridDrift {
  from { background-position: 0 0, 0 0; }
  to { background-position: 64px 32px, 32px 64px; }
}
@keyframes growthBackgroundSweep {
  0%, 100% { transform: translate3d(-2%, 0, 0); opacity: 0.24; }
  50% { transform: translate3d(2%, -1%, 0); opacity: 0.42; }
}
@keyframes growthServiceFloat {
  0%, 100% { transform: translate3d(0,0,0) rotate(0deg); }
  50% { transform: translate3d(0,-18px,0) rotate(6deg); }
}
.breadcrumb { color: var(--grey-soft); font-size: 13px; margin-bottom: 18px; }
.breadcrumb a { color: var(--grey-soft); }
.breadcrumb a:hover { color: var(--orange); }
.breadcrumb .sep { margin: 0 8px; }

/* =========================================================
   Steps
   ========================================================= */
.step-item { text-align: center; padding: 0 10px; }
.step-num {
  width: 46px; height: 46px;
  border-radius: 50%;
  border: 1px solid var(--orange);
  color: var(--orange);
  font-family: var(--ff-heading);
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 18px;
}
.step-item h4 { font-size: 16px; margin-bottom: 8px; }
.step-item p { font-size: 13.5px; color: var(--grey); }

/* =========================================================
   Team
   ========================================================= */
.team-card { text-align: center; }
.team-photo {
  aspect-ratio: 1; border-radius: 50%;
  background: linear-gradient(160deg, #1a1a1a, #000000);
  border: 2px solid var(--border);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--ff-heading); color: var(--orange); font-size: 23px;
  margin: 0 auto 18px; width: 120px;
  overflow: hidden;
}
.team-photo img { width: 100%; height: 100%; object-fit: cover; }
.team-card h4 { font-size: 16px; margin-bottom: 4px; }
.team-card span { font-size: 12.5px; color: var(--orange); }

.gallery-image {
  position: relative;
  aspect-ratio: 4/3;
  border-radius: 10px;
  border: 1px solid var(--border);
  overflow: hidden;
  background: var(--card);
}
.gallery-image img { width: 100%; height: 100%; object-fit: cover; }

/* =========================================================
   Animations
   ========================================================= */
.reveal {
  opacity: 0;
  transform: translateY(34px);
  filter: blur(10px);
  transition: opacity 0.75s ease, transform 0.75s ease, filter 0.75s ease;
  transition-delay: var(--delay, 0ms);
}
.reveal[data-animate="left"] { transform: translateX(-36px); }
.reveal[data-animate="right"] { transform: translateX(36px); }
.reveal[data-animate="zoom"] { transform: scale(0.94); }
.reveal[data-animate="rise"] { transform: translateY(48px) scale(0.98); }
.reveal.in-view { opacity: 1; transform: translate(0,0) scale(1); filter: blur(0); }
.tilt-ready { transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease; }
.tilt-ready:hover { transform: translateY(-6px); }
.hgc-item img { animation: slowZoom 16s ease-in-out infinite alternate; }
@keyframes slowZoom { from { transform: scale(1); } to { transform: scale(1.08); } }

/* =========================================================
   Responsive
   ========================================================= */
@media (max-width: 991px) {
  .purple-split { grid-template-columns: 1fr; }
  .blog-band-grid { grid-template-columns: 1fr; }
  .contact-info-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .why-3d-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 780px;
  }
  .why-page-hero {
    min-height: auto;
    padding-bottom: 64px;
    background-position: center right 34%;
  }
  .service-page-hero {
    min-height: auto;
    padding-bottom: 76px;
    background-position: center right 38%;
  }
  .workforce-overview {
    grid-template-columns: 1fr;
  }
  .workforce-overview-media {
    min-height: 360px;
  }
  .workforce-card-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .why-intro-card {
    grid-template-columns: 1fr;
  }
  .why-intro-media {
    min-height: 360px;
  }
  .why-intro-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .core-hero-values {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 760px;
  }
  .core-hero-values article {
    min-height: 112px;
  }
  .why-proof-panel {
    grid-template-columns: 1fr;
  }
  .why-proof-steps {
    grid-template-columns: 1fr;
  }
  .why-cta-panel {
    align-items: flex-start;
    flex-direction: column;
  }
  .contact-form-shell {
    grid-template-columns: 1fr;
  }
  .contact-form-side {
    min-height: 360px;
  }
  .contact-form-head {
    flex-direction: column;
  }
  .workforce-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .workforce-point-list {
    grid-template-columns: 1fr;
  }
  .bavesta-topbar-inner {
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
    padding: 9px 0;
  }
  .bavesta-contact-strip {
    width: 100%;
    flex-wrap: wrap;
    gap: 8px 16px;
  }
  .bavesta-contact-strip > span:last-child {
    max-width: 100%;
    white-space: normal;
  }
  .bavesta-navbar { min-height: 90px; }
  .bavesta-brand img { width: 190px; max-height: 80px; }
  .bavesta-collapse {
    margin: 0 -40px;
    padding: 8px 40px 18px;
    border-top: 1px solid rgba(200,150,64,0.22);
    box-shadow: 0 18px 32px rgba(0,0,0,0.12);
  }
  .bavesta-menu {
    align-items: stretch !important;
    gap: 0;
  }
  .bavesta-menu .nav-link {
    width: 100%;
    padding: 13px 0;
  }
  .bavesta-menu .nav-link::after {
    left: 0;
    right: auto;
    bottom: 7px;
    width: 54px;
  }
  .bavesta-dropdown-menu {
    position: static !important;
    inset: auto !important;
    transform: none !important;
    width: 100%;
    margin: 0 0 8px;
    border-radius: 12px;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.08);
  }
  .bavesta-menu .nav-link::before {
    inset: 6px -10px 6px -10px;
  }
  .bavesta-menu .nav-link::after {
    bottom: 5px;
  }
  .core-commitment-panel {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (min-width: 769px) and (max-width: 1199px) {
  .hero { padding-top: 100px; }
  .page-hero { padding-top: 100px; }
  .process-ladder-wrap {
    width: min(100%, 760px);
    min-height: 920px;
  }
  .process-platform {
    width: 360px;
  }
  .process-ladder-left { padding-left: 8px; }
  .process-ladder-right { padding-right: 8px; }
  .process-ladder-left .process-info-cloud {
    left: 430px;
  }
  .process-ladder-right .process-info-cloud {
    right: 430px;
  }
  .process-info-cloud {
    width: 220px;
    padding: 28px 22px 20px;
  }
  .process-platform strong {
    font-size: 17px;
  }
}

@media (max-width: 768px) {
  .container-xxl { padding-left: 20px; padding-right: 20px; }
  .bavesta-contact-strip {
    display: grid;
    grid-template-columns: 1fr;
  }
  .bavesta-contact-strip a,
  .bavesta-contact-strip span {
    font-size: 11.5px;
  }
  .bavesta-socials a {
    width: 28px;
    height: 28px;
  }
  .bavesta-collapse {
    margin: 0 -20px;
    padding: 8px 20px 18px;
  }
  .purple-stats { grid-template-columns: 1fr; }
  .cta-band { flex-direction: column; text-align: center; }
  .hero { padding-top: 90px; }
  .page-hero { padding-top: 90px; }
  .about-page-hero {
    min-height: 230px;
    background-position: 62% center;
  }
  .contact-page-hero {
    min-height: 540px;
    background-position: 64% center;
  }
  .core-values-page-hero {
    min-height: auto;
    padding: 78px 0 70px;
    background-position: 62% center;
  }
  .service-page-hero {
    min-height: auto;
    padding-bottom: 70px;
    background-position: 62% center;
  }
  .workforce-detail-section {
    padding: 48px 0;
  }
  .workforce-overview {
    gap: 24px;
    margin-bottom: 32px;
  }
  .workforce-overview-media {
    min-height: 260px;
    border-radius: 12px;
  }
  .workforce-overview-copy .section-title {
    margin-bottom: 14px;
  }
  .workforce-overview-copy p {
    margin-bottom: 20px;
    font-size: 16px;
  }
  .workforce-point-list {
    gap: 10px;
  }
  .workforce-point-list li {
    min-height: auto;
    padding: 13px 14px;
  }
  .workforce-card-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .workforce-service-card {
    min-height: auto;
    padding: 24px 20px;
  }
  .core-hero-values {
    grid-template-columns: 1fr;
    gap: 10px;
    margin-top: 28px;
  }
  .core-hero-values article {
    min-height: auto;
    padding: 16px 16px 16px 18px;
  }
  .core-hero-closing {
    font-size: 14px;
  }
  .why-page-hero {
    min-height: auto;
    padding-bottom: 60px;
    background-position: 62% center;
  }
  .why-page-hero .breadcrumb {
    margin-bottom: 20px;
  }
  .why-intro-section {
    padding: 46px 0;
  }
  .why-intro-card {
    padding: 24px 18px;
    border-radius: 14px;
  }
  .why-intro-media {
    min-height: 260px;
    border-radius: 12px;
  }
  .why-intro-copy .section-title {
    margin-bottom: 16px;
  }
  .why-intro-list {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .why-intro-list li {
    min-height: auto;
    padding: 13px 14px;
  }
  .why-premium-section,
  .why-proof-section {
    padding: 62px 0;
  }
  .why-3d-grid {
    grid-template-columns: 1fr;
    gap: 18px;
    max-width: 430px;
  }
  .why-3d-card {
    min-height: auto;
    padding: 24px 22px;
    border-radius: 16px;
  }
  .why-3d-card::before {
    border-radius: 15px;
  }
  .why-card-number {
    top: 18px;
    right: 18px;
    font-size: 48px;
  }
  .why-card-icon {
    width: 60px;
    height: 60px;
    margin-bottom: 22px;
    border-radius: 16px;
    font-size: 24px;
  }
  .why-3d-card:hover,
  .why-3d-card:hover .why-card-icon {
    transform: translateY(-6px);
  }
  .why-proof-panel,
  .why-cta-panel {
    border-radius: 18px;
    padding: 26px 22px;
  }
  .why-proof-steps article {
    min-height: auto;
  }
  .contact-info-grid {
    grid-template-columns: 1fr;
  }
  .contact-info-card {
    min-height: 210px;
  }
  .contact-form-section,
  .contact-modern-section,
  .contact-map-section {
    padding: 58px 0;
  }
  .contact-form-shell,
  .contact-map-panel {
    border-radius: 18px;
  }
  .contact-form-card {
    padding: 26px 20px;
  }
  .contact-form-side {
    min-height: 320px;
    padding: 34px 24px;
  }
  .contact-side-points {
    display: grid;
  }
  .about-story-section {
    padding: 64px 0;
  }
  .about-story-grid {
    grid-template-columns: 1fr;
    gap: 34px;
  }
  .about-story-copy .section-title {
    font-size: clamp(32px, 10vw, 44px);
  }
  .about-story-image {
    aspect-ratio: 16 / 11;
    border-radius: 18px;
  }
  .about-story-stat {
    position: relative;
    left: auto;
    bottom: auto;
    max-width: none;
    margin-top: -24px;
    margin-left: 18px;
    margin-right: 18px;
  }
  .about-promise-section {
    padding: 62px 0;
  }
  .about-promise-card {
    min-height: auto;
    padding: 24px 22px;
    border-radius: 16px;
  }
  .about-promise-card::before {
    border-radius: 15px;
  }
  .about-promise-icon {
    width: 54px;
    height: 54px;
    margin-bottom: 20px;
    font-size: 22px;
  }
  .core-values-section {
    padding: 62px 0;
  }
  .core-value-card {
    min-height: auto;
    padding: 26px 22px;
    border-radius: 16px;
  }
  .core-value-card::before {
    border-radius: 12px;
  }
  .core-value-number {
    top: 18px;
    right: 18px;
    font-size: 44px;
  }
  .core-value-icon {
    width: 56px;
    height: 56px;
    margin-bottom: 22px;
    border-radius: 15px;
    font-size: 21px;
  }
  .core-value-card h3 {
    padding-right: 26px;
  }
  .core-commitment-section {
    padding: 50px 0;
  }
  .core-commitment-panel {
    border-radius: 18px;
    padding: 26px 22px;
  }
  .process-flow-section {
    padding: 62px 0 76px;
  }
  .process-ladder-wrap {
    min-height: auto;
    margin-top: 36px;
    padding: 10px 0 0;
  }
  .process-ladder-item,
  .process-ladder-left,
  .process-ladder-right {
    display: grid;
    grid-template-columns: 1fr;
    justify-items: center;
    min-height: auto;
    padding: 0 28px;
    margin-bottom: 22px;
  }
  .process-info-cloud {
    position: relative;
    inset: auto !important;
    order: 2;
    width: min(100%, 300px);
    min-height: 96px;
    margin-top: 36px;
    padding: 24px 24px 20px;
    border-radius: 50px;
  }
  .process-platform {
    width: min(100%, 360px);
    grid-template-columns: 54px minmax(0,1fr) 54px;
    gap: 6px;
    padding: 15px 12px;
  }
  .process-platform::before,
  .process-platform::after {
    width: 34px;
  }
  .process-platform::before { left: -22px; }
  .process-platform::after { right: -22px; }
  .process-platform .platform-no {
    font-size: 21px;
  }
  .process-platform strong {
    font-size: 15px;
  }
  .process-ladder-connector,
  .process-ladder-connector-left {
    width: 82px;
    height: 88px;
    margin: -6px auto 18px;
    transform: rotate(0deg);
  }
  .process-ladder-connector::before { left: 18px; }
  .process-ladder-connector::after { right: 18px; }
  .process-ladder-connector {
    background:
      linear-gradient(90deg, transparent 0 18px, #fff 18px 64px, transparent 64px) 0 14px / 100% 8px no-repeat,
      linear-gradient(90deg, transparent 0 18px, #fff 18px 64px, transparent 64px) 0 42px / 100% 8px no-repeat,
      linear-gradient(90deg, transparent 0 18px, #fff 18px 64px, transparent 64px) 0 70px / 100% 8px no-repeat;
  }
  .process-float-arrow {
    width: 32px;
    height: 46px;
    font-size: 16px;
  }
  .process-float-arrow::after {
    border-left-width: 16px;
    border-right-width: 16px;
    border-top-width: 14px;
    bottom: -12px;
  }
  .process-float-arrow-red { left: 78%; top: 28%; }
  .process-float-arrow-orange { left: 12%; top: 50%; }
  .process-float-arrow-teal { left: 80%; top: 70%; }
  .process-cloud-bg {
    opacity: 0.38;
  }
  .growth-fold-section {
    padding: 62px 0;
  }
  .growth-fold-wrap {
    min-height: 760px;
    width: min(100%, 520px);
  }
  .growth-service-orbits {
    opacity: 0.34;
  }
  .growth-orbit-column {
    top: 32%;
    width: 64px;
  }
  .growth-orbit-left { left: 8px; }
  .growth-orbit-right { right: 8px; }
  .growth-orbit-column span {
    width: 44px;
    height: 44px;
  }
  .growth-orbit-column i {
    font-size: 17px;
  }
  .growth-arrow {
    width: 168px;
    height: 228px;
  }
  .growth-arrow-face {
    inset: 48px 16px 16px;
    gap: 10px;
  }
  .growth-arrow-face strong {
    font-size: 14px;
  }
  .growth-arrow-icon {
    width: 48px;
    height: 48px;
    font-size: 21px;
  }
  .growth-step {
    min-height: 104px;
    grid-template-columns: 90px minmax(0, 1fr) 78px;
  }
  .growth-fold-left,
  .growth-fold-right,
  .growth-step-center {
    min-height: 104px;
  }
  .growth-fold-left strong {
    font-size: 25px;
  }
  .growth-fold-left span {
    font-size: 10px;
  }
  .growth-step-center {
    padding: 18px 16px;
  }
  .growth-step-center h3 {
    font-size: 15px;
    letter-spacing: 0.4px;
  }
  .growth-step-center p {
    font-size: 12px;
  }
  .growth-fold-right i {
    width: 42px;
    height: 42px;
    font-size: 17px;
  }
  section { padding: 70px 0; }
}

/* =========================================================
   Cinematic Hero Banner (Premium / Royal) — bvh- prefix
   Scoped to #bvh-hero, does not touch any existing classes.
   ========================================================= */
.bvh-hero {
  --bvh-gold: #C9A14A;
  --bvh-gold-deep: #B8860B;
  --bvh-gold-light: #f1d68f;
  --bvh-black: #000000;
  --bvh-ink: #ffffff;
  --bvh-grey: #b7b2a8;
  position: relative;
  background: var(--bvh-black);
  overflow: hidden;
  isolation: isolate;
  min-height: 500px;
  padding: 60px 0 60px;
}

/* ---------- background layers ---------- */
.bvh-bg-layer { position: absolute; inset: 0; z-index: 0; pointer-events: none; overflow: hidden; }
.bvh-bg-slider {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
}
.bvh-bg-slider::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 3;
  background:
    linear-gradient(90deg, rgba(0,0,0,0.86) 0%, rgba(0,0,0,0.68) 36%, rgba(0,0,0,0.34) 62%, rgba(0,0,0,0.54) 100%),
    linear-gradient(180deg, rgba(0,0,0,0.52) 0%, rgba(0,0,0,0.18) 45%, rgba(0,0,0,0.72) 100%);
}
.bvh-bg-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transform: scale(1.015);
  transition: opacity 1.1s ease, transform 6s ease;
}
.bvh-bg-slide.active {
  opacity: 1;
  transform: scale(1);
  z-index: 1;
}
.bvh-bg-slide img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: 70% center;
  animation: bvhBackgroundDrift 12s ease-in-out infinite alternate;
}

.bvh-glow {
  position: absolute;
  border-radius: 50%;
  filter: blur(70px);
  opacity: 0.55;
  animation: bvhGlowPulse 7s ease-in-out infinite;
}
.bvh-glow-1 {
  width: 480px; height: 480px;
  top: -120px; left: -100px;
  background: radial-gradient(circle, rgba(201,161,74,0.55), rgba(201,161,74,0) 70%);
}
.bvh-glow-2 {
  width: 420px; height: 420px;
  bottom: -140px; right: -80px;
  background: radial-gradient(circle, rgba(184,134,11,0.45), rgba(184,134,11,0) 70%);
  animation-delay: 2.4s;
}

.bvh-wave {
  position: absolute;
  width: 70%; height: 220px;
  background: linear-gradient(120deg, rgba(201,161,74,0.16), rgba(241,214,143,0.05) 40%, rgba(184,134,11,0.14) 80%);
  background-size: 200% 200%;
  filter: blur(50px);
  border-radius: 50%;
  animation: bvhWaveMove 16s ease-in-out infinite, bvhGradientWave 10s ease infinite;
}
.bvh-wave-1 { top: 8%; left: -10%; }
.bvh-wave-2 { bottom: -6%; right: -12%; animation-duration: 19s, 12s; }

.bvh-lines { position: absolute; inset: 0; }
.bvh-lines span {
  position: absolute;
  left: 0;
  height: 1px;
  width: 38%;
  background: linear-gradient(90deg, rgba(201,161,74,0), var(--bvh-gold), rgba(201,161,74,0));
  opacity: 0;
  animation: bvhLineMove 9s ease-in-out infinite;
}
.bvh-lines span:nth-child(1) { top: 22%; animation-delay: 0s; }
.bvh-lines span:nth-child(2) { top: 52%; width: 26%; animation-delay: 2.6s; animation-duration: 11s; }
.bvh-lines span:nth-child(3) { top: 78%; width: 32%; animation-delay: 5.2s; animation-duration: 13s; }

.bvh-dot-grid {
  position: absolute;
  inset: 0;
  opacity: 0.18;
  background-image: radial-gradient(rgba(241,214,143,0.9) 1.2px, transparent 1.2px);
  background-size: 28px 28px;
  mask-image: linear-gradient(180deg, rgba(0,0,0,0.95), transparent 90%);
  -webkit-mask-image: linear-gradient(180deg, rgba(0,0,0,0.95), transparent 90%);
  animation: bvhGridDrift 14s ease-in-out infinite alternate;
}

.bvh-twinkles { position: absolute; inset: 0; }
.bvh-twinkle-dot {
  position: absolute;
  border-radius: 50%;
  background: var(--bvh-gold-light);
  box-shadow: 0 0 4px 1px rgba(241,214,143,0.65);
  opacity: 0;
  animation-name: bvhDotBlink;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
}

.bvh-particles { position: absolute; inset: 0; }
.bvh-particle {
  position: absolute;
  border-radius: 50%;
  background: var(--bvh-gold-light);
  box-shadow: 0 0 6px 1px rgba(201,161,74,0.7);
  animation-name: bvhFloatParticle;
  animation-timing-function: ease-in;
  animation-iteration-count: infinite;
}

.bvh-vignette {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse at 50% 38%, rgba(0,0,0,0) 38%, rgba(0,0,0,0.55) 100%),
    linear-gradient(180deg, rgba(0,0,0,0.35) 0%, rgba(0,0,0,0) 16%, rgba(0,0,0,0) 78%, rgba(0,0,0,0.55) 100%);
  pointer-events: none;
}

/* ---------- content ---------- */
.bvh-content { position: relative; z-index: 2; animation: bvhFadeUp 0.9s ease both; }

.bvh-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--ff-body);
  max-width: 100%;
  font-size: clamp(16px, 1.6vw, 24px);
  font-weight: 900;
  letter-spacing: clamp(1.2px, 0.24vw, 3px);
  text-transform: capitalize;
  white-space: nowrap;
  background: linear-gradient(110deg, #fff8c9 0%, #f2d16b 24%, #d4af37 48%, #ffffff 62%, #c9a227 100%);
  background-size: 280% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  margin-bottom: 18px;
  animation: bvhLuxuryGoldShimmer 8s ease-in-out infinite;
  filter: drop-shadow(0 0 10px rgba(242,209,107,0.18));
}
.bvh-eyebrow::before {
  content: "";
  width: 30px; height: 1px;
  background: linear-gradient(90deg, var(--bvh-gold), transparent);
}

.bvh-title {
  font-family: var(--ff-heading);
  font-weight: 900;
  font-size: clamp(30px, 3.05vw, 42px);
  line-height: 1.08;
  color: var(--bvh-ink);
  margin-bottom: 22px;
  letter-spacing: 0.01em;
  text-shadow: 0 10px 35px rgba(0,0,0,0.28);
}
.bvh-title-line {
  display: block;
  color: #fff;
  white-space: nowrap;
}
.bvh-gold-text {
  display: inline-block;
  background: linear-gradient(120deg, var(--bvh-gold-light) 0%, var(--bvh-gold) 45%, #fff5c8 70%, var(--bvh-gold-deep) 100%);
  background-size: 220% 220%;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: bvhGoldShimmer 4.2s linear infinite;
}

.bvh-desc {
  color: var(--bvh-grey);
  font-size: 16.5px;
  line-height: 1.8;
  max-width: 480px;
  margin-bottom: 34px;
}
.bvh-value-line {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  max-width: 620px;
  margin: 0 0 34px;
}
.bvh-value-line span {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  padding: 10px 16px;
  border: 1px solid rgba(242,209,107,0.32);
  border-radius: 999px;
  background: rgba(255,255,255,0.07);
  color: rgba(255,255,255,0.92);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.2px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.12);
  backdrop-filter: blur(10px);
}

.bvh-cta { display: flex; gap: 16px; flex-wrap: wrap; margin-bottom: 48px; }
.bvh-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 16px 36px;
  font-family: var(--ff-body);
  font-size: 14.5px;
  font-weight: 600;
  letter-spacing: 0.3px;
  border-radius: 8px;
  overflow: hidden;
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease, color 0.3s ease;
}
.bvh-btn-gold {
  color: #1a1200;
  background: linear-gradient(120deg, var(--bvh-gold-light), var(--bvh-gold) 55%, var(--bvh-gold-deep));
  box-shadow: 0 10px 30px rgba(201,161,74,0.25);
}
.bvh-btn-gold:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 38px rgba(201,161,74,0.45);
}
.bvh-btn-outline {
  color: var(--bvh-ink);
  border: 1px solid rgba(255,255,255,0.35);
  background: transparent;
}
.bvh-btn-outline:hover {
  border-color: var(--bvh-gold);
  color: var(--bvh-gold-light);
  transform: translateY(-3px);
  box-shadow: 0 10px 26px rgba(201,161,74,0.2);
}

.bvh-bg-dots {
  position: relative;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 4px;
}
.bvh-bg-dots button {
  width: 9px;
  height: 9px;
  border: 0;
  border-radius: 50%;
  background: rgba(255,255,255,0.46);
  padding: 0;
  transition: width 0.25s ease, border-radius 0.25s ease, background 0.25s ease;
}
.bvh-bg-dots button.active {
  width: 28px;
  border-radius: 999px;
  background: var(--bvh-gold-light);
}

/* ---------- keyframes ---------- */
@keyframes bvhFadeUp {
  from { opacity: 0; transform: translateY(42px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes bvhGlowPulse {
  0%, 100% { opacity: 0.4; transform: scale(1); }
  50% { opacity: 0.75; transform: scale(1.08); }
}
@keyframes bvhGoldShimmer {
  0% { background-position: 0% 50%; }
  100% { background-position: 100% 50%; }
}
@keyframes bvhGridDrift {
  0% { transform: translate3d(0, 0, 0) scale(1); opacity: 0.14; }
  100% { transform: translate3d(3%, -2%, 0) scale(1.04); opacity: 0.22; }
}
@keyframes bvhWaveMove {
  0%, 100% { transform: translate(-6%, 0) rotate(0deg); }
  50% { transform: translate(6%, -16px) rotate(3deg); }
}
@keyframes bvhGradientWave {
  0%, 100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}
@keyframes bvhLineMove {
  0% { transform: translateX(-30%); opacity: 0; }
  15% { opacity: 0.65; }
  85% { opacity: 0.65; }
  100% { transform: translateX(130%); opacity: 0; }
}
@keyframes bvhFloatParticle {
  0% { transform: translateY(0) translateX(0); opacity: 0; }
  12% { opacity: 0.9; }
  100% { transform: translateY(-160px) translateX(14px); opacity: 0; }
}
@keyframes bvhBackgroundDrift {
  0% { transform: scale(1) translate3d(0, 0, 0); }
  100% { transform: scale(1.035) translate3d(-0.5%, 0.25%, 0); }
}
/* ---------- responsive ---------- */
@media (min-width: 769px) and (max-width: 1199px) {
  .bvh-hero { min-height: 680px; padding-top: 100px; padding-bottom: 100px; }
}
@media (max-width: 991px) {
  .bvh-content { max-width: 680px; }
}
@media (max-width: 768px) {
  .bvh-hero { min-height: 700px; padding-top: 90px; padding-bottom: 90px; }
  .bvh-bg-slider::after {
    background:
      linear-gradient(90deg, rgba(0,0,0,0.88), rgba(0,0,0,0.68)),
      linear-gradient(180deg, rgba(0,0,0,0.56) 0%, rgba(0,0,0,0.32) 45%, rgba(0,0,0,0.78) 100%);
  }
  .bvh-bg-slide img { object-position: 66% center; }
  .bvh-desc { max-width: 100%; }
  .bvh-title {
    font-size: clamp(28px, 8vw, 38px);
  }
  .bvh-eyebrow {
    font-size: clamp(14px, 4.4vw, 18px);
    letter-spacing: 1px;
  }
  .bvh-title-line {
    white-space: normal;
  }
  .bvh-value-line span { flex: 1 1 100%; justify-content: center; text-align: center; }
  .bvh-cta { margin-bottom: 36px; }
  .bvh-cta .bvh-btn { flex: 1 1 auto; text-align: center; }
  .bvh-bg-dots { margin-top: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .bvh-glow, .bvh-wave, .bvh-lines span, .bvh-particle, .bvh-bg-slide img {
    animation: none !important;
  }
}

/* =========================================================
   Ultra Premium Hero Background Override
   Background-only refinement for the existing bvh hero.
   ========================================================= */
.bvh-hero {
  --bvh-gold: #D4AF37;
  --bvh-gold-deep: #9E6C13;
  --bvh-gold-light: #F2D16B;
  --bvh-gold-bright: #FFD76A;
  --bvh-bronze: #7A4D12;
  --bvh-charcoal: #080604;
  --bvh-ink: #ffffff;
  --bvh-grey: rgba(255,255,255,0.74);
  background:
    radial-gradient(circle at 18% 16%, rgba(242,209,107,0.18), transparent 25%),
    radial-gradient(circle at 82% 22%, rgba(255,215,106,0.12), transparent 28%),
    radial-gradient(circle at 54% 78%, rgba(122,77,18,0.28), transparent 34%),
    linear-gradient(145deg, #040302 0%, #130d06 42%, #231504 72%, #060403 100%);
}

.bvh-bg-layer {
  background:
    radial-gradient(circle at 50% 46%, rgba(255,255,255,0.055), transparent 42%),
    radial-gradient(circle at 16% 88%, rgba(212,175,55,0.12), transparent 26%),
    radial-gradient(circle at 91% 76%, rgba(158,108,19,0.22), transparent 24%);
}
.bvh-bg-layer::before,
.bvh-bg-layer::after {
  content: "";
  position: absolute;
  inset: -14%;
  pointer-events: none;
  will-change: transform, opacity;
}
.bvh-bg-layer::before {
  opacity: 0.35;
  background-image:
    radial-gradient(circle, rgba(255,255,255,0.08) 0 1px, transparent 1.4px),
    radial-gradient(circle, rgba(242,209,107,0.18) 0 1.2px, transparent 1.8px),
    radial-gradient(circle, rgba(255,215,106,0.12) 0 0.9px, transparent 1.5px);
  background-size: 31px 31px, 73px 73px, 119px 119px;
  background-position: 0 0, 18px 24px, 41px 9px;
  animation: bvhLuxuryDustDrift 58s linear infinite;
}
.bvh-bg-layer::after {
  opacity: 0.42;
  background:
    radial-gradient(circle at 12% 22%, rgba(255,215,106,0.32) 0 2px, transparent 7px),
    radial-gradient(circle at 26% 74%, rgba(255,255,255,0.16) 0 1px, transparent 5px),
    radial-gradient(circle at 44% 32%, rgba(242,209,107,0.24) 0 1.8px, transparent 8px),
    radial-gradient(circle at 66% 68%, rgba(255,215,106,0.28) 0 2px, transparent 9px),
    radial-gradient(circle at 82% 18%, rgba(255,255,255,0.15) 0 1px, transparent 6px),
    radial-gradient(circle at 91% 82%, rgba(212,175,55,0.25) 0 2px, transparent 8px);
  animation: bvhBokehFloat 36s ease-in-out infinite alternate;
}

.bvh-lines,
.bvh-dot-grid {
  display: none !important;
}

.bvh-glow {
  filter: none;
  mix-blend-mode: screen;
  opacity: 0.6;
  will-change: transform, opacity;
}
.bvh-glow-1 {
  width: 640px;
  height: 640px;
  top: -210px;
  left: -180px;
  background: radial-gradient(circle, rgba(255,215,106,0.34) 0%, rgba(212,175,55,0.16) 34%, transparent 68%);
  animation: bvhLuxuryGlowPulse 12s ease-in-out infinite;
}
.bvh-glow-2 {
  width: 680px;
  height: 680px;
  right: -210px;
  bottom: -260px;
  background: radial-gradient(circle, rgba(242,209,107,0.26) 0%, rgba(122,77,18,0.32) 38%, transparent 70%);
  animation: bvhLuxuryGlowPulse 14s ease-in-out infinite reverse;
}

.bvh-wave {
  width: 74%;
  height: 300px;
  filter: none;
  opacity: 0.52;
  background:
    radial-gradient(ellipse at center, rgba(255,255,255,0.07), transparent 56%),
    linear-gradient(105deg, rgba(242,209,107,0), rgba(242,209,107,0.12), rgba(255,255,255,0.04), rgba(212,175,55,0));
  will-change: transform, opacity;
  animation: bvhLuxuryFogMove 32s ease-in-out infinite;
}
.bvh-wave-1 {
  top: 4%;
  left: -18%;
}
.bvh-wave-2 {
  right: -20%;
  bottom: -4%;
  animation-duration: 40s;
  animation-direction: reverse;
}

.bvh-particles,
.bvh-twinkles {
  contain: layout paint;
}
.bvh-particle {
  background: radial-gradient(circle, rgba(255,255,255,0.92), rgba(255,215,106,0.86) 38%, rgba(212,175,55,0) 72%);
  box-shadow: 0 0 10px rgba(255,215,106,0.45);
  opacity: 0;
  will-change: transform, opacity;
  animation-name: bvhLuxuryParticleFloat;
  animation-timing-function: cubic-bezier(0.45, 0, 0.25, 1);
}
.bvh-particle:nth-child(3n) {
  background: radial-gradient(circle, rgba(255,255,255,0.76), rgba(255,255,255,0.08) 62%, transparent 74%);
  box-shadow: 0 0 8px rgba(255,255,255,0.16);
}
.bvh-particle:nth-child(5n) {
  background: radial-gradient(circle, rgba(255,215,106,0.98), rgba(212,175,55,0.5) 44%, transparent 72%);
  box-shadow: 0 0 14px rgba(255,215,106,0.5);
}
.bvh-twinkle-dot {
  background: radial-gradient(circle, #fff 0%, #FFD76A 38%, transparent 72%);
  box-shadow: 0 0 12px rgba(255,215,106,0.55);
  will-change: transform, opacity;
  animation-name: bvhLuxuryTwinkle;
  animation-timing-function: ease-in-out;
}

.bvh-vignette {
  background:
    radial-gradient(ellipse at 50% 38%, rgba(0,0,0,0) 34%, rgba(19,13,6,0.42) 78%, rgba(0,0,0,0.78) 100%),
    linear-gradient(90deg, rgba(0,0,0,0.62), rgba(0,0,0,0) 28%, rgba(0,0,0,0) 72%, rgba(0,0,0,0.58)),
    linear-gradient(180deg, rgba(10,6,2,0.48), rgba(10,6,2,0) 22%, rgba(10,6,2,0) 72%, rgba(0,0,0,0.72));
}

.bvh-title {
  color: #fff;
  text-shadow: 0 12px 34px rgba(0,0,0,0.3), 0 0 24px rgba(255,255,255,0.035);
  animation: bvhTitleGlow 10s ease-in-out infinite;
}
.bvh-title-line {
  color: #fff;
  -webkit-text-fill-color: #fff;
}
.bvh-gold-text {
  background: linear-gradient(110deg, #D4AF37 0%, #F2D16B 28%, #FFFFFF 45%, #FFD76A 58%, #C9A227 100%);
  background-size: 260% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: bvhLuxuryGoldShimmer 10s ease-in-out infinite;
  filter: drop-shadow(0 0 12px rgba(255,215,106,0.16));
}

.bvh-btn {
  transition: transform 0.34s ease, box-shadow 0.34s ease, border-color 0.34s ease, color 0.34s ease, background 0.34s ease;
}
.bvh-btn-gold {
  box-shadow: 0 14px 34px rgba(212,175,55,0.25), inset 0 1px 0 rgba(255,255,255,0.36);
}
.bvh-btn-gold:hover {
  box-shadow: 0 18px 48px rgba(255,215,106,0.42), 0 0 26px rgba(242,209,107,0.24), inset 0 1px 0 rgba(255,255,255,0.52);
}
.bvh-btn-outline:hover {
  box-shadow: 0 16px 40px rgba(212,175,55,0.22), 0 0 24px rgba(255,215,106,0.12);
}

@keyframes bvhLuxuryDustDrift {
  0% { transform: translate3d(0, 0, 0); opacity: 0.25; }
  50% { opacity: 0.42; }
  100% { transform: translate3d(-4%, -6%, 0); opacity: 0.3; }
}
@keyframes bvhBokehFloat {
  0% { transform: translate3d(-1.5%, 1%, 0) scale(1); opacity: 0.26; }
  50% { opacity: 0.5; }
  100% { transform: translate3d(2%, -2%, 0) scale(1.035); opacity: 0.36; }
}
@keyframes bvhLuxuryGlowPulse {
  0%, 100% { transform: translate3d(0, 0, 0) scale(1); opacity: 0.42; }
  50% { transform: translate3d(2%, -1.5%, 0) scale(1.08); opacity: 0.68; }
}
@keyframes bvhLuxuryFogMove {
  0%, 100% { transform: translate3d(-4%, 0, 0) rotate(-2deg); opacity: 0.32; }
  50% { transform: translate3d(5%, -18px, 0) rotate(2deg); opacity: 0.58; }
}
@keyframes bvhLuxuryParticleFloat {
  0% { transform: translate3d(0, 0, 0) scale(0.72); opacity: 0; }
  14% { opacity: var(--bvh-opacity, 0.75); }
  72% { opacity: var(--bvh-opacity, 0.75); }
  100% { transform: translate3d(var(--bvh-dx, 18px), var(--bvh-dy, -170px), 0) scale(1); opacity: 0; }
}
@keyframes bvhLuxuryTwinkle {
  0%, 100% { transform: translate3d(0, 0, 0) scale(0.72); opacity: 0; }
  42% { opacity: 0.22; }
  52% { transform: translate3d(0, -4px, 0) scale(1.35); opacity: 0.9; }
  62% { opacity: 0.28; }
}
@keyframes bvhLuxuryGoldShimmer {
  0%, 100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}
@keyframes bvhTitleGlow {
  0%, 100% { text-shadow: 0 12px 34px rgba(0,0,0,0.3), 0 0 16px rgba(255,255,255,0.025); }
  50% { text-shadow: 0 12px 34px rgba(0,0,0,0.34), 0 0 28px rgba(255,215,106,0.08); }
}

@media (min-width: 1600px) {
  .bvh-bg-layer::before {
    background-size: 26px 26px, 61px 61px, 101px 101px;
  }
}
@media (max-width: 1024px) {
  .bvh-bg-layer::before {
    opacity: 0.28;
    background-size: 42px 42px, 92px 92px, 148px 148px;
  }
  .bvh-glow-1,
  .bvh-glow-2 {
    width: 520px;
    height: 520px;
  }
}
@media (max-width: 767px) {
  .bvh-bg-layer::before {
    opacity: 0.22;
    background-size: 58px 58px, 124px 124px, 190px 190px;
  }
  .bvh-bg-layer::after {
    opacity: 0.26;
    transform: scale(0.9);
  }
  .bvh-glow-1 {
    width: 390px;
    height: 390px;
    top: -140px;
    left: -160px;
  }
  .bvh-glow-2 {
    width: 430px;
    height: 430px;
    right: -190px;
    bottom: -180px;
  }
  .bvh-wave {
    opacity: 0.38;
    height: 220px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .bvh-bg-layer::before,
  .bvh-bg-layer::after,
  .bvh-title,
  .bvh-gold-text,
  .bvh-particle,
  .bvh-twinkle-dot {
    animation: none !important;
  }
}

/* =========================================================
   Luxury About Us Section
   ========================================================= */
.bav-about-luxury {
  position: relative;
  overflow: hidden;
  padding: clamp(76px, 8vw, 120px) 0;
  background:
    radial-gradient(circle at 50% 0%, rgba(255,255,255,0.96), rgba(255,255,255,0) 30%),
    radial-gradient(circle at 14% 78%, rgba(212,175,55,0.14), transparent 26%),
    linear-gradient(135deg, #fff9ea 0%, #fbf1dc 42%, #fffaf0 100%);
  color: #111;
  isolation: isolate;
}
.bav-about-bg,
.bav-about-bg span {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.bav-about-bg {
  z-index: 0;
  opacity: 0.95;
}
.bav-about-wave {
  height: 42%;
  background:
    repeating-radial-gradient(ellipse at center, rgba(201,162,39,0.22) 0 1px, transparent 1px 5px);
  opacity: 0.24;
  mask-image: linear-gradient(90deg, transparent, #000 14%, #000 84%, transparent);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 14%, #000 84%, transparent);
  transform: rotate(-8deg) translate3d(-2%, 0, 0);
  animation: bavAboutWaveDrift 22s ease-in-out infinite alternate;
}
.bav-about-wave-top {
  top: -18%;
  bottom: auto;
}
.bav-about-wave-bottom {
  top: auto;
  bottom: -20%;
  transform: rotate(-8deg) translate3d(4%, 0, 0);
  animation-duration: 28s;
}
.bav-about-dots {
  inset: 8% 4% auto auto;
  width: 104px;
  height: 104px;
  opacity: 0.48;
  background-image: radial-gradient(#c9a227 2px, transparent 2.8px);
  background-size: 22px 22px;
}
.bav-about-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(360px, 0.95fr) minmax(420px, 1fr);
  align-items: center;
  
}
.bav-about-media {
  position: relative;
  min-height: clamp(420px, 44vw, 650px);
  display: grid;
  place-items: center;
}
.bav-about-square {
  position: absolute;
  width: min(78%, 560px);
  aspect-ratio: 1;
  border: 1px solid rgba(201,162,39,0.28);
  box-shadow: 0 20px 34px rgba(70,44,0,0.14);
}
.bav-about-square::before {
  content: "";
  position: absolute;
  inset: -2px;
  padding: 3px;
  background: conic-gradient(from var(--bav-about-border-angle, 0deg), transparent 0 18%, #d4af37, #fff1a8, #b8871d, transparent 48% 100%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  animation: bavAboutSquareBorder 5.8s linear infinite;
}
.bav-about-photo {
  position: relative;
  z-index: 2;
  width: min(68%, 510px);
  aspect-ratio: 1;
  border-radius: 50%;
  padding: 12px;
  background: linear-gradient(145deg, #fff7ce, #c9a227 42%, #fff0a8 66%, #8c6316);
  box-shadow: 0 30px 60px rgba(60,36,0,0.24), 0 0 0 10px rgba(255,255,255,0.3);
}
.bav-about-photo::before {
  content: "";
  position: absolute;
  inset: -24px;
  border-radius: 50%;
  border: 2px solid rgba(201,162,39,0.58);
  box-shadow: 0 0 44px rgba(212,175,55,0.18);
}
.bav-about-orbit-dot {
  position: absolute;
  inset: -30px;
  z-index: 4;
  border-radius: 50%;
  pointer-events: none;
  animation: bavAboutDotOrbit 6.5s linear infinite;
}
.bav-about-orbit-dot::before {
  content: "";
  position: absolute;
  top: -7px;
  left: 50%;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 32%, #fff8c9 0 20%, #d4af37 42%, #9e6c13 100%);
  border: 3px solid rgba(255,255,255,0.94);
  box-shadow: 0 8px 18px rgba(139,91,14,0.24), 0 0 18px rgba(212,175,55,0.34);
  transform: translateX(-50%);
}
.bav-about-photo img {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
  filter: sepia(0.28) saturate(1.04) contrast(1.02);
}
.bav-about-photo::after {
  content: "";
  position: absolute;
  inset: 12px;
  z-index: 2;
  border-radius: 50%;
  background: linear-gradient(180deg, rgba(92,54,0,0.04), rgba(118,73,0,0.28));
  pointer-events: none;
}
.bav-about-content {
  position: relative;
  z-index: 2;
}
.bav-about-title {
  margin: 0;
  font-family: var(--ff-heading);
  font-size: 40px;
  line-height: 0.95;
  letter-spacing: 0.02em;
  color: #031541;
  text-shadow: 0 14px 26px rgba(2,42,38,0.08);
}
.bav-about-title span {
  background: linear-gradient(120deg, #a87515, #d4af37 45%, #f2d16b 68%, #9e6c13);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.bav-about-rule {
  position: relative;
  width: 118px;
  height: 4px;
  margin: 26px 0 32px;
  border-radius: 999px;
  background: linear-gradient(90deg, #031541 0%, #d4af37 54%, rgba(212,175,55,0.1) 100%);
  box-shadow: 0 8px 18px rgba(183,137,37,0.18);
}
.bav-about-rule span {
  position: absolute;
  left: calc(100% + 12px);
  top: 50%;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  transform: translateY(-50%);
  background: #d4af37;
  box-shadow: 14px 0 0 rgba(212,175,55,0.36);
}
.bav-about-content h3 {
  margin: 0 0 22px;
  font-family: var(--ff-heading);
  font-size: 23px;
  line-height: 1.16;
  color: #031541;
}
.bav-about-content h3 span {
  color: #bf8d22;
}
.bav-about-content p {
  max-width: 720px;
  margin: 0 0 18px;
  color: #111;
  font-size: clamp(15px, 1.25vw, 18px);
  line-height: 1.8;
  font-weight: 400;
}
.bav-about-pillars {
  list-style: none;
  display: grid;
  gap: 12px;
  max-width: 520px;
  margin: 28px 0 0;
  padding: 0;
}
.bav-about-pillars li {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #111;
  font-size: clamp(15px, 1.2vw, 18px);
  font-weight: 700;
}
.bav-about-pillars i {
  width: 28px;
  height: 28px;
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  border-radius: 50%;
  color: #031541;
  background: linear-gradient(145deg, #fff8cf, #d4af37);
  box-shadow: 0 10px 18px rgba(139,91,14,0.16);
}
@keyframes bavAboutWaveDrift {
  from { transform: rotate(-8deg) translate3d(-3%, 0, 0); }
  to { transform: rotate(-8deg) translate3d(3%, -10px, 0); }
}
@property --bav-about-border-angle {
  syntax: "<angle>";
  inherits: false;
  initial-value: 0deg;
}
@keyframes bavAboutSquareBorder {
  to { --bav-about-border-angle: 360deg; }
}
@keyframes bavAboutDotOrbit {
  to { transform: rotate(360deg); }
}
@media (min-width: 1600px) {
  .bav-about-luxury .container { max-width: 1620px; }
}
@media (max-width: 1199px) {
  .bav-about-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .bav-about-media {
    min-height: clamp(390px, 60vw, 560px);
  }
  .bav-about-content {
    text-align: center;
  }
  .bav-about-content p {
    margin-left: auto;
    margin-right: auto;
  }
  .bav-about-pillars {
    margin-left: auto;
    margin-right: auto;
    justify-items: center;
  }
  .bav-about-rule span {
    left: 50%;
  }
  .founders-message-grid {
    grid-template-columns: 1fr;
  }
  .founders-message-title {
    position: relative;
    top: auto;
  }
  .founders-message-title h2 {
    max-width: 760px;
  }
  .founders-message-pillars {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .founders-message-pillars span {
    width: 100%;
  }
}
@media (max-width: 768px) {
  .bav-about-luxury {
    padding: 70px 0;
  }
  .bav-about-media {
    min-height: 360px;
  }
  .bav-about-square {
    width: 78%;
    border-width: 3px;
  }
  .bav-about-photo {
    width: 70%;
    padding: 8px;
  }
  .bav-about-photo::before {
    inset: -14px;
  }
  .bav-about-orbit-dot {
    inset: -20px;
  }
  .bav-about-orbit-dot::before {
    width: 13px;
    height: 13px;
    top: -6px;
  }
  .founders-message-section {
    padding: 58px 0;
  }
  .founders-message-panel {
    border-radius: 18px;
    padding: 26px 20px 32px;
  }
  .founders-message-kicker {
    align-items: flex-start;
    margin-bottom: 24px;
  }
  .founders-message-grid {
    gap: 24px;
  }
  .founders-message-title h2 {
    font-size: clamp(30px, 9vw, 42px);
  }
  .founders-message-pillars {
    grid-template-columns: 1fr;
    margin-top: 24px;
  }
  .founders-message-copy {
    padding: 20px;
  }
}
@media (max-width: 480px) {
  .bav-about-media {
    min-height: 310px;
  }
  .bav-about-title {
    font-size: clamp(44px, 15vw, 64px);
  }
  .bav-about-content h3 {
    font-size: 27px;
  }
  .founders-message-signature span {
    font-size: 12px;
  }
}

/* =========================================================
   What Drives Us Premium Cards
   ========================================================= */
.bav-drives-section {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  padding: clamp(72px, 7vw, 108px) 0;
  background:
    radial-gradient(circle at 18% 16%, rgba(212,175,55,0.12), transparent 28%),
    radial-gradient(circle at 82% 78%, rgba(6,63,55,0.08), transparent 30%),
    linear-gradient(135deg, #ffffff 0%, #fffaf0 48%, #ffffff 100%);
}
.bav-drives-bg,
.bav-drives-bg span {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.bav-drives-bg { z-index: -1; }
.bav-drives-glow {
  position: absolute;
  width: 360px;
  height: 360px;
  border-radius: 50%;
  filter: blur(10px);
  opacity: 0.7;
}
.bav-drives-glow-one {
  top: -190px;
  left: -140px;
  background: radial-gradient(circle, rgba(212,175,55,0.22), transparent 68%);
}
.bav-drives-glow-two {
  right: -170px;
  bottom: -210px;
  background: radial-gradient(circle, rgba(6,63,55,0.13), transparent 70%);
}
.bav-drives-head {
  max-width: 760px;
  margin: 0 auto clamp(34px, 4vw, 56px);
  text-align: center;
}
.bav-drives-head .section-title {
  color: #031541;
  font-size: clamp(32px, 4vw, 54px);
}
.bav-drives-head .section-lead {
  margin: 16px auto 0;
  color: #242424;
}
.bav-drives-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(18px, 2.4vw, 30px);
  perspective: 1200px;
}
.bav-drive-card {
  --drive-angle: 0deg;
  position: relative;
  min-height: 300px;
  padding: clamp(24px, 2.6vw, 34px);
  border-radius: 18px;
  background:
    linear-gradient(145deg, rgba(255,255,255,0.94), rgba(255,250,239,0.78)) padding-box,
    conic-gradient(from var(--drive-angle), rgba(6,63,55,0.08), #d4af37, #fff0a6, #031541, rgba(6,63,55,0.08)) border-box;
  border: 1px solid transparent;
  box-shadow: 0 18px 42px rgba(26,35,32,0.08);
  transform-style: preserve-3d;
  transition: transform 0.34s ease, box-shadow 0.34s ease, border-color 0.34s ease;
  animation: bavDriveBorderFlow 7s linear infinite;
}
.bav-drive-card::before {
  content: "";
  position: absolute;
  inset: 1px;
  border-radius: 17px;
  background:
    linear-gradient(120deg, rgba(255,255,255,0.7), rgba(255,255,255,0) 34%),
    radial-gradient(circle at 16% 12%, rgba(212,175,55,0.16), transparent 30%);
  opacity: 0.82;
  pointer-events: none;
}
.bav-drive-card > * {
  position: relative;
  z-index: 1;
}
.bav-drive-card:hover {
  transform: translateY(-10px) rotateX(4deg) rotateY(-4deg);
  box-shadow: 0 30px 70px rgba(6,63,55,0.16), 0 14px 30px rgba(212,175,55,0.12);
}
.bav-drive-image {
  position: relative;
  margin: 0 0 24px;
  aspect-ratio: 16 / 10;
  border-radius: 14px;
  overflow: hidden;
  background: #031541;
  box-shadow: 0 18px 34px rgba(6,63,55,0.14);
  transform: translateZ(34px);
}
.bav-drive-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(0,0,0,0) 42%, rgba(0,0,0,0.38) 100%),
    linear-gradient(90deg, rgba(6,63,55,0.2), rgba(212,175,55,0.08));
  pointer-events: none;
}
.bav-drive-image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
  transition: transform 0.55s ease;
}
.bav-drive-card:hover .bav-drive-image img { transform: scale(1.08); }
.bav-drive-card h3 {
  margin: 0 0 14px;
  color: #031541;
  font-family: var(--ff-heading);
  font-size: 18px;
  line-height: 1.18;
}
.bav-drive-card p {
  margin: 0;
  color: #242424;
  font-size: 15.5px;
  line-height: 1.75;
}
@property --drive-angle {
  syntax: "<angle>";
  inherits: false;
  initial-value: 0deg;
}
@keyframes bavDriveBorderFlow {
  to { --drive-angle: 360deg; }
}
@media (max-width: 991px) {
  .bav-drives-grid {
    grid-template-columns: 1fr;
    max-width: 680px;
    margin: 0 auto;
  }
  .bav-drive-card {
    min-height: 250px;
  }
  .bav-drive-image {
    aspect-ratio: 16 / 8.5;
  }
}
@media (max-width: 575px) {
  .bav-drives-section {
    padding: 64px 0;
  }
  .bav-drive-card {
    min-height: auto;
    border-radius: 14px;
  }
  .bav-drive-card::before {
    border-radius: 13px;
  }
  .bav-drive-card:hover {
    transform: translateY(-6px);
  }
  .bav-drive-image {
    aspect-ratio: 16 / 11;
  }
}
@media (prefers-reduced-motion: reduce) {
  .bav-drive-card {
    animation: none !important;
  }
}

/* =========================================================
   Vision & Mission - White Premium Section
   ========================================================= */
.bvm-section {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  padding: clamp(76px, 8vw, 118px) 0;
  background:
    radial-gradient(circle at 18% 18%, rgba(212,175,55,0.08), transparent 26%),
    radial-gradient(circle at 85% 78%, rgba(201,161,74,0.08), transparent 28%),
    linear-gradient(135deg, #ffffff 0%, #fffdf8 46%, #ffffff 100%);
}
.bvm-bg,
.bvm-bg span {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.bvm-bg { z-index: -1; }
.bvm-glow {
  width: 420px;
  height: 420px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(212,175,55,0.14), transparent 68%);
  animation: bvmGlowPulse 12s ease-in-out infinite;
}
.bvm-glow-one {
  top: -160px;
  left: -150px;
}
.bvm-glow-two {
  right: -170px;
  bottom: -170px;
  animation-delay: -5s;
}
.bvm-dust {
  opacity: 0.28;
  background-image:
    radial-gradient(circle, rgba(212,175,55,0.45) 0 1px, transparent 1.5px),
    radial-gradient(circle, rgba(255,255,255,0.9) 0 1px, transparent 1.5px);
  background-size: 72px 72px, 118px 118px;
  background-position: 12px 18px, 44px 35px;
  animation: bvmDustDrift 34s linear infinite;
}
.bvm-copy {
  position: relative;
  z-index: 1;
}
.bvm-section .section-title {
  color: #0a0a0a;
}
.bvm-section .section-lead {
  color: #4a4a4a;
  margin-bottom: 28px;
}
.bvm-divider {
  display: block;
  width: min(240px, 60%);
  height: 2px;
  margin: 20px 0 24px;
  background: linear-gradient(90deg, #c9a14a, rgba(212,175,55,0.28), transparent);
  box-shadow: 0 0 20px rgba(201,161,74,0.16);
}
.bvm-card-row {
  align-items: stretch;
}
.bvm-card {
  position: relative;
  overflow: hidden;
  min-height: 360px;
  padding: clamp(26px, 3.2vw, 38px);
  border-radius: 18px;
  border: 1px solid rgba(201,161,74,0.42);
  background:
    linear-gradient(145deg, rgba(255,255,255,0.78), rgba(255,255,255,0.46)),
    radial-gradient(circle at 18% 14%, rgba(212,175,55,0.16), transparent 34%);
  box-shadow: 0 22px 54px rgba(0,0,0,0.1), inset 0 1px 0 rgba(255,255,255,0.82);
  backdrop-filter: blur(14px);
  transform-style: preserve-3d;
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}
.bvm-card::before {
  content: "";
  position: absolute;
  inset: -1px;
  border-radius: inherit;
  padding: 1px;
  background: linear-gradient(125deg, rgba(201,161,74,0.1), rgba(247,227,161,0.95), rgba(201,161,74,0.08));
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  opacity: 0.55;
  animation: bvmBorderShine 7s linear infinite;
}
.bvm-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(115deg, transparent 0%, rgba(255,255,255,0.46) 44%, transparent 58%);
  transform: translateX(-120%);
  animation: bvmGlassReflection 8s ease-in-out infinite;
  pointer-events: none;
}
.bvm-card:hover {
  transform: translateY(-8px) rotateX(2deg);
  border-color: rgba(201,161,74,0.72);
  box-shadow: 0 30px 72px rgba(0,0,0,0.14), 0 0 36px rgba(212,175,55,0.14), inset 0 1px 0 rgba(255,255,255,0.88);
}
.bvm-icon {
  position: relative;
  z-index: 1;
  width: 76px;
  height: 76px;
  display: grid;
  place-items: center;
  margin-bottom: 24px;
  border-radius: 50%;
  color: #151004;
  font-size: 23px;
  background: linear-gradient(135deg, #fff4b8, #d4af37 52%, #a77918);
  box-shadow: 0 18px 36px rgba(201,161,74,0.25), inset 0 1px 0 rgba(255,255,255,0.62);
  animation: bvmIconFloat 5.5s ease-in-out infinite;
}
.bvm-card .eyebrow {
  position: relative;
  z-index: 1;
  margin-bottom: 12px;
}
.bvm-card h3 {
  position: relative;
  z-index: 1;
  margin: 0 0 16px;
  color: #0a0a0a;
  font-size: 18px;
}
.bvm-card p {
  position: relative;
  z-index: 1;
  margin: 0;
  color: #111;
  font-size: 15px;
  line-height: 1.8;
}
@keyframes bvmGlowPulse {
  0%, 100% { transform: translate3d(0,0,0) scale(1); opacity: 0.6; }
  50% { transform: translate3d(2%, -2%, 0) scale(1.08); opacity: 0.9; }
}
@keyframes bvmDustDrift {
  from { transform: translate3d(0,0,0); }
  to { transform: translate3d(-70px,-46px,0); }
}
@keyframes bvmBorderShine {
  from { filter: hue-rotate(0deg); opacity: 0.45; }
  50% { opacity: 0.78; }
  to { filter: hue-rotate(12deg); opacity: 0.45; }
}
@keyframes bvmGlassReflection {
  0%, 42% { transform: translateX(-120%); opacity: 0; }
  54% { opacity: 1; }
  74%, 100% { transform: translateX(120%); opacity: 0; }
}
@keyframes bvmIconFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-8px); }
}
@media (max-width: 1199px) {
  .bvm-copy {
    text-align: center;
    max-width: 760px;
    margin: 0 auto;
  }
  .bvm-divider {
    margin-left: auto;
    margin-right: auto;
  }
  .bvm-section .section-lead {
    margin-left: auto;
    margin-right: auto;
  }
}
@media (max-width: 767px) {
  .bvm-section {
    padding: 70px 0;
  }
  .bvm-card {
    min-height: auto;
    text-align: center;
  }
  .bvm-icon {
    margin-left: auto;
    margin-right: auto;
  }
}
@media (prefers-reduced-motion: reduce) {
  .bvm-glow,
  .bvm-dust,
  .bvm-card::before,
  .bvm-card::after,
  .bvm-icon {
    animation: none !important;
  }
}

/* =========================================================
   Premium Bavesta Infographic Section
   ========================================================= */
.bvi-section {
  --bvi-red: #051546;
  --bvi-pink: #d3931d;
  --bvi-orange: #051546;
  --bvi-yellow: #d3931d;
  --bvi-green: #051546;
  --bvi-teal: #d3931d;
  --bvi-sky: #051546;
  --bvi-blue: #d3931d;
  --bvi-ink: #101010;
  --bvi-muted: #737373;
  position: relative;
  overflow: hidden;
  isolation: isolate;
  padding: clamp(78px, 8vw, 124px) 0;
  background:
    radial-gradient(circle at 22% 16%, rgba(255,255,255,0.9), transparent 26%),
    radial-gradient(circle at 78% 20%, rgba(37,99,235,0.12), transparent 28%),
    radial-gradient(circle at 50% 82%, rgba(212,175,55,0.14), transparent 28%),
    linear-gradient(135deg, #eef7ff 0%, #f8fbff 46%, #e7f2fb 100%);
  color: var(--bvi-muted);
}
.bvi-section::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  opacity: 0.38;
  background-image:
    radial-gradient(circle, rgba(16,70,120,0.12) 0 1px, transparent 1.7px),
    radial-gradient(circle, rgba(201,161,74,0.2) 0 1px, transparent 1.7px);
  background-size: 42px 42px, 118px 118px;
  background-position: 0 0, 31px 22px;
  animation: bviDust 36s linear infinite;
}
.bvi-bg,
.bvi-orb {
  position: absolute;
  pointer-events: none;
}
.bvi-bg {
  inset: 0;
  z-index: -1;
}
.bvi-orb {
  width: 280px;
  height: 280px;
  border-radius: 50%;
  filter: blur(8px);
  opacity: 0.48;
  animation: bviOrbFloat 14s ease-in-out infinite;
}
.bvi-orb-one {
  top: 7%;
  left: 4%;
  background: radial-gradient(circle, rgba(244,63,94,0.22), transparent 68%);
}
.bvi-orb-two {
  top: 12%;
  right: 4%;
  background: radial-gradient(circle, rgba(21,155,216,0.24), transparent 68%);
  animation-delay: -5s;
}
.bvi-orb-three {
  left: 41%;
  bottom: 2%;
  background: radial-gradient(circle, rgba(212,175,55,0.2), transparent 68%);
  animation-delay: -8s;
}
.bvi-head .section-title {
  color: #0c0c0c;
}
.bvi-head .section-lead {
  margin-left: auto;
  margin-right: auto;
  color: #111;
}
.bvi-wrap {
  position: relative;
  display: grid;
  grid-template-columns: minmax(320px, 1fr) minmax(300px, 380px) minmax(320px, 1fr);
  align-items: center;
  gap: clamp(30px, 4vw, 58px);
  min-height: 800px;
}
.bvi-column {
  display: grid;
  gap: 48px;
}
.bvi-column-left {
  padding-right: 10px;
}
.bvi-column-right {
  padding-left: 10px;
}
.bvi-card {
  --bvi-card-color: var(--bvi-blue);
  --bvi-badge-gradient: linear-gradient(135deg, #d3931d, #143e86);
  --bvi-card-glow: rgba(37,99,235,0.24);
  --bvi-tilt-x: 0deg;
  --bvi-tilt-y: 0deg;
  position: relative;
  min-height: 136px;
  display: flex;
  align-items: center;
  border-radius: 34px;
  background: rgba(255,255,255,0.9);
  border: 8px solid rgba(255,255,255,0.78);
  box-shadow: 0 22px 40px rgba(34,57,84,0.14), inset 0 1px 0 rgba(255,255,255,0.9);
  transform: perspective(900px) rotateX(var(--bvi-tilt-x)) rotateY(var(--bvi-tilt-y)) translate3d(0,0,0);
  transition: transform 0.28s ease, box-shadow 0.28s ease;
  will-change: transform;
}
.bvi-card::before {
  content: "";
  position: absolute;
  inset: 12px;
  border: 4px solid var(--bvi-card-color);
  border-radius: 26px;
  pointer-events: none;
}
.bvi-card::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(110deg, transparent 0%, rgba(255,255,255,0.74) 38%, transparent 56%);
  transform: translateX(-110%);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.28s ease;
}
.bvi-card:hover {
  transform: perspective(900px) rotateX(var(--bvi-tilt-x)) rotateY(var(--bvi-tilt-y)) translate3d(0,-8px,0) scale(1.018);
  box-shadow: 0 30px 58px rgba(34,57,84,0.22), 0 0 34px var(--bvi-card-glow);
}
.bvi-card:hover::after {
  opacity: 1;
  animation: bviCardSheen 0.95s ease forwards;
}
.bvi-card-body {
  position: relative;
  z-index: 2;
  padding: 26px 34px;
  width: 100%;
}
.bvi-card-body span {
  display: block;
  margin-bottom: 5px;
  color: #111;
  font-size: 11px;
  letter-spacing: 2px;
  text-transform: capitalize;
  font-weight: 600;
}
.bvi-card-body h3 {
  margin: 0 0 8px;
  color: #0d0d0d;
  font-family: var(--ff-body);
  font-size: clamp(20px, 1.6vw, 25px);
  font-weight: 800;
  letter-spacing: 2px;
  text-transform: capitalize;
}
.bvi-card-body p {
  margin: 0;
  max-width: 340px;
  color: #111;
  font-size: 13px;
  line-height: 1.55;
  font-weight: 400;
}
.bvi-card-link {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-top: 12px;
  color: #031541;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  text-decoration: none;
}
.bvi-card-link::after {
  content: "\f061";
  font-family: "Font Awesome 6 Free";
  font-size: 11px;
  font-weight: 900;
  transition: transform 0.2s ease;
}
.bvi-card-link:hover {
  color: #c89640;
}
.bvi-card-link:hover::after {
  transform: translateX(3px);
}
.bvi-badge {
  position: absolute;
  z-index: 3;
  top: 50%;
  width: 128px;
  height: 112px;
  display: grid;
  place-items: center;
  color: #fff;
  font-size: 42px;
  background: var(--bvi-badge-gradient);
  clip-path: polygon(15% 0, 83% 0, 100% 50%, 83% 100%, 15% 100%, 0 50%);
  box-shadow: 0 18px 28px rgba(28,51,74,0.22);
  transform: translateY(-50%);
  transition: transform 0.28s ease;
}
.bvi-card:hover .bvi-badge {
  transform: translateY(-50%) rotate(-4deg) scale(1.06);
}
.bvi-badge img {
  width: 85px;
  height: 85px;
  object-fit: contain;
  display: block;
  filter: drop-shadow(0 7px 10px rgba(0,0,0,0.18));
}
.bvi-line {
  position: absolute;
  top: 50%;
  width: clamp(58px, 6vw, 112px);
  height: 6px;
  z-index: -1;
  background: linear-gradient(90deg, transparent, var(--bvi-card-color), transparent);
  background-size: 180% 100%;
  transform: translateY(-50%);
  opacity: 0.9;
  animation: bviLineFlow 3.6s linear infinite;
}
.bvi-column-left .bvi-card {
  margin-left: 72px;
  padding-left: 78px;
}
.bvi-column-left .bvi-badge {
  left: -70px;
}
.bvi-column-left .bvi-line {
  right: calc(clamp(-112px, -6vw, -58px) - 12px);
}
.bvi-column-right .bvi-card {
  margin-right: 72px;
  padding-right: 78px;
}
.bvi-column-right .bvi-badge {
  right: -70px;
}
.bvi-column-right .bvi-line {
  left: calc(clamp(-112px, -6vw, -58px) - 12px);
}
.bvi-center-stack {
  display: grid;
  justify-items: center;
  align-items: center;
  gap: 54px;
}
.bvi-center-service {
  width: min(100%, 330px);
  min-height: 126px;
  margin: 0;
  padding-left: 68px;
}
.bvi-center-service .bvi-badge {
  left: -54px;
  width: 104px;
  height: 92px;
  font-size: 32px;
}
.bvi-center-service .bvi-badge img {
  width: 85px;
  height: 85px;
}
.bvi-center-service .bvi-card-body {
  padding: 22px 26px;
}
.bvi-center-service .bvi-card-body h3 {
  font-size: clamp(17px, 1.25vw, 21px);
  letter-spacing: 1.4px;
}
.bvi-center-service .bvi-card-body p {
  font-size: 12.2px;
  line-height: 1.5;
}
.bvi-center-service .bvi-line {
  left: 50%;
  width: 5px;
  height: 58px;
  z-index: 1;
  opacity: 0.75;
  background: linear-gradient(180deg, transparent, var(--bvi-card-color), transparent);
  transform: translateX(-50%);
}
.bvi-center-top .bvi-line {
  top: auto;
  bottom: -60px;
}
.bvi-center-bottom .bvi-line {
  top: -60px;
}
.bvi-card-red {
  --bvi-card-color: var(--bvi-red);
  --bvi-badge-gradient: linear-gradient(135deg, #051546, #051546);
  --bvi-card-glow: rgba(158,18,59,0.26);
}
.bvi-card-pink {
  --bvi-card-color: var(--bvi-pink);
  --bvi-badge-gradient: linear-gradient(135deg, #051546, #051546);
  --bvi-card-glow: rgba(244,63,94,0.26);
}
.bvi-card-orange {
  --bvi-card-color: var(--bvi-orange);
  --bvi-badge-gradient: linear-gradient(135deg, #051546, #051546);
  --bvi-card-glow: rgba(251,124,19,0.26);
}
.bvi-card-yellow {
  --bvi-card-color: var(--bvi-yellow);
  --bvi-badge-gradient: linear-gradient(135deg, #051546, #051546);
  --bvi-card-glow: rgba(247,189,17,0.26);
}
.bvi-card-blue {
  --bvi-card-color: var(--bvi-blue);
  --bvi-badge-gradient: linear-gradient(135deg, #051546, #051546);
  --bvi-card-glow: rgba(23,75,154,0.26);
}
.bvi-card-sky {
  --bvi-card-color: var(--bvi-sky);
  --bvi-badge-gradient: linear-gradient(135deg, #051546, #051546);
  --bvi-card-glow: rgba(21,155,216,0.26);
}
.bvi-card-teal {
  --bvi-card-color: var(--bvi-teal);
  --bvi-badge-gradient: linear-gradient(135deg, #051546, #051546);
  --bvi-card-glow: rgba(33,200,195,0.26);
}
.bvi-card-green {
  --bvi-card-color: var(--bvi-green);
  --bvi-badge-gradient: linear-gradient(135deg, #051546, #051546);
  --bvi-card-glow: rgba(85,201,47,0.26);
}

.bvi-center {
  position: relative;
  z-index: 4;
  display: grid;
  place-items: center;
}
.bvi-hex {
  position: relative;
  width: min(100%, 360px);
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background:
    radial-gradient(circle at 50% 50%, rgba(255,255,255,0.98) 0 34%, transparent 35%),
    conic-gradient(from -90deg,
      var(--bvi-red) 0deg 45deg,
      var(--bvi-pink) 45deg 90deg,
      var(--bvi-orange) 90deg 135deg,
      var(--bvi-yellow) 135deg 180deg,
      var(--bvi-green) 180deg 225deg,
      var(--bvi-teal) 225deg 270deg,
      var(--bvi-sky) 270deg 315deg,
      var(--bvi-blue) 315deg 360deg);
  border: 14px solid rgba(255,255,255,0.96);
  box-shadow: 0 30px 64px rgba(31,57,86,0.22), inset 0 0 0 2px rgba(255,255,255,0.82);
  animation: bviHexFloat 7s ease-in-out infinite, bviRingSpin 26s linear infinite;
}
.bvi-hex::before {
  content: "";
  position: absolute;
  inset: 33px;
  border-radius: 50%;
  background:
    radial-gradient(circle at 50% 50%, transparent 0 44%, rgba(255,255,255,0.92) 45% 47%, transparent 48%),
    repeating-conic-gradient(from -90deg, rgba(255,255,255,0.7) 0 1deg, transparent 1deg 45deg);
  border: 1px solid rgba(255,255,255,0.62);
  box-shadow: inset 0 0 44px rgba(255,255,255,0.26);
}
.bvi-hex::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background: linear-gradient(115deg, transparent, rgba(255,255,255,0.38), transparent);
  transform: translateX(-120%);
  animation: bviHexSheen 6s ease-in-out infinite;
}
.bvi-shield {
  position: relative;
  z-index: 4;
  width: 48%;
  min-width: 150px;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  text-align: center;
  padding: 28px;
  border-radius: 50%;
  background: #fff;
  border: 2px solid rgba(212,175,55,0.32);
  box-shadow: 0 22px 40px rgba(29,54,80,0.18), inset 0 0 0 10px rgba(248,250,252,0.9), inset 0 1px 0 #fff;
  animation: bviShieldFloat 5.2s ease-in-out infinite, bviHubCounterSpin 26s linear infinite;
}
.bvi-shield img {
  width: min(118px, 74%);
  height: auto;
  display: block;
}
@keyframes bviDust {
  from { transform: translate3d(0,0,0); }
  to { transform: translate3d(-72px,-42px,0); }
}
@keyframes bviOrbFloat {
  0%, 100% { transform: translate3d(0,0,0) scale(1); }
  50% { transform: translate3d(24px,-18px,0) scale(1.07); }
}
@keyframes bviLineFlow {
  from { background-position: 0% 50%; }
  to { background-position: 180% 50%; }
}
@keyframes bviCardSheen {
  from { transform: translateX(-110%); }
  to { transform: translateX(110%); }
}
@keyframes bviHexFloat {
  0%, 100% { transform: translate3d(0,0,0) rotate(-1.5deg); }
  50% { transform: translate3d(0,-12px,0) rotate(1.5deg); }
}
@keyframes bviHexSheen {
  0%, 45% { transform: translateX(-120%); opacity: 0; }
  56% { opacity: 0.85; }
  76%, 100% { transform: translateX(120%); opacity: 0; }
}
@keyframes bviRingSpin {
  from { rotate: 0deg; }
  to { rotate: 360deg; }
}
@keyframes bviHubCounterSpin {
  from { rotate: 0deg; }
  to { rotate: -360deg; }
}
@keyframes bviShieldFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-8px); }
}
@media (max-width: 1399px) {
  .bvi-wrap {
    grid-template-columns: minmax(290px, 1fr) minmax(270px, 340px) minmax(290px, 1fr);
    gap: 30px;
  }
  .bvi-card-body {
    padding: 24px 28px;
  }
  .bvi-badge {
    width: 112px;
    height: 98px;
    font-size: 34px;
  }
  .bvi-column-left .bvi-card { margin-left: 58px; padding-left: 62px; }
  .bvi-column-left .bvi-badge { left: -58px; }
  .bvi-column-right .bvi-card { margin-right: 58px; padding-right: 62px; }
  .bvi-column-right .bvi-badge { right: -58px; }
  .bvi-center-stack {
    gap: 48px;
  }
  .bvi-center-service {
    width: min(100%, 310px);
    padding-left: 62px;
  }
  .bvi-center-service .bvi-badge {
    left: -48px;
    width: 94px;
    height: 84px;
    font-size: 29px;
  }
}
@media (max-width: 1199px) {
  .bvi-wrap {
    min-height: 0;
    grid-template-columns: 1fr;
    gap: 42px;
  }
  .bvi-center-stack {
    order: -1;
    gap: 34px;
  }
  .bvi-hex {
    width: min(76vw, 340px);
  }
  .bvi-column {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 26px;
    padding: 0;
  }
  .bvi-column-left .bvi-card,
  .bvi-column-right .bvi-card,
  .bvi-center-service {
    margin: 0;
    padding: 0 0 0 74px;
  }
  .bvi-column-left .bvi-badge,
  .bvi-column-right .bvi-badge,
  .bvi-center-service .bvi-badge {
    left: -42px;
    right: auto;
  }
  .bvi-line {
    display: none;
  }
}
@media (max-width: 767px) {
  .bvi-section {
    padding: 70px 0;
  }
  .bvi-wrap {
    gap: 34px;
  }
  .bvi-hex {
    width: min(84vw, 314px);
    border-width: 10px;
  }
  .bvi-hex::before {
    inset: 22px;
  }
  .bvi-column {
    grid-template-columns: 1fr;
    gap: 22px;
  }
  .bvi-column-left .bvi-card,
  .bvi-column-right .bvi-card,
  .bvi-center-service {
    min-height: 126px;
    padding-left: 58px;
  }
  .bvi-column-left .bvi-badge,
  .bvi-column-right .bvi-badge,
  .bvi-center-service .bvi-badge {
    left: -18px;
    width: 86px;
    height: 78px;
    font-size: 27px;
  }
  .bvi-card {
    border-width: 6px;
    border-radius: 28px;
  }
  .bvi-card::before {
    inset: 9px;
    border-width: 3px;
    border-radius: 22px;
  }
  .bvi-card-body {
    padding: 22px 22px;
  }
  .bvi-card-body h3 {
    font-size: 18px;
    letter-spacing: 1.2px;
  }
  .bvi-card-body p {
    font-size: 12.5px;
  }
  .bvi-shield {
    width: 50%;
    min-width: 138px;
    padding: 22px;
  }
  .bvi-shield img {
    width: min(96px, 72%);
  }
}
@media (max-width: 430px) {
  .bvi-card-body p {
    max-width: 220px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .bvi-section::before,
  .bvi-orb,
  .bvi-line,
  .bvi-hex,
  .bvi-hex::after,
  .bvi-shield {
    animation: none !important;
  }
}

/* =========================================================
   Premium Why Choose Us Section
   ========================================================= */
.bwc-section {
  --bwc-gold: #d4af37;
  --bwc-gold-soft: #f2d16b;
  --bwc-gold-bright: #ffd76a;
  --bwc-navy: #031541;
  --bwc-navy-deep: #010a22;
  --bwc-navy-soft: #08245f;
  --bwc-ink: #ffffff;
  --bwc-muted: rgba(255,255,255,0.74);
  position: relative;
  overflow: hidden;
  isolation: isolate;
  padding: clamp(52px, 5vw, 78px) 0;
  background:
    radial-gradient(circle at 13% 18%, rgba(212,175,55,0.28), transparent 31%),
    radial-gradient(circle at 84% 18%, rgba(242,209,107,0.14), transparent 28%),
    radial-gradient(circle at 50% 100%, rgba(8,36,95,0.58), transparent 44%),
    linear-gradient(145deg, #010a22 0%, #031541 46%, #071f55 72%, #010716 100%);
  color: var(--bwc-ink);
}
.bwc-section::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  opacity: 0.16;
  background-image:
    radial-gradient(circle, rgba(212,175,55,0.48) 0 1px, transparent 1.5px),
    radial-gradient(circle, rgba(255,255,255,0.16) 0 1px, transparent 1.6px);
  background-size: 84px 84px, 46px 46px;
  background-position: 14px 12px, 0 0;
  animation: bwcDustDrift 42s linear infinite;
}
.bwc-bg,
.bwc-bg span {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.bwc-bg {
  z-index: -1;
}
.bwc-glow {
  width: 460px;
  height: 460px;
  border-radius: 50%;
  opacity: 0.72;
  filter: blur(8px);
  background: radial-gradient(circle, rgba(212,175,55,0.28), rgba(8,36,95,0.16) 36%, transparent 70%);
  animation: bwcGlowFloat 13s ease-in-out infinite;
}
.bwc-glow-one {
  top: -170px;
  left: -130px;
}
.bwc-glow-two {
  right: -150px;
  bottom: -180px;
  animation-delay: -6s;
}
.bwc-rays {
  opacity: 0.18;
  background:
    linear-gradient(112deg, transparent 0%, rgba(212,175,55,0.34) 42%, transparent 56%),
    linear-gradient(68deg, transparent 0%, rgba(242,209,107,0.16) 48%, transparent 64%);
  transform: translateX(-10%);
  animation: bwcRayMove 18s ease-in-out infinite;
}
.bwc-dust {
  opacity: 0.24;
  background:
    radial-gradient(circle at 12% 24%, rgba(255,215,106,0.55) 0 2px, transparent 7px),
    radial-gradient(circle at 32% 72%, rgba(212,175,55,0.38) 0 1.5px, transparent 6px),
    radial-gradient(circle at 71% 28%, rgba(242,209,107,0.45) 0 2px, transparent 7px),
    radial-gradient(circle at 88% 78%, rgba(212,175,55,0.42) 0 1.5px, transparent 6px);
  animation: bwcSparklePulse 8s ease-in-out infinite;
}
.bwc-head {
  max-width: 860px;
  margin: 0 auto clamp(34px, 3.6vw, 48px);
}
.bwc-head .section-title {
  color: #fff;
  margin-bottom: 8px;
  font-size: clamp(30px, 3.2vw, 40px);
  line-height: 1.08;
}
.bwc-head .section-title span {
  background: linear-gradient(105deg, #b8871d 0%, #d4af37 28%, #fff2a8 46%, #ffd76a 62%, #a87515 100%);
  background-size: 260% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  animation: bwcGoldShimmer 9s ease-in-out infinite;
  filter: drop-shadow(0 8px 18px rgba(212,175,55,0.12));
}
.bwc-head .section-lead {
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
  font-size: 14.5px;
  line-height: 1.65;
  color: var(--bwc-muted);
}
.bwc-divider {
  display: block;
  width: min(210px, 54vw);
  height: 2px;
  margin: 10px auto 14px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, #d4af37, #fff0a6, #d4af37, transparent);
  background-size: 220% 100%;
  box-shadow: 0 0 24px rgba(212,175,55,0.26);
  animation: bwcDividerFlow 4.8s linear infinite;
}
.bwc-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  max-width: 1080px;
  margin: 0 auto;
  perspective: 1200px;
}
.bwc-card {
  --bwc-x: 50%;
  --bwc-y: 50%;
  --bwc-tilt-x: 0deg;
  --bwc-tilt-y: 0deg;
  position: relative;
  min-height: 220px;
  padding: 24px 22px 22px;
  border-radius: 16px;
  border: 1px solid rgba(212,175,55,0.26);
  background:
    radial-gradient(circle at var(--bwc-x) var(--bwc-y), rgba(255,215,106,0.16), transparent 34%),
    linear-gradient(145deg, rgba(8,36,95,0.78), rgba(1,10,34,0.68));
  box-shadow: 0 22px 58px rgba(0,0,0,0.36), inset 0 1px 0 rgba(255,255,255,0.1);
  backdrop-filter: blur(18px);
  text-align: left;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  transform: perspective(1000px) rotateX(var(--bwc-tilt-x)) rotateY(var(--bwc-tilt-y)) translate3d(0,0,0);
  transform-style: preserve-3d;
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
  will-change: transform;
}
.bwc-card::before,
.bwc-card::after {
  content: "";
  position: absolute;
  pointer-events: none;
}
.bwc-card::before {
  inset: -1px;
  border-radius: inherit;
  padding: 1px;
  background: conic-gradient(from var(--bwc-border-angle, 0deg), transparent 0 22%, rgba(212,175,55,0.86), rgba(255,215,106,0.94), transparent 48% 100%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  animation: bwcBorderSpin 6s linear infinite;
}
.bwc-card::after {
  inset: 0;
  border-radius: inherit;
  background:
    linear-gradient(115deg, transparent 0%, rgba(255,255,255,0.16) 42%, transparent 56%),
    radial-gradient(circle at 18% 12%, rgba(255,215,106,0.22), transparent 24%),
    radial-gradient(circle at 84% 92%, rgba(8,36,95,0.36), transparent 34%);
  opacity: 0;
  transform: translateX(-110%);
  transition: opacity 0.28s ease;
}
.bwc-card:hover {
  transform: perspective(1000px) rotateX(var(--bwc-tilt-x)) rotateY(var(--bwc-tilt-y)) translate3d(0,-8px,0) scale(1.018);
  border-color: rgba(212,175,55,0.72);
  box-shadow: 0 38px 86px rgba(0,0,0,0.46), 0 0 42px rgba(212,175,55,0.16), inset 0 1px 0 rgba(255,255,255,0.14);
}
.bwc-card:hover::after {
  opacity: 1;
  animation: bwcCardReflection 1s ease forwards;
}
.bwc-icon {
  position: relative;
  z-index: 2;
  width: 50px;
  height: 50px;
  display: grid;
  place-items: center;
  margin-bottom: 18px;
  border-radius: 14px;
  border: 1px solid rgba(242,209,107,0.45);
  color: var(--bwc-gold-soft);
  font-size: 21px;
  background:
    linear-gradient(145deg, rgba(212,175,55,0.16), rgba(3,21,65,0.78));
  box-shadow: 0 18px 34px rgba(0,0,0,0.24), inset 0 1px 0 rgba(255,255,255,0.12);
  transform: translateZ(38px);
  animation: bwcIconFloat 5.4s ease-in-out infinite;
  transition: transform 0.3s ease, box-shadow 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}
.bwc-icon i {
  -webkit-text-stroke: 0.5px currentColor;
}
.bwc-card:hover .bwc-icon {
  color: #fff4b8;
  border-color: rgba(242,209,107,0.84);
  transform: translateZ(44px) rotate(4deg) scale(1.05);
  box-shadow: 0 24px 50px rgba(0,0,0,0.32), 0 0 30px rgba(255,215,106,0.18), inset 0 1px 0 rgba(255,255,255,0.18);
}
.bwc-card h3 {
  position: relative;
  z-index: 1;
  margin: 0 0 9px;
  color: #ffffff;
  font-family: var(--ff-heading);
  font-size: clamp(17px, 1.28vw, 20px);
  line-height: 1.25;
  min-height: 42px;
}
.bwc-card p {
  position: relative;
  z-index: 1;
  margin: 0;
  color: rgba(255,255,255,0.72);
  font-size: 13px;
  line-height: 1.6;
  font-weight: 400;
  min-height: 58px;
}
@property --bwc-border-angle {
  syntax: "<angle>";
  inherits: false;
  initial-value: 0deg;
}
@keyframes bwcDustDrift {
  from { transform: translate3d(0,0,0); }
  to { transform: translate3d(-84px,-52px,0); }
}
@keyframes bwcGlowFloat {
  0%, 100% { transform: translate3d(0,0,0) scale(1); opacity: 0.5; }
  50% { transform: translate3d(24px,-20px,0) scale(1.08); opacity: 0.82; }
}
@keyframes bwcRayMove {
  0%, 100% { transform: translate3d(-12%,0,0); opacity: 0.12; }
  50% { transform: translate3d(10%,-2%,0); opacity: 0.24; }
}
@keyframes bwcSparklePulse {
  0%, 100% { opacity: 0.16; transform: scale(1); }
  50% { opacity: 0.34; transform: scale(1.03); }
}
@keyframes bwcGoldShimmer {
  0%, 100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}
@keyframes bwcDividerFlow {
  from { background-position: 0% 50%; }
  to { background-position: 220% 50%; }
}
@keyframes bwcBorderSpin {
  to { --bwc-border-angle: 360deg; }
}
@keyframes bwcCardReflection {
  from { transform: translateX(-110%); }
  to { transform: translateX(110%); }
}
@keyframes bwcIconFloat {
  0%, 100% { transform: translateY(0) translateZ(38px); }
  50% { transform: translateY(-7px) translateZ(38px); }
}
@media (max-width: 1199px) {
  .bwc-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 780px;
    gap: 18px;
  }
}
@media (max-width: 767px) {
  .bwc-section {
    padding: 56px 0;
  }
  .bwc-grid {
    grid-template-columns: 1fr;
    gap: 16px;
    max-width: 430px;
  }
  .bwc-card {
    min-height: auto;
    padding: 22px 20px;
  }
  .bwc-card h3,
  .bwc-card p {
    min-height: auto;
  }
  .bwc-icon {
    width: 48px;
    height: 48px;
    margin-bottom: 16px;
    font-size: 20px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .bwc-section::before,
  .bwc-glow,
  .bwc-rays,
  .bwc-dust,
  .bwc-head .section-title span,
  .bwc-divider,
  .bwc-card::before,
  .bwc-icon {
    animation: none !important;
  }
}

/* =========================================================
   Premium Industries We Serve Section
   ========================================================= */
.bis-section {
  --bis-gold: #d4af37;
  --bis-gold-soft: #f2d16b;
  --bis-gold-bright: #ffd76a;
  --bis-green: #031541;
  --bis-ink: #101010;
  --bis-muted: #111;
  position: relative;
  overflow: hidden;
  isolation: isolate;
  padding: clamp(78px, 8vw, 124px) 0;
  background:
    radial-gradient(circle at 16% 22%, rgba(212,175,55,0.1), transparent 28%),
    radial-gradient(circle at 82% 18%, rgba(255,255,255,0.96), transparent 30%),
    radial-gradient(circle at 50% 92%, rgba(10,63,57,0.055), transparent 36%),
    linear-gradient(135deg, #ffffff 0%, #fffdf8 44%, #f9fbfb 100%);
  color: var(--bis-muted);
}
.bis-section::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  opacity: 0.36;
  background-image:
    radial-gradient(circle, rgba(212,175,55,0.42) 0 1px, transparent 1.6px),
    radial-gradient(circle, rgba(10,63,57,0.055) 0 1px, transparent 1.5px);
  background-size: 92px 92px, 52px 52px;
  background-position: 22px 24px, 0 0;
  animation: bisDustDrift 26s linear infinite;
}
.bis-section::after {
  content: "";
  position: absolute;
  inset: 18px;
  z-index: -1;
  border-radius: 26px;
  padding: 1px;
  background:
    conic-gradient(from var(--bis-border-angle, 0deg),
      transparent 0 18%,
      rgba(212,175,55,0.18) 22%,
      rgba(242,209,107,0.86) 30%,
      rgba(10,113,101,0.34) 42%,
      transparent 54% 100%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
  animation: bisBorderSpin 7s linear infinite;
}
.bis-bg,
.bis-bg span {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.bis-bg {
  z-index: -1;
}
.bis-glow {
  width: 480px;
  height: 480px;
  border-radius: 50%;
  opacity: 0.6;
  background: radial-gradient(circle, rgba(212,175,55,0.14), transparent 70%);
  animation: bisGlowFloat 15s ease-in-out infinite;
}
.bis-glow-one {
  left: -170px;
  top: -160px;
}
.bis-glow-two {
  right: -180px;
  bottom: -190px;
  animation-delay: -7s;
}
.bis-light {
  opacity: 0.2;
  background:
    linear-gradient(115deg, transparent 0%, rgba(255,255,255,0.9) 44%, transparent 60%),
    linear-gradient(72deg, transparent 0%, rgba(212,175,55,0.16) 45%, transparent 62%);
  transform: translateX(-16%);
  animation: bisLightSweep 20s ease-in-out infinite;
}
.bis-dust {
  opacity: 0.26;
  background-image:
    radial-gradient(circle, rgba(212,175,55,0.48) 0 1.3px, transparent 2px),
    radial-gradient(circle, rgba(10,113,101,0.12) 0 1px, transparent 1.8px),
    radial-gradient(circle, rgba(255,255,255,0.9) 0 1px, transparent 1.7px);
  background-size: 124px 124px, 68px 68px, 190px 190px;
  background-position: 0 0, 28px 22px, 54px 18px;
  animation: bisPatternScroll 28s linear infinite;
}
.bis-head {
  margin-bottom: clamp(58px, 6vw, 78px);
}
.bis-head .section-title {
  color: var(--bis-green);
  font-size: 40px;
}
.bis-head .section-title span {
  background: linear-gradient(105deg, #b8871d 0%, #d4af37 28%, #fff2a8 46%, #ffd76a 62%, #a87515 100%);
  background-size: 260% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  animation: bisGoldShimmer 9.5s ease-in-out infinite;
}
.bis-head .section-lead {
  margin-left: auto;
  margin-right: auto;
  color: var(--bis-muted);
}
.bis-divider {
  display: block;
  width: min(300px, 62vw);
  height: 2px;
  margin: 12px auto 22px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, #d4af37, #fff0a6, #d4af37, transparent);
  background-size: 220% 100%;
  box-shadow: 0 0 24px rgba(212,175,55,0.26);
  animation: bisDividerFlow 5s linear infinite;
}
.bis-timeline {
  position: relative;
  overflow: hidden;
  padding: 8px 0 14px;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
}
.bis-timeline::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 86px;
  height: 2px;
  background-image:
    linear-gradient(90deg, rgba(211,147,29,0.45) 0 22px, transparent 22px 48px),
    linear-gradient(90deg, transparent, rgba(211,147,29,0.22), transparent);
  background-size: 48px 2px, 100% 2px;
  pointer-events: none;
  animation: bisDashScroll 1.8s linear infinite;
}
.bis-timeline::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 85px;
  height: 4px;
  background: linear-gradient(90deg, transparent, rgba(211,147,29,0.22), transparent);
  filter: blur(5px);
  pointer-events: none;
}
.bis-track {
  display: flex;
  width: max-content;
  animation: bisTimelineScroll 38s linear infinite;
}
.bis-timeline:hover .bis-track {
  animation-play-state: paused;
}
.bis-step {
  position: relative;
  flex: 0 0 clamp(220px, 20vw, 300px);
  min-height: 208px;
  padding: 0 18px;
  text-align: center;
}
.bis-step-number {
  display: block;
  margin-bottom: 8px;
  color: rgba(211,147,29,0.82);
  font-family: var(--ff-heading);
  font-size: 21px;
  font-weight: 800;
  line-height: 1;
}
.bis-node {
  position: relative;
  z-index: 2;
  width: 118px;
  height: 118px;
  display: grid;
  place-items: center;
  margin: 0 auto 20px;
  border-radius: 50%;
  background: rgba(255,255,255,0.66);
  border: 1px solid rgba(211,147,29,0.36);
  box-shadow: 0 16px 34px rgba(139,91,14,0.14), inset 0 0 0 12px rgba(211,147,29,0.08), inset 0 0 0 24px rgba(255,255,255,0.42);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.bis-node::before {
  content: "";
  position: absolute;
  inset: 11px;
  border-radius: 50%;
  border: 1px solid rgba(211,147,29,0.28);
}
.bis-node::after {
  content: "";
  position: absolute;
  inset: -7px;
  border-radius: 50%;
  border: 1px solid rgba(211,147,29,0.22);
  box-shadow: 0 0 28px rgba(211,147,29,0.14);
}
.bis-icon {
  position: relative;
  z-index: 3;
  width: 92px;
  height: 92px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  font-size: 31px;
  background: radial-gradient(circle at 35% 25%, #e2a637, #d3931d 64%, #946411 100%);
  box-shadow: 0 16px 30px rgba(139,91,14,0.28), inset 0 1px 0 rgba(255,255,255,0.28);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.bis-icon img {
  width: 70px;
  height: 70px;
  object-fit: contain;
  display: block;
}
.bis-node-dot {
  position: absolute;
  inset: -9px;
  z-index: 4;
  border-radius: 50%;
  animation: bisNodeDotOrbit 5.4s linear infinite;
  pointer-events: none;
}
.bis-node-dot::before {
  content: "";
  position: absolute;
  left: 50%;
  top: -1px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #d3931d;
  box-shadow: 0 0 0 6px rgba(211,147,29,0.16), 0 0 18px rgba(211,147,29,0.42);
  transform: translateX(-50%);
}
.bis-step:hover .bis-node {
  transform: translateY(-8px) scale(1.03);
  box-shadow: 0 24px 48px rgba(139,91,14,0.2), inset 0 0 0 12px rgba(211,147,29,0.11);
}
.bis-step:hover .bis-icon {
  transform: rotate(5deg) scale(1.08);
  box-shadow: 0 22px 42px rgba(139,91,14,0.38), inset 0 1px 0 rgba(255,255,255,0.32);
}
.bis-step h3 {
  position: relative;
  z-index: 1;
  max-width: 270px;
  margin: 0 auto;
  color: #d3931d;
  font-family: var(--ff-heading);
  font-size: 18px;
  line-height: 1.12;
}
@property --bis-border-angle {
  syntax: "<angle>";
  inherits: false;
  initial-value: 0deg;
}
@keyframes bisDustDrift {
  from { transform: translate3d(0,0,0); }
  to { transform: translate3d(-92px,-54px,0); }
}
@keyframes bisPatternScroll {
  from { transform: translate3d(0,0,0); background-position: 0 0, 28px 22px, 54px 18px; }
  to { transform: translate3d(-120px,-48px,0); background-position: -124px 0, -40px 68px, -136px 54px; }
}
@keyframes bisGlowFloat {
  0%, 100% { transform: translate3d(0,0,0) scale(1); opacity: 0.5; }
  50% { transform: translate3d(24px,-18px,0) scale(1.08); opacity: 0.78; }
}
@keyframes bisLightSweep {
  0%, 100% { transform: translate3d(-14%,0,0); opacity: 0.12; }
  50% { transform: translate3d(12%,-2%,0); opacity: 0.24; }
}
@keyframes bisSparkle {
  0%, 100% { opacity: 0.16; transform: scale(1); }
  50% { opacity: 0.32; transform: scale(1.03); }
}
@keyframes bisGoldShimmer {
  0%, 100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}
@keyframes bisDividerFlow {
  from { background-position: 0% 50%; }
  to { background-position: 220% 50%; }
}
@keyframes bisBorderSpin {
  to { --bis-border-angle: 360deg; }
}
@keyframes bisCardReflection {
  from { transform: translateX(-115%); }
  to { transform: translateX(115%); }
}
@keyframes bisTimelineScroll {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
@keyframes bisDashScroll {
  from { background-position: 0 0, 0 0; }
  to { background-position: 48px 0, 0 0; }
}
@keyframes bisNodeDotOrbit {
  to { transform: rotate(360deg); }
}
@keyframes bisIconFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-7px); }
}
@keyframes bisOrbitSpin {
  to { transform: rotate(360deg); }
}
@media (max-width: 1199px) {
  .bis-step { flex-basis: 250px; }
  .bis-track { animation-duration: 34s; }
}
@media (max-width: 767px) {
  .bis-section {
    padding: 74px 0;
  }
  .bis-head { margin-bottom: 44px; }
  .bis-timeline::before { top: 75px; }
  .bis-step {
    flex-basis: 210px;
    min-height: 184px;
    padding: 0 12px;
  }
  .bis-step-number { font-size: 18px; }
  .bis-node {
    width: 100px;
    height: 100px;
    margin-bottom: 16px;
  }
  .bis-icon {
    width: 82px;
    height: 82px;
    font-size: 26px;
  }
  .bis-step h3 { font-size: 20px; }
  .bis-track { animation-duration: 30s; }
}
@media (prefers-reduced-motion: reduce) {
  .bis-section::before,
  .bis-section::after,
  .bis-glow,
  .bis-light,
  .bis-dust,
  .bis-head .section-title span,
  .bis-divider,
  .bis-track,
  .bis-timeline::before,
  .bis-node-dot {
    animation: none !important;
  }
}

/* =========================================================
   Premium Google-Style Testimonials Section
   ========================================================= */
.btr-section {
  --btr-gold: #d4af37;
  --btr-gold-soft: #f2d16b;
  --btr-green: #031541;
  --btr-ink: #101010;
  --btr-muted: #5d6670;
  position: relative;
  overflow: hidden;
  isolation: isolate;
  padding: clamp(78px, 8vw, 124px) 0;
  background:
    radial-gradient(circle at 18% 18%, rgba(66,133,244,0.08), transparent 26%),
    radial-gradient(circle at 86% 20%, rgba(212,175,55,0.12), transparent 28%),
    radial-gradient(circle at 48% 90%, rgba(52,168,83,0.07), transparent 34%),
    linear-gradient(135deg, #ffffff 0%, #fffdf8 48%, #f8fbff 100%);
  color: var(--btr-muted);
}
.btr-section::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  opacity: 0.28;
  background-image:
    radial-gradient(circle, rgba(212,175,55,0.42) 0 1px, transparent 1.6px),
    radial-gradient(circle, rgba(66,133,244,0.1) 0 1px, transparent 1.6px);
  background-size: 88px 88px, 48px 48px;
  background-position: 18px 22px, 0 0;
  animation: btrDustDrift 44s linear infinite;
}
.btr-bg,
.btr-bg span {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.btr-bg {
  z-index: -1;
}
.btr-glow {
  width: 470px;
  height: 470px;
  border-radius: 50%;
  opacity: 0.58;
  background: radial-gradient(circle, rgba(212,175,55,0.13), transparent 68%);
  animation: btrGlowFloat 15s ease-in-out infinite;
}
.btr-glow-one {
  left: -160px;
  top: -170px;
}
.btr-glow-two {
  right: -170px;
  bottom: -190px;
  animation-delay: -7s;
}
.btr-dust {
  opacity: 0.24;
  background:
    radial-gradient(circle at 10% 24%, rgba(255,215,106,0.52) 0 2px, transparent 8px),
    radial-gradient(circle at 34% 80%, rgba(66,133,244,0.2) 0 2px, transparent 8px),
    radial-gradient(circle at 72% 26%, rgba(242,209,107,0.5) 0 2px, transparent 8px),
    radial-gradient(circle at 90% 72%, rgba(52,168,83,0.18) 0 2px, transparent 8px);
  animation: btrSparklePulse 8s ease-in-out infinite;
}
.btr-top {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 34px;
  margin-bottom: clamp(44px, 5vw, 66px);
}
.btr-top .section-title {
  max-width: 820px;
  margin-bottom: 14px;
  color: var(--btr-green);
  font-size: 40px;
}
.btr-top .section-title span {
  background: linear-gradient(105deg, #b8871d 0%, #d4af37 28%, #fff2a8 46%, #ffd76a 62%, #a87515 100%);
  background-size: 260% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  animation: btrGoldShimmer 9s ease-in-out infinite;
}
.btr-rating-box {
  min-width: 250px;
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 18px 20px;
  border-radius: 24px;
  border: 1px solid rgba(212,175,55,0.32);
  background: rgba(255,255,255,0.76);
  box-shadow: 0 22px 50px rgba(20,26,32,0.1), inset 0 1px 0 rgba(255,255,255,0.88);
  backdrop-filter: blur(18px);
}
.btr-google-mark,
.btr-g {
  font-family: "Lato", sans-serif;
  font-weight: 800;
  background: conic-gradient(from 35deg, #4285f4, #34a853, #fbbc05, #ea4335, #4285f4);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.btr-google-mark {
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background-color: #fff;
  box-shadow: 0 12px 28px rgba(20,26,32,0.12);
  font-size: 34px;
}
.btr-rating-box strong {
  display: block;
  color: #101010;
  font-size: 26px;
  line-height: 1;
}
.btr-stars {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  color: #fbbc05;
  font-size: 14px;
}
.btr-rating-box small {
  display: block;
  margin-top: 3px;
  color: #6a717a;
  font-size: 12px;
  font-weight: 500;
}
.btr-carousel {
  position: relative;
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr) 54px;
  align-items: center;
  gap: 18px;
}
.btr-viewport {
  overflow: hidden;
  padding: 10px 2px 22px;
}
.btr-track {
  display: flex;
  gap: 24px;
  transition: transform 0.65s cubic-bezier(0.22, 0.8, 0.24, 1);
  will-change: transform;
}
.btr-card {
  position: relative;
  flex: 0 0 calc((100% - 48px) / 3);
  min-height: 330px;
  padding: 28px;
  border-radius: 30px;
  border: 1px solid rgba(212,175,55,0.34);
  background:
    linear-gradient(145deg, rgba(255,255,255,0.92), rgba(255,255,255,0.66)),
    radial-gradient(circle at 18% 14%, rgba(212,175,55,0.14), transparent 28%);
  box-shadow: 0 24px 58px rgba(20,26,32,0.11), inset 0 1px 0 rgba(255,255,255,0.9);
  backdrop-filter: blur(18px);
  transition: transform 0.32s ease, box-shadow 0.32s ease, border-color 0.32s ease;
}
.btr-card::before {
  content: "";
  position: absolute;
  inset: -1px;
  border-radius: inherit;
  padding: 1px;
  pointer-events: none;
  background: linear-gradient(130deg, rgba(212,175,55,0.12), rgba(255,215,106,0.86), rgba(212,175,55,0.1));
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  opacity: 0.62;
}
.btr-card::after {
  content: "\f10d";
  position: absolute;
  right: 26px;
  bottom: 18px;
  color: rgba(212,175,55,0.12);
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 62px;
  line-height: 1;
}
.btr-card:hover {
  transform: translateY(-9px);
  border-color: rgba(212,175,55,0.72);
  box-shadow: 0 36px 76px rgba(20,26,32,0.16), 0 0 36px rgba(212,175,55,0.18), inset 0 1px 0 rgba(255,255,255,0.94);
}
.btr-card-head {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 54px 1fr auto;
  align-items: center;
  gap: 14px;
  margin-bottom: 18px;
}
.btr-avatar {
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #141414;
  font-size: 16px;
  font-weight: 800;
  background: linear-gradient(135deg, #fff4b8, #d4af37 54%, #9a6b14);
  box-shadow: 0 14px 28px rgba(212,175,55,0.24), inset 0 1px 0 rgba(255,255,255,0.72);
}
.btr-card h3 {
  margin: 0;
  color: #101010;
  font-family: var(--ff-body);
  font-size: 17px;
  font-weight: 800;
}
.btr-card small {
  color: #7a838d;
  font-size: 12px;
  font-weight: 500;
}
.btr-g {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background-color: #fff;
  box-shadow: 0 10px 22px rgba(20,26,32,0.1);
  font-size: 21px;
}
.btr-card p {
  position: relative;
  z-index: 1;
  margin: 18px 0 22px;
  color: #4d5660;
  font-size: 15px;
  line-height: 1.78;
  font-weight: 400;
}
.btr-meta {
  position: relative;
  z-index: 1;
  display: inline-flex;
  padding: 8px 13px;
  border-radius: 999px;
  color: #8a611f;
  background: rgba(212,175,55,0.13);
  border: 1px solid rgba(212,175,55,0.22);
  font-size: 12px;
  font-weight: 700;
}
.btr-arrow {
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(212,175,55,0.44);
  border-radius: 50%;
  color: #111;
  background:
    linear-gradient(135deg, rgba(255,255,255,0.9), rgba(255,255,255,0.62)),
    radial-gradient(circle at 30% 20%, rgba(242,209,107,0.32), transparent 44%);
  box-shadow: 0 18px 36px rgba(20,26,32,0.11);
  transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
}
.btr-arrow:hover {
  transform: translateY(-3px);
  background: linear-gradient(135deg, #fff4b8, #d4af37 54%, #a87515);
  box-shadow: 0 24px 44px rgba(212,175,55,0.25);
}
.btr-dots {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 22px;
}
.btr-dots button {
  width: 10px;
  height: 10px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(10,63,57,0.18);
  transition: width 0.25s ease, background 0.25s ease, box-shadow 0.25s ease;
}
.btr-dots button.active {
  width: 34px;
  background: linear-gradient(90deg, #d4af37, #ffd76a);
  box-shadow: 0 0 18px rgba(212,175,55,0.34);
}
@keyframes btrDustDrift {
  from { transform: translate3d(0,0,0); }
  to { transform: translate3d(-88px,-54px,0); }
}
@keyframes btrGlowFloat {
  0%, 100% { transform: translate3d(0,0,0) scale(1); opacity: 0.48; }
  50% { transform: translate3d(22px,-18px,0) scale(1.08); opacity: 0.78; }
}
@keyframes btrSparklePulse {
  0%, 100% { opacity: 0.16; transform: scale(1); }
  50% { opacity: 0.3; transform: scale(1.03); }
}
@keyframes btrGoldShimmer {
  0%, 100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}
@media (max-width: 1199px) {
  .btr-card {
    flex-basis: calc((100% - 24px) / 2);
  }
  .btr-top {
    grid-template-columns: 1fr;
  }
  .btr-rating-box {
    width: fit-content;
  }
}
@media (max-width: 767px) {
  .btr-section {
    padding: 74px 0;
  }
  .btr-carousel {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .btr-card {
    flex-basis: 100%;
    min-height: auto;
    padding: 24px;
  }
  .btr-prev,
  .btr-next {
    position: absolute;
    top: calc(100% + 12px);
    z-index: 3;
  }
  .btr-prev {
    left: calc(50% - 62px);
  }
  .btr-next {
    right: calc(50% - 62px);
  }
  .btr-dots {
    margin-top: 82px;
  }
  .btr-rating-box {
    width: 100%;
  }
}
@media (prefers-reduced-motion: reduce) {
  .btr-section::before,
  .btr-glow,
  .btr-dust,
  .btr-top .section-title span {
    animation: none !important;
  }
  .btr-track {
    transition: none !important;
  }
}
