/*
Theme Name: Bradbury AM (Flatsome Child)
Theme URI: https://bradburyam.com/
Description: Theme con Flatsome cho Bradbury Asset Management - Giao dien tai chinh ngan hang chuan mau Kallyas va UX Builder
Author: Bradbury Team
Author URI: https://bradburyam.com/
Template: flatsome
Version: 1.3.2
Text Domain: flatsome-child
*/

/* ==========================================================================
   1. GLOBAL FONTS & RESET (BRADBURY KALLYAS DESIGN SYSTEM)
   ========================================================================== */
@font-face {
  font-family: 'Optima Medium';
  src: url('assets/fonts/Optima Medium.woff') format('woff'),
       url('assets/fonts/Optima_20Medium-0b9e192c.woff') format('woff');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Optima';
  src: url('assets/fonts/Optima Medium.woff') format('woff'),
       url('assets/fonts/Optima_20Medium-0b9e192c.woff') format('woff');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

:root {
  --bradbury-blue: #10226b;
  --bradbury-dark: #08102b;
  --bradbury-navy: #012951;
  --bradbury-pill: #2f426f;
  --bradbury-gold: #f5b024;
  --text-main: #555555;
  --heading-dark: #222222;
  --primary-color: #10226b !important;
}

html, body {
  overflow-x: hidden !important;
  max-width: 100% !important;
}

body {
  font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
  color: var(--text-main) !important;
  font-size: 14.5px !important;
  line-height: 1.75 !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Optima Medium', 'Optima', 'Montserrat', serif !important;
  color: var(--heading-dark);
}

/* ==========================================================================
   2. HEADER & TOPBAR (TRANSPARENT LUXURY GRADIENT - KALLYAS STYLE)
   ========================================================================== */
/* Header Base & Sticky Fallback: ALWAYS dark navy when solid or scrolled so white menu NEVER disappears */
.header:not(.transparent),
.header:not(.transparent) .header-wrapper,
.header:not(.transparent) .header-main,
.header-wrapper.stuck,
.header-main.stuck,
.stuck .header-main,
.stuck .header-wrapper,
.header.transparent.stuck .header-wrapper {
  background-color: #08102b !important;
  background: #08102b !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.35) !important;
}

.header:not(.transparent) #top-bar,
.stuck #top-bar,
.header.transparent.stuck #top-bar {
  background-color: #050b1e !important;
  background: #050b1e !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
}

.header.transparent {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  z-index: 999 !important;
}

.header.transparent .header-wrapper {
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0.45) 60%, rgba(0, 0, 0, 0) 100%) !important;
  box-shadow: none !important;
  border: none !important;
}

.header .container {
  max-width: 1350px !important;
  width: 95% !important;
}

/* Topbar */
.header.transparent #top-bar {
  background: transparent !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.18) !important;
  min-height: 38px !important;
  padding: 5px 0 !important;
}

.header-top a,
.header-top span {
  color: rgba(255, 255, 255, 0.8) !important;
  font-size: 11.5px !important;
  letter-spacing: 0.8px !important;
  font-weight: 500 !important;
  transition: all 0.2s ease !important;
}

.header-top a:hover,
.header-top a.active {
  color: #ffffff !important;
}

.topbar-languages a {
  display: inline-block !important;
}

/* Main Navigation Bar */
.header.transparent #masthead,
.header.transparent .header-main {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  height: 90px !important;
}

/* ELIMINATE FLATSOME DROPDOWN ARROWS COMPLETELY */
.header-nav.nav > li > a i,
.header-nav.nav > li > a i.icon-angle-down,
.header-nav.nav > li > a i.icon-angle-right,
.header-nav.nav > li > a [class*="icon-angle-"],
.header-nav.nav > li.menu-item-has-children > a i {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Navigation Menu Items (Kallyas Exact Styling) */
.header-nav.nav > li > a {
  position: relative !important;
  font-family: 'Optima Medium', 'Optima', 'Montserrat', sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 500 !important;
  letter-spacing: 0.8px !important;
  text-transform: uppercase !important;
  color: #ffffff !important;
  padding: 7px 14px !important;
  line-height: 14px !important;
  border-radius: 2px !important;
  white-space: nowrap !important;
  transition: all 0.2s ease-in-out !important;
  background-color: transparent !important;
  z-index: 1 !important;
}

/* Kallyas Underline Dash on Items with Children */
.header-nav.nav > li.menu-item-has-children > a:after {
  content: '' !important;
  opacity: 1 !important;
  position: absolute !important;
  height: 1px !important;
  width: 7px !important;
  bottom: 2px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  background-color: rgba(255, 255, 255, 0.45) !important;
  transition: opacity 0.2s ease-in-out !important;
}

.header-nav.nav > li.menu-item-has-children:hover > a:after,
.header-nav.nav > li.active.menu-item-has-children > a:after {
  opacity: 0 !important;
}

/* Pill Hover Background */
.header-nav.nav > li > a:before {
  content: '' !important;
  opacity: 0 !important;
  position: absolute !important;
  border-radius: 2px !important;
  height: 50% !important;
  width: 100% !important;
  top: 50% !important;
  left: 0 !important;
  background-color: #2f426f !important;
  transform: translateY(-50%) !important;
  transition: height 0.2s ease-in-out, opacity 0.2s ease-in-out !important;
  z-index: -1 !important;
}

.header-nav.nav > li:hover > a:before,
.header-nav.nav > li.active > a:before,
.header-nav.nav > li.current-menu-item > a:before,
.header-nav.nav > li.current-menu-ancestor > a:before {
  height: 100% !important;
  opacity: 1 !important;
}

.header-nav.nav > li:hover > a,
.header-nav.nav > li.active > a,
.header-nav.nav > li.current-menu-item > a,
.header-nav.nav > li.current-menu-ancestor > a {
  color: #ffffff !important;
}

/* ==========================================================================
   SUBMENU DROPDOWNS (KALLYAS EXACT LIGHT SYSTEM)
   ========================================================================== */

/* Header Positioning Container for Mega Menu */
.header-main {
  position: relative !important;
}

.header-main .header-inner.container {
  position: relative !important;
}

.header-main .flex-col.flex-right,
.header-main .header-nav {
  position: static !important;
}

/* Standard Dropdowns (FUNDS, SERVICES, PORTFOLIO, MARKET VIEWS, CONTACTS) */
.header-nav li:not(.menu-item-design-container-width) > .nav-dropdown {
  background: rgba(245, 245, 245, 0.98) !important;
  border: 1px solid rgba(255, 255, 255, 0.8) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.25) !important;
  border-radius: 2px !important;
  padding: 6px 0 !important;
  min-width: 270px !important;
  top: 100% !important;
  margin-top: 5px !important;
  transition: opacity 0.3s ease, margin-top 0.3s ease !important;
  display: block !important;
}

/* Little Arrow Triangle on Standard Dropdowns */
.header-nav li:not(.menu-item-design-container-width) > .nav-dropdown:before {
  content: '' !important;
  display: block !important;
  position: absolute !important;
  top: -6px !important;
  left: 20px !important;
  width: 0 !important;
  height: 0 !important;
  border-left: 6px solid transparent !important;
  border-right: 6px solid transparent !important;
  border-bottom: 6px solid #f5f5f5 !important;
  border-top: none !important;
}

.header-nav li:not(.menu-item-design-container-width) > .nav-dropdown > li {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  width: 100% !important;
}

.header-nav li:not(.menu-item-design-container-width) > .nav-dropdown > li > a {
  display: block !important;
  min-width: 260px !important;
  padding: 9px 20px !important;
  font-size: 12px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 400 !important;
  color: #757575 !important;
  text-transform: none !important;
  line-height: 1.5 !important;
  letter-spacing: 0.2px !important;
  border-bottom: 1px solid rgba(0, 0, 0, 0.04) !important;
  transition: all 0.2s ease !important;
  background: transparent !important;
}

.header-nav li:not(.menu-item-design-container-width) > .nav-dropdown > li:last-child > a {
  border-bottom: none !important;
}

.header-nav li:not(.menu-item-design-container-width) > .nav-dropdown > li:hover > a,
.header-nav li:not(.menu-item-design-container-width) > .nav-dropdown > li.active > a {
  color: #323232 !important;
  background: rgba(0, 0, 0, 0.04) !important;
  padding-left: 24px !important;
}

/* ==========================================================================
   MEGA MENU (ABOUT - 3 COLUMNS EXACT KALLYAS REPLICA)
   ========================================================================== */
.header-nav li.menu-item-design-container-width {
  position: static !important;
}

.header-nav li.menu-item-design-container-width > .nav-dropdown {
  position: absolute !important;
  left: 15px !important;
  right: 15px !important;
  width: calc(100% - 30px) !important;
  max-width: none !important;
  transform: none !important;
  top: 100% !important;
  background: rgba(245, 245, 245, 0.98) !important;
  border: 1px solid rgba(255, 255, 255, 0.8) !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.25) !important;
  border-radius: 2px !important;
  padding: 24px 28px 30px 28px !important;
  margin-top: 5px !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  box-sizing: border-box !important;
  max-height: none !important;
  height: auto !important;
  min-height: max-content !important;
  overflow: visible !important;
  z-index: 99999 !important;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.3s ease, margin-top 0.3s ease !important;
}

.header-nav li.menu-item-design-container-width:hover > .nav-dropdown,
.header-nav li.menu-item-design-container-width.current-dropdown > .nav-dropdown {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  margin-top: -5px !important;
  max-height: none !important;
  height: auto !important;
  min-height: max-content !important;
}

.header-nav li:not(.menu-item-design-container-width):hover > .nav-dropdown,
.header-nav li:not(.menu-item-design-container-width).current-dropdown > .nav-dropdown {
  max-height: none !important;
  height: auto !important;
  min-height: max-content !important;
}

/* Mega Menu Columns */
.header-nav li.menu-item-design-container-width > .nav-dropdown > li.nav-dropdown-col {
  display: block !important;
  flex: 0 0 33.333% !important;
  width: 33.333% !important;
  max-width: 33.333% !important;
  min-width: 0 !important;
  padding: 0 20px !important;
  box-sizing: border-box !important;
  border: none !important;
  white-space: normal !important;
}

/* Column Header Titles (About Us, Our Companies, Our Investment Mandates / Strategies) */
.header-nav li.menu-item-design-container-width > .nav-dropdown > li.nav-dropdown-col > a {
  font-family: 'Optima Medium', 'Optima', 'Montserrat', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  color: #333333 !important;
  padding: 0 0 12px 0 !important;
  margin-bottom: 14px !important;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1) !important;
  display: block !important;
  line-height: 1.4 !important;
  background: transparent !important;
  cursor: default !important;
  min-height: 48px !important;
  box-sizing: border-box !important;
  white-space: normal !important;
  width: 100% !important;
}

/* Column List Container */
.header-nav li.menu-item-design-container-width .nav-column {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  position: static !important;
  display: block !important;
  max-height: none !important;
  height: auto !important;
  min-height: max-content !important;
  overflow: visible !important;
  opacity: 1 !important;
  visibility: visible !important;
  width: 100% !important;
}

.header-nav li.menu-item-design-container-width .nav-column > li {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  width: 100% !important;
  white-space: normal !important;
}

/* Mega Menu Sub-items */
.header-nav li.menu-item-design-container-width .nav-column > li > a {
  padding: 7px 0 !important;
  font-size: 12px !important;
  font-family: 'Montserrat', sans-serif !important;
  color: #757575 !important;
  line-height: 1.5 !important;
  position: relative !important;
  display: block !important;
  font-weight: 400 !important;
  text-transform: none !important;
  background: transparent !important;
  border: none !important;
  letter-spacing: 0.2px !important;
  transition: color 0.15s ease !important;
  white-space: normal !important;
  width: 100% !important;
  margin: 0 !important;
}

/* Sliding underline hover animation on mega menu sub-items */
.header-nav li.menu-item-design-container-width .nav-column > li > a:before {
  content: '' !important;
  display: block !important;
  position: absolute !important;
  width: 0 !important;
  height: 2px !important;
  background-color: #2f426f !important;
  bottom: 0 !important;
  left: 0 !important;
  transition: width 0.2s cubic-bezier(0.68, 0, 0.265, 1) !important;
}

.header-nav li.menu-item-design-container-width .nav-column > li:hover > a {
  color: #323232 !important;
}

.header-nav li.menu-item-design-container-width .nav-column > li:hover > a:before {
  width: 100% !important;
}

/* Section Header Links like "Bradbury Group" & "Investment Mandates" */
.header-nav li.menu-item-design-container-width .nav-column > li.zn-mega-heading > a {
  font-weight: 600 !important;
  color: #333333 !important;
  font-size: 12.5px !important;
  padding-top: 5px !important;
  padding-bottom: 6px !important;
}

/* Bullet list items under "Investment Mandates" */
.header-nav li.menu-item-design-container-width .nav-column > li.zn-bullet-item > a {
  padding-left: 10px !important;
  padding-top: 4px !important;
  padding-bottom: 4px !important;
  font-size: 12px !important;
  color: #757575 !important;
}

.header-nav li.menu-item-design-container-width .nav-column > li.zn-bullet-item:hover > a {
  color: #323232 !important;
}

/* Sticky Header State */
.header.stuck .header-wrapper {
  background-color: #08102b !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4) !important;
}

.header.stuck .header-main {
  height: 72px !important;
  background-color: #08102b !important;
}

.header.stuck #top-bar {
  display: none !important;
}

/* ==========================================================================
   3. HERO SLIDER (KALLYAS IOS-SLIDER EMULATION)
   ========================================================================== */
.hero-slider-section {
  position: relative !important;
  overflow: hidden !important;
  margin-bottom: 0 !important;
}

.hero-main-logo {
  max-width: 780px !important;
  width: 85% !important;
  height: auto !important;
  margin: 0 auto 12px !important;
  display: inline-block !important;
  filter: drop-shadow(0 2px 10px rgba(0,0,0,0.35)) !important;
}

.hero-slogan {
  color: #ffffff !important;
  font-family: 'Optima Medium', 'Optima', 'Montserrat', serif !important;
  font-size: 34px !important;
  font-weight: 400 !important;
  letter-spacing: 0.6px !important;
  text-transform: uppercase !important;
  text-shadow: 0 2px 15px rgba(0, 0, 0, 0.6) !important;
  margin: 0 !important;
  line-height: 2.2em !important;
  white-space: nowrap !important;
}

.hero-slide-title {
  color: #ffffff !important;
  font-family: 'Optima Medium', 'Optima', 'Montserrat', serif !important;
  font-size: 36px !important;
  font-weight: 400 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.6) !important;
  margin-bottom: 16px !important;
}

.hero-slide-desc {
  color: #ffffff !important;
  font-size: 16px !important;
  line-height: 1.75 !important;
  max-width: 680px !important;
  margin: 0 auto !important;
  font-weight: 300 !important;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.5) !important;
}

/* OVERRIDE FLATSOME SLIDER CONTROLS TO EXACT KALLYAS STYLE */
/* Kallyas Dash Indicators on Bottom-Right */
.hero-slider-section .flickity-page-dots,
.slider-nav-dots-simple .flickity-page-dots,
.slider .flickity-page-dots {
  position: absolute !important;
  bottom: 25px !important;
  right: 40px !important;
  left: auto !important;
  width: auto !important;
  display: flex !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  z-index: 20 !important;
}

.hero-slider-section .flickity-page-dots .dot,
.slider-nav-dots-simple .flickity-page-dots .dot,
.slider .flickity-page-dots .dot {
  width: 40px !important;
  height: 2px !important;
  border-radius: 0 !important;
  background-color: #ffffff !important;
  opacity: 0.5 !important;
  margin: 0 !important;
  border: none !important;
  transition: all 0.25s ease !important;
  cursor: pointer !important;
}

.hero-slider-section .flickity-page-dots .dot:hover,
.slider .flickity-page-dots .dot:hover {
  opacity: 0.9 !important;
  background-color: #ffffff !important;
}

.hero-slider-section .flickity-page-dots .dot.is-selected,
.slider .flickity-page-dots .dot.is-selected {
  opacity: 1 !important;
  width: 55px !important;
  background-color: #2f426f !important;
}

/* Elegant Thin Slider Arrows */
.hero-slider-section .flickity-prev-next-button {
  width: 60px !important;
  height: 60px !important;
  background: transparent !important;
  border: none !important;
  opacity: 0.45 !important;
  transition: all 0.25s ease !important;
}

.hero-slider-section .flickity-prev-next-button:hover {
  opacity: 1 !important;
  background: transparent !important;
}

.hero-slider-section .flickity-prev-next-button svg {
  fill: #ffffff !important;
  stroke: #ffffff !important;
}

.hero-slider-section .flickity-prev-next-button.previous {
  left: 20px !important;
}

.hero-slider-section .flickity-prev-next-button.next {
  right: 20px !important;
}

/* ==========================================================================
   4. SECTION 1: BRADBURY SECURITIES LIMITED (BSL)
   ========================================================================== */
.bsl-section {
  padding-top: 95px !important;
  padding-bottom: 0px !important;
  background-color: #ffffff !important;
}

.bsl-media-wrapper {
  position: relative !important;
  width: 100% !important;
  height: 615px !important;
  overflow: hidden !important;
  background-color: #0b1536 !important;
}

.bsl-media-bg {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background-size: cover !important;
  background-position: center top !important;
  background-repeat: no-repeat !important;
  transition: transform 0.6s ease !important;
}

.bsl-media-wrapper:hover .bsl-media-bg {
  transform: scale(1.03) !important;
}

/* Kallyas Video Play Button */
.video-play-btn {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: 76px !important;
  height: 76px !important;
  border-radius: 50% !important;
  border: 2px solid rgba(255, 255, 255, 0.85) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #ffffff !important;
  font-size: 22px !important;
  transition: all 0.3s ease !important;
  z-index: 5 !important;
  background: rgba(0, 0, 0, 0.25) !important;
  text-decoration: none !important;
}

.video-play-btn:hover {
  background: rgba(255, 255, 255, 0.95) !important;
  color: #10226b !important;
  transform: translate(-50%, -50%) scale(1.1) !important;
  box-shadow: 0 0 25px rgba(255, 255, 255, 0.6) !important;
}

.video-play-btn i {
  margin-left: 3px !important;
}

.bradbury-heading-dark {
  font-family: 'Optima Medium', 'Optima', 'Montserrat', serif !important;
  font-size: 38px !important;
  line-height: 46px !important;
  font-weight: 400 !important;
  color: #222222 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  margin-bottom: 0 !important;
}

.bradbury-separator {
  margin: 18px 0 28px !important;
  width: 100% !important;
  height: 1px !important;
  background-color: #ededed !important;
  border: none !important;
}

.bradbury-separator.light {
  background-color: rgba(255, 255, 255, 0.2) !important;
}

.bradbury-text-desc {
  font-size: 14.5px !important;
  line-height: 27px !important;
  color: #555555 !important;
  text-align: justify !important;
}

.bradbury-link-dark {
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #222222 !important;
  text-decoration: underline !important;
  transition: color 0.2s ease !important;
  display: inline-block !important;
}

.bradbury-link-dark:hover {
  color: #10226b !important;
}

.bsl-section .bsl-text-col > .col-inner,
.bsl-section .col:nth-child(2) > .col-inner {
  padding: 60px 8% 60px 8% !important;
}

/* ==========================================================================
   5. SECTION 2: BRADBURY ASSET MANAGEMENT (HK) (BAMHK)
   ========================================================================== */
.bamhk-section {
  position: relative !important;
  background: linear-gradient(to right, rgb(1, 41, 81) 0%, rgb(16, 34, 108) 100%) !important;
  overflow: visible !important;
}

.bamhk-section .bamhk-text-col > .col-inner,
.bamhk-section .col:nth-child(1) > .col-inner {
  padding: 80px 6% 80px 8% !important;
}

.bamhk-media-wrapper {
  position: relative !important;
  width: 100% !important;
  height: 720px !important;
  overflow: hidden !important;
  margin-top: -45px !important;
  background-color: #0b1536 !important;
}

.bamhk-media-bg {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background-size: cover !important;
  background-position: left bottom !important;
  background-repeat: no-repeat !important;
  transition: transform 0.6s ease !important;
}

.bamhk-media-wrapper:hover .bamhk-media-bg {
  transform: scale(1.03) !important;
}

.bradbury-heading-light {
  font-family: 'Optima Medium', 'Optima', 'Montserrat', serif !important;
  font-size: 38px !important;
  line-height: 46px !important;
  font-weight: 400 !important;
  color: #ffffff !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  margin-bottom: 0 !important;
}

.bradbury-text-light {
  font-size: 14.5px !important;
  line-height: 27px !important;
  color: #cbd5e1 !important;
  text-align: justify !important;
}

.bradbury-link-light {
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #ffffff !important;
  text-decoration: underline !important;
  transition: opacity 0.2s ease !important;
  display: inline-block !important;
}

.bradbury-link-light:hover {
  opacity: 0.8 !important;
  color: #ffffff !important;
}

/* Chevron Notch Mask at bottom of BAMHK section */
.kl-bottommask--mask3 {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 57px !important;
  z-index: 10 !important;
  pointer-events: none !important;
  overflow: hidden !important;
}

.kl-bottommask--mask3 br {
  display: none !important;
}

.kl-bottommask--mask3 .svgmask {
  position: absolute !important;
  bottom: 0 !important;
  left: 50% !important;
  transform: translateX(calc(-50% - 510px)) !important;
  margin-bottom: -15px !important;
}

.kl-bottommask--mask3 .glyphicon,
.kl-bottommask--mask3 .icon-angle-down {
  position: absolute !important;
  bottom: 12px !important;
  left: 50% !important;
  display: block !important;
  width: 30px !important;
  text-align: center !important;
  font-size: 20px !important;
  opacity: 0.25 !important;
  transform: translateX(calc(-50% - 510px)) !important;
  color: #0b1536 !important;
  z-index: 11 !important;
}

@media (max-width: 1199px) {
  .kl-bottommask--mask3 .svgmask,
  .kl-bottommask--mask3 .icon-angle-down {
    transform: translateX(calc(-50% - 410px)) !important;
  }
}

/* ==========================================================================
   6. SECTION 3: OUR SERVICES CAROUSEL (KALLYAS STYLE)
   ========================================================================== */
.services-header-row {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  margin-bottom: 25px !important;
  border-bottom: 1px solid #ededed !important;
  padding-bottom: 14px !important;
}

.services-main-title {
  font-family: 'Optima Medium', 'Optima', 'Montserrat', serif !important;
  font-size: 28px !important;
  font-weight: 700 !important;
  letter-spacing: 0.8px !important;
  text-transform: uppercase !important;
  color: #222222 !important;
  margin: 0 !important;
}

.services-nav-controls {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.services-nav-btn {
  background: transparent !important;
  border: none !important;
  font-size: 24px !important;
  color: #888888 !important;
  cursor: pointer !important;
  padding: 2px 8px !important;
  line-height: 1 !important;
  transition: color 0.2s ease !important;
}

.services-nav-btn:hover {
  color: #10226b !important;
}

.services-carousel .flickity-prev-next-button {
  display: none !important;
}

.services-carousel .flickity-slider > * {
  width: 25% !important;
  max-width: 25% !important;
  box-sizing: border-box !important;
}

@media (max-width: 850px) {
  .services-carousel .flickity-slider > * {
    width: 50% !important;
    max-width: 50% !important;
  }
}

@media (max-width: 550px) {
  .services-carousel .flickity-slider > * {
    width: 100% !important;
    max-width: 100% !important;
  }
}

.bradbury-service-card {
  padding: 0 10px !important;
}

.bradbury-service-card a {
  display: block !important;
  text-decoration: none !important;
  background: #ffffff !important;
  border: 1px solid #eef2f6 !important;
  border-radius: 4px !important;
  overflow: hidden !important;
  transition: all 0.35s ease !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04) !important;
}

.bradbury-service-card a:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 14px 28px rgba(16, 34, 108, 0.12) !important;
  border-color: #cbd5e1 !important;
}

.bradbury-service-card .card-thumb {
  height: 280px !important;
  background-size: cover !important;
  background-position: center !important;
  position: relative !important;
  transition: transform 0.5s ease !important;
}

.bradbury-service-card a:hover .card-thumb {
  transform: scale(1.06) !important;
}

.bradbury-service-card .card-info {
  padding: 20px 18px !important;
  background: #ffffff !important;
  position: relative !important;
  z-index: 2 !important;
}

.bradbury-service-card .card-cat {
  display: block !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  color: #888888 !important;
  letter-spacing: 0.8px !important;
  margin-bottom: 6px !important;
}

.bradbury-service-card .card-name {
  font-family: 'Optima Medium', 'Optima', 'Montserrat', sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  color: #222222 !important;
  line-height: 1.4 !important;
  margin: 0 !important;
  transition: color 0.2s ease !important;
}

.bradbury-service-card a:hover .card-name {
  color: #10226b !important;
}

/* ==========================================================================
   7. FOOTER (4-COLUMN KALLYAS ORIGINAL STYLE)
   ========================================================================== */
#footer {
  background-color: #272a31 !important;
  color: #b4bac8 !important;
  padding: 60px 0 25px !important;
}

#footer h4.footer-title,
#footer .footer-title {
  color: #ffffff !important;
  font-family: 'Optima Medium', 'Optima', 'Montserrat', sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: 0.8px !important;
  text-transform: uppercase !important;
  text-decoration: underline !important;
  margin-bottom: 18px !important;
}

#footer a {
  color: #cbd5e1 !important;
  transition: color 0.2s ease !important;
  text-decoration: none !important;
}

#footer a:hover {
  color: #ffffff !important;
  text-decoration: underline !important;
}

.footer-nav-list {
  list-style: none !important;
  padding-left: 0 !important;
  margin-left: 0 !important;
}

.footer-nav-list li {
  margin-bottom: 8px !important;
}

.absolute-footer {
  display: none !important;
}

/* ==========================================================================
   8. RESPONSIVE OPTIMIZATIONS
   ========================================================================== */
@media (max-width: 850px) {
  .bsl-section {
    padding-top: 40px !important;
  }
  .bsl-section .bsl-text-col > .col-inner,
  .bsl-section .col:nth-child(2) > .col-inner {
    padding: 36px 24px 44px 24px !important;
  }
  .bamhk-section .bamhk-text-col > .col-inner,
  .bamhk-section .col:nth-child(1) > .col-inner {
    padding: 44px 24px 44px 24px !important;
  }
  .bsl-media-wrapper,
  .bamhk-media-wrapper {
    height: 420px !important;
    margin-top: 0 !important;
  }
  .bradbury-heading-dark,
  .bradbury-heading-light,
  .hero-slogan,
  .hero-slide-title {
    font-size: 28px !important;
    line-height: 36px !important;
    white-space: normal !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
  }
}

/* ==========================================================================
   9. KALLYAS SUBPAGE COMPONENTS (AUTHENTIC BRADBURY TEMPLATE STYLES)
   ========================================================================== */
.subpage-banner {
  position: relative !important;
  width: 100% !important;
  overflow: hidden !important;
  background-color: #08102b !important;
  margin-bottom: 0 !important;
}

.subpage-banner img {
  width: 100% !important;
  height: auto !important;
  min-height: 220px !important;
  max-height: 360px !important;
  object-fit: cover !important;
  display: block !important;
}

.hg_section {
  position: relative !important;
  padding: 55px 0 65px 0 !important;
  background-color: #ffffff !important;
}

.hg_section.bg-white {
  background-color: #ffffff !important;
}

.ptop-0 { padding-top: 0 !important; }
.ptop-35 { padding-top: 35px !important; }
.ptop-80 { padding-top: 70px !important; }
.pbottom-0 { padding-bottom: 0 !important; }
.pbottom-80 { padding-bottom: 70px !important; }
.fs-34 { font-size: 32px !important; line-height: 40px !important; }
.fs-20 { font-size: 20px !important; line-height: 28px !important; }
.fs-16 { font-size: 15px !important; line-height: 24px !important; }
.fs-14 { font-size: 14px !important; line-height: 22px !important; }
.black { color: #111827 !important; }

/* Grid container and column rules for subpages */
#content .container,
.hg_section .container {
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 20px !important;
  padding-right: 20px !important;
}

#content .row,
.hg_section .row {
  display: flex !important;
  flex-wrap: wrap !important;
  margin-left: -15px !important;
  margin-right: -15px !important;
}

#content .col-md-12, #content .col-sm-12,
.hg_section .col-md-12, .hg_section .col-sm-12 {
  flex: 0 0 100% !important;
  max-width: 100% !important;
  padding-left: 15px !important;
  padding-right: 15px !important;
  box-sizing: border-box !important;
}

#content .col-md-6, #content .col-sm-6,
.hg_section .col-md-6, .hg_section .col-sm-6 {
  flex: 0 0 50% !important;
  max-width: 50% !important;
  padding-left: 15px !important;
  padding-right: 15px !important;
  box-sizing: border-box !important;
}

#content .col-md-4, #content .col-sm-4,
.hg_section .col-md-4, .hg_section .col-sm-4 {
  flex: 0 0 33.333333% !important;
  max-width: 33.333333% !important;
  padding-left: 15px !important;
  padding-right: 15px !important;
  box-sizing: border-box !important;
}

#content .col-md-3, #content .col-sm-3,
.hg_section .col-md-3, .hg_section .col-sm-3 {
  flex: 0 0 25% !important;
  max-width: 25% !important;
  padding-left: 15px !important;
  padding-right: 15px !important;
  box-sizing: border-box !important;
}

#content .col-md-9, #content .col-sm-9,
.hg_section .col-md-9, .hg_section .col-sm-9 {
  flex: 0 0 75% !important;
  max-width: 75% !important;
  padding-left: 15px !important;
  padding-right: 15px !important;
  box-sizing: border-box !important;
}

#content .col-sm-offset-1,
.hg_section .col-sm-offset-1 {
  margin-left: 8.333333% !important;
}

#content .col-md-10, #content .col-sm-10,
.hg_section .col-md-10, .hg_section .col-sm-10 {
  flex: 0 0 83.333333% !important;
  max-width: 83.333333% !important;
  padding-left: 15px !important;
  padding-right: 15px !important;
  box-sizing: border-box !important;
}

@media (max-width: 767px) {
  #content .col-md-6, #content .col-sm-6,
  #content .col-md-4, #content .col-sm-4,
  #content .col-md-3, #content .col-sm-3,
  #content .col-md-9, #content .col-sm-9,
  #content .col-md-10, #content .col-sm-10,
  .hg_section .col-md-6, .hg_section .col-sm-6,
  .hg_section .col-md-4, .hg_section .col-sm-4,
  .hg_section .col-md-3, .hg_section .col-sm-3,
  .hg_section .col-md-9, .hg_section .col-sm-9,
  .hg_section .col-md-10, .hg_section .col-sm-10 {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
  }
}

/* Kallyas Title Block */
.kl-title-block {
  margin-bottom: 25px !important;
}

.kl-title-block.tbk--left {
  text-align: left !important;
}

.kl-title-block.text-center {
  text-align: center !important;
}

.tbk__title {
  font-family: 'Optima Medium', 'Optima', 'Montserrat', serif !important;
  color: #111827 !important;
  font-size: 30px !important;
  line-height: 40px !important;
  font-weight: 600 !important;
  letter-spacing: 0.5px !important;
  margin-bottom: 12px !important;
  text-transform: uppercase !important;
}

.tbk-symbol--line .tbk__symbol span {
  display: inline-block !important;
  width: 50px !important;
  height: 3px !important;
  background-color: #2f426f !important;
}

.tbk-symbol--line.tbk-icon-pos--after-title .tbk__symbol {
  margin-bottom: 22px !important;
  margin-top: -2px !important;
}

.tbk__subtitle {
  font-family: 'Open Sans', 'Montserrat', sans-serif !important;
  color: #475569 !important;
  font-size: 15px !important;
  line-height: 25px !important;
  font-weight: 400 !important;
  max-width: 850px !important;
  margin: 10px auto 25px auto !important;
}

.text_box {
  font-size: 15px !important;
  line-height: 28px !important;
  color: #334155 !important;
}

.text_box p {
  margin-bottom: 18px !important;
  font-size: 15px !important;
  line-height: 28px !important;
  color: #334155 !important;
  text-align: justify !important;
}

.text_box strong {
  color: #0b1536 !important;
}

/* Team Profile Cards */
.hg_section .col-md-4.col-sm-4 > div {
  transition: transform 0.25s ease, box-shadow 0.25s ease !important;
}

.hg_section .col-md-4.col-sm-4 > div:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1) !important;
}

/* Investment Mandates Cards */
.invbox {
  display: flex !important;
  margin-bottom: 20px !important;
  text-align: left !important;
  border-radius: 4px !important;
  overflow: hidden !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06) !important;
}

.invleftbox {
  background-color: #0d2366 !important;
  color: #ffffff !important;
  padding: 25px 20px !important;
  font-weight: 600 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}

.invrightbox {
  background-color: #f8fafc !important;
  padding: 25px 30px !important;
  font-size: 15px !important;
  line-height: 26px !important;
  color: #334155 !important;
  display: flex !important;
  align-items: center !important;
}

@media (max-width: 767px) {
  .invbox { flex-direction: column !important; }
}

.grid-ibx--cols-3 .grid-ibx__inner {
  display: flex !important;
  flex-wrap: wrap !important;
  border: 1px solid #e2e8f0 !important;
  background: #ffffff !important;
}

.grid-ibx--cols-3 .grid-ibx__row {
  display: flex !important;
  flex-wrap: wrap !important;
  width: 100% !important;
}

.grid-ibx--cols-3 .grid-ibx__item {
  flex: 0 0 33.333333% !important;
  max-width: 33.333333% !important;
  padding: 35px 25px !important;
  border: 1px solid #edf2f7 !important;
  text-align: center !important;
  transition: all 0.3s ease !important;
  box-sizing: border-box !important;
}

.grid-ibx--cols-3 .grid-ibx__item:hover {
  background-color: #f8fafc !important;
  border-color: #2f426f !important;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08) !important;
  transform: translateY(-3px) !important;
}

.grid-ibx__title {
  font-family: 'Optima Medium', 'Montserrat', sans-serif !important;
  color: #0d2366 !important;
  font-size: 17px !important;
  line-height: 26px !important;
  font-weight: 600 !important;
}

.grid-ibx__title span {
  display: block !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  color: #0d2366 !important;
  margin-bottom: 10px !important;
  letter-spacing: 0.5px !important;
}

@media (max-width: 767px) {
  .grid-ibx--cols-3 .grid-ibx__item {
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }
}

/* Portfolio Boxes */
.image-boxes.imgboxes_style4 {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 4px !important;
  overflow: hidden !important;
  margin-bottom: 30px !important;
  transition: all 0.3s ease !important;
  padding-bottom: 15px !important;
}

.image-boxes.imgboxes_style4:hover {
  transform: translateY(-5px) !important;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.1) !important;
  border-color: #cbd5e1 !important;
}

.imgboxes-wrapper {
  display: block !important;
  position: relative !important;
  overflow: hidden !important;
}

.imgboxes-wrapper img {
  width: 100% !important;
  height: 220px !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform 0.4s ease !important;
}

.image-boxes.imgboxes_style4:hover .imgboxes-wrapper img {
  transform: scale(1.05) !important;
}

.imgboxes-title {
  font-family: 'Optima Medium', 'Montserrat', sans-serif !important;
  font-size: 20px !important;
  color: #0d2366 !important;
  margin: 18px 20px 10px 20px !important;
  font-weight: 600 !important;
}

.image-boxes.imgboxes_style4 p {
  padding: 0 20px !important;
  font-size: 14px !important;
  line-height: 24px !important;
  color: #64748b !important;
  margin-bottom: 10px !important;
}

/* Contact Page Form & Details */
.text_box-title--style2 {
  font-family: 'Optima Medium', 'Montserrat', sans-serif !important;
  font-size: 22px !important;
  color: #0d2366 !important;
  margin-bottom: 22px !important;
  font-weight: 600 !important;
  letter-spacing: 0.5px !important;
}

.contactForm {
  background: #f8fafc !important;
  padding: 35px 30px !important;
  border-radius: 6px !important;
  border: 1px solid #e2e8f0 !important;
  margin-top: 30px !important;
}

.kl-fancy-form {
  position: relative !important;
  margin-bottom: 18px !important;
}

.kl-fancy-form .form-control {
  width: 100% !important;
  height: 46px !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 4px !important;
  padding: 10px 15px !important;
  font-size: 14px !important;
  background: #ffffff !important;
  transition: border-color 0.2s !important;
}

.kl-fancy-form textarea.form-control {
  height: 120px !important;
}

.kl-fancy-form .control-label {
  display: block !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: #475569 !important;
  text-transform: uppercase !important;
  margin-bottom: 6px !important;
  letter-spacing: 0.5px !important;
}

.kl-fancy-form .form-control:focus {
  border-color: #2f426f !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(47, 66, 111, 0.15) !important;
}

/* ==========================================================================
   10. FLOATING QUICK CONTACT WIDGET (ZALO, CALL, FB)
   ========================================================================== */
.bradbury-floating-social {
  position: fixed !important;
  right: 25px !important;
  bottom: 25px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  z-index: 999998 !important;
}

.bradbury-social-btn {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 52px !important;
  height: 52px !important;
  border-radius: 50% !important;
  color: #ffffff !important;
  position: relative !important;
  text-decoration: none !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.25) !important;
  transition: transform 0.25s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
}

.bradbury-social-btn:hover {
  transform: scale(1.12) !important;
  color: #ffffff !important;
}

.bradbury-social-btn.btn-call {
  background: linear-gradient(135deg, #10b981 0%, #059669 100%) !important;
}

.bradbury-social-btn.btn-zalo {
  background: linear-gradient(135deg, #0084ff 0%, #0062cc 100%) !important;
}

.bradbury-social-btn.btn-fb {
  background: linear-gradient(135deg, #1877f2 0%, #0d65d9 100%) !important;
}

.bradbury-social-btn .pulse-ring {
  position: absolute !important;
  top: -5px !important;
  left: -5px !important;
  right: -5px !important;
  bottom: -5px !important;
  border-radius: 50% !important;
  animation: bradburyPulse 1.8s infinite ease-in-out !important;
  pointer-events: none !important;
}

.bradbury-social-btn.btn-call .pulse-ring {
  border: 2px solid #10b981 !important;
}

.bradbury-social-btn.btn-zalo .pulse-ring {
  border: 2px solid #0084ff !important;
}

@keyframes bradburyPulse {
  0% {
    transform: scale(0.9);
    opacity: 0.8;
  }
  50% {
    transform: scale(1.25);
    opacity: 0.3;
  }
  100% {
    transform: scale(1.45);
    opacity: 0;
  }
}

.bradbury-social-btn .tooltip-text {
  position: absolute !important;
  right: 65px !important;
  background: rgba(8, 16, 43, 0.92) !important;
  color: #ffffff !important;
  padding: 6px 12px !important;
  border-radius: 4px !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  white-space: nowrap !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transform: translateX(10px) !important;
  transition: all 0.2s ease !important;
  pointer-events: none !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
  font-family: 'Montserrat', sans-serif !important;
}

.bradbury-social-btn:hover .tooltip-text {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateX(0) !important;
}
/* ==========================================================================
   10. BRADBURY LUXURY MOBILE HEADER - PERFECTLY BALANCED
   ========================================================================== */
@media (max-width: 849px) {
  #header {
    background: transparent !important;
  }

  #masthead {
    background: linear-gradient(180deg, rgba(6, 13, 34, 0.96) 0%, rgba(8, 16, 43, 0.94) 100%) !important;
    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;
    border-bottom: 1px solid rgba(245, 176, 36, 0.25) !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.35) !important;
    height: 70px !important;
    min-height: 70px !important;
    position: relative !important;
    z-index: 99 !important;
  }

  #masthead .header-inner {
    position: relative !important;
    height: 70px !important;
    min-height: 70px !important;
    padding: 0 16px !important;
    max-width: 100% !important;
  }

  /* Hamburger Menu Button (Left: 16px) */
  #masthead .flex-col.show-for-medium.flex-left {
    position: absolute !important;
    left: 16px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 40px !important;
    height: 40px !important;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 20 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  #masthead .mobile-nav.nav-left {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }

  #masthead .mobile-nav.nav-left .nav-icon a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
    border-radius: 8px !important;
    background: rgba(255, 255, 255, 0.08) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    color: #ffffff !important;
    transition: all 0.2s ease !important;
    text-decoration: none !important;
  }

  #masthead .mobile-nav.nav-left .nav-icon a:hover,
  #masthead .mobile-nav.nav-left .nav-icon a:active {
    background: rgba(245, 176, 36, 0.2) !important;
    border-color: #f5b024 !important;
    color: #f5b024 !important;
  }

  #masthead .mobile-nav.nav-left .nav-icon i.icon-menu {
    font-size: 18px !important;
    line-height: 1 !important;
  }

  /* Logo: Absolutely centered mathematically relative to viewport */
  #masthead #logo {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
    z-index: 10 !important;
    max-width: calc(100% - 110px) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  #masthead #logo a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  #masthead #logo img.header_logo,
  #masthead #logo img.header-logo-dark {
    max-height: 38px !important;
    width: auto !important;
    max-width: 190px !important;
    object-fit: contain !important;
  }

  /* Mobile Call Button (Right: 16px) */
  #masthead .flex-col.show-for-medium.flex-right {
    position: absolute !important;
    right: 16px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 40px !important;
    height: 40px !important;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 20 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  #masthead .mobile-nav.nav-right {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }

  #masthead .mobile-header-call-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
    border-radius: 8px !important;
    background: rgba(16, 185, 129, 0.15) !important;
    border: 1px solid rgba(16, 185, 129, 0.4) !important;
    color: #10b981 !important;
    transition: all 0.2s ease !important;
    text-decoration: none !important;
  }

  #masthead .mobile-header-call-btn:hover,
  #masthead .mobile-header-call-btn:active {
    background: #10b981 !important;
    color: #ffffff !important;
    box-shadow: 0 0 12px rgba(16, 185, 129, 0.5) !important;
  }

  /* Hide raw desktop topbar on mobile */
  #top-bar {
    display: none !important;
  }
}

/* Hidden by default */
#main-menu.mfp-hide,
#main-menu:not(.mfp-content #main-menu) {
  display: none !important;
}

@media (min-width: 850px) {
  #main-menu,
  .mfp-bg.main-menu-overlay,
  .mfp-wrap.off-canvas-left,
  .mfp-wrap.off-canvas:has(#main-menu) {
    display: none !important;
  }
}

.mfp-bg.main-menu-overlay {
  background: rgba(4, 8, 20, 0.88) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
}

.mfp-content #main-menu.bradbury-luxury-sidebar {
  background: linear-gradient(180deg, #070e28 0%, #09143a 45%, #050a1d 100%) !important;
  color: #ffffff !important;
  width: 340px !important;
  max-width: 88vw !important;
  border-right: 1px solid rgba(245, 176, 36, 0.25) !important;
  box-shadow: 10px 0 45px rgba(0, 0, 0, 0.65) !important;
  display: flex !important;
  flex-direction: column !important;
  height: 100vh !important;
  max-height: 100vh !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
  padding: 0 !important;
}

/* Drawer Branded Topbar */
.bradbury-drawer-topbar {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 18px 20px !important;
  background: rgba(4, 9, 24, 0.95) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  flex-shrink: 0 !important;
}

.drawer-logo-wrap {
  display: flex !important;
  align-items: center !important;
}

.drawer-brand-logo {
  max-height: 36px !important;
  width: auto !important;
  max-width: 180px !important;
  object-fit: contain !important;
}

.drawer-close-trigger {
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
  color: #ffffff !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 8px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}

.drawer-close-trigger svg {
  stroke: #ffffff !important;
  display: block !important;
}

.drawer-close-trigger:hover {
  background: rgba(245, 176, 36, 0.2) !important;
  border-color: #f5b024 !important;
  color: #f5b024 !important;
}

.drawer-close-trigger:hover svg {
  stroke: #f5b024 !important;
}

/* Hide raw external mfp-close button only for mobile menu drawer */
.mfp-content:has(#main-menu) .mfp-close,
.mfp-wrap.off-canvas .mfp-close,
.bradbury-luxury-sidebar ~ .mfp-close {
  display: none !important;
}

/* Language selector pills inside drawer */
.bradbury-drawer-lang-bar {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 12px 20px !important;
  background: rgba(245, 176, 36, 0.06) !important;
  border-bottom: 1px solid rgba(245, 176, 36, 0.18) !important;
  flex-shrink: 0 !important;
}

.lang-bar-title {
  font-size: 11px !important;
  font-weight: 700 !important;
  color: #f5b024 !important;
  letter-spacing: 0.8px !important;
  font-family: 'Montserrat', sans-serif !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
}

.lang-bar-pills {
  display: flex !important;
  gap: 5px !important;
}

.lang-bar-pills .gt-lang-btn {
  padding: 4px 9px !important;
  border-radius: 4px !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  color: rgba(255, 255, 255, 0.75) !important;
  background: rgba(255, 255, 255, 0.06) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
}

.lang-bar-pills .gt-lang-btn.active,
.lang-bar-pills .gt-lang-btn:hover {
  background: #f5b024 !important;
  color: #08102b !important;
  border-color: #f5b024 !important;
  font-weight: 700 !important;
}

/* Menu items list inside drawer */
#main-menu .sidebar-menu {
  flex: 1 1 auto !important;
  padding: 14px 18px !important;
  overflow-y: auto !important;
}

#main-menu ul.bradbury-mobile-nav {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

#main-menu ul.bradbury-mobile-nav > li {
  border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
  margin-bottom: 4px !important;
}

#main-menu ul.bradbury-mobile-nav > li > a {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 13px 12px !important;
  color: #ffffff !important;
  font-family: 'Optima Medium', 'Montserrat', sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  letter-spacing: 0.8px !important;
  text-transform: uppercase !important;
  border-radius: 6px !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
}

#main-menu ul.bradbury-mobile-nav > li > a:hover,
#main-menu ul.bradbury-mobile-nav > li.current-menu-item > a {
  background: rgba(245, 176, 36, 0.12) !important;
  color: #f5b024 !important;
  padding-left: 16px !important;
}

/* Submenu styling in drawer */
#main-menu ul.bradbury-mobile-nav .toggle {
  color: rgba(255, 255, 255, 0.6) !important;
  width: 32px !important;
  height: 32px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 4px !important;
  transition: all 0.25s ease !important;
}

#main-menu ul.bradbury-mobile-nav .toggle:hover {
  color: #f5b024 !important;
  background: rgba(255, 255, 255, 0.08) !important;
}

#main-menu ul.bradbury-mobile-nav .sub-menu {
  background: rgba(0, 0, 0, 0.22) !important;
  border-radius: 8px !important;
  padding: 6px 0 !important;
  margin: 4px 0 10px 8px !important;
  border-left: 2px solid rgba(245, 176, 36, 0.35) !important;
  list-style: none !important;
}

#main-menu ul.bradbury-mobile-nav .sub-menu li a {
  display: block !important;
  padding: 9px 14px !important;
  color: #cbd5e1 !important;
  font-size: 13px !important;
  font-family: 'Montserrat', sans-serif !important;
  text-transform: none !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
  line-height: 1.4 !important;
}

#main-menu ul.bradbury-mobile-nav .sub-menu li a:hover {
  color: #f5b024 !important;
  padding-left: 18px !important;
  background: rgba(255, 255, 255, 0.04) !important;
}

#main-menu ul.bradbury-mobile-nav .sub-menu .zn_mega_title > a {
  color: #ffffff !important;
  font-weight: 700 !important;
  font-size: 12px !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
  margin-bottom: 4px !important;
}

/* Drawer Luxury Footer Card */
.bradbury-drawer-bottom {
  padding: 16px !important;
  background: rgba(3, 7, 20, 0.98) !important;
  border-top: 1px solid rgba(245, 176, 36, 0.25) !important;
  flex-shrink: 0 !important;
}

.drawer-corp-card {
  background: rgba(255, 255, 255, 0.03) !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 8px !important;
  padding: 14px !important;
}

.drawer-corp-badge .corp-title {
  display: block !important;
  color: #ffffff !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  margin-bottom: 4px !important;
}

.drawer-corp-badge .corp-mst {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  font-size: 11px !important;
  color: #f5b024 !important;
  margin-bottom: 12px !important;
}

.drawer-corp-badge .mst-dot {
  width: 6px !important;
  height: 6px !important;
  background: #10b981 !important;
  border-radius: 50% !important;
  display: inline-block !important;
}

.drawer-action-buttons {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 6px !important;
  margin-bottom: 12px !important;
}

.drawer-act-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px !important;
  padding: 8px 4px !important;
  border-radius: 6px !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
}

.drawer-act-btn.btn-phone {
  background: rgba(16, 185, 129, 0.15) !important;
  color: #10b981 !important;
  border: 1px solid rgba(16, 185, 129, 0.35) !important;
}

.drawer-act-btn.btn-phone:hover {
  background: #10b981 !important;
  color: #ffffff !important;
}

.drawer-act-btn.btn-zalo {
  background: rgba(0, 104, 255, 0.15) !important;
  color: #3b82f6 !important;
  border: 1px solid rgba(0, 104, 255, 0.35) !important;
}

.drawer-act-btn.btn-zalo:hover {
  background: #0068ff !important;
  color: #ffffff !important;
}

.drawer-act-btn.btn-fb {
  background: rgba(24, 119, 242, 0.15) !important;
  color: #1877f2 !important;
  border: 1px solid rgba(24, 119, 242, 0.35) !important;
}

.drawer-act-btn.btn-fb:hover {
  background: #1877f2 !important;
  color: #ffffff !important;
}

.drawer-act-btn .zalo-tag {
  background: #0068ff !important;
  color: #fff !important;
  font-size: 9px !important;
  font-weight: 800 !important;
  padding: 1px 4px !important;
  border-radius: 3px !important;
}

.drawer-meta-info {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  border-top: 1px solid rgba(255, 255, 255, 0.06) !important;
  padding-top: 10px !important;
}

.drawer-meta-info .meta-item {
  display: flex !important;
  align-items: flex-start !important;
  gap: 8px !important;
  font-size: 11px !important;
  color: #94a3b8 !important;
  line-height: 1.4 !important;
}

.drawer-meta-info .meta-item svg {
  flex-shrink: 0 !important;
  margin-top: 2px !important;
  color: #f5b024 !important;
}

.drawer-meta-info .meta-item a {
  color: #cbd5e1 !important;
  text-decoration: none !important;
}

.drawer-meta-info .meta-item a:hover {
  color: #f5b024 !important;
}

/* ==========================================================================
   12. AUTHENTIC BRADBURY FOOTER (matches wp-content/themes/bradburyam.com)
   ========================================================================== */
.footer-wrapper,
#footer,
.bradbury-original-footer {
  background: #2f2f2f !important;
  color: #d5d5d5 !important;
  font-family: Arial, Helvetica, sans-serif !important;
  padding: 60px 0 20px !important;
  position: relative !important;
}

/* Completely hide Flatsome generic absolute footer bar */
.absolute-footer {
  display: none !important;
}

.bradbury-original-footer .footer-title {
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 14px !important;
  color: #ffffff !important;
  font-weight: bold !important;
  text-decoration: underline !important;
  text-transform: uppercase !important;
  margin-top: 0 !important;
  margin-bottom: 20px !important;
  letter-spacing: 0.5px !important;
}

.bradbury-original-footer .footer-desc p {
  font-size: 13px !important;
  line-height: 1.8 !important;
  color: #d5d5d5 !important;
  margin-bottom: 12px !important;
}

.bradbury-original-footer .footer-desc strong {
  color: #ffffff !important;
}

.bradbury-original-footer .footer-menu {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.bradbury-original-footer .footer-menu li {
  margin-bottom: 8px !important;
}

.bradbury-original-footer .footer-menu li a {
  font-size: 13px !important;
  color: #ffffff !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
  display: block !important;
  line-height: 1.6 !important;
}

.bradbury-original-footer .footer-menu li a:hover {
  color: #d5d5d5 !important;
}

.bradbury-original-footer .footer-contact-info p {
  font-size: 13px !important;
  line-height: 1.8 !important;
  color: #d5d5d5 !important;
  margin-bottom: 12px !important;
}

.bradbury-original-footer .footer-contact-info strong {
  color: #ffffff !important;
}

.bradbury-original-footer .footer-contact-info a {
  color: #ffffff !important;
  text-decoration: none !important;
}

.bradbury-original-footer .footer-contact-info a:hover {
  color: #d5d5d5 !important;
}

.footer-original-bottom {
  padding-top: 20px !important;
  border-top: 5px solid #484848 !important;
  color: #8b8c8d !important;
  margin-top: 40px !important;
}

.footer-original-bottom .copyright p {
  margin: 0 !important;
  font-size: 13px !important;
  color: #8b8c8d !important;
  line-height: 1.6 !important;
}

/* Footer Mobile Refinements */
@media (max-width: 849px) {
  .bradbury-original-footer {
    padding: 40px 15px 20px !important;
  }
  .bradbury-original-footer .footer-col-content {
    margin-bottom: 24px !important;
  }
  .bradbury-original-footer .footer-menu {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px 12px !important;
  }
  .footer-original-bottom {
    margin-top: 20px !important;
    text-align: center !important;
  }
}

/* ==========================================================================
   12. BRADBURY MOBILE BOTTOM NAVIGATION & COMPACT FLOATING WIDGETS
   ========================================================================== */
.bradbury-bottom-nav {
  display: none !important;
}

.mfp-bg,
.mfp-wrap {
  z-index: 99999999 !important;
}

@media (max-width: 849px) {
  /* 1. Mobile Bottom Bar */
  body {
    padding-bottom: 64px !important;
  }

  .bradbury-bottom-nav {
    display: flex !important;
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 58px !important;
    background: linear-gradient(180deg, rgba(6, 13, 34, 0.97) 0%, rgba(8, 16, 43, 0.99) 100%) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    border-top: 1px solid rgba(245, 176, 36, 0.25) !important;
    box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.45) !important;
    z-index: 999999 !important;
    align-items: center !important;
    justify-content: space-around !important;
    padding: 0 4px !important;
    padding-bottom: env(safe-area-inset-bottom, 0px) !important;
  }

  .bottom-nav-item {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-decoration: none !important;
    color: rgba(255, 255, 255, 0.6) !important;
    padding: 6px 0 !important;
    gap: 3px !important;
    transition: all 0.2s ease !important;
    position: relative !important;
    touch-action: manipulation !important;
    -webkit-tap-highlight-color: transparent !important;
  }

  .bottom-nav-item:hover,
  .bottom-nav-item:active,
  .bottom-nav-item.active {
    color: #f5b024 !important;
  }

  .bottom-nav-icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 22px !important;
    height: 22px !important;
    transition: transform 0.2s ease !important;
  }

  .bottom-nav-item.active .bottom-nav-icon {
    transform: translateY(-2px) !important;
  }

  .bottom-nav-label {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    letter-spacing: 0.2px !important;
    line-height: 1 !important;
  }

  .bottom-nav-item.active::after {
    content: '' !important;
    position: absolute !important;
    top: 3px !important;
    width: 4px !important;
    height: 4px !important;
    border-radius: 50% !important;
    background-color: #f5b024 !important;
    box-shadow: 0 0 6px rgba(245, 176, 36, 0.9) !important;
  }

  /* 2. Floating Contact Buttons (Compact & Aligned) */
  .bradbury-floating-social {
    right: 14px !important;
    bottom: 70px !important;
    gap: 8px !important;
    z-index: 999990 !important;
  }

  .bradbury-social-btn {
    width: 38px !important;
    height: 38px !important;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.28) !important;
  }

  .bradbury-social-btn svg {
    width: 17px !important;
    height: 17px !important;
  }

  .bradbury-social-btn.btn-zalo span:not(.pulse-ring):not(.tooltip-text) {
    font-size: 10.5px !important;
  }

  .bradbury-social-btn .pulse-ring {
    top: -3px !important;
    left: -3px !important;
    right: -3px !important;
    bottom: -3px !important;
  }

  .bradbury-social-btn.btn-call {
    display: none !important; /* Already present in header and bottom nav */
  }

  /* AI Chatbot Trigger (Directly above Zalo & FB in single column) */
  .aichat-widget-bubble {
    right: 14px !important;
    bottom: 162px !important;
    z-index: 999990 !important;
  }

  .aichat-trigger-btn {
    width: 38px !important;
    height: 38px !important;
    box-shadow: 0 3px 10px rgba(0, 132, 255, 0.35) !important;
  }

  .aichat-trigger-btn svg {
    width: 17px !important;
    height: 17px !important;
  }

  /* 3. GTranslate Language Switcher (Mini Luxury Pill) */
  #gt_float_wrapper {
    bottom: 70px !important;
    left: 14px !important;
    z-index: 999990 !important;
  }

  .gt_float_switcher {
    font-size: 11px !important;
    line-height: 14px !important;
    border-radius: 18px !important;
    background: rgba(8, 16, 43, 0.92) !important;
    border: 1px solid rgba(245, 176, 36, 0.35) !important;
    box-shadow: 0 3px 12px rgba(0, 0, 0, 0.35) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
  }

  .gt_float_switcher .gt-selected {
    background-color: transparent !important;
  }

  .gt_float_switcher .gt-selected .gt-current-lang {
    padding: 5px 9px !important;
    color: #ffffff !important;
    font-size: 11px !important;
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
  }

  .gt_float_switcher img {
    width: 18px !important;
    height: auto !important;
    margin: 0 !important;
    border-radius: 2px !important;
  }

  .gt_float_switcher .gt-selected .gt-current-lang span.gt-lang-code {
    top: 0 !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    letter-spacing: 0.5px !important;
  }

  .gt_float_switcher .gt-selected .gt-current-lang span.gt_float_switcher-arrow {
    height: 12px !important;
    width: 10px !important;
    background-size: 8px !important;
    filter: invert(1) brightness(1.2) !important;
  }

  .gt_float_switcher .gt_options {
    background: rgba(8, 16, 43, 0.96) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    border: 1px solid rgba(245, 176, 36, 0.25) !important;
    border-radius: 12px !important;
    margin-bottom: 6px !important;
  }

  .gt_float_switcher .gt_options a {
    padding: 7px 12px !important;
    font-size: 11px !important;
    color: rgba(255, 255, 255, 0.85) !important;
  }

  .gt_float_switcher .gt_options a:hover {
    background: rgba(245, 176, 36, 0.2) !important;
    color: #f5b024 !important;
  }
}

/* ==========================================================================
   Bradbury Corporate Media & Presentations (Video & PDF Decks)
   ========================================================================== */
.bradbury-video-showcase {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 15px 35px rgba(8, 16, 43, 0.15);
  background: #08102b;
  margin: 30px 0 45px;
}

.bradbury-video-player {
  width: 100%;
  max-height: 520px;
  display: block;
  outline: none;
  background: #000;
}

.bradbury-section-title-wrap {
  text-align: center;
  margin-bottom: 35px;
}

.bradbury-section-subtitle {
  color: #c5a869;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 2px;
  display: block;
  margin-bottom: 8px;
}

.bradbury-section-main-title {
  color: #10226b;
  font-family: 'Optima Medium', 'Montserrat', serif;
  font-size: 28px;
  font-weight: 700;
  text-transform: uppercase;
  margin: 0;
}

.bradbury-doc-row {
  margin-top: 30px !important;
}

.bradbury-doc-row .col {
  margin-bottom: 25px !important;
}

.bradbury-doc-card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  overflow: hidden;
  transition: all 0.35s ease;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
  display: flex;
  flex-direction: column;
  height: 100% !important;
  width: 100% !important;
}

.bradbury-doc-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 16px 32px rgba(16, 34, 108, 0.12);
  border-color: #cbd5e1;
}

.bradbury-doc-thumb-wrap {
  position: relative;
  width: 100%;
  height: 220px;
  overflow: hidden;
  background: #0b173d;
}

.bradbury-doc-thumb-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  transition: transform 0.5s ease;
}

.bradbury-doc-card:hover .bradbury-doc-thumb-wrap img {
  transform: scale(1.05);
}

.bradbury-doc-badge {
  position: absolute;
  top: 12px;
  right: 12px;
  background: rgba(16, 34, 108, 0.88);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  color: #ffffff;
  font-size: 11px;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 20px;
  letter-spacing: 0.5px;
  border: 1px solid rgba(255, 255, 255, 0.2);
}

.bradbury-doc-body {
  padding: 24px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.bradbury-doc-title {
  font-size: 18px;
  font-weight: 700;
  color: #10226b;
  margin-bottom: 10px;
  line-height: 1.4;
  font-family: 'Optima Medium', 'Montserrat', serif;
}

.bradbury-doc-desc {
  font-size: 14px;
  color: #64748b;
  line-height: 1.6;
  margin-bottom: 20px;
  flex-grow: 1;
}

.bradbury-doc-meta {
  display: flex;
  gap: 15px;
  font-size: 12px;
  color: #94a3b8;
  margin-bottom: 20px;
  padding-bottom: 15px;
  border-bottom: 1px solid #f1f5f9;
}

.bradbury-doc-meta span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.bradbury-doc-actions {
  display: flex;
  gap: 10px;
}

.bradbury-doc-btn-view {
  flex: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 10px 14px;
  background: #f8fafc;
  color: #10226b !important;
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none !important;
  transition: all 0.25s ease;
  text-align: center;
}

.bradbury-doc-btn-view:hover {
  background: #10226b;
  color: #ffffff !important;
  border-color: #10226b;
}

.bradbury-doc-btn-download {
  flex: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 10px 14px;
  background: #10226b;
  color: #ffffff !important;
  border: 1px solid #10226b;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none !important;
  transition: all 0.25s ease;
  text-align: center;
}

.bradbury-doc-btn-download:hover {
  background: #c5a869;
  border-color: #c5a869;
  color: #08102b !important;
}


/* Hero & CTA Button Enhancements */
.hero-cta-group .button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-weight: 600 !important;
  transition: all 0.3s ease !important;
}

.hero-cta-group .button.is-outline {
  background: rgba(255, 255, 255, 0.12) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  border: 1.5px solid rgba(255, 255, 255, 0.8) !important;
  color: #ffffff !important;
}

.hero-cta-group .button.is-outline:hover {
  background: #ffffff !important;
  color: #08102b !important;
  border-color: #ffffff !important;
  transform: translateY(-2px);
}

.hero-cta-group .button.primary {
  background: #c5a869 !important;
  border: 1.5px solid #c5a869 !important;
  color: #08102b !important;
  font-weight: 700 !important;
}

.hero-cta-group .button.primary:hover {
  background: #dfc282 !important;
  border-color: #dfc282 !important;
  color: #08102b !important;
  transform: translateY(-2px);
}

/* Bottom Corporate Deck CTA Section */
.bradbury-cta-deck-section {
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.bradbury-cta-deck-section .button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-weight: 600 !important;
  transition: all 0.3s ease !important;
}

.bradbury-cta-deck-section .button.is-outline.white {
  background: rgba(255, 255, 255, 0.08) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  border: 1.5px solid rgba(255, 255, 255, 0.7) !important;
  color: #ffffff !important;
}

.bradbury-cta-deck-section .button.is-outline.white:hover {
  background: #ffffff !important;
  color: #08102b !important;
  border-color: #ffffff !important;
  transform: translateY(-2px);
}

.bradbury-cta-deck-section .button.primary {
  background: #c5a869 !important;
  border: 1.5px solid #c5a869 !important;
  color: #08102b !important;
  font-weight: 700 !important;
}

.bradbury-cta-deck-section .button.primary:hover {
  background: #dfc282 !important;
  border-color: #dfc282 !important;
  color: #08102b !important;
  transform: translateY(-2px);
}

.bradbury-cta-deck-section .button.secondary {
  background: transparent !important;
  border: 1.5px solid rgba(255, 255, 255, 0.35) !important;
  color: #cbd5e1 !important;
}

.bradbury-cta-deck-section .button.secondary:hover {
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border-color: #ffffff !important;
  transform: translateY(-2px);
}

/* Mobile Optimization for Media & Corporate Presentation Decks */
@media (max-width: 767px) {
  #wrapper, #main, #content, .hg_section {
    overflow-x: hidden !important;
  }
  .hg_section .container {
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box !important;
    max-width: 100% !important;
    width: 100% !important;
  }
  .bradbury-section-main-title {
    font-size: 20px !important;
    line-height: 28px !important;
  }
  .bradbury-doc-grid {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }
  .bradbury-doc-card {
    min-width: 0 !important;
  }
  .bradbury-doc-body {
    padding: 18px 16px !important;
  }
  .bradbury-doc-thumb-wrap {
    height: 180px !important;
  }
  .bradbury-doc-actions {
    flex-direction: column !important;
    gap: 8px !important;
  }
  .bradbury-doc-btn-view,
  .bradbury-doc-btn-download {
    width: 100% !important;
  }
  .bradbury-video-showcase {
    margin: 20px 0 30px !important;
    border-radius: 8px !important;
  }
  .tbk__title.fs-34 {
    font-size: 24px !important;
    line-height: 32px !important;
  }
}

/* ==========================================================================
   Contact Form 7 & Anti-Spam UX Styling
   ========================================================================== */
.contact_form .kl-fancy-form {
  position: relative !important;
  margin-bottom: 20px !important;
}

.contact_form .kl-fancy-form span.wpcf7-form-control-wrap {
  display: block !important;
  width: 100% !important;
  position: relative !important;
}

.contact_form .kl-fancy-form label.control-label {
  position: absolute !important;
  top: 6px !important;
  left: 16px !important;
  font-size: 10px !important;
  color: #94a3b8 !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  pointer-events: none !important;
  letter-spacing: 0.5px !important;
  z-index: 2 !important;
}

.contact_form .kl-fancy-form .form-control {
  padding: 24px 16px 8px 16px !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 5px !important;
  background: #ffffff !important;
  font-size: 14px !important;
  color: #1e293b !important;
  width: 100% !important;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.04) !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.contact_form .kl-fancy-form .form-control:focus {
  border-color: #10226b !important;
  box-shadow: 0 0 0 3px rgba(16, 34, 107, 0.12) !important;
  outline: none !important;
}

.contact_form input[type="submit"].wpcf7-submit {
  background: #10226b !important;
  color: #ffffff !important;
  border: none !important;
  padding: 13px 36px !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  letter-spacing: 0.5px !important;
  border-radius: 4px !important;
  cursor: pointer !important;
  display: inline-block !important;
  transition: all 0.25s ease !important;
  box-shadow: 0 4px 12px rgba(16, 34, 107, 0.25) !important;
}

.contact_form input[type="submit"].wpcf7-submit:hover {
  background: #0d1b54 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 18px rgba(16, 34, 107, 0.35) !important;
}

.wpcf7-response-output {
  margin: 20px 0 0 0 !important;
  padding: 14px 20px !important;
  border-radius: 6px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
}

.wpcf7 form.sent .wpcf7-response-output {
  background: #f0fdf4 !important;
  border: 1px solid #86efac !important;
  color: #166534 !important;
}

.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.spam .wpcf7-response-output {
  background: #fef2f2 !important;
  border: 1px solid #fca5a5 !important;
  color: #991b1b !important;
}

.wpcf7-not-valid-tip {
  color: #ef4444 !important;
  font-size: 12px !important;
  margin-top: 5px !important;
  display: block !important;
  font-weight: 500 !important;
}

.wpcf7 .ajax-loader {
  margin-left: 10px !important;
  vertical-align: middle !important;
}

/* ==========================================================================
   Bradbury Mobile Video Hero & Media Lightbox Styling
   ========================================================================== */
.hero-banner-mobile {
  position: relative !important;
  overflow: hidden !important;
}

.hero-banner-mobile.has-video .video-bg {
  display: block !important;
  object-fit: cover !important;
  -o-object-fit: cover !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 1 !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.hero-banner-mobile.has-video .bg {
  display: none !important;
}

.hero-banner-mobile .overlay {
  background: linear-gradient(180deg, rgba(8, 16, 43, 0.6) 0%, rgba(8, 16, 43, 0.35) 45%, rgba(8, 16, 43, 0.8) 100%) !important;
  z-index: 2 !important;
}

.hero-banner-mobile {
  touch-action: pan-y !important;
  overflow: hidden !important;
  max-width: 100vw !important;
}

.hero-banner-mobile .banner-layers {
  position: relative !important;
  z-index: 3 !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden !important;
  left: 0 !important;
  right: 0 !important;
  padding: 0 15px !important;
  box-sizing: border-box !important;
}

.hero-banner-mobile .text-box {
  width: 100% !important;
  max-width: 580px !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

.hero-banner-mobile .banner-hero-content {
  width: 100% !important;
  max-width: 100% !important;
  padding: 15px 10px !important;
  box-sizing: border-box !important;
  margin: 0 auto !important;
}

.hero-banner-mobile .hero-main-logo {
  max-width: 290px !important;
  width: 80% !important;
  height: auto !important;
  margin: 0 auto 14px auto !important;
  filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.6));
  pointer-events: none;
}

.hero-banner-mobile .hero-slogan {
  color: #ffffff !important;
  font-size: 17px !important;
  line-height: 26px !important;
  font-family: 'Optima Medium', 'Montserrat', serif !important;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.8) !important;
  margin: 0 auto !important;
  white-space: normal !important;
  word-wrap: break-word !important;
  overflow-wrap: break-word !important;
  text-align: center !important;
  max-width: 100% !important;
  display: block !important;
  letter-spacing: 0.5px !important;
  user-select: none !important;
  -webkit-user-select: none !important;
  pointer-events: none !important;
}

.hero-banner-mobile .hero-cta-group {
  margin-top: 22px !important;
  pointer-events: auto !important;
}

.hero-banner-mobile .button {
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.4) !important;
}

/* Hide Hero Sound Toggle completely */
.hero-sound-toggle-wrap,
#hero-sound-toggle-btn {
  display: none !important;
}

/* Bradbury Video Modal & Lightbox Styling (Desktop & Mobile) */
.bradbury-video-modal-backdrop {
  display: none !important;
  position: fixed !important;
  inset: 0 !important;
  background: rgba(3, 7, 18, 0.9) !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
  z-index: 999999999 !important;
  align-items: center !important;
  justify-content: center !important;
  opacity: 0;
  pointer-events: none !important;
  transition: opacity 0.25s ease;
  padding: 24px !important;
}

.bradbury-video-modal-backdrop.is-active {
  display: flex !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

.bradbury-video-modal-container {
  position: relative !important;
  width: auto !important;
  max-width: 90vw !important;
  background: #000000 !important;
  border-radius: 16px !important;
  box-shadow: 0 25px 80px rgba(0, 0, 0, 0.85), 0 0 0 1px rgba(197, 168, 105, 0.3) !important;
  overflow: hidden !important;
  transform: scale(0.92);
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}

.bradbury-video-modal-backdrop.is-active .bradbury-video-modal-container {
  transform: scale(1);
}

.bradbury-video-modal-container video {
  width: auto !important;
  height: auto !important;
  max-width: 90vw !important;
  max-height: 82vh !important;
  object-fit: contain !important;
  display: block !important;
  outline: none !important;
  background: #000 !important;
  border-radius: 16px !important;
}

.bradbury-video-modal-close {
  position: absolute !important;
  top: -48px !important;
  right: 0 !important;
  width: 40px !important;
  height: 40px !important;
  border-radius: 50% !important;
  background: rgba(16, 34, 107, 0.8) !important;
  border: 1.5px solid rgba(197, 168, 105, 0.6) !important;
  color: #ffffff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  z-index: 10 !important;
  transition: all 0.25s ease !important;
  padding: 0 !important;
}

.bradbury-video-modal-close:hover {
  background: #c5a869 !important;
  color: #0b1536 !important;
  border-color: #c5a869 !important;
  transform: scale(1.1) !important;
}

.bradbury-video-modal-close svg {
  width: 20px !important;
  height: 20px !important;
  stroke: currentColor !important;
}

/* Flatsome Magnific Popup Video Fallback Enhancements */
.my-mfp-video .mfp-content {
  max-width: 960px !important;
  margin: 0 auto !important;
  position: relative !important;
  width: 92% !important;
}

.my-mfp-video .mfp-close {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: absolute !important;
  top: -46px !important;
  right: 0 !important;
  width: 40px !important;
  height: 40px !important;
  background: rgba(16, 34, 107, 0.85) !important;
  border: 1.5px solid rgba(197, 168, 105, 0.6) !important;
  border-radius: 50% !important;
  color: #ffffff !important;
  font-size: 26px !important;
  line-height: 40px !important;
  cursor: pointer !important;
  z-index: 999999999 !important;
  transition: all 0.25s ease !important;
  opacity: 1 !important;
}

.my-mfp-video .mfp-close:hover {
  background: #c5a869 !important;
  color: #0b1536 !important;
  border-color: #c5a869 !important;
  transform: scale(1.1) !important;
}

.ux-mfp-inline-content--video {
  width: 100% !important;
  max-width: 960px !important;
  margin: 0 auto !important;
}

.ux-mfp-inline-content--video video {
  width: 100% !important;
  height: auto !important;
  max-height: 82vh !important;
  display: block !important;
  border-radius: 14px !important;
  background: #000 !important;
  box-shadow: 0 25px 70px rgba(0, 0, 0, 0.85) !important;
}

@media (max-width: 849px) {
  .bradbury-video-modal-backdrop {
    padding: 16px !important;
  }
  .bradbury-video-modal-container {
    max-width: 420px !important;
  }
  .bradbury-video-modal-container video {
    max-height: 78vh !important;
    object-fit: contain !important;
  }
  .bradbury-video-modal-close {
    top: -44px !important;
    right: 4px !important;
  }
  .my-mfp-video .mfp-content {
    max-width: 92% !important;
    margin: 0 auto !important;
  }
  .ux-mfp-inline-content--video {
    max-width: 420px !important;
    margin: 0 auto !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
  }
  .ux-mfp-inline-content--video video {
    max-height: 78vh !important;
    max-width: 100% !important;
    width: auto !important;
    height: auto !important;
    border-radius: 12px !important;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.7) !important;
    background: #000 !important;
    object-fit: contain !important;
  }
  .bradbury-video-showcase {
    max-width: 360px !important;
    margin: 20px auto 30px !important;
    border-radius: 12px !important;
    box-shadow: 0 10px 30px rgba(8, 16, 43, 0.2) !important;
  }
  .bradbury-video-showcase .bradbury-video-player {
    max-height: 75vh !important;
    border-radius: 12px !important;
    object-fit: contain !important;
  }
}
