@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400;1,600&display=swap');

:root {
  /* darks */
  --lc-navy-950: #0B1119;
  /* derived — deepest shadow layer */
  --lc-navy-900: #0F1722;
  /* hero / how-it-works / CTA / footer bg */
  --lc-navy-800: #111E27;
  /* elevated navy surface */
  --lc-teal-950: #0D2027;
  /* transition tone into forest banners */
  --lc-forest-900: #0A3D38;
  /* free legal aid / women & children / testimonials */

  /* light */
  --lc-cream-50: #F7F6F2;
  /* light section background */
  --lc-white: #FFFFFF;
  /* card surfaces */

  /* accent */
  --lc-gold-500: #CF9E5B;
  /* primary accent — locked */
  --lc-gold-300: #E4C08C;
  /* derived lighter tint, for glass highlights */
  --lc-gold-700: #A87B3F;
  /* derived darker tint, for pressed/shadow states */
  --lc-gold-text-light: #8A6230;
  /* WCAG AA 5.4:1 contrast gold token for light/white surfaces */

  /* typography */
  --s2lc-font-heading: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --s2lc-font-body: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --s2lc-font-cta: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

/* Standard Base Type Scaling */
html {
  font-size: 15px !important;
}

@media (min-width: 1200px) {
  html {
    font-size: 16px !important;
  }
}

/* 80% Centered Section Container Directives */
.s2lc-container {
  width: 80% !important;
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

@media (max-width: 1024px) {
  .s2lc-container {
    width: 90% !important;
  }
}

@media (max-width: 640px) {
  .s2lc-container {
    width: 94% !important;
  }
}

/* Universal Typography Directives */
body,
html,
input,
button,
select,
textarea,
p,
span,
a,
h1,
h2,
h3,
h4,
h5,
h6,
div,
label,
li,
ul,
ol,
table,
th,
td,
b,
strong,
em,
.font-body,
.font-heading,
.font-cta,
.font-sans,
.font-serif,
.s2lc-scope,
.s2lc-scope *,
.lexstore-page-wrapper,
.lexstore-page-wrapper * {
  font-family: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
.font-heading {
  font-family: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  letter-spacing: -0.01em !important;
}

/* Strict Icon Font Protection Against Typography Cascade */
i[class*="fa-"],
[class*="fa-"],
.fa,
.fas,
.fab,
.far,
.fal,
.fad {
  font-family: "Font Awesome 6 Free", "Font Awesome 6 Brands", var(--fa-style-family, sans-serif) !important;
}

[class*="ti-"],
.ti,
.tabler-icons {
  font-family: "tabler-icons" !important;
}

.material-icons,
.material-icons-outlined,
.material-icons-round,
.material-icons-sharp,
.material-icons-two-tone,
[class*="material-icons"] {
  font-family: "Material Icons", "Material Icons Outlined" !important;
}

svg,
svg *,
[data-lucide],
[data-lucide] * {
  font-family: inherit !important;
}

/* Gold Accent Word Treatment */
.s2lc-gold-word {
  background: linear-gradient(135deg, #A87B3F 0%, #CF9E5B 50%, #8A6230 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  display: inline-block;
}

/* Bright Gold Word on Dark Backgrounds for high visibility */
.bg-\[\#0F1722\] .s2lc-gold-word,
.bg-\[\#0B1119\] .s2lc-gold-word,
.bg-\[\#0A3D38\] .s2lc-gold-word,
section[style*="linear-gradient"] .s2lc-gold-word,
.text-white .s2lc-gold-word {
  background: linear-gradient(135deg, #FFF0D4 0%, #E4C08C 50%, #CF9E5B 100%) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}

/* Accessible Light Surface Gold Text */
.text-gold-light-surface {
  color: #8A6230 !important;
}

/* 1. Glassmorphism Utilities */
.s2lc-glass-nav {
  background: rgba(15, 23, 34, 0.88) !important;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(207, 158, 91, 0.18) !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);
}

.s2lc-glass-card-dark {
  position: relative;
  background: rgba(17, 30, 39, 0.68) !important;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border: 1px solid rgba(207, 158, 91, 0.22) !important;
  box-shadow: 0 8px 24px rgba(11, 17, 25, 0.35), inset 0 1px 0 rgba(228, 192, 140, 0.2);
}

.s2lc-glass-card-dark::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 40%;
  background: radial-gradient(circle at 20% 0%, rgba(228, 192, 140, 0.12), transparent 70%);
  pointer-events: none;
  border-radius: inherit;
}

.s2lc-glass-card-light {
  position: relative;
  background: rgba(255, 255, 255, 0.82) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(207, 158, 91, 0.18) !important;
  box-shadow: 0 6px 18px rgba(15, 23, 34, 0.04), inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.s2lc-glass-tile {
  background: rgba(255, 255, 255, 0.06) !important;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(207, 158, 91, 0.18) !important;
  transition: all 0.25s ease;
}

.s2lc-glass-tile:hover {
  background: rgba(255, 255, 255, 0.12) !important;
  border-color: rgba(207, 158, 91, 0.4) !important;
  transform: translateY(-2px);
}

/* 2. Neumorphism Utilities */
.s2lc-neu-btn-primary {
  background: linear-gradient(135deg, #CF9E5B 0%, #A87B3F 100%) !important;
  color: #0F1722 !important;
  font-weight: 700 !important;
  box-shadow: 0 3px 10px rgba(207, 158, 91, 0.3), inset 0 1px 1px rgba(255, 255, 255, 0.4) !important;
  transition: all 0.2s ease !important;
  border: none !important;
}

.s2lc-neu-btn-primary:hover {
  background: linear-gradient(135deg, #E4C08C 0%, #CF9E5B 100%) !important;
  box-shadow: 0 4px 14px rgba(207, 158, 91, 0.45), inset 0 1px 1px rgba(255, 255, 255, 0.6) !important;
  transform: translateY(-1.5px);
}

.s2lc-neu-btn-secondary {
  background: #0F1722 !important;
  color: #FFFFFF !important;
  border: 1px solid rgba(207, 158, 91, 0.35) !important;
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.1) !important;
  transition: all 0.2s ease !important;
}

.s2lc-neu-btn-secondary:hover {
  background: #111E27 !important;
  border-color: #CF9E5B !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transform: translateY(-1.5px);
}

.s2lc-neu-date-cell-inactive {
  background: rgba(15, 23, 34, 0.6) !important;
  color: rgba(255, 255, 255, 0.6) !important;
  box-shadow: inset 1.5px 1.5px 3px rgba(0, 0, 0, 0.4), inset -1.5px -1.5px 3px rgba(255, 255, 255, 0.05) !important;
  border: 1px solid rgba(255, 255, 255, 0.05) !important;
  transition: all 0.2s ease;
}

.s2lc-neu-date-cell-active {
  background: linear-gradient(135deg, #CF9E5B 0%, #A87B3F 100%) !important;
  color: #0F1722 !important;
  font-weight: 800 !important;
  box-shadow: 0 3px 8px rgba(207, 158, 91, 0.35) !important;
}

/* 3. Skeuorphism Utilities */
.s2lc-skeuo-seal {
  background: linear-gradient(145deg, #E4C08C 0%, #CF9E5B 50%, #A87B3F 100%) !important;
  color: #0F1722 !important;
  font-weight: 800 !important;
  border: 1px solid rgba(255, 255, 255, 0.5) !important;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.8), inset 0 -1px 2px rgba(0, 0, 0, 0.3) !important;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.3);
}

.s2lc-skeuo-icon-ring {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #0F1722;
  border: 1.5px solid #CF9E5B;
  box-shadow: 0 0 14px rgba(207, 158, 91, 0.3), inset 0 0 10px rgba(207, 158, 91, 0.18);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #CF9E5B;
  transition: all 0.25s ease;
}

.s2lc-skeuo-icon-ring:hover {
  transform: scale(1.06);
  box-shadow: 0 0 18px rgba(207, 158, 91, 0.45), inset 0 0 14px rgba(207, 158, 91, 0.25);
  color: #E4C08C;
}

/* Designed Fallback Avatar */
.s2lc-avatar-fallback {
  background: linear-gradient(135deg, #0F1722 0%, #0A3D38 50%, #CF9E5B 100%);
  border: 2px solid #CF9E5B;
  color: #FFFFFF;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--s2lc-font-heading);
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.18);
  letter-spacing: 0.5px;
}

/* Animated Glowing Emergency Siren */
@keyframes s2lc-siren-pulse {

  0%,
  100% {
    transform: scale(1) rotate(0deg);
    filter: drop-shadow(0 0 18px rgba(239, 68, 68, 0.7)) brightness(1);
  }

  50% {
    transform: scale(1.08) rotate(2deg);
    filter: drop-shadow(0 0 38px rgba(239, 68, 68, 1)) brightness(1.3);
  }
}

.s2lc-siren-animated {
  animation: s2lc-siren-pulse 2.2s infinite ease-in-out;
  will-change: transform, filter;
}

/* 4. Organic Scroll-Reactive Blobs */
.s2lc-blob-container {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
  z-index: 0;
}

.s2lc-blob {
  position: absolute;
  border-radius: 50%;
  filter: blur(60px);
  opacity: 0.35;
  will-change: transform, opacity;
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.6s ease;
}

.s2lc-blob-gold {
  background: radial-gradient(circle, rgba(207, 158, 91, 0.35) 0%, rgba(207, 158, 91, 0) 70%);
}

.s2lc-blob-forest {
  background: radial-gradient(circle, rgba(10, 61, 56, 0.5) 0%, rgba(10, 61, 56, 0) 70%);
}

.s2lc-blob-navy {
  background: radial-gradient(circle, rgba(15, 23, 34, 0.7) 0%, rgba(15, 23, 34, 0) 70%);
}

/* Card Accent Directives */
.s2lc-service-card-accent {
  border-left: 3px solid #CF9E5B !important;
}

.s2lc-faq-item-active {
  border-left: 3.5px solid #CF9E5B !important;
  background: rgba(255, 255, 255, 0.88) !important;
}

/* --- APPROVED DESIGN ENHANCEMENTS --- */

/* 1. Floating Backdrop Blobs (Breathing Environment) */
@keyframes s2lc-blob-float {
  0% {
    transform: translate(0px, 0px) scale(1);
  }

  33% {
    transform: translate(30px, -40px) scale(1.08);
  }

  66% {
    transform: translate(-20px, 20px) scale(0.96);
  }

  100% {
    transform: translate(0px, 0px) scale(1);
  }
}

.s2lc-blob {
  animation: s2lc-blob-float 16s infinite ease-in-out;
}

.s2lc-blob-gold {
  animation-duration: 20s;
}

.s2lc-blob-forest {
  animation-duration: 24s;
  animation-delay: -4s;
}

.s2lc-blob-navy {
  animation-duration: 18s;
  animation-delay: -8s;
}

/* 2. Advanced Card Hover Glows & Lift Transitions */
.s2lc-glass-card-light {
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1),
    box-shadow 0.4s ease,
    border-color 0.4s ease !important;
}

.s2lc-glass-card-light:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 16px 36px rgba(207, 158, 91, 0.09),
    0 4px 10px rgba(0, 0, 0, 0.02) !important;
  border-color: rgba(207, 158, 91, 0.45) !important;
}

.s2lc-glass-card-dark {
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1),
    box-shadow 0.4s ease,
    border-color 0.4s ease !important;
}

.s2lc-glass-card-dark:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 20px 40px rgba(11, 17, 25, 0.55),
    0 0 22px rgba(207, 158, 91, 0.16),
    inset 0 1px 0 rgba(228, 192, 140, 0.35) !important;
  border-color: rgba(207, 158, 91, 0.48) !important;
}

/* 3. Glow Pulse on Live Advocate Badges */
@keyframes s2lc-pulse-emerald {
  0% {
    box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.5);
  }

  70% {
    box-shadow: 0 0 0 10px rgba(16, 185, 129, 0);
  }

  100% {
    box-shadow: 0 0 0 0 rgba(16, 185, 129, 0);
  }
}

.s2lc-pulse-green {
  animation: s2lc-pulse-emerald 2s infinite;
}

/* 4. Custom Dark & Gold Luxury Scrollbar */
::-webkit-scrollbar {
  width: 10px;
}

::-webkit-scrollbar-track {
  background: #0B1119;
}

::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, #A87B3F 0%, #CF9E5B 100%);
  border-radius: 5px;
  border: 2.5px solid #0B1119;
}

::-webkit-scrollbar-thumb:hover {
  background: #E4C08C;
}

/* 5. Soft Glow & Shadow on Gold Accents */
.s2lc-gold-word {
  text-shadow: 0 2px 10px rgba(207, 158, 91, 0.18);
}

/* Reduced Section Padding overrides for tighter spacing layout */
.s2lc-scope section.py-24 {
  padding-top: 3.5rem !important;
  padding-bottom: 3.5rem !important;
}

.s2lc-scope section.py-20 {
  padding-top: 3rem !important;
  padding-bottom: 3rem !important;
}

.s2lc-scope section.py-16 {
  padding-top: 2.5rem !important;
  padding-bottom: 2.5rem !important;
}

.s2lc-scope section.py-8 {
  padding-top: 1.25rem !important;
  padding-bottom: 1.25rem !important;
}

.s2lc-scope section.pt-24.pb-14 {
  padding-top: 4rem !important;
  padding-bottom: 2.5rem !important;
}

/* Bulletproof Hero Consultation Card & Select Dropdown Overrides */
#hero_booking_widget select.s2lc-select-dark,
#hero_booking_widget select#hero_consult_date,
#hero_booking_widget select#hero_consult_time,
select.s2lc-select-dark {
  background-color: #0D1622 !important;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23CF9E5B' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e") !important;
  background-repeat: no-repeat !important;
  background-position: right 0.65rem center !important;
  background-size: 12px 10px !important;
  color: #FFFFFF !important;
  border: 1px solid rgba(207, 158, 91, 0.45) !important;
  padding-right: 1.75rem !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  border-radius: 0.75rem !important;
  font-family: inherit !important;
}

#hero_booking_widget select.s2lc-select-dark option,
#hero_booking_widget select#hero_consult_date option,
#hero_booking_widget select#hero_consult_time option,
select.s2lc-select-dark option {
  background-color: #0D1622 !important;
  color: #FFFFFF !important;
  padding: 6px 12px !important;
}

/* Security Footer Row Fix */
.s2lc-security-footer {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 0.25rem !important;
  width: 100% !important;
  border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
  margin-top: 0.625rem !important;
  padding-top: 0.625rem !important;
}

.s2lc-security-footer>span {
  white-space: nowrap !important;
  flex-shrink: 0 !important;
  font-size: 8.5px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.25rem !important;
}

section.s2lc-hero-section {
  padding-top: 2.5rem !important;
  padding-bottom: 2rem !important;
}

@media (min-width: 640px) {
  section.s2lc-hero-section {
    padding-top: 3.5rem !important;
    padding-bottom: 2.5rem !important;
  }
}

/* Zero-Conflict Mobile Off-Canvas Drawer Rules */
.s2lc-mobile-toggle {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

@media (min-width: 1024px) {
  .s2lc-mobile-toggle {
    display: none !important;
  }
}

#mobileDrawerBackdrop {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  background-color: rgba(0, 0, 0, 0.8) !important;
  backdrop-filter: blur(6px) !important;
  -webkit-backdrop-filter: blur(6px) !important;
  z-index: 999998 !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transition: opacity 0.3s ease !important;
}

#mobileDrawerMenu {
  position: fixed !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 75vw !important;
  max-width: 320px !important;
  height: 100vh !important;
  height: 100dvh !important;
  background-color: #0F1722 !important;
  color: #FFFFFF !important;
  border-left: 1px solid rgba(207, 158, 91, 0.45) !important;
  box-shadow: -10px 0 35px rgba(0, 0, 0, 0.85) !important;
  transform: translateX(100%) !important;
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  overflow: hidden !important;
  z-index: 999999 !important;
}

#mobileDrawerMenu.s2lc-drawer-active {
  transform: translateX(0) !important;
  -webkit-transform: translateX(0) !important;
  visibility: visible !important;
  display: flex !important;
}

#mobileDrawerBackdrop.s2lc-backdrop-active {
  opacity: 1 !important;
  pointer-events: auto !important;
  display: block !important;
  visibility: visible !important;
}

/* App Coming Soon Strip */
.s2lc-app-coming-soon {
  background: rgba(15, 23, 34, 0.9) !important;
  border: 1px solid rgba(207, 158, 91, 0.3) !important;
  border-radius: 1rem !important;
  padding: 1.25rem 1.5rem !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
}

.s2lc-app-badge {
  background: rgba(207, 158, 91, 0.15) !important;
  border: 1px solid rgba(207, 158, 91, 0.35) !important;
  color: #E4C08C !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  padding: 0.25rem 0.65rem !important;
  border-radius: 9999px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.4rem !important;
}

/* ==========================================================================
   FIX TAILWIND .collapse { visibility: collapse !important; } CONFLICT
   Bootstrap uses .collapse and .collapse.show for accordions and toggles.
   ========================================================================== */
.collapse.show,
.accordion-collapse.show,
.accordion-collapse.collapse.show,
#faq .collapse.show,
#faq .accordion-collapse.show,
#faq-accordion .collapse.show {
  visibility: visible !important;
  display: block !important;
  opacity: 1 !important;
}

.accordion-collapse.collapsing,
#faq .accordion-collapse.collapsing {
  visibility: visible !important;
}

.accordion-collapse.collapse:not(.show),
#faq .accordion-collapse.collapse:not(.show) {
  display: none !important;
  visibility: hidden !important;
}

#faq .accordion-item {
  background-color: #ffffff !important;
  border: 1px solid rgba(229, 231, 235, 0.9) !important;
  border-radius: 0.875rem !important;
  margin-bottom: 0.875rem !important;
  overflow: hidden !important;
}

#faq .accordion-header {
  margin-bottom: 0 !important;
}

#faq .accordion-button {
  background-color: #ffffff !important;
  color: #111827 !important;
  font-family: var(--s2lc-font-heading) !important;
  font-weight: 700 !important;
  font-size: 1rem !important;
  padding: 1.15rem 1.5rem !important;
  box-shadow: none !important;
}

#faq .accordion-button:focus {
  box-shadow: none !important;
  border-color: transparent !important;
}

#faq .accordion-button:not(.collapsed) {
  background-color: #FAF8F5 !important;
  color: #0F1722 !important;
}

#faq .accordion-body {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  background-color: #FAF8F5 !important;
  color: #1F2937 !important;
  font-family: var(--s2lc-font-body) !important;
  font-size: 0.925rem !important;
  line-height: 1.65 !important;
  padding: 1.15rem 1.5rem 1.35rem 1.5rem !important;
  border-top: 1px solid rgba(207, 158, 91, 0.2) !important;
}

#faq .accordion-body,
#faq .accordion-body * {
  color: #1F2937 !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* 6. Sticky Header Luxury Theme Preservation on Scroll */
header#mainHeader,
#mainHeader,
header.bk-header,
.bk-header {
  background-color: #0F1722 !important;
  background: #0F1722 !important;
  color: #FFFFFF !important;
  position: sticky !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 1050 !important;
  border-bottom: 1px solid rgba(207, 158, 91, 0.4) !important;
  box-shadow: 0 4px 25px rgba(0, 0, 0, 0.45) !important;
}

header#mainHeader.fixed,
#mainHeader.fixed,
header.bk-header.fixed,
.bk-header.fixed {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 1050 !important;
  background-color: #0F1722 !important;
  background: #0F1722 !important;
  border-bottom: 1px solid rgba(207, 158, 91, 0.4) !important;
  box-shadow: 0 6px 30px rgba(0, 0, 0, 0.6) !important;
}