/* ================================================================
   MINTAH THEME — Superior Brand CSS v2
   Navy #0A1628 · Gold #C8960C · Cream #FAF8F3
   Playfair Display · Inter · Cormorant Garamond
   ================================================================ */

/* ── TOKENS ─────────────────────────────────────────────────── */
:root {
  --im-navy:        #0A1628;
  --im-navy-2:      #0F2040;
  --im-navy-3:      #162850;
  --im-gold:        #C8960C;
  --im-gold-2:      #E4B030;
  --im-gold-3:      #F5C842;
  --im-gold-pale:   #F5E6B8;
  --im-gold-faint:  #FDF6E3;
  --im-cream:       #FAF8F3;
  --im-cream-2:     #F2EDE3;
  --im-white:       #FFFFFF;
  --im-dark:        #0D1117;
  --im-mid:         #1F2937;
  --im-body:        #374151;
  --im-muted:       #6B7280;
  --im-light:       #9CA3AF;
  --im-border:      #E5E7EB;
  --im-border-2:    #D1D5DB;
  --im-border-gold: rgba(200,150,12,.18);
  --im-shadow-sm:   0 1px 3px rgba(0,0,0,.08),0 1px 2px rgba(0,0,0,.06);
  --im-shadow:      0 4px 16px rgba(0,0,0,.08),0 2px 6px rgba(0,0,0,.06);
  --im-shadow-lg:   0 16px 48px rgba(0,0,0,.12),0 4px 12px rgba(0,0,0,.06);
  --im-shadow-xl:   0 24px 64px rgba(0,0,0,.16),0 8px 20px rgba(0,0,0,.08);
  --im-r:           4px;
  --im-r-lg:        8px;
  --primary-color:  #C8960C;
  --gradient-color: #E4B030;
  --bs-primary-rgb: 200,150,12;
}

/* ── RESET & BASE ────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  font-family: 'Inter', system-ui, -apple-system, sans-serif !important;
  color: var(--im-body) !important;
  background: var(--im-white) !important;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
h1,h2,h3,h4,h5,h6,
.ds-1,.ds-2,.ds-3,.ds-4,.ds-5 {
  font-family: 'Playfair Display', Georgia, serif !important;
  color: var(--im-navy) !important;
  line-height: 1.15 !important;
}
p { line-height: 1.72; }
img { display: block; max-width: 100%; }
a { transition: color .2s, opacity .2s; }

/* ── GLOBAL UTILITY ──────────────────────────────────────────── */
.text-primary           { color: var(--im-gold) !important; }
.bg-primary             { background: var(--im-gold) !important; }
.border-primary         { border-color: var(--im-gold) !important; }
.bg-900, .bg-dark       { background: var(--im-cream) !important; color: var(--im-body) !important; }
.text-300,.text-200,.text-400 { color: var(--im-muted) !important; }
.bg-6                   { background: var(--im-cream) !important; border: 1px solid var(--im-border) !important; }
.bg-white               { background: var(--im-white) !important; }
.bg-linear-1,.bg-linear-2 { background: var(--im-gold) !important; }
.border-linear-2,.border-linear-3 { border-color: var(--im-border-gold) !important; }
.text-dark              { color: var(--im-dark) !important; }
.ck-content             { font-family: 'Inter',sans-serif !important; color: var(--im-body) !important; }
.ck-content h2,.ck-content h3,.ck-content h4 { margin-top: 2em; margin-bottom: .6em; color: var(--im-navy) !important; }
.ck-content p  { margin-bottom: 1.25em; }
.ck-content ul,.ck-content ol { margin-bottom: 1.25em; padding-left: 1.5em; }
.ck-content blockquote {
  border-left: 3px solid var(--im-gold) !important;
  padding: 16px 24px !important;
  background: var(--im-gold-faint) !important;
  border-radius: 0 var(--im-r) var(--im-r) 0 !important;
  font-family: 'Cormorant Garamond',Georgia,serif !important;
  font-style: italic !important;
  font-size: 1.18rem !important;
  color: var(--im-navy) !important;
  margin: 2em 0 !important;
}
.ck-content a { color: var(--im-gold) !important; }
.ck-content a:hover { color: var(--im-gold-2) !important; }

/* ── PRELOADER ───────────────────────────────────────────────── */
#preloader { background: var(--im-navy) !important; }
#preloader .loader-cover { background: var(--im-navy) !important; }
#preloader .loader-icon-3 {
  --c: no-repeat repeating-linear-gradient(#0000 0 6px, var(--im-gold) 0 9px, #0000 0 15px) !important;
}

/* ── BUTTONS ─────────────────────────────────────────────────── */
.btn-gradient,.btn.btn-gradient,
[class*="btn-bg-"],.button-bg-2 {
  background: var(--im-gold) !important;
  border: 2px solid var(--im-gold) !important;
  color: var(--im-navy) !important;
  font-family: 'Inter',sans-serif !important;
  font-weight: 700 !important;
  font-size: .78rem !important;
  letter-spacing: .07em !important;
  text-transform: uppercase !important;
  border-radius: var(--im-r) !important;
  padding: 12px 26px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  transition: all .22s !important;
  box-shadow: 0 4px 14px rgba(200,150,12,.25) !important;
}
.btn-gradient:hover,.btn.btn-gradient:hover {
  background: var(--im-gold-2) !important;
  border-color: var(--im-gold-2) !important;
  color: var(--im-navy) !important;
  box-shadow: 0 6px 20px rgba(200,150,12,.35) !important;
  transform: translateY(-1px) !important;
}
.btn-outline-secondary {
  background: transparent !important;
  border: 2px solid rgba(255,255,255,.25) !important;
  color: rgba(255,255,255,.88) !important;
  font-family: 'Inter',sans-serif !important;
  font-weight: 600 !important;
  font-size: .78rem !important;
  letter-spacing: .07em !important;
  text-transform: uppercase !important;
  border-radius: var(--im-r) !important;
  padding: 12px 26px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  transition: all .22s !important;
}
.btn-outline-secondary:hover {
  border-color: var(--im-gold) !important;
  color: var(--im-gold) !important;
  background: transparent !important;
}
/* Inline outline variant on light bg */
.im-btn-outline-dark {
  background: transparent;
  border: 2px solid var(--im-border-2);
  color: var(--im-mid);
  font-family: 'Inter',sans-serif;
  font-weight: 600;
  font-size: .78rem;
  letter-spacing: .07em;
  text-transform: uppercase;
  border-radius: var(--im-r);
  padding: 11px 22px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: all .22s;
  text-decoration: none;
}
.im-btn-outline-dark:hover { border-color: var(--im-gold); color: var(--im-gold); }

/* ── EYEBROW ─────────────────────────────────────────────────── */
.im-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: 'Inter',sans-serif;
  font-size: .67rem;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--im-gold);
  margin-bottom: 12px;
}
.im-eyebrow__line {
  display: block;
  width: 28px;
  height: 1.5px;
  background: var(--im-gold);
  flex-shrink: 0;
}

/* ── SECTION HEADING ─────────────────────────────────────────── */
.im-sh { margin-bottom: 52px; }
.im-sh__title {
  font-family: 'Playfair Display',Georgia,serif !important;
  font-size: clamp(1.75rem,2.8vw,2.5rem) !important;
  font-weight: 700 !important;
  color: var(--im-navy) !important;
  line-height: 1.18 !important;
  margin: 8px 0 14px !important;
}
.im-sh__title--light { color: #fff !important; }
.im-sh__sub {
  font-family: 'Cormorant Garamond',Georgia,serif !important;
  font-style: italic !important;
  font-size: 1.12rem !important;
  color: var(--im-muted) !important;
  line-height: 1.6 !important;
  max-width: 540px;
}
.im-sh__sub--light { color: rgba(255,255,255,.55) !important; }

/* ── DARK-MODE SWITCHER: HIDE ───────────────────────────────── */
.dark-light-switcher { display: none !important; }

/* ── NAVBAR ──────────────────────────────────────────────────── */
.im-site-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  margin: 0;
  padding: 0;
}
/* Admin bar offset — Botble CMS adds a top bar when logged in */
body.has-admin-bar .im-site-header,
body.cms-admin-bar .im-site-header,
#cms-admin-bar ~ .im-site-header,
.admin-bar .im-site-header {
  top: 32px;
}
body.has-admin-bar,
body.cms-admin-bar,
.admin-bar {
  padding-top: calc(72px + 32px) !important;
}
@media (max-width: 991.98px) {
  body.has-admin-bar,
  body.cms-admin-bar,
  .admin-bar {
    padding-top: calc(64px + 32px) !important;
  }
}

.navbar,.navbar.navbar-light {
  background: rgba(8,18,34,.97) !important;
  backdrop-filter: blur(16px) saturate(1.4) !important;
  -webkit-backdrop-filter: blur(16px) saturate(1.4) !important;
  border-bottom: 1px solid rgba(200,150,12,.14) !important;
  transition: box-shadow .3s !important;
}
.navbar.im-nav--scrolled {
  box-shadow: 0 4px 24px rgba(0,0,0,.3) !important;
}
.navbar .navbar-brand { text-decoration: none !important; }
.navbar .site-name-text {
  font-family: 'Playfair Display',Georgia,serif !important;
  font-weight: 700 !important;
  font-size: 1.1rem !important;
  color: #fff !important;
  letter-spacing: .01em !important;
}
.navbar .nav-link,.navbar .main-menu .nav-link {
  font-family: 'Inter',sans-serif !important;
  font-size: .76rem !important;
  font-weight: 500 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,.68) !important;
  padding: 6px 14px !important;
  border-radius: var(--im-r) !important;
  transition: color .2s, background .2s !important;
}
.navbar .nav-link:hover,.navbar .nav-link.active {
  color: var(--im-gold-2) !important;
  background: rgba(200,150,12,.08) !important;
}
.navbar .navbar-social a,.navbar-social svg { color: rgba(255,255,255,.45) !important; width: 17px !important; height: 17px !important; }
.navbar .navbar-social a:hover { color: var(--im-gold) !important; }
.burger-icon { border-color: rgba(200,150,12,.3) !important; }
.burger-icon span { background: rgba(255,255,255,.8) !important; }
body { padding-top: 72px; }

/* ── NAVBAR HEIGHT FIX ───────────────────────────────────────
   The fixed navbar is 72px on desktop.
   On mobile it collapses — set padding to match actual height.
   ─────────────────────────────────────────────────────────── */
@media (max-width: 991.98px) {
  body { padding-top: 64px !important; }
  .im-site-header .navbar { min-height: 64px !important; }
  .navbar > .container { height: 64px !important; }
}
@media (max-width: 575.98px) {
  body { padding-top: 60px !important; }
  .im-site-header .navbar { min-height: 60px !important; }
  .navbar > .container { height: 60px !important; }
}

/* ── MOBILE MENU ─────────────────────────────────────────────── */
.mobile-header-wrapper-style { background: var(--im-navy) !important; }
.mobile-menu .nav-link,.mobile-menu .menu-item > a {
  color: rgba(255,255,255,.85) !important;
  font-family: 'Inter',sans-serif !important;
  font-size: .95rem !important;
  padding: 14px 0 !important;
  border-bottom: 1px solid rgba(255,255,255,.05) !important;
  display: block !important;
}
.mobile-menu .nav-link:hover { color: var(--im-gold) !important; }
.offCanvas__info {
  background: var(--im-navy-2) !important;
  border-left: 1px solid rgba(200,150,12,.15) !important;
}
.offCanvas__info h4,.offCanvas__info h3 {
  color: #fff !important;
  font-family: 'Playfair Display',serif !important;
}
.offCanvas__info a { color: rgba(255,255,255,.6) !important; }
.offCanvas__info a:hover { color: var(--im-gold) !important; }

/* ── PAGE HERO BANNER ────────────────────────────────────────── */
.im-page-hero {
  background: var(--im-navy);
  padding: 72px 0 60px;
  position: relative;
  overflow: hidden;
}
.im-page-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 80% 50%, rgba(200,150,12,.07) 0%, transparent 65%);
  pointer-events: none;
}
.im-page-hero::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg,transparent,var(--im-gold),transparent);
}
.im-page-hero__inner { position: relative; z-index: 1; }
.im-page-hero__title {
  font-family: 'Playfair Display',Georgia,serif !important;
  font-size: clamp(2rem,3.5vw,3rem) !important;
  font-weight: 800 !important;
  color: #fff !important;
  line-height: 1.1 !important;
  margin-bottom: 10px !important;
}
.im-page-hero__sub {
  font-family: 'Cormorant Garamond',Georgia,serif !important;
  font-style: italic !important;
  font-size: 1.15rem !important;
  color: rgba(255,255,255,.55) !important;
  margin-bottom: 18px !important;
}
.im-breadcrumb {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: .75rem;
  color: rgba(255,255,255,.4);
}
.im-breadcrumb a { color: rgba(255,255,255,.5); text-decoration: none; }
.im-breadcrumb a:hover { color: var(--im-gold); }
.im-breadcrumb__sep { color: rgba(255,255,255,.25); }

/* ── HERO (HOMEPAGE) ─────────────────────────────────────────── */
.section-hero-1 {
  background: var(--im-navy) !important;
  min-height: 0 !important;
  position: relative !important;
  display: flex !important;
  align-items: center !important;
}
.section-hero-1::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg,transparent,var(--im-gold),transparent);
  pointer-events: none;
}
.section-hero-1 .section-hero-title,
.section-hero-1 .ds-2, .section-hero-1 h1 {
  font-family: 'Playfair Display',Georgia,serif !important;
  font-size: clamp(2.4rem,4.5vw,4rem) !important;
  font-weight: 800 !important;
  color: #fff !important;
  line-height: 1.08 !important;
  letter-spacing: -.02em !important;
}
.section-hero-1 .text-dark,.section-hero-1 span.text-dark {
  color: var(--im-gold) !important;
  font-size: .67rem !important;
  font-weight: 700 !important;
  letter-spacing: .2em !important;
  text-transform: uppercase !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
}
.section-hero-1 .text-dark::before {
  content: '';
  display: block;
  width: 28px;
  height: 1.5px;
  background: var(--im-gold);
}
.section-hero-1 .text-300,.section-hero-1 p.text-300 {
  color: rgba(255,255,255,.62) !important;
  font-size: 1.05rem !important;
  line-height: 1.8 !important;
}
.section-hero-1 .shape-1 img {
  border-radius: var(--im-r-lg) !important;
  filter: grayscale(8%) contrast(1.05) !important;
  box-shadow: var(--im-shadow-xl) !important;
  border: 1px solid rgba(200,150,12,.2) !important;
}
.section-hero-1 .brand-logo {
  background: rgba(255,255,255,.06) !important;
  border: 1px solid rgba(200,150,12,.18) !important;
  border-radius: var(--im-r) !important;
  transition: border-color .2s, transform .2s !important;
}
.section-hero-1 .brand-logo:hover {
  border-color: var(--im-gold) !important;
  transform: translateY(-2px) !important;
}

/* ── STATS BAR ───────────────────────────────────────────────── */
.section-static-1 {
  background: var(--im-navy-2) !important;
  border-top: 1px solid rgba(200,150,12,.12) !important;
  border-bottom: 1px solid rgba(200,150,12,.12) !important;
}
.section-static-1 .odometer,.section-static-1 .number-counter,
.section-static-1 .text-primary,.section-static-1 .ds-1 {
  color: var(--im-gold) !important;
  font-family: 'Playfair Display',serif !important;
}
.section-static-1 .fw-bold { color: #fff !important; font-family: 'Inter',sans-serif !important; }
.section-static-1 .text-300 { color: rgba(255,255,255,.4) !important; font-size: .7rem !important; }

/* ── SERVICES SECTION ────────────────────────────────────────── */
.section-service-1 { background: var(--im-cream) !important; }
.section-service-1 .ds-3.text-primary { color: var(--im-navy) !important; font-family: 'Playfair Display',serif !important; }
.section-service-1 .fs-5.fw-medium.text-200 { color: var(--im-muted) !important; }

.single-service-card-1 {
  border-top-color: var(--im-border) !important;
  background: transparent !important;
  padding: 28px 0 !important;
  transition: background .2s !important;
  cursor: pointer;
}
.single-service-card-1:first-child { border-top: none !important; }
.single-service-card-1:hover { background: rgba(200,150,12,.03) !important; }

.single-service-card-1 .service-number {
  font-family: 'Playfair Display',serif !important;
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  color: var(--im-gold-pale) !important;
  min-width: 52px !important;
  display: inline-block !important;
}
.single-service-card-1 .service-card-title a {
  font-family: 'Playfair Display',serif !important;
  font-size: 1.22rem !important;
  font-weight: 700 !important;
  color: var(--im-navy) !important;
  text-decoration: none !important;
  transition: color .2s !important;
}
.single-service-card-1 .service-card-title a:hover { color: var(--im-gold) !important; }
.single-service-card-1 .service-card-text {
  font-size: .92rem !important;
  color: var(--im-muted) !important;
  line-height: 1.7 !important;
  max-width: 380px !important;
}
.single-service-card-1 .service-card-icon {
  width: 44px !important;
  height: 44px !important;
  background: var(--im-gold) !important;
  border-color: var(--im-gold) !important;
  color: var(--im-navy) !important;
  flex-shrink: 0 !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: transform .2s, box-shadow .2s !important;
}
.single-service-card-1:hover .service-card-icon {
  transform: scale(1.08) !important;
  box-shadow: 0 4px 16px rgba(200,150,12,.35) !important;
}

/* ── BOOKS / PROJECTS ────────────────────────────────────────── */
.section-projects-1,.fillter-project,.bg-900.fillter-project {
  background: var(--im-white) !important;
}
.section-projects-1 .ds-3.text-primary { color: var(--im-navy) !important; }
.btn-filter {
  background: transparent !important;
  border: 1.5px solid var(--im-border) !important;
  color: var(--im-muted) !important;
  font-family: 'Inter',sans-serif !important;
  font-size: .72rem !important;
  font-weight: 600 !important;
  letter-spacing: .07em !important;
  border-radius: var(--im-r) !important;
  padding: 7px 16px !important;
  transition: all .2s !important;
}
.btn-filter.active,.btn-filter:hover {
  background: var(--im-gold) !important;
  border-color: var(--im-gold) !important;
  color: var(--im-navy) !important;
}
.project-item {
  background: var(--im-white) !important;
  border: 1px solid var(--im-border) !important;
  border-radius: var(--im-r-lg) !important;
  overflow: hidden !important;
  box-shadow: var(--im-shadow-sm) !important;
  transition: box-shadow .28s, transform .28s !important;
}
.project-item:hover {
  box-shadow: var(--im-shadow-lg) !important;
  transform: translateY(-6px) !important;
}
.project-item img { transition: transform .4s !important; }
.project-item:hover img { transform: scale(1.04) !important; }
.project-item .project-card-content h3 {
  font-family: 'Playfair Display',serif !important;
  font-size: 1.08rem !important;
  font-weight: 700 !important;
  color: var(--im-navy) !important;
}
.project-item .project-card-content p { color: var(--im-muted) !important; font-size: .8rem !important; }
.project-card-icon {
  background: var(--im-gold) !important;
  border-color: var(--im-gold) !important;
  color: var(--im-navy) !important;
  width: 40px !important; height: 40px !important;
  border-radius: 50% !important;
  transition: transform .2s, box-shadow .2s !important;
}
.project-item:hover .project-card-icon {
  transform: rotate(-45deg) scale(1.1) !important;
  box-shadow: 0 4px 16px rgba(200,150,12,.35) !important;
}
.button-project,.bg-900.button-project { background: var(--im-white) !important; }
.icon_hover { border: 2px solid var(--im-border-gold) !important; }

/* ── BLOG CARDS ──────────────────────────────────────────────── */
.blog-card {
  border-radius: var(--im-r-lg) !important;
  overflow: hidden !important;
  background: var(--im-white) !important;
  border: 1px solid var(--im-border) !important;
  box-shadow: var(--im-shadow-sm) !important;
  transition: box-shadow .28s, transform .28s !important;
  height: 100%;
  display: flex;
  flex-direction: column;
}
.blog-card:hover {
  box-shadow: var(--im-shadow-lg) !important;
  transform: translateY(-5px) !important;
}
.blog-card__image .zoom-img { aspect-ratio: 16/9; overflow: hidden; }
.blog-card__image img { transition: transform .4s !important; }
.blog-card:hover .blog-card__image img { transform: scale(1.04) !important; }
.blog-card__image .btn.btn-gradient {
  font-size: .62rem !important;
  padding: 5px 12px !important;
  border-radius: var(--im-r) !important;
  box-shadow: none !important;
}
.blog-card__link {
  background: var(--im-gold) !important;
  color: var(--im-navy) !important;
  width: 36px !important; height: 36px !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.blog-card__content { padding: 20px 20px 24px !important; flex: 1; }
.blog-card__date { color: var(--im-light) !important; font-size: .72rem !important; }
.blog-card__title {
  font-family: 'Playfair Display',serif !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  color: var(--im-navy) !important;
  line-height: 1.35 !important;
  margin: 8px 0 !important;
}
.blog-card__description { color: var(--im-muted) !important; font-size: .87rem !important; line-height: 1.65 !important; }

/* ── TESTIMONIALS ────────────────────────────────────────────── */
.section-testimonials-1 { background: var(--im-navy) !important; }
.section-testimonials-1 .ds-3.text-primary { color: var(--im-white) !important; }
.section-testimonials-1 .text-200 { color: rgba(255,255,255,.5) !important; }
.card-testimonial-1 {
  background: rgba(255,255,255,.05) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  border-radius: var(--im-r-lg) !important;
  transition: background .22s, border-color .22s, transform .22s !important;
}
.card-testimonial-1:hover {
  background: rgba(255,255,255,.08) !important;
  border-color: rgba(200,150,12,.28) !important;
  transform: translateY(-3px) !important;
}
.card-testimonial-1 .ri-star-fill { color: var(--im-gold) !important; }
.card-testimonial-1 .testimonials-content {
  font-family: 'Cormorant Garamond',Georgia,serif !important;
  font-style: italic !important;
  font-size: 1.12rem !important;
  color: rgba(255,255,255,.85) !important;
  line-height: 1.7 !important;
}
.card-testimonial-1 .h6 { color: #fff !important; font-family: 'Inter',sans-serif !important; font-size: .9rem !important; font-weight: 700 !important; }
.card-testimonial-1 .fs-6 { color: rgba(255,255,255,.45) !important; }
.card-testimonial-1 svg path { fill: rgba(200,150,12,.18) !important; }
.card-testimonial-1 .avatar { border: 2px solid var(--im-gold) !important; border-radius: 50% !important; }
.swiper-pagination-bullet { background: rgba(255,255,255,.2) !important; }
.swiper-pagination-bullet-active { background: var(--im-gold) !important; }

/* ── CONTACT ─────────────────────────────────────────────────── */
.section-contact-1 { background: var(--im-navy-2) !important; }
.section-contact-1 .ds-3.text-primary { color: var(--im-white) !important; }
.section-contact-1 .text-200 { color: rgba(255,255,255,.55) !important; }
.section-contact-1 .icon-flip {
  background: rgba(200,150,12,.1) !important;
  border: 1px solid rgba(200,150,12,.25) !important;
  border-radius: var(--im-r) !important;
}
.section-contact-1 .icon-flip svg,.section-contact-1 .icon-flip i { color: var(--im-gold) !important; width: 22px !important; height: 22px !important; }
.section-contact-1 .text-400 { color: rgba(255,255,255,.35) !important; font-size: .68rem !important; letter-spacing: .1em !important; text-transform: uppercase !important; }
.section-contact-1 h6 { color: #fff !important; font-size: .95rem !important; font-weight: 500 !important; }
.section-contact-1 .position-relative.z-2 {
  background: var(--im-white) !important;
  border-radius: var(--im-r-lg) !important;
  padding: 44px !important;
  box-shadow: var(--im-shadow-xl) !important;
}
.section-contact-1 h3:not(.ds-3) {
  font-family: 'Playfair Display',serif !important;
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  color: var(--im-navy) !important;
  margin-bottom: 28px !important;
}
.section-contact-1 .form-control.border.rounded-3 {
  background: var(--im-cream) !important;
  border: 1.5px solid var(--im-border) !important;
  border-radius: var(--im-r) !important;
  color: var(--im-dark) !important;
  font-family: 'Inter',sans-serif !important;
  font-size: .92rem !important;
  padding: 12px 16px !important;
  transition: border-color .2s, box-shadow .2s !important;
}
.section-contact-1 .form-control.border.rounded-3:focus {
  outline: none !important;
  border-color: var(--im-gold) !important;
  box-shadow: 0 0 0 3px rgba(200,150,12,.12) !important;
  background: #fff !important;
}
.section-contact-1 .form-control.border.rounded-3::placeholder { color: var(--im-light) !important; }
.section-contact-1 label.form-label,.section-contact-1 label {
  font-family: 'Inter',sans-serif !important;
  font-size: .74rem !important;
  font-weight: 600 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  color: var(--im-mid) !important;
  margin-bottom: 6px !important;
  display: block !important;
}
.section-contact-1 label.required::after { content: ' *'; color: var(--im-gold) !important; }
.scroll-move-right { display: none !important; }
.rectangle-bg { background: transparent !important; }

/* ── NEWSLETTER ──────────────────────────────────────────────── */
.section-newsletter {
  background: var(--im-cream-2) !important;
  border-top: 1px solid var(--im-border) !important;
  border-bottom: 1px solid var(--im-border) !important;
}
.section-newsletter h3,.section-newsletter .ds-3 { color: var(--im-navy) !important; }
.section-newsletter .text-200 { color: var(--im-muted) !important; }
.newsletter-badge {
  background: var(--im-gold-faint) !important;
  border: 1px solid var(--im-border-gold) !important;
  border-radius: 20px !important;
  padding: 5px 14px !important;
}
.newsletter-badge span { color: var(--im-navy) !important; font-weight: 700 !important; }
.newsletter-input {
  background: #fff !important;
  border: 1.5px solid var(--im-border) !important;
  border-radius: var(--im-r) !important;
  color: var(--im-dark) !important;
  padding: 13px 16px !important;
  font-family: 'Inter',sans-serif !important;
  transition: border-color .2s, box-shadow .2s !important;
}
.newsletter-input:focus {
  border-color: var(--im-gold) !important;
  box-shadow: 0 0 0 3px rgba(200,150,12,.1) !important;
  outline: none !important;
}

/* ── PRICING ─────────────────────────────────────────────────── */
.card-pricing-1 {
  border: 1.5px solid var(--im-border) !important;
  border-radius: var(--im-r-lg) !important;
  background: var(--im-white) !important;
  transition: box-shadow .25s, transform .25s !important;
}
.card-pricing-1:hover {
  box-shadow: var(--im-shadow-lg) !important;
  transform: translateY(-4px) !important;
}
.card-pricing-1 .text-uppercase { color: var(--im-muted) !important; letter-spacing: .12em !important; }
.card-pricing-1 .ds-3.text-primary {
  color: var(--im-navy) !important;
  font-family: 'Playfair Display',serif !important;
  font-size: 2.6rem !important;
  line-height: 1 !important;
}
.card-pricing-1 .text-300 { color: var(--im-mid) !important; }
.card-pricing-1 .border-top.border-600 { border-color: var(--im-border) !important; }
.card-pricing-1 li { display: flex; align-items: flex-start; gap: 8px; }
.card-pricing-1 li::before { content: '✓'; color: var(--im-gold); font-weight: 700; flex-shrink: 0; margin-top: 1px; }

/* ── PORTFOLIO / BOOK SINGLE ─────────────────────────────────── */
.section-work-single { padding: 72px 0 !important; }
.section-work-single .btn.btn-gradient { font-size: .72rem !important; padding: 7px 16px !important; }
.section-work-single .bg-6 { border-radius: var(--im-r) !important; padding: 18px 22px !important; }
.section-work-single .bg-6 p { color: var(--im-light) !important; font-size: .7rem !important; text-transform: uppercase !important; letter-spacing: .08em !important; margin-bottom: 4px !important; }
.section-work-single .bg-6 h6 { font-family: 'Inter',sans-serif !important; color: var(--im-dark) !important; font-size: .92rem !important; margin: 0 !important; }

/* ── POST SINGLE ─────────────────────────────────────────────── */
.section-details { padding-top: 60px !important; padding-bottom: 80px !important; }
.section-details .blog-post-featured-image {
  width: 100%;
  border-radius: var(--im-r-lg) !important;
  box-shadow: var(--im-shadow-lg) !important;
  margin: 32px auto !important;
}
.section-details .border-linear-3 {
  background: var(--im-cream) !important;
  border: 1px solid var(--im-border-gold) !important;
  border-radius: var(--im-r-lg) !important;
}
.section-details .border-linear-3 i { color: var(--im-gold) !important; }

/* ── SERVICE SINGLE ──────────────────────────────────────────── */
/* ── RESUME ──────────────────────────────────────────────────── */
.resume-card-header svg { color: var(--im-gold) !important; }
.section-education svg { color: var(--im-gold) !important; }

/* ── 404 ─────────────────────────────────────────────────────── */
.section-404 { padding: 100px 0; text-align: center; }
.section-404 h1 { font-size: 2rem !important; color: var(--im-navy) !important; }

/* ── BLOG LISTING ────────────────────────────────────────────── */
.section-blog-list { padding: 60px 0 80px; }
.section-blog-list h1.text-300 {
  font-family: 'Playfair Display',serif !important;
  color: var(--im-navy) !important;
  font-size: 1.5rem !important;
  margin-bottom: 24px !important;
}

/* ── FOOTER ──────────────────────────────────────────────────── */
footer,.section-footer,.section-footer-1,.section-footer-2 {
  background: var(--im-navy) !important;
  border-top: 1px solid rgba(200,150,12,.14) !important;
}
footer .widget-title,footer h5,footer h6:not(.mb-0) {
  font-family: 'Inter',sans-serif !important;
  font-size: .68rem !important;
  font-weight: 700 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
  color: var(--im-gold) !important;
  margin-bottom: 18px !important;
  display: block !important;
}
footer p,footer li,footer address,footer .text-300 {
  color: rgba(255,255,255,.4) !important;
  font-size: .87rem !important;
  line-height: 1.7 !important;
}
footer a:not(.btn):not(.btn-gradient) {
  color: rgba(255,255,255,.42) !important;
  font-size: .87rem !important;
  text-decoration: none !important;
  transition: color .2s !important;
}
footer a:not(.btn):not(.btn-gradient):hover { color: var(--im-gold-2) !important; }
footer .site-name-text {
  color: #fff !important;
  font-family: 'Playfair Display',serif !important;
  font-weight: 700 !important;
  font-size: 1.1rem !important;
}
footer .social-link a,[class*="social-link"] a {
  width: 36px !important; height: 36px !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: var(--im-r) !important;
  color: rgba(255,255,255,.42) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all .2s !important;
}
footer .social-link a:hover { border-color: var(--im-gold) !important; color: var(--im-gold) !important; }
footer .section-footer { padding: 56px 0 0 !important; }
.footer-bottom-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 0;
  margin-top: 40px;
  border-top: 1px solid rgba(255,255,255,.06);
  flex-wrap: wrap;
  gap: 12px;
}
.footer-bottom-bar p { font-size: .76rem !important; color: rgba(255,255,255,.28) !important; margin: 0 !important; }
.footer-bottom-bar a { font-size: .75rem !important; color: rgba(255,255,255,.28) !important; }
.footer-bottom-bar a:hover { color: var(--im-gold) !important; }

/* ── SCROLL TO TOP ───────────────────────────────────────────── */
.btn-scroll-top path { stroke: var(--im-gold) !important; fill: none !important; }
.btn-scroll-top { border-color: rgba(200,150,12,.3) !important; }

/* ── PAGINATION ──────────────────────────────────────────────── */
.page-item.active .page-link {
  background: var(--im-gold) !important;
  border-color: var(--im-gold) !important;
  color: var(--im-navy) !important;
}
.page-link { color: var(--im-navy) !important; border-radius: var(--im-r) !important; }
.page-link:hover { background: var(--im-gold-faint) !important; border-color: var(--im-border-gold) !important; }

/* ── MISC OVERRIDES ──────────────────────────────────────────── */
form label.required::after { content: ' *'; color: var(--im-gold); }
.filter-gray { filter: none !important; }
.zoom-img { overflow: hidden; }
.zoom-img img { transition: transform .4s; }
.zoom-img:hover img { transform: scale(1.04); }

/* ── BIOGRAPHY PAGE ──────────────────────────────────────────── */
.im-bio-grid { display: grid; grid-template-columns: 1fr 1.6fr; gap: 64px; align-items: start; }
.im-bio-portrait { position: sticky; top: 96px; }
.im-bio-portrait img {
  border-radius: var(--im-r-lg);
  box-shadow: var(--im-shadow-xl);
  width: 100%;
  aspect-ratio: 3/4;
  object-fit: cover;
  object-position: top;
  filter: grayscale(8%) contrast(1.04);
  border: 1px solid rgba(200,150,12,.2);
}
.im-bio-portrait-card {
  background: var(--im-navy);
  border-radius: var(--im-r-lg);
  padding: 24px;
  margin-top: 20px;
}
.im-bio-portrait-card p { color: rgba(255,255,255,.5) !important; font-size: .8rem !important; margin: 0 !important; }
.im-bio-portrait-card h6 { color: #fff !important; font-family: 'Inter',sans-serif !important; font-size: .92rem !important; margin-bottom: 4px !important; }
.im-bio-section { margin-bottom: 56px; }
.im-bio-section h2 {
  font-family: 'Playfair Display',serif !important;
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  color: var(--im-navy) !important;
  padding-bottom: 12px !important;
  border-bottom: 2px solid var(--im-border) !important;
  margin-bottom: 24px !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}
.im-bio-section h2::before {
  content: '';
  display: block;
  width: 4px;
  height: 24px;
  background: var(--im-gold);
  border-radius: 2px;
  flex-shrink: 0;
}
.im-bio-section p { color: var(--im-body) !important; font-size: .98rem !important; line-height: 1.78 !important; margin-bottom: 14px !important; }
.im-bio-section strong { color: var(--im-dark) !important; font-weight: 700 !important; }
.im-cred-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 16px; }
.im-cred-item {
  background: var(--im-cream);
  border: 1px solid var(--im-border);
  border-radius: var(--im-r);
  padding: 14px 16px;
  display: flex;
  align-items: flex-start;
  gap: 10px;
}
.im-cred-item i { color: var(--im-gold); font-size: 1rem; flex-shrink: 0; margin-top: 2px; }
.im-cred-item p { font-size: .82rem !important; color: var(--im-mid) !important; line-height: 1.45 !important; margin: 0 !important; }
.im-music-links { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.im-music-link {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: var(--im-cream);
  border: 1px solid var(--im-border);
  color: var(--im-mid);
  font-size: .78rem;
  font-weight: 600;
  padding: 8px 14px;
  border-radius: var(--im-r);
  text-decoration: none;
  transition: all .2s;
}
.im-music-link:hover { border-color: var(--im-gold); color: var(--im-gold); background: var(--im-gold-faint); }
.im-social-grid { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.im-social-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--im-navy);
  color: rgba(255,255,255,.8);
  font-size: .78rem;
  font-weight: 600;
  padding: 10px 18px;
  border-radius: var(--im-r);
  text-decoration: none;
  transition: all .2s;
}
.im-social-btn:hover { background: var(--im-gold); color: var(--im-navy); }

/* ── CONTACT PAGE ────────────────────────────────────────────── */
.im-contact-page { padding: 72px 0 96px; }
.im-contact-grid { display: grid; grid-template-columns: 1fr 1.4fr; gap: 64px; align-items: start; }
.im-contact-info-title {
  font-family: 'Playfair Display',serif !important;
  font-size: 1.8rem !important;
  font-weight: 700 !important;
  color: #fff !important;
  margin-bottom: 12px !important;
}
.im-contact-info-sub { color: rgba(255,255,255,.55) !important; font-size: .95rem !important; line-height: 1.7 !important; margin-bottom: 36px !important; }
.im-contact-detail {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 22px;
  text-decoration: none;
  transition: opacity .2s;
}
.im-contact-detail:hover { opacity: .8; }
.im-contact-icon {
  width: 50px;
  height: 50px;
  border-radius: var(--im-r);
  background: rgba(200,150,12,.1);
  border: 1px solid rgba(200,150,12,.25);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: var(--im-gold);
  transition: background .2s;
}
.im-contact-detail:hover .im-contact-icon { background: rgba(200,150,12,.18); }
.im-contact-icon svg,.im-contact-icon i { width: 22px; height: 22px; color: var(--im-gold); }
.im-contact-label { font-size: .67rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: rgba(255,255,255,.35); display: block; margin-bottom: 2px; }
.im-contact-value { font-size: .95rem; font-weight: 500; color: #fff; }
.im-contact-form-card {
  background: var(--im-white);
  border-radius: var(--im-r-lg);
  padding: 44px;
  box-shadow: var(--im-shadow-xl);
}
.im-response-note {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: .78rem;
  color: var(--im-muted);
  margin-top: 16px;
}
.im-response-note i { color: var(--im-gold); }

/* ── PUBLICATIONS / BLOG LISTING ─────────────────────────────── */
.im-pub-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}
.im-pub-search {
  background: var(--im-white);
  border: 1.5px solid var(--im-border);
  border-radius: var(--im-r);
  padding: 12px 18px;
  font-family: 'Inter',sans-serif;
  font-size: .92rem;
  color: var(--im-dark);
  width: 100%;
  transition: border-color .2s, box-shadow .2s;
}
.im-pub-search:focus {
  outline: none;
  border-color: var(--im-gold);
  box-shadow: 0 0 0 3px rgba(200,150,12,.1);
}

/* ── RESPONSIVE ──────────────────────────────────────────────── */
/* ── RESPONSIVE ──────────────────────────────────────────────── */

/* Tablet (≤1024px) */
@media (max-width: 1024px) {
  .im-bio-grid { grid-template-columns: 1fr; }
  .im-bio-portrait { position: static; }
  .im-contact-grid { grid-template-columns: 1fr; gap: 40px; }
  .im-pub-grid { grid-template-columns: repeat(2,1fr); }
  /* Hero — full width on tablet */
  .section-hero-1 { padding: 64px 0 56px !important; }
  .section-hero-1 .col-lg-6 { width: 100% !important; max-width: 100% !important; }
  /* Portrait hidden on tablet — text fills full width */
  .section-hero-1 > .position-absolute.d-none { display: none !important; }
}

/* Mobile landscape / large phone (≤768px) */
@media (max-width: 768px) {
  .im-cred-grid { grid-template-columns: 1fr; }
  .im-pub-grid { grid-template-columns: 1fr; }
  .im-contact-form-card { padding: 28px 20px; }
  .section-contact-1 .position-relative.z-2 { padding: 28px 20px !important; }

  /* Hero fills full mobile screen width */
  .section-hero-1 {
    padding: 48px 0 48px !important;
    min-height: 0 !important;
  }
  .section-hero-1 h1,
  .section-hero-1 .section-hero-title {
    font-size: clamp(2rem, 8vw, 2.8rem) !important;
    line-height: 1.1 !important;
  }
  .section-hero-1 .text-300 {
    font-size: .95rem !important;
  }

  /* Stats row — 2 per row on mobile */
  .section-hero-1 [style*="display:flex;gap:32px"] {
    gap: 20px !important;
    flex-wrap: wrap !important;
  }

  /* Page hero banner */
  .im-page-hero { padding: 48px 0 40px !important; }
  .im-page-hero__title { font-size: 1.8rem !important; }
  .im-page-hero__sub { font-size: 1rem !important; }

  /* Section padding tighter on mobile */
  section[style*="padding:96px 0"],
  section[style*="padding:80px 0"] { padding: 56px 0 !important; }

  /* Biography two-col → single col on mobile */
  .row.g-5 > .col-lg-4,
  .row.g-5 > .col-lg-8 {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
  }

  /* Cards — single column on mobile */
  .row-cols-md-2.row-cols-lg-3 > *,
  .row-cols-md-2.row-cols-lg-4 > * {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* Mobile portrait (≤480px) */
@media (max-width: 480px) {
  .section-hero-1 h1,
  .section-hero-1 .section-hero-title {
    font-size: clamp(1.85rem, 7.5vw, 2.4rem) !important;
  }
  .im-page-hero__title { font-size: 1.6rem !important; }

  /* Buttons — stack on very small screens */
  .section-hero-1 [style*="display:flex;flex-wrap:wrap;gap:12px"] {
    flex-direction: column !important;
    gap: 10px !important;
  }
  .section-hero-1 .btn {
    width: 100% !important;
    justify-content: center !important;
  }

  /* Cert grid single column */
  .im-cred-grid { grid-template-columns: 1fr !important; }

  /* Navbar brand text size */
  .navbar .site-name-text { font-size: .95rem !important; }

  /* Contact form card padding */
  .im-contact-form-card { padding: 22px 16px !important; }
}

/* ── SCROLL REVEAL ── */
.im-reveal { opacity: 0; transform: translateY(22px); transition: opacity .55s ease, transform .55s ease; }
.im-visible { opacity: 1 !important; transform: translateY(0) !important; }


/* ── BOTBLE ADMIN BAR OFFSET ──────────────────────────────────
   When logged into Botble, the admin bar sits at top:0 fixed.
   Detect it and push the site header + body padding accordingly.
   ─────────────────────────────────────────────────────────── */
#cms-admin-bar {
  position: fixed !important;
  top: 0 !important;
  z-index: 9999 !important;
}
body:has(#cms-admin-bar) .im-site-header {
  top: 32px !important;
}
body:has(#cms-admin-bar) {
  padding-top: calc(72px + 32px) !important;
}
@media (max-width: 991.98px) {
  body:has(#cms-admin-bar) {
    padding-top: calc(64px + 32px) !important;
  }
}
@media (max-width: 575.98px) {
  body:has(#cms-admin-bar) {
    padding-top: calc(60px + 32px) !important;
  }
}
