/**
 * UI Improvements - Text visibility and appropriate sizing
 * Jamiru & Co Law Firm
 */

/* Accessibility */
.skip-link {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 10000;
  padding: 12px 18px;
  background: var(--brand-gold, #D4AF37);
  color: #0a0a0a;
  font-weight: 700;
  text-decoration: none;
}
.skip-link:focus {
  left: 12px;
  top: 12px;
}

/* ============================================
   BRAND PALETTE — gold, black, white only
   ============================================ */
:root {
  --brand-black: #0a0a0a;
  --brand-black-soft: #1a1a1a;
  --brand-gold: #D4AF37;
  --brand-gold-light: #e8c95a;
  --brand-gold-dark: #b8941f;
  --brand-white: #ffffff;
  --brand-off-white: #f7f5f0;
  --brand-text: #1a1a1a;
  --brand-muted: #4a4a4a;
}

/* Global accents — gold / black / white */
a {
  color: var(--brand-gold-dark);
}

a:hover,
a:focus,
a:active {
  color: var(--brand-black) !important;
}

.btn-primary,
.btn.btn-primary {
  background: var(--brand-gold) !important;
  border-color: var(--brand-gold) !important;
  color: var(--brand-black) !important;
  text-shadow: none !important;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn.btn-primary:hover,
.btn.btn-primary:focus,
.btn.btn-primary:active {
  background: var(--brand-black) !important;
  border-color: var(--brand-black) !important;
  color: var(--brand-gold) !important;
}

#ftco-hero .flexslider .slider-text > .slider-text-inner .btn-primary {
  background: var(--brand-gold) !important;
  border-color: var(--brand-gold) !important;
  color: var(--brand-black) !important;
}

#ftco-hero .flexslider .slider-text > .slider-text-inner .btn-primary:hover {
  background: var(--brand-white) !important;
  border-color: var(--brand-white) !important;
  color: var(--brand-black) !important;
}

/* Kill leftover theme blues */
.services:hover,
.services:focus,
#ftco-consult .choose-form,
#ftco-content .choose-form,
.ftco-counters .icon i,
#ftco-started,
.bg-primary {
  background: var(--brand-black) !important;
  background-color: var(--brand-black) !important;
}

/* Services cards */
.services .icon i,
.ftco-practice .services .icon i {
  color: var(--brand-gold) !important;
}

.services h3 a,
.ftco-practice .services h3 a {
  color: var(--brand-black) !important;
}

.services:hover,
.services:focus,
.ftco-practice .services:hover {
  background: var(--brand-black) !important;
}

.services:hover h3 a,
.services:focus h3 a,
.ftco-practice .services:hover h3 a {
  color: var(--brand-gold) !important;
}

.services:hover .icon i,
.services:focus .icon i,
.ftco-practice .services:hover .icon i {
  color: var(--brand-gold) !important;
}

.services:hover p,
.services:focus p {
  color: rgba(255, 255, 255, 0.92) !important;
}

/* Intro / CTA columns */
.third-col {
  background: var(--brand-black) !important;
}

.third-col.third-col-color {
  background: var(--brand-gold) !important;
  border-left: none;
}

.third-col.third-col-color h3,
.third-col.third-col-color .h3,
.third-col.third-col-color p {
  color: var(--brand-black) !important;
}

.third-col a {
  color: var(--brand-gold) !important;
}

.third-col.third-col-color a {
  color: var(--brand-black) !important;
  font-weight: 700;
}

.third-col a:hover {
  color: var(--brand-white) !important;
}

.third-col.third-col-color a:hover {
  color: var(--brand-black-soft) !important;
}

.third-col.third-col-color .btn-primary {
  background: var(--brand-black) !important;
  border-color: var(--brand-black) !important;
  color: var(--brand-gold) !important;
}

.third-col.third-col-color .btn-primary:hover {
  background: var(--brand-white) !important;
  border-color: var(--brand-white) !important;
  color: var(--brand-black) !important;
}

#ftco-consult .choose-form,
#ftco-content .choose-form {
  background: var(--brand-black) !important;
}

#ftco-consult .choose,
#ftco-content .choose {
  background: var(--brand-off-white);
}

.read-more,
.read-more-btn {
  color: var(--brand-gold-dark) !important;
}

.read-more:hover,
.read-more-btn:hover {
  color: var(--brand-black) !important;
}

/* Footer */
#ftco-footer {
  background: var(--brand-black) !important;
}

#ftco-footer .ftco-footer-links li a:hover {
  color: var(--brand-gold) !important;
}

#ftco-footer h4 {
  color: var(--brand-gold) !important;
}

/* Forms focus */
.form-control:focus,
#ftco-consult .choose-form .form-control:focus {
  border-color: var(--brand-gold) !important;
  box-shadow: 0 0 0 2px rgba(212, 175, 55, 0.3) !important;
}

/* ============================================
   HERO SLIDER - Remove all overlays / white wash
   ============================================ */
#ftco-hero {
  background: transparent !important;
}

#ftco-hero .flexslider {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

#ftco-hero .flexslider .slides,
#ftco-hero .flexslider .slides > li {
  background-color: transparent !important;
}

#ftco-hero .flexslider .slides > li:before {
  display: none !important;
  content: none !important;
}

/* Light hero overlay for text readability */
#ftco-hero .flexslider .slides > li:after {
  display: block !important;
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(180deg, rgba(10, 10, 10, 0.4) 0%, rgba(10, 10, 10, 0.55) 100%) !important;
  opacity: 1 !important;
  z-index: 1 !important;
  pointer-events: none !important;
}

#ftco-hero .flexslider .slides > li > .container {
  position: relative;
  z-index: 2;
}

/* Hero carousel left / right arrows */
#ftco-hero .flexslider .flex-direction-nav {
  display: block !important;
}

#ftco-hero .flexslider .flex-direction-nav a {
  width: 52px;
  height: 52px;
  margin-top: -26px;
  opacity: 1 !important;
  background: rgba(10, 10, 10, 0.55);
  border: 2px solid var(--brand-gold);
  border-radius: 50%;
  color: transparent !important;
  font-size: 0 !important;
  text-shadow: none;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 30 !important;
  transition: background 0.25s ease, color 0.25s ease, transform 0.25s ease;
}

#ftco-hero .flexslider .flex-direction-nav a:before {
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 28px !important;
  font-weight: 700 !important;
  color: var(--brand-gold) !important;
  text-shadow: none !important;
  line-height: 1 !important;
  content: "<" !important;
}

#ftco-hero .flexslider .flex-direction-nav a.flex-next:before {
  content: ">" !important;
}

#ftco-hero .flexslider .flex-direction-nav .flex-prev {
  left: 20px !important;
}

#ftco-hero .flexslider .flex-direction-nav .flex-next {
  right: 20px !important;
  text-align: center;
}

#ftco-hero .flexslider .flex-direction-nav a:hover {
  background: var(--brand-gold);
  color: var(--brand-black);
  transform: scale(1.06);
}

#ftco-hero .flexslider .flex-direction-nav a:hover:before {
  color: var(--brand-black) !important;
}

@media screen and (max-width: 768px) {
  #ftco-hero .flexslider .flex-direction-nav a {
    width: 42px;
    height: 42px;
    margin-top: -21px;
  }

  #ftco-hero .flexslider .flex-direction-nav a:before {
    font-size: 18px;
  }

  #ftco-hero .flexslider .flex-direction-nav .flex-prev {
    left: 10px !important;
  }

  #ftco-hero .flexslider .flex-direction-nav .flex-next {
    right: 10px !important;
  }
}

.overlay-gradient {
  display: none !important;
}

.overlay,
#ftco-counter .overlay,
.ftco-bg .overlay,
.ftco-video .overlay,
#ftco-started .overlay {
  display: none !important;
  background: none !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

#ftco-hero .flexslider .slider-text > .slider-text-inner h1 {
  font-size: 60px !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.35);
  letter-spacing: 0.02em;
  line-height: 1.2 !important;
  margin-bottom: 18px !important;
}

@media screen and (max-width: 768px) {
  #ftco-hero .flexslider .slider-text > .slider-text-inner h1 {
    font-size: 34px !important;
  }
}

#ftco-hero .flexslider .slider-text > .slider-text-inner h2 {
  font-size: 24px !important;
  line-height: 1.5 !important;
  color: #ffffff !important;
  font-weight: 400 !important;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.35);
  margin-bottom: 28px !important;
}

@media screen and (max-width: 768px) {
  #ftco-hero .flexslider .slider-text > .slider-text-inner h2 {
    font-size: 18px !important;
  }
}

#ftco-hero .flexslider .slider-text > .slider-text-inner .btn {
  font-size: 18px !important;
  font-weight: 600 !important;
  padding: 16px 36px !important;
  text-shadow: none;
  box-shadow: none !important;
}

/* ============================================
   BODY & GENERAL - Better readability
   Bootstrap sets html to 10px; restore normal rem base
   ============================================ */
html {
  font-size: 16px !important;
}

body {
  font-size: 18px !important;
  line-height: 1.75 !important;
  color: #333333 !important;
}

p {
  font-size: 18px !important;
  line-height: 1.75 !important;
  color: #333333 !important;
}

h1 {
  font-size: 40px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  color: #1a1a1a !important;
}

h2 {
  font-size: 34px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  color: #1a1a1a !important;
}

h3 {
  font-size: 24px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  color: #1a1a1a !important;
}

h4 {
  font-size: 20px !important;
  font-weight: 600 !important;
  color: #1a1a1a !important;
}

.btn {
  font-size: 17px !important;
  font-weight: 600 !important;
}

/* ============================================
   SITE SECTION & WELCOME
   ============================================ */
.site-section .theme-heading h2,
.site-section h2,
div.theme-heading h2 {
  font-size: 36px !important;
  color: #1a1a1a !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  margin-bottom: 20px !important;
}

.site-section .theme-heading p,
.site-section p,
div.theme-heading p {
  font-size: 18px !important;
  line-height: 1.75 !important;
  color: #333333 !important;
  margin-bottom: 20px !important;
}

.site-section .btn {
  font-size: 17px !important;
  padding: 12px 28px !important;
}

/* ============================================
   PRACTICE AREA / SERVICES
   ============================================ */
.ftco-practice .theme-heading h1,
.theme-heading h1,
.ftco-practice h1 {
  font-size: 40px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  margin-bottom: 18px !important;
}

.ftco-practice .theme-heading p,
.theme-heading p,
.ftco-practice .ftco-heading p {
  font-size: 18px !important;
  line-height: 1.75 !important;
  color: #333333 !important;
}

.ftco-practice .services h3,
.services h3,
.services h3 a {
  font-size: 22px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
}

.ftco-practice .services p,
.services p {
  font-size: 16px !important;
  line-height: 1.7 !important;
  color: #333333 !important;
}

.ftco-practice .services:hover p,
.services:hover p {
  color: rgba(255, 255, 255, 0.95) !important;
}

/* ============================================
   WHY CHOOSE / FTCO-HEADING
   ============================================ */
.ftco-heading h2,
#ftco-content .ftco-heading h2,
#ftco-about .ftco-heading h2 {
  font-size: 34px !important;
  color: #1a1a1a !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
}

.ftco-heading p,
#ftco-content .ftco-heading p,
#ftco-about .ftco-heading p {
  font-size: 18px !important;
  color: #333333 !important;
  line-height: 1.75 !important;
}

/* ============================================
   TEAM SECTION
   ============================================ */
.ftco-staff h3,
#ftco-about .ftco-staff h3 {
  font-size: 26px !important;
  font-weight: 700 !important;
  color: #1a1a1a !important;
  line-height: 1.3 !important;
  margin-bottom: 12px !important;
}

.ftco-staff .role {
  font-size: 18px !important;
  color: #555 !important;
}

.ftco-staff p,
.ftco-staff .attorney-bio,
#ftco-about .ftco-staff p {
  font-size: 16px !important;
  line-height: 1.75 !important;
  color: #333333 !important;
}

.read-more,
.read-more-btn {
  font-size: 16px !important;
  font-weight: 600 !important;
}

/* ============================================
   FREE LEGAL ADVICE FORM (choose-form)
   ============================================ */
#ftco-content .choose-form .ftco-heading h2,
#ftco-consult .choose-form .ftco-heading h2 {
  font-size: 34px !important;
  color: #fff !important;
}

#ftco-content .choose-form label,
#ftco-consult .choose-form label {
  font-size: 17px !important;
  color: rgba(255, 255, 255, 0.95) !important;
}

#ftco-content .choose-form .form-control,
#ftco-consult .choose-form .form-control {
  font-size: 17px !important;
  color: #fff !important;
}

#ftco-content .choose-form .form-control::placeholder,
#ftco-consult .choose-form .form-control::placeholder {
  color: rgba(255, 255, 255, 0.7);
}

/* ============================================
   INTRO SECTION (third-col)
   ============================================ */
.third-col h3 {
  font-size: 28px !important;
  font-weight: 700 !important;
  color: #fff !important;
}

.third-col p {
  font-size: 17px !important;
  line-height: 1.75 !important;
  color: rgba(255, 255, 255, 0.95) !important;
}

.third-col a {
  color: #fff !important;
  text-decoration: underline;
  font-weight: 600;
  font-size: 17px !important;
}

.third-col.third-col-color h3,
.third-col.third-col-color .h3 {
  color: var(--brand-black) !important;
}

.third-col.third-col-color p {
  color: var(--brand-black) !important;
}

.third-col.third-col-color a {
  color: var(--brand-black) !important;
}

/* ============================================
   FOOTER - Improve visibility
   ============================================ */
#ftco-footer {
  color: rgba(255, 255, 255, 0.9) !important;
}

#ftco-footer h4 {
  font-size: 18px !important;
  color: #fff !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
}

#ftco-footer .ftco-widget p {
  font-size: 16px !important;
  line-height: 1.75 !important;
  color: rgba(255, 255, 255, 0.9) !important;
}

#ftco-footer .ftco-footer-links li {
  font-size: 16px !important;
  margin-bottom: 8px !important;
}

#ftco-footer .ftco-footer-links li a {
  color: rgba(255, 255, 255, 0.9) !important;
}

#ftco-footer .copyright p {
  font-size: 15px !important;
  color: rgba(255, 255, 255, 0.85) !important;
}

/* ============================================
   TOP BAR - contact, email, social
   ============================================ */
.site-topbar {
  background: var(--brand-black);
  border-bottom: 1px solid rgba(212, 175, 55, 0.35);
}

.site-topbar-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 42px;
}

.site-topbar-contact {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px 18px;
  min-width: 0;
}

.site-topbar a,
.ftco-nav .site-topbar a {
  color: #fff !important;
  padding: 0 !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  letter-spacing: 0.02em !important;
  text-shadow: none !important;
  text-transform: none !important;
}

.site-topbar a:hover,
.site-topbar a:focus,
.ftco-nav .site-topbar a:hover,
.ftco-nav .site-topbar a:focus {
  color: var(--brand-gold) !important;
  opacity: 1 !important;
}

.site-topbar-contact i {
  margin-right: 6px;
}

.site-topbar-social,
.ftco-nav .site-topbar-social {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  gap: 2px;
  list-style: none;
  margin: 0 0 0 12px !important;
  padding: 0 !important;
}

.site-topbar-social li,
.ftco-nav .site-topbar-social li {
  display: inline-block;
  margin: 0 !important;
  padding: 0 !important;
  text-transform: none;
}

.site-topbar-social a,
.ftco-nav .site-topbar-social li > a {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  font-size: 15px !important;
  padding: 0 !important;
  letter-spacing: 0 !important;
}

/* ============================================
   NAVIGATION - solid bar above hero, logo + menu one row
   ============================================ */
.ftco-nav {
  position: relative !important;
  z-index: 1000 !important;
  width: 100% !important;
  background: var(--brand-black) !important;
}

.ftco-nav .top-menu {
  position: relative !important;
  padding: 0 !important;
  background: var(--brand-black) !important;
}

.ftco-nav .top-menu .container > .row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: nowrap !important;
  margin: 0 !important;
  min-height: 72px;
}

.ftco-nav .top-menu .col-md-2,
.ftco-nav .top-menu .col-md-10 {
  float: none !important;
  width: auto !important;
  max-width: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.ftco-nav .top-menu .col-md-2 {
  flex: 0 0 auto !important;
}

.ftco-nav .top-menu .col-md-10.menu-1 {
  flex: 1 1 auto !important;
  text-align: right !important;
}

.ftco-nav #ftco-logo {
  font-size: 24px !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  white-space: nowrap !important;
  width: auto !important;
  line-height: 1.2 !important;
  margin: 0 !important;
}

.ftco-nav #ftco-logo a {
  color: var(--brand-gold) !important;
  text-shadow: none !important;
  white-space: nowrap !important;
  display: inline-block !important;
  line-height: 1.2 !important;
  padding: 0 !important;
}

.ftco-nav #ftco-logo a:hover {
  color: var(--brand-gold-light) !important;
}

.ftco-nav .menu-1 > ul {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  flex-wrap: nowrap !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.ftco-nav .menu-1 > ul > li {
  display: inline-flex !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
}

.ftco-nav .menu-1 > ul > li > a {
  position: relative !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
  color: #fff !important;
  padding: 24px 14px !important;
  text-shadow: none !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
}

/* Gold hover line close under the nav text */
.ftco-nav .menu-1 > ul > li > a::after {
  content: "";
  position: absolute;
  left: 14px;
  right: 14px;
  top: calc(50% + 0.7em);
  height: 2px;
  background: var(--brand-gold);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 0.25s ease;
  pointer-events: none;
}

.ftco-nav .menu-1 > ul > li > a:hover::after,
.ftco-nav .menu-1 > ul > li > a:focus::after,
.ftco-nav .menu-1 > ul > li.active > a::after {
  transform: scaleX(1);
}

.ftco-nav ul li > a:hover,
.ftco-nav ul li > a:focus,
.ftco-nav ul li > a:active,
.ftco-nav ul li.active > a {
  color: var(--brand-gold) !important;
  opacity: 1 !important;
}

/* Don't show underline on logo or dropdown items */
.ftco-nav #ftco-logo a::after,
.ftco-nav ul li.has-dropdown .dropdown li a::after {
  display: none !important;
}

.ftco-nav .menu-1 > ul > li.has-dropdown {
  position: relative !important;
  align-items: stretch !important;
}

.ftco-nav ul li.has-dropdown .dropdown {
  width: 240px !important;
  padding: 14px 18px !important;
  top: 100% !important;
  left: 0 !important;
  margin-top: 0 !important;
  z-index: 1005 !important;
  visibility: hidden;
  opacity: 0;
  display: none;
  background: #fff !important;
  border-top: 3px solid var(--brand-gold);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.22) !important;
  /* Keep menu open while moving into it */
  transition: none !important;
  animation: none !important;
}

/* Invisible bridge so the pointer never leaves the menu area */
.ftco-nav ul li.has-dropdown .dropdown::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: -18px !important;
  height: 18px !important;
  width: 100% !important;
  background: transparent !important;
  border: none !important;
  pointer-events: auto !important;
  margin: 0 !important;
}

.ftco-nav ul li.has-dropdown:hover > .dropdown,
.ftco-nav ul li.has-dropdown:focus-within > .dropdown {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.ftco-nav ul li.has-dropdown .dropdown li {
  display: block !important;
  margin: 0 !important;
}

.ftco-nav ul li.has-dropdown .dropdown li a {
  font-size: 15px !important;
  font-weight: 500 !important;
  padding: 10px 4px !important;
  color: #222 !important;
  display: block !important;
}

.ftco-nav ul li.has-dropdown .dropdown li a:hover {
  color: var(--brand-gold) !important;
}

/* Hero starts below the nav (not underneath it) */
#ftco-hero {
  margin-top: 0 !important;
}

@media screen and (max-width: 992px) {
  .ftco-nav-toggle {
    top: auto !important;
    bottom: auto !important;
    right: 15px !important;
    margin-top: 18px !important;
    transform: none !important;
  }

  .ftco-nav .top-menu .container > .row {
    min-height: 64px;
  }
}

@media screen and (max-width: 600px) {
  .site-topbar a,
  .ftco-nav .site-topbar a {
    font-size: 13px !important;
  }
}

/* ============================================
   CONTACT PAGE & FORMS
   ============================================ */
.form-control {
  font-size: 17px !important;
}

.form-group label {
  font-size: 17px !important;
  color: #333 !important;
  font-weight: 600;
}

.colorlib-contact-info h3,
#ftco-contact h3 {
  font-size: 28px !important;
}

.colorlib-contact-info ul li {
  font-size: 17px !important;
}

/* Override thin heading weight from theme */
.theme-heading h1,
.theme-heading h2,
.theme-heading h3,
.theme-heading h4,
.theme-heading h5 {
  font-weight: 700 !important;
}

/* ============================================
   RESPONSIVE ADJUSTMENTS
   ============================================ */
@media screen and (max-width: 768px) {
  body {
    font-size: 16px !important;
  }

  h1 {
    font-size: 30px !important;
  }

  h2 {
    font-size: 26px !important;
  }

  h3 {
    font-size: 20px !important;
  }

  p {
    font-size: 16px !important;
  }

  .site-section .theme-heading h2,
  .site-section h2,
  div.theme-heading h2 {
    font-size: 28px !important;
  }
  
  .ftco-practice .theme-heading h1,
  .theme-heading h1,
  .ftco-practice h1 {
    font-size: 30px !important;
  }

  .ftco-heading h2,
  #ftco-content .ftco-heading h2,
  #ftco-about .ftco-heading h2 {
    font-size: 28px !important;
  }
  
  .ftco-staff h3,
  #ftco-about .ftco-staff h3 {
    font-size: 22px !important;
  }

  .ftco-nav #ftco-logo {
    font-size: 22px !important;
  }

  .ftco-nav ul li > a {
    font-size: 16px !important;
  }
}

/* ============================================
   SCROLL ANIMATIONS & SECTION POLISH
   ============================================ */
html {
  scroll-behavior: smooth;
}

.js .animate-box {
  opacity: 0;
}

.js .animate-box.animated-fast,
.js .animate-box.fadeIn,
.js .animate-box.fadeInUp,
.js .animate-box.fadeInLeft,
.js .animate-box.fadeInRight {
  opacity: 1;
}

.section-eyebrow {
  display: inline-block;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--brand-gold-dark) !important;
  margin-bottom: 12px !important;
}

.section-eyebrow-dark {
  color: var(--brand-gold) !important;
}

/* Stats strip */
.site-stats {
  background: var(--brand-black);
  padding: 32px 0;
  position: relative;
  overflow: hidden;
  border-top: 3px solid var(--brand-gold);
  border-bottom: 3px solid var(--brand-gold);
}

.site-stats::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 20% 50%, rgba(212, 175, 55, 0.18), transparent 55%);
  pointer-events: none;
}

.stat-item {
  padding: 12px 8px;
  position: relative;
  z-index: 1;
}

.stat-number,
.stat-plus {
  font-size: 42px !important;
  font-weight: 700 !important;
  color: var(--brand-gold) !important;
  line-height: 1.1 !important;
  display: inline-block;
}

.stat-plus {
  margin-left: 2px;
}

.stat-label {
  font-size: 15px !important;
  color: rgba(255, 255, 255, 0.88) !important;
  margin: 8px 0 0 !important;
  letter-spacing: 0.04em;
  font-weight: 500 !important;
}

/* Welcome section */
#welcome {
  background: linear-gradient(180deg, var(--brand-off-white) 0%, var(--brand-white) 100%);
}

.welcome-photo {
  width: 100%;
  height: 560px;
  object-fit: cover;
  object-position: top center;
  box-shadow: 0 18px 40px rgba(11, 22, 42, 0.18);
}

.welcome-points,
.why-points {
  list-style: none;
  padding: 0;
  margin: 0 0 18px;
}

.welcome-points li,
.why-points li {
  position: relative;
  padding-left: 28px;
  margin-bottom: 8px;
  font-size: 17px !important;
  line-height: 1.55 !important;
  color: #333 !important;
}

.welcome-points li::before,
.why-points li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--brand-gold);
}

/* Practice cards */
.ftco-practice {
  background: #fff;
  padding: 3.25em 0 !important;
}

.ftco-practice .services {
  transition: transform 0.35s ease, box-shadow 0.35s ease;
  border-radius: 4px;
  padding: 20px 16px;
  margin-bottom: 12px;
}

.ftco-practice .services:hover {
  transform: translateY(-8px);
  box-shadow: 0 16px 36px rgba(11, 22, 42, 0.12);
}

.ftco-practice .services .icon {
  transition: transform 0.35s ease;
}

.ftco-practice .services:hover .icon {
  transform: scale(1.08);
}

/* Why choose CTA circle */
.content-cta-circle {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: var(--brand-gold);
  color: var(--brand-black) !important;
  font-size: 28px;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.25);
  transition: transform 0.3s ease, background 0.3s ease;
}

.content-cta-circle:hover {
  transform: scale(1.08);
  background: var(--brand-gold-light);
  color: var(--brand-black) !important;
}

#ftco-content .why-points li {
  color: inherit !important;
}

/* Team polish */
#ftco-about {
  padding: 3.25em 0 !important;
  background: linear-gradient(180deg, var(--brand-white) 0%, var(--brand-off-white) 100%);
}

.ftco-staff {
  transition: transform 0.35s ease;
  margin-bottom: 16px;
}

.ftco-staff:hover {
  transform: translateY(-6px);
}

.ftco-staff img {
  border-radius: 4px;
  box-shadow: 0 12px 28px rgba(11, 22, 42, 0.12);
  object-fit: cover;
  object-position: top center;
}

.team-lead-photo {
  width: 100%;
  max-width: 380px;
  height: 440px;
  object-fit: cover;
  object-position: top center;
  margin-bottom: 16px;
}

.team-member-photo {
  width: 280px;
  height: 340px;
  max-width: 100%;
  object-fit: cover;
  object-position: top center;
  margin-bottom: 12px;
}

/* Consult / CTA band */
#ftco-consult .ftco-heading p {
  color: rgba(255, 255, 255, 0.9) !important;
  font-size: 17px !important;
}

.consult-cta-actions {
  margin-top: 20px;
}

.consult-cta-actions .btn {
  margin-right: 12px;
  margin-bottom: 10px;
}

#ftco-consult .choose-form .btn[href="contact.php"] {
  color: var(--brand-white) !important;
  border-color: var(--brand-gold) !important;
}

#ftco-consult .choose-form .btn[href="contact.php"]:hover {
  background: rgba(212, 175, 55, 0.2) !important;
  color: var(--brand-gold) !important;
}

/* Logo gold accent */
.ftco-nav #ftco-logo a {
  color: var(--brand-gold) !important;
}

.ftco-nav #ftco-logo a:hover {
  color: var(--brand-gold-light) !important;
}

/* Social icons on dark bars */
.site-topbar-social a:hover,
.ftco-social-icons a:hover {
  color: var(--brand-gold) !important;
}

/* Headings stay black on light surfaces */
.ftco-staff h3,
.theme-heading h2,
.theme-heading h1 {
  color: var(--brand-black) !important;
}

/* Intro CTA band — sit visibly over map, clear of footer */
#intro-bg {
  position: relative;
  z-index: 20;
  margin-top: -90px;
  padding: 0 0 40px !important;
  background: transparent !important;
  clear: both;
}

#ftco-intro {
  position: relative !important;
  z-index: 21 !important;
  margin: 0 !important;
  margin-bottom: 0 !important;
  padding: 0 !important;
  float: none !important;
  width: 100% !important;
  display: flex !important;
  flex-wrap: wrap;
  border-top: none;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.28);
}

#ftco-intro .third-col {
  margin-top: 0 !important;
  min-height: 260px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 36px 32px !important;
  z-index: 22 !important;
}

.map-section {
  position: relative;
  z-index: 1;
}

#ftco-footer {
  position: relative;
  z-index: 1;
  margin-top: 0 !important;
  padding-top: 5em !important;
}

@media screen and (max-width: 768px) {
  #intro-bg {
    margin-top: -50px;
    padding-bottom: 24px !important;
  }

  #ftco-intro .third-col {
    width: 100% !important;
    min-height: auto;
  }
}

/* Remap theme blue accents to gold / black */
.ftco-nav ul li.has-dropdown .dropdown li a:hover,
.colorlib-nav-toggle span,
.colorlib-nav-toggle span:before,
.colorlib-nav-toggle span:after,
.blog-featured h2 a:hover,
.ftco-staff .role,
#ftco-contact .colorlib-contact-info ul li a:hover {
  color: var(--brand-gold) !important;
}

.pagination > .active > a,
.pagination > .active > span,
.pagination > .active > a:hover,
.progress-bar,
.owl-theme .owl-dots .owl-dot.active span,
.owl-theme .owl-dots .owl-dot:hover span {
  background: var(--brand-gold) !important;
  border-color: var(--brand-gold) !important;
}

/* Offcanvas / mobile menu */
#ftco-offcanvas {
  background: var(--brand-black) !important;
}

#ftco-offcanvas a:hover {
  color: var(--brand-gold) !important;
}

/* Consult band — image + CTA */
#ftco-consult.consult-band {
  display: flex !important;
  flex-wrap: wrap;
  width: 100%;
  float: none !important;
  min-height: 480px;
  clear: both;
}

#ftco-consult .consult-media,
#ftco-consult .consult-panel {
  width: 50%;
  min-height: 480px;
  display: flex !important;
  align-items: center;
  justify-content: center;
}

#ftco-consult .consult-media {
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  position: relative;
}

#ftco-consult .consult-media-overlay {
  position: relative;
  z-index: 2;
  background: rgba(10, 10, 10, 0.62);
  border: 1px solid rgba(212, 175, 55, 0.55);
  padding: 28px 32px;
  max-width: 340px;
  text-align: center;
  color: var(--brand-white);
}

#ftco-consult .consult-media-overlay::before {
  content: "";
  position: absolute;
  inset: 0;
  background: transparent;
  pointer-events: none;
}

#ftco-consult .consult-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(10, 10, 10, 0.35), rgba(10, 10, 10, 0.15));
  z-index: 1;
  pointer-events: none;
}

#ftco-consult .consult-media-label {
  display: inline-block;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--brand-gold) !important;
  margin-bottom: 10px;
}

#ftco-consult .consult-media-overlay p {
  margin: 0 !important;
  font-size: 18px !important;
  line-height: 1.5 !important;
  color: var(--brand-white) !important;
  font-weight: 500;
}

#ftco-consult .consult-panel {
  background: var(--brand-black) !important;
  padding: 48px 52px !important;
  border-left: 4px solid var(--brand-gold);
}

#ftco-consult .consult-panel .ftco-heading {
  margin-bottom: 0 !important;
  width: 100%;
}

#ftco-consult .consult-panel .theme-heading,
#ftco-consult .consult-panel h2 {
  color: var(--brand-white) !important;
  margin-bottom: 14px !important;
}

#ftco-consult .consult-panel p {
  color: rgba(255, 255, 255, 0.88) !important;
  margin-bottom: 20px !important;
}

#ftco-consult .consult-details {
  list-style: none;
  padding: 0;
  margin: 0 0 28px;
}

#ftco-consult .consult-details li {
  color: var(--brand-white) !important;
  font-size: 16px !important;
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  gap: 10px;
}

#ftco-consult .consult-details i {
  color: var(--brand-gold) !important;
  font-size: 18px;
  min-width: 20px;
}

#ftco-consult .consult-details a {
  color: var(--brand-white) !important;
  text-decoration: none;
}

#ftco-consult .consult-details a:hover {
  color: var(--brand-gold) !important;
}

#ftco-consult .consult-cta-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 8px;
}

#ftco-consult .btn-outline-light {
  background: transparent !important;
  border: 2px solid var(--brand-gold) !important;
  color: var(--brand-gold) !important;
  font-weight: 600 !important;
  padding: 12px 24px !important;
}

#ftco-consult .btn-outline-light:hover {
  background: var(--brand-gold) !important;
  color: var(--brand-black) !important;
}

/* Map — full width with header */
.map-section {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  clear: both;
  background: var(--brand-black);
}

.map-section-header {
  text-align: center;
  padding: 36px 20px 28px;
  border-top: 3px solid var(--brand-gold);
}

.map-section-header .section-eyebrow {
  color: var(--brand-gold) !important;
}

.map-section-header h2 {
  color: var(--brand-white) !important;
  margin: 8px 0 10px !important;
  font-size: 32px !important;
}

.map-section-header p {
  color: rgba(255, 255, 255, 0.85) !important;
  margin: 0 !important;
  font-size: 16px !important;
}

.map-section iframe {
  display: block;
  width: 100% !important;
  max-width: 100%;
  height: 480px;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  filter: grayscale(0.15) contrast(1.05);
}

@media screen and (max-width: 768px) {
  #ftco-consult .consult-media,
  #ftco-consult .consult-panel {
    width: 100% !important;
    min-height: 360px;
  }

  #ftco-consult .consult-panel {
    padding: 36px 24px !important;
    border-left: none;
    border-top: 4px solid var(--brand-gold);
  }

  #ftco-consult .consult-media-overlay {
    margin: 20px;
  }

  .map-section iframe {
    height: 360px;
  }

  .map-section-header h2 {
    font-size: 26px !important;
  }
}

#ftco-intro .third-col {
  transition: transform 0.35s ease;
}

#ftco-intro .third-col:hover {
  transform: translateY(-4px);
}

@media screen and (max-width: 768px) {
  .stat-number,
  .stat-plus {
    font-size: 34px !important;
  }

  .welcome-photo {
    height: 380px;
    margin-bottom: 20px;
  }

  .team-lead-photo {
    height: 360px;
  }

  .team-member-photo {
    width: 240px;
    height: 300px;
  }

  .site-stats {
    padding: 28px 0;
  }
}

/* ============================================
   TIGHTER SECTION SPACING
   ============================================ */
.site-section,
#ftco-about,
.ftco-practice,
#ftco-testimonial,
#ftco-blog,
#ftco-started,
#ftco-contact {
  padding-top: 3.25em !important;
  padding-bottom: 3.25em !important;
}

#ftco-footer {
  padding-top: 5em !important;
  padding-bottom: 2em !important;
}

.ftco-heading {
  margin-bottom: 2em !important;
}

.ftco-heading.ftco-heading-sm {
  margin-bottom: 1.25em !important;
}

.ftco-heading h2,
.theme-heading h2,
.site-section .theme-heading h2 {
  margin-bottom: 12px !important;
}

.ftco-heading p,
.theme-heading p,
.site-section .theme-heading p {
  margin-bottom: 14px !important;
}

.section-eyebrow {
  margin-bottom: 8px !important;
}

#welcome.site-section {
  padding-top: 3em !important;
  padding-bottom: 3em !important;
}

#ftco-content .choose,
#ftco-consult .choose {
  padding: 28px 32px !important;
}

#ftco-content .choose-form .ftco-heading,
#ftco-consult .choose-form .ftco-heading {
  margin-bottom: 20px !important;
}

.ftco-staff p {
  margin-bottom: 14px !important;
}

.services {
  margin-bottom: 16px !important;
}

#ftco-intro {
  margin-bottom: 0 !important;
}

.slider-text-inner {
  margin-top: 40px !important;
}

@media screen and (max-width: 768px) {
  .site-section,
  #ftco-about,
  .ftco-practice,
  #ftco-testimonial,
  #ftco-blog,
  #ftco-started,
  #ftco-contact {
    padding-top: 2.5em !important;
    padding-bottom: 2.5em !important;
  }

  .ftco-heading {
    margin-bottom: 1.5em !important;
  }

  #ftco-content .choose,
  #ftco-consult .choose {
    padding: 24px 20px !important;
  }

  .slider-text-inner {
    margin-top: 24px !important;
  }
}

/* Page loader — brand black ring, gold accent */
.ftco-loader {
  background: var(--brand-off-white) !important;
}

.ftco-loader .loader,
.ftco-loader:empty::after {
  --color-1: var(--brand-black);
  --color-2: var(--brand-gold);
}
