/* ================================================================
   PITCH THEME OVERRIDE FOR ISD.WEB.IN
   Primary: #1D4ED8 (Royal Blue)
   Secondary: #fb4d3d (Coral)
   Tertiary: #dffd0a (Lime)
   Quaternary: #03cea4 (Teal)
   ================================================================ */

/* --- CSS Variables --- */
:root {
  --pitch-primary: #1D4ED8;
  --pitch-primary-hover: #3B6FF0;
  --pitch-primary-active: #1540B0;
  --pitch-secondary: #fb4d3d;
  --pitch-secondary-hover: #d32515;
  --pitch-tertiary: #dffd0a;
  --pitch-quaternary: #03cea4;
  --pitch-black: #000;
  --pitch-dark: #111;
  --pitch-dark-card: #151515;
  --pitch-text: #1e2120;
  --pitch-text-light: #676767;
  --pitch-text-muted: #a9a9a9;
  --pitch-border: #eeeeee;
  --pitch-white: #fff;
  --pitch-bg-alt: #f9f9f9;
  --pitch-radius: 8px;
  --pitch-radius-pill: 100px;
  --pitch-transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  --pitch-font: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, sans-serif;
}

/* --- Selection --- */
::selection {
  background: var(--pitch-primary) !important;
  color: var(--pitch-white);
}
::-moz-selection {
  background: var(--pitch-primary) !important;
  color: var(--pitch-white);
}

/* ================================================================
   TYPOGRAPHY
   ================================================================ */
body {
  font-family: var(--pitch-font) !important;
  font-size: clamp(16px, calc(14px + 0.3vw), 19px) !important;
  letter-spacing: -0.02em;
  line-height: 1.5 !important;
  color: var(--pitch-text) !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: var(--pitch-font) !important;
  color: var(--pitch-black) !important;
  font-weight: 700 !important;
  line-height: 1.05 !important;
}

h1, .h1 {
  font-size: clamp(38px, calc(-10px + 8vw), 90px) !important;
  letter-spacing: -0.05em !important;
}

h2, .h2 {
  font-size: clamp(32px, calc(-5px + 5.5vw), 64px) !important;
  letter-spacing: -0.05em !important;
}

h3, .h3 {
  font-size: clamp(26px, calc(10px + 2.5vw), 48px) !important;
  letter-spacing: -0.04em !important;
}

h4, .h4 {
  font-size: clamp(22px, calc(12px + 1.5vw), 36px) !important;
  letter-spacing: -0.04em !important;
}

h5, .h5 {
  font-size: clamp(18px, calc(14px + 0.8vw), 28px) !important;
  letter-spacing: -0.03em !important;
}

h6, .h6 {
  font-size: clamp(16px, calc(12px + 0.6vw), 24px) !important;
  letter-spacing: -0.03em !important;
}

p {
  font-family: var(--pitch-font) !important;
  letter-spacing: -0.02em;
  line-height: 1.6;
}

/* ================================================================
   LINKS & COLORS
   ================================================================ */
a,
a:focus:not(.btn) {
  color: var(--pitch-primary) !important;
  transition: var(--pitch-transition);
}

a:hover {
  color: var(--pitch-primary-hover) !important;
  text-decoration: none !important;
}

/* Theme color overrides */
h1 > span, h2 > span, h3 > span, h4 > span, h5 > span, h6 > span,
section span.theme-color,
section em.theme-color,
section i.theme-color,
section b.theme-color,
section div.theme-color,
section p.theme-color {
  color: var(--pitch-primary) !important;
}

/* ================================================================
   HEADER / NAVIGATION
   ================================================================ */
#header {
  background-color: var(--pitch-white) !important;
  border-bottom: 1px solid var(--pitch-border) !important;
  transition: var(--pitch-transition);
}

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

#header.sticky.fixed {
  background-color: rgba(255,255,255,0.97) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--pitch-border) !important;
  box-shadow: 0 1px 20px rgba(0,0,0,0.06);
}

#header.transparent.fixed {
  background-color: rgba(255,255,255,0.97) !important;
}

#topNav {
  padding: 8px 0;
}

/* Nav links */
#topMain.nav-pills > li > a {
  font-family: var(--pitch-font) !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  letter-spacing: -0.02em !important;
  color: var(--pitch-black) !important;
  padding: 10px 16px !important;
  border-radius: var(--pitch-radius-pill) !important;
  transition: var(--pitch-transition);
  text-transform: none !important;
}

#topMain.nav-pills > li > a:hover {
  color: var(--pitch-primary) !important;
  background: rgba(29, 78, 216, 0.06) !important;
}

#topMain.nav-pills > li.active > a,
#topMain.nav-pills > li.active > a:hover,
#topMain.nav-pills > li.active > a:focus {
  color: var(--pitch-primary) !important;
  background: rgba(29, 78, 216, 0.08) !important;
}

/* Transparent header text */
#header.transparent #topMain.nav-pills > li > a {
  color: var(--pitch-white) !important;
}

#header.transparent #topMain.nav-pills > li > a:hover {
  color: var(--pitch-white) !important;
  background: rgba(255,255,255,0.12) !important;
}

#header.transparent #topMain.nav-pills > li.active > a {
  color: var(--pitch-white) !important;
  background: rgba(255,255,255,0.15) !important;
}

/* Fixed header overrides transparent */
#header.transparent.fixed #topMain.nav-pills > li > a {
  color: var(--pitch-black) !important;
}

#header.transparent.fixed #topMain.nav-pills > li > a:hover {
  color: var(--pitch-primary) !important;
  background: rgba(29, 78, 216, 0.06) !important;
}

#header.transparent.fixed #topMain.nav-pills > li.active > a {
  color: var(--pitch-primary) !important;
  background: rgba(29, 78, 216, 0.08) !important;
}

/* Dropdown menus */
#topMain .dropdown-menu {
  background: var(--pitch-white) !important;
  border: 1px solid var(--pitch-border) !important;
  border-radius: var(--pitch-radius) !important;
  box-shadow: 0 12px 40px rgba(0,0,0,0.1) !important;
  padding: 8px 0 !important;
  margin-top: 4px !important;
}

#topMain .dropdown-menu > li > a {
  font-family: var(--pitch-font) !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  color: var(--pitch-text) !important;
  padding: 10px 20px !important;
  letter-spacing: -0.02em !important;
  transition: var(--pitch-transition);
  border-radius: 0 !important;
}

#topMain .dropdown-menu > li > a:hover,
#topMain .dropdown-menu > li > a:focus {
  color: var(--pitch-primary) !important;
  background: rgba(29, 78, 216, 0.05) !important;
}

#topMain .dropdown-menu > li.active > a {
  color: var(--pitch-primary) !important;
  background: rgba(29, 78, 216, 0.08) !important;
}

/* Mobile menu button */
.btn-mobile {
  border: 2px solid var(--pitch-border) !important;
  border-radius: var(--pitch-radius) !important;
  transition: var(--pitch-transition);
}

.btn-mobile:hover {
  border-color: var(--pitch-primary) !important;
  color: var(--pitch-primary) !important;
}

#header.transparent .btn-mobile {
  border-color: rgba(255,255,255,0.3) !important;
  color: var(--pitch-white) !important;
}

/* ================================================================
   BUTTONS
   ================================================================ */
.btn,
button[type="submit"],
input[type="submit"] {
  font-family: var(--pitch-font) !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
  border-radius: var(--pitch-radius-pill) !important;
  transition: var(--pitch-transition);
  text-transform: none !important;
}

.btn-primary,
.btn-default.btn-primary,
a.btn-primary {
  background-color: var(--pitch-primary) !important;
  border: 2px solid var(--pitch-primary) !important;
  color: var(--pitch-white) !important;
  padding: 12px 32px !important;
  font-size: 16px !important;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
a.btn-primary:hover {
  background-color: var(--pitch-primary-hover) !important;
  border-color: var(--pitch-primary-hover) !important;
  color: var(--pitch-white) !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(29, 78, 216, 0.3) !important;
}

.btn-default {
  background-color: transparent !important;
  border: 2px solid var(--pitch-border) !important;
  color: var(--pitch-text) !important;
  padding: 12px 32px !important;
  font-size: 16px !important;
}

.btn-default:hover,
.btn-default:focus {
  border-color: var(--pitch-primary) !important;
  color: var(--pitch-primary) !important;
  background-color: rgba(29, 78, 216, 0.04) !important;
  transform: translateY(-2px);
}

/* Coral/Secondary button */
.btn-danger,
.btn-secondary-coral {
  background-color: var(--pitch-secondary) !important;
  border: 2px solid var(--pitch-secondary) !important;
  color: var(--pitch-white) !important;
  border-radius: var(--pitch-radius-pill) !important;
}

.btn-danger:hover,
.btn-secondary-coral:hover {
  background-color: var(--pitch-secondary-hover) !important;
  border-color: var(--pitch-secondary-hover) !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(251, 77, 61, 0.3) !important;
}

/* Teal button */
.btn-success {
  background-color: var(--pitch-quaternary) !important;
  border: 2px solid var(--pitch-quaternary) !important;
  border-radius: var(--pitch-radius-pill) !important;
}

.btn-success:hover {
  background-color: #00a67c !important;
  border-color: #00a67c !important;
  transform: translateY(-2px);
}

/* 3D button override */
.btn-3d {
  box-shadow: none !important;
  border-radius: var(--pitch-radius-pill) !important;
}

.btn-3d:hover {
  transform: translateY(-2px) !important;
}

/* ================================================================
   HERO / SLIDER SECTION
   ================================================================ */
#slider,
section.fullheight,
.pitch-hero {
  position: relative;
}

#slider .overlay,
.fullheight .overlay {
  background: linear-gradient(145deg, rgba(0,0,0,0.65) 0%, rgba(0,0,0,0.3) 100%) !important;
}

#slider h1,
.fullheight h1,
.pitch-hero h1 {
  font-size: clamp(36px, calc(-10px + 8vw), 80px) !important;
  letter-spacing: -0.05em !important;
  font-weight: 700 !important;
  color: var(--pitch-white) !important;
  text-shadow: none !important;
}

#slider h1 small,
.fullheight h1 small {
  font-size: clamp(16px, calc(10px + 1vw), 24px) !important;
  font-weight: 400 !important;
  letter-spacing: -0.02em !important;
  opacity: 0.85;
  color: var(--pitch-white) !important;
}

#slider .btn,
.fullheight .btn {
  margin-top: 20px;
}

/* Rotating tagline text */
.rotate-tagline,
.rotate-tagline .rotate {
  font-family: var(--pitch-font) !important;
  letter-spacing: -0.02em !important;
  font-size: clamp(14px, calc(10px + 0.6vw), 20px) !important;
  font-weight: 400 !important;
  opacity: 0.7;
}

/* ================================================================
   PAGE HEADERS
   ================================================================ */
section.page-header,
.page-header {
  background-color: var(--pitch-black) !important;
  padding: clamp(60px, 8vw, 120px) 0 !important;
  border: none !important;
  margin: 0 !important;
}

section.page-header h1,
.page-header h1 {
  color: var(--pitch-white) !important;
  font-size: clamp(36px, calc(10px + 5vw), 72px) !important;
  margin-bottom: 0 !important;
}

section.page-header p,
.page-header p {
  color: rgba(255,255,255,0.7) !important;
  font-size: clamp(16px, calc(12px + 0.5vw), 20px) !important;
}

/* Breadcrumbs */
.breadcrumb {
  background: transparent !important;
  padding: 0 !important;
  margin-top: 16px !important;
}

.breadcrumb > li,
.breadcrumb > li > a {
  color: rgba(255,255,255,0.6) !important;
  font-size: 14px !important;
}

.breadcrumb > li > a:hover {
  color: var(--pitch-white) !important;
}

.breadcrumb > .active {
  color: rgba(255,255,255,0.8) !important;
}

/* ================================================================
   CONTENT SECTIONS
   ================================================================ */
section,
.pitch-section {
  padding: clamp(50px, 6vw, 100px) 0 !important;
}

section:nth-child(even) {
  background-color: var(--pitch-bg-alt);
}

/* Container */
.container {
  max-width: 1400px;
}

/* ================================================================
   SERVICE / ICON BOXES
   ================================================================ */
.box-icon,
.icon-box,
[class*="box-icon"] {
  background: var(--pitch-white) !important;
  border: 1px solid var(--pitch-border) !important;
  border-radius: var(--pitch-radius) !important;
  padding: clamp(24px, 3vw, 40px) !important;
  transition: var(--pitch-transition);
  position: relative;
  overflow: hidden;
}

.box-icon:hover,
.icon-box:hover,
[class*="box-icon"]:hover {
  border-color: var(--pitch-primary) !important;
  transform: translateY(-6px);
  box-shadow: 0 16px 48px rgba(29, 78, 216, 0.12) !important;
}

.box-icon i,
.icon-box i,
[class*="box-icon"] i {
  color: var(--pitch-primary) !important;
  transition: var(--pitch-transition);
}

.box-icon:hover i,
.icon-box:hover i {
  transform: scale(1.1);
}

.box-icon h2,
.box-icon h3,
.box-icon h4,
.icon-box h2,
.icon-box h3,
.icon-box h4 {
  font-size: clamp(18px, calc(14px + 0.6vw), 24px) !important;
  margin-top: 16px !important;
}

/* Side icon box */
.box-icon-side .box-icon-title {
  font-size: clamp(18px, calc(14px + 0.5vw), 22px) !important;
  font-weight: 700 !important;
  letter-spacing: -0.03em !important;
}

/* ================================================================
   CARDS / PANELS
   ================================================================ */
.panel {
  border: 1px solid var(--pitch-border) !important;
  border-radius: var(--pitch-radius) !important;
  box-shadow: none !important;
  transition: var(--pitch-transition);
  overflow: hidden;
}

.panel:hover {
  box-shadow: 0 8px 30px rgba(0,0,0,0.06) !important;
}

.panel-heading {
  background-color: var(--pitch-white) !important;
  border-bottom: 1px solid var(--pitch-border) !important;
  border-radius: var(--pitch-radius) var(--pitch-radius) 0 0 !important;
  padding: 16px 20px !important;
}

.panel-title {
  font-size: 18px !important;
  font-weight: 600 !important;
  letter-spacing: -0.02em !important;
}

.panel-title a {
  color: var(--pitch-text) !important;
}

.panel-title a:hover,
.panel-title a[aria-expanded="true"] {
  color: var(--pitch-primary) !important;
}

.panel-body {
  padding: 20px !important;
}

/* ================================================================
   FAQ / ACCORDION
   ================================================================ */
.toggle {
  border: 1px solid var(--pitch-border) !important;
  border-radius: var(--pitch-radius) !important;
  margin-bottom: 12px !important;
  overflow: hidden;
  transition: var(--pitch-transition);
}

.toggle:hover {
  border-color: rgba(29, 78, 216, 0.3) !important;
}

.toggle.active {
  border-color: var(--pitch-primary) !important;
}

.toggle > .toggle-title {
  font-family: var(--pitch-font) !important;
  font-weight: 600 !important;
  letter-spacing: -0.02em !important;
  padding: 16px 20px !important;
  background: var(--pitch-white) !important;
  transition: var(--pitch-transition);
}

.toggle.active > .toggle-title {
  color: var(--pitch-primary) !important;
  background: rgba(29, 78, 216, 0.04) !important;
}

.toggle > .toggle-content {
  padding: 0 20px 20px !important;
}

/* Panel group accordion */
.panel-group .panel {
  margin-bottom: 8px !important;
  border-radius: var(--pitch-radius) !important;
}

.panel-group .panel + .panel {
  margin-top: 8px !important;
}

.panel-group .panel-heading + .panel-collapse > .panel-body {
  border-top: 1px solid var(--pitch-border) !important;
}

/* ================================================================
   FORMS
   ================================================================ */
.form-control {
  font-family: var(--pitch-font) !important;
  border: none !important;
  border-bottom: 2px solid #ccc !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 10px 0 !important;
  font-size: 16px !important;
  letter-spacing: -0.02em !important;
  color: var(--pitch-black) !important;
  background: transparent !important;
  height: auto !important;
  transition: var(--pitch-transition);
}

.form-control:focus {
  border-color: var(--pitch-primary) !important;
  box-shadow: none !important;
  outline: none !important;
}

.form-control::placeholder {
  color: var(--pitch-text-muted) !important;
  letter-spacing: -0.02em;
}

textarea.form-control {
  min-height: 120px;
  resize: vertical;
}

label {
  font-family: var(--pitch-font) !important;
  font-weight: 500 !important;
  color: var(--pitch-text-light) !important;
  letter-spacing: -0.02em;
  font-size: 14px !important;
  margin-bottom: 4px !important;
}

/* Input group (callback form) */
.input-group {
  border-radius: var(--pitch-radius-pill) !important;
  overflow: visible;
}

.input-group .form-control {
  border: 2px solid var(--pitch-border) !important;
  border-radius: var(--pitch-radius-pill) 0 0 var(--pitch-radius-pill) !important;
  padding: 10px 20px !important;
  background: var(--pitch-white) !important;
}

.input-group .form-control:focus {
  border-color: var(--pitch-primary) !important;
}

.input-group-addon {
  background: var(--pitch-white) !important;
  border: 2px solid var(--pitch-border) !important;
  border-right: none !important;
  border-radius: var(--pitch-radius-pill) 0 0 var(--pitch-radius-pill) !important;
  color: var(--pitch-text-light) !important;
}

.input-group-btn .btn {
  border-radius: 0 var(--pitch-radius-pill) var(--pitch-radius-pill) 0 !important;
  padding: 10px 24px !important;
}

/* ================================================================
   FOOTER
   ================================================================ */
#footer,
footer.pitch-footer {
  background-color: var(--pitch-secondary) !important;
  color: var(--pitch-black) !important;
  padding: clamp(50px, 6vw, 90px) 0 30px !important;
  border-radius: 20px 20px 0 0;
  position: relative;
}

#footer h4,
#footer .letter-spacing-1 {
  font-family: var(--pitch-font) !important;
  color: var(--pitch-black) !important;
  font-weight: 700 !important;
  font-size: clamp(20px, calc(16px + 0.5vw), 26px) !important;
  letter-spacing: -0.03em !important;
  margin-bottom: 20px !important;
}

#footer a,
#footer a:focus:not(.btn) {
  color: var(--pitch-black) !important;
  transition: var(--pitch-transition);
}

#footer a:hover {
  color: rgba(255,255,255,0.85) !important;
}

#footer p,
#footer li,
#footer span {
  color: var(--pitch-black) !important;
  font-family: var(--pitch-font) !important;
}

#footer ul.footer-links li,
#footer ul.footer-posts li {
  padding: 6px 0 !important;
  border-bottom: 1px solid rgba(0,0,0,0.1) !important;
}

#footer ul.footer-links li:last-child,
#footer ul.footer-posts li:last-child {
  border-bottom: none !important;
}

/* Social icons in footer */
#footer .social-icon {
  border: 2px solid rgba(0,0,0,0.2) !important;
  border-radius: 50% !important;
  width: 40px !important;
  height: 40px !important;
  line-height: 36px !important;
  text-align: center !important;
  transition: var(--pitch-transition);
  background: transparent !important;
}

#footer .social-icon:hover {
  background: var(--pitch-black) !important;
  border-color: var(--pitch-black) !important;
  color: var(--pitch-secondary) !important;
}

#footer .social-icon i {
  color: var(--pitch-black) !important;
}

#footer .social-icon:hover i {
  color: var(--pitch-secondary) !important;
}

/* Footer callback form */
#footer .input-group .form-control {
  border-color: rgba(0,0,0,0.2) !important;
  background: rgba(255,255,255,0.15) !important;
  color: var(--pitch-black) !important;
}

#footer .input-group .form-control::placeholder {
  color: rgba(0,0,0,0.5) !important;
}

#footer .input-group .form-control:focus {
  border-color: var(--pitch-black) !important;
  background: rgba(255,255,255,0.25) !important;
}

#footer .input-group-addon {
  background: rgba(255,255,255,0.15) !important;
  border-color: rgba(0,0,0,0.2) !important;
  color: var(--pitch-black) !important;
}

#footer .input-group-btn .btn {
  background: var(--pitch-black) !important;
  border-color: var(--pitch-black) !important;
  color: var(--pitch-secondary) !important;
  font-weight: 700 !important;
}

#footer .input-group-btn .btn:hover {
  background: var(--pitch-dark) !important;
  transform: none;
  box-shadow: none !important;
}

/* Copyright bar */
#footer .copyright {
  background: rgba(0,0,0,0.1) !important;
  color: var(--pitch-black) !important;
  padding: 16px 0 !important;
  margin-top: 40px !important;
  font-size: 14px !important;
  border-top: 1px solid rgba(0,0,0,0.1) !important;
}

#footer .copyright a {
  color: var(--pitch-black) !important;
}

#footer .copyright a:hover {
  color: var(--pitch-white) !important;
}

/* ================================================================
   BACK TO TOP
   ================================================================ */
#toTop {
  background: var(--pitch-primary) !important;
  border-radius: var(--pitch-radius) !important;
  transition: var(--pitch-transition);
}

#toTop:hover {
  background: var(--pitch-primary-hover) !important;
  transform: translateY(-3px);
}

/* ================================================================
   PRELOADER
   ================================================================ */
#preloader .loader {
  border-color: var(--pitch-primary) !important;
}

/* ================================================================
   UTILITIES & OVERRIDES
   ================================================================ */

/* Badge/label */
.badge,
.label {
  border-radius: var(--pitch-radius-pill) !important;
  font-family: var(--pitch-font) !important;
  font-weight: 600 !important;
  letter-spacing: -0.01em !important;
}

.label-primary,
.badge-primary {
  background: var(--pitch-primary) !important;
}

/* Alerts */
.alert {
  border-radius: var(--pitch-radius) !important;
  font-family: var(--pitch-font) !important;
  border: none !important;
}

.alert-success {
  background-color: rgba(3, 206, 164, 0.12) !important;
  color: #00805f !important;
}

.alert-danger {
  background-color: rgba(251, 77, 61, 0.12) !important;
  color: #b91c1c !important;
}

.alert-warning {
  background-color: rgba(223, 253, 10, 0.15) !important;
  color: #856d00 !important;
}

.alert-info {
  background-color: rgba(29, 78, 216, 0.08) !important;
  color: var(--pitch-primary) !important;
}

/* Text warning (callback form success msg) */
.text-warning {
  color: var(--pitch-black) !important;
  font-weight: 600 !important;
}

/* Well */
.well {
  background: var(--pitch-bg-alt) !important;
  border: 1px solid var(--pitch-border) !important;
  border-radius: var(--pitch-radius) !important;
  box-shadow: none !important;
}

/* Mark / highlight */
mark {
  background-image: linear-gradient(120deg, var(--pitch-primary), var(--pitch-primary)) !important;
  background-repeat: no-repeat;
  background-size: 100% 0.3em;
  background-position: 0 88%;
  padding: 0 4px !important;
}

/* Dividers / HR */
hr {
  border-color: var(--pitch-border) !important;
}

.divider {
  border-color: var(--pitch-border) !important;
}

.divider i {
  color: var(--pitch-primary) !important;
}

/* ================================================================
   TABLES
   ================================================================ */
.table > thead > tr > th {
  background: var(--pitch-primary) !important;
  color: var(--pitch-white) !important;
  font-family: var(--pitch-font) !important;
  font-weight: 600 !important;
  letter-spacing: -0.02em !important;
  border: none !important;
}

.table > tbody > tr > td {
  border-color: var(--pitch-border) !important;
}

.table-striped > tbody > tr:nth-of-type(odd) {
  background-color: var(--pitch-bg-alt) !important;
}

/* ================================================================
   TABS & NAV PILLS
   ================================================================ */
.nav-tabs > li > a {
  font-family: var(--pitch-font) !important;
  font-weight: 600 !important;
  letter-spacing: -0.02em !important;
  border-radius: var(--pitch-radius) var(--pitch-radius) 0 0 !important;
}

.nav-tabs > li.active > a,
.nav-tabs > li.active > a:hover {
  color: var(--pitch-primary) !important;
  border-bottom-color: var(--pitch-primary) !important;
}

/* ================================================================
   PROGRESS BARS
   ================================================================ */
.progress {
  border-radius: var(--pitch-radius-pill) !important;
  background: var(--pitch-bg-alt) !important;
  overflow: hidden;
}

.progress-bar {
  background: var(--pitch-primary) !important;
  border-radius: var(--pitch-radius-pill) !important;
}

/* ================================================================
   PRICING BOXES / DOMAIN PACKAGES
   ================================================================ */
.pricing-box,
.pricing-table,
[class*="pricing"] {
  border: 1px solid var(--pitch-border) !important;
  border-radius: var(--pitch-radius) !important;
  transition: var(--pitch-transition);
  overflow: hidden;
}

.pricing-box:hover,
[class*="pricing"]:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 48px rgba(0,0,0,0.1) !important;
}

/* ================================================================
   IMAGES & FIGURES
   ================================================================ */
.img-rounded,
figure img {
  border-radius: var(--pitch-radius) !important;
}

figure.zoom > a.lightbox:hover {
  color: var(--pitch-primary) !important;
}

/* ================================================================
   DARK SECTIONS
   ================================================================ */
section.dark {
  background-color: var(--pitch-black) !important;
}

section.dark h1,
section.dark h2,
section.dark h3,
section.dark h4,
section.dark h5,
section.dark h6 {
  color: var(--pitch-white) !important;
}

section.dark p,
section.dark li {
  color: rgba(255,255,255,0.75) !important;
}

section.dark a {
  color: var(--pitch-primary-hover) !important;
}

/* ================================================================
   SIDEPANEL
   ================================================================ */
#sidepanel {
  background: var(--pitch-white) !important;
}

#sidepanel ul li a:hover {
  color: var(--pitch-primary) !important;
}

/* ================================================================
   PAGE MENU
   ================================================================ */
#page-menu ul > li:hover > a > i,
#page-menu ul > li.active > a > i {
  color: var(--pitch-primary) !important;
}

/* ================================================================
   OWL CAROUSEL
   ================================================================ */
.owl-carousel .owl-dot.active span,
.owl-carousel .owl-dot:hover span {
  background: var(--pitch-primary) !important;
}

.owl-carousel .owl-nav [class*="owl-"]:hover {
  background: var(--pitch-primary) !important;
  color: var(--pitch-white) !important;
}

/* ================================================================
   PAGINATION
   ================================================================ */
.pagination > li > a,
.pagination > li > span {
  color: var(--pitch-primary) !important;
  border-radius: var(--pitch-radius) !important;
  border-color: var(--pitch-border) !important;
  font-family: var(--pitch-font) !important;
}

.pagination > li > a:hover {
  background: var(--pitch-primary) !important;
  color: var(--pitch-white) !important;
  border-color: var(--pitch-primary) !important;
}

.pagination > .active > a {
  background: var(--pitch-primary) !important;
  border-color: var(--pitch-primary) !important;
  color: var(--pitch-white) !important;
}

/* ================================================================
   SLIDE TOP
   ================================================================ */
#slidetop {
  background: var(--pitch-dark) !important;
}

#slidetop a:hover {
  color: var(--pitch-primary) !important;
}

/* ================================================================
   SCROLL ANIMATION ENHANCEMENTS
   ================================================================ */
.fadeInUp,
.fadeInLeftBig,
.fadeInRightBig,
.fadeIn {
  animation-duration: 0.6s !important;
  animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* ================================================================
   RESPONSIVE OVERRIDES
   ================================================================ */
@media (max-width: 767px) {
  h1, .h1 {
    font-size: clamp(30px, calc(20px + 4vw), 42px) !important;
  }

  h2, .h2 {
    font-size: clamp(26px, calc(18px + 3vw), 36px) !important;
  }

  h3, .h3 {
    font-size: clamp(22px, calc(16px + 2vw), 30px) !important;
  }

  h4, .h4 {
    font-size: clamp(18px, calc(14px + 1.5vw), 24px) !important;
  }

  section,
  .pitch-section {
    padding: 50px 0 !important;
  }

  section.page-header,
  .page-header {
    padding: 60px 0 !important;
  }

  #footer {
    border-radius: 12px 12px 0 0;
    padding: 40px 0 20px !important;
  }

  .box-icon,
  .icon-box,
  [class*="box-icon"] {
    margin-bottom: 20px !important;
  }

  /* Mobile nav */
  .nav-main-collapse {
    background: var(--pitch-white) !important;
    border-radius: 0 0 var(--pitch-radius) var(--pitch-radius) !important;
    box-shadow: 0 12px 40px rgba(0,0,0,0.1) !important;
  }

  #topMain.nav-pills > li > a {
    font-size: 15px !important;
    padding: 12px 16px !important;
    border-radius: 0 !important;
    color: var(--pitch-black) !important;
  }

  #header.transparent #topMain.nav-pills > li > a {
    color: var(--pitch-black) !important;
  }

  #topMain .dropdown-menu {
    box-shadow: none !important;
    border: none !important;
    padding-left: 16px !important;
  }

  /* Hero mobile */
  #slider h1,
  .fullheight h1 {
    font-size: clamp(28px, calc(16px + 5vw), 42px) !important;
  }
}

@media (min-width: 768px) and (max-width: 1139px) {
  section,
  .pitch-section {
    padding: clamp(50px, 6vw, 80px) 0 !important;
  }

  .container {
    max-width: 100%;
    padding: 0 20px;
  }
}

@media (min-width: 1140px) {
  .container {
    max-width: 1400px;
  }
}

/* ================================================================
   SMOOTH SCROLL BEHAVIOR
   ================================================================ */
html {
  scroll-behavior: smooth;
}

/* ================================================================
   CUSTOM FONT OVERRIDES
   ================================================================ */
.title-font {
  font-family: var(--pitch-font) !important;
  color: var(--pitch-text-light) !important;
}

.font-lato {
  font-family: var(--pitch-font) !important;
}

/* Letter spacing utility retained */
.letter-spacing-1 {
  letter-spacing: -0.03em !important;
}

/* ================================================================
   ADDITIONAL OVERRIDES — btn-dirtygreen, btn-reveal, etc.
   ================================================================ */

/* Override theme-specific button colors from essentials.css */
.btn-dirtygreen,
.btn-dirtygreen:focus,
a.btn-dirtygreen,
.btn-reveal.btn-dirtygreen,
.btn-3d.btn-dirtygreen {
  background-color: var(--pitch-primary) !important;
  border-color: var(--pitch-primary) !important;
  color: var(--pitch-white) !important;
  border-radius: var(--pitch-radius-pill) !important;
  box-shadow: none !important;
  font-family: var(--pitch-font) !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  letter-spacing: -0.02em !important;
  padding: 12px 32px !important;
  text-transform: none !important;
  transition: var(--pitch-transition);
}

.btn-dirtygreen:hover,
.btn-dirtygreen:active,
a.btn-dirtygreen:hover,
.btn-reveal.btn-dirtygreen:hover,
.btn-3d.btn-dirtygreen:hover {
  background-color: var(--pitch-primary-hover) !important;
  border-color: var(--pitch-primary-hover) !important;
  color: var(--pitch-white) !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(29, 78, 216, 0.3) !important;
}

/* Override other theme button colors */
.btn-red, .btn-blue, .btn-green, .btn-yellow, .btn-orange,
.btn-brown, .btn-purple, .btn-pink, .btn-teal,
.btn-lightgray, .btn-darkgray {
  border-radius: var(--pitch-radius-pill) !important;
  box-shadow: none !important;
  font-family: var(--pitch-font) !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
  text-transform: none !important;
  transition: var(--pitch-transition);
}

/* btn-reveal icon hide — cleaner look */
.btn-reveal i {
  display: none !important;
}

.btn-reveal span {
  padding: 0 !important;
}

/* ================================================================
   FIX: Footer higher specificity for inline critical CSS override
   ================================================================ */
html body footer#footer,
html body footer#footer.pitch-footer,
body #wrapper footer#footer {
  background-color: #fb4d3d !important;
  color: #000 !important;
}

html body footer#footer .copyright,
body #wrapper footer#footer .copyright {
  background-color: rgba(0,0,0,0.15) !important;
  color: #000 !important;
}

/* ================================================================
   FIX: Nav transparent state — ensure white text on dark hero
   ================================================================ */
#header.transparent:not(.fixed) #topMain.nav-pills > li > a {
  color: rgba(255,255,255,0.9) !important;
}

#header.transparent:not(.fixed) #topMain.nav-pills > li > a:hover {
  color: #fff !important;
  background: rgba(255,255,255,0.12) !important;
}

#header.transparent:not(.fixed) #topMain.nav-pills > li.active > a {
  color: #fff !important;
  background: rgba(255,255,255,0.18) !important;
}

/* Fix submenu-dark dropdown text */
#header.transparent .submenu-dark .dropdown-menu > li > a {
  color: var(--pitch-text) !important;
}

#header.transparent .submenu-dark .dropdown-menu > li > a:hover {
  color: var(--pitch-primary) !important;
}

/* ================================================================
   PITCH UI COMPONENTS
   ================================================================ */

/* --- Hero Enhancements --- */
.pitch-hero__tagline {
  display: inline-block;
  font-family: var(--pitch-font) !important;
  font-size: 14px !important;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--pitch-tertiary) !important;
  background: rgba(223, 253, 10, 0.15);
  padding: 8px 20px;
  border-radius: var(--pitch-radius-pill);
  margin-bottom: 24px;
}

.pitch-hero__cta {
  margin-top: 40px;
  display: flex;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap;
}

.btn-outline-light {
  background: transparent !important;
  border: 2px solid rgba(255,255,255,0.5) !important;
  color: #fff !important;
  padding: 12px 32px !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  border-radius: var(--pitch-radius-pill) !important;
  font-family: var(--pitch-font) !important;
  letter-spacing: -0.02em !important;
  transition: var(--pitch-transition);
}

.btn-outline-light:hover {
  background: rgba(255,255,255,0.12) !important;
  border-color: #fff !important;
  color: #fff !important;
  transform: translateY(-2px);
}

/* --- Scrolling Marquee --- */
.pitch-marquee {
  background: var(--pitch-black) !important;
  color: var(--pitch-white) !important;
  padding: 18px 0 !important;
  overflow: hidden;
  white-space: nowrap;
  border: none !important;
}

.pitch-marquee__track {
  display: inline-flex;
  animation: marqueeScroll 25s linear infinite;
  gap: 0;
  font-family: var(--pitch-font) !important;
  font-size: clamp(16px, calc(12px + 0.5vw), 20px);
  font-weight: 600;
  letter-spacing: -0.02em;
}

.pitch-marquee__track span {
  padding: 0 20px;
  flex-shrink: 0;
}

.pitch-marquee__sep {
  color: var(--pitch-secondary) !important;
  font-size: 1.2em;
}

@keyframes marqueeScroll {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* --- Section Variants --- */
.pitch-section--dark {
  background: var(--pitch-black) !important;
  color: var(--pitch-white) !important;
}

.pitch-section--dark h2,
.pitch-section--dark h3,
.pitch-section--dark h4 {
  color: var(--pitch-white) !important;
}

.pitch-section--dark p {
  color: rgba(255,255,255,0.7) !important;
}

.pitch-section--alt {
  background: var(--pitch-bg-alt) !important;
}

/* --- Label / Eyebrow --- */
.pitch-label {
  display: inline-block;
  font-family: var(--pitch-font) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase;
  color: var(--pitch-primary) !important;
  margin-bottom: 12px !important;
}

.pitch-section--dark .pitch-label {
  color: var(--pitch-quaternary) !important;
}

.pitch-subtitle {
  font-size: clamp(16px, calc(14px + 0.3vw), 20px) !important;
  color: var(--pitch-text-light) !important;
  max-width: 600px;
  margin: 12px auto 0;
}

/* --- Dark Service Cards (Pitch Animated Card Style) --- */
.pitch-cards-grid {
  display: flex;
  flex-wrap: wrap;
}

.pitch-cards-grid > [class*="col-"] {
  display: flex;
  padding-bottom: 24px;
}

.pitch-card {
  display: flex;
  flex-direction: column;
  background: var(--pitch-dark-card) !important;
  border-radius: var(--pitch-radius) !important;
  padding: clamp(24px, 3vw, 40px) !important;
  color: var(--pitch-white) !important;
  text-decoration: none !important;
  transition: var(--pitch-transition);
  position: relative;
  overflow: hidden;
  width: 100%;
  border: 1px solid rgba(255,255,255,0.06);
}

.pitch-card:hover {
  background: var(--pitch-dark) !important;
  transform: translateY(-6px);
  box-shadow: 0 20px 60px rgba(29, 78, 216, 0.15) !important;
  border-color: rgba(29, 78, 216, 0.3) !important;
  color: var(--pitch-white) !important;
  text-decoration: none !important;
}

.pitch-card__icon {
  width: 80px;
  height: 80px;
  margin-bottom: 20px;
  flex-shrink: 0;
}

.pitch-card__icon img {
  width: 80px;
  height: 80px;
  object-fit: contain;
  border-radius: 0 !important;
}

.pitch-card__title {
  font-size: clamp(18px, calc(14px + 0.5vw), 22px) !important;
  font-weight: 700 !important;
  color: var(--pitch-white) !important;
  margin: 0 0 12px !important;
  letter-spacing: -0.03em !important;
  line-height: 1.2 !important;
}

.pitch-card__text {
  font-size: 15px !important;
  line-height: 1.6 !important;
  color: rgba(255,255,255,0.6) !important;
  flex: 1;
  margin-bottom: 16px !important;
}

.pitch-card__arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: rgba(255,255,255,0.08);
  color: var(--pitch-white) !important;
  font-size: 20px;
  transition: var(--pitch-transition);
  align-self: flex-start;
}

.pitch-card:hover .pitch-card__arrow {
  background: var(--pitch-primary);
  transform: translateX(4px);
}

/* --- Split Layout --- */
.pitch-split {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}

.pitch-float-img {
  border-radius: 12px !important;
  margin: 30px auto;
  max-width: 90% !important;
}

/* --- Industry Tags (Pill Style) --- */
.pitch-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
  margin-top: 30px;
}

.pitch-tag {
  display: inline-block !important;
  font-family: var(--pitch-font) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: -0.02em !important;
  color: var(--pitch-text) !important;
  background: var(--pitch-white) !important;
  border: 1px solid var(--pitch-border) !important;
  border-radius: var(--pitch-radius-pill) !important;
  padding: 10px 24px !important;
  margin: 0 !important;
  transition: var(--pitch-transition);
  cursor: default;
}

.pitch-tag:hover {
  border-color: var(--pitch-primary) !important;
  color: var(--pitch-primary) !important;
  transform: translateY(-2px);
  box-shadow: 0 4px 16px rgba(29, 78, 216, 0.1);
}

/* --- Hosting Cards --- */
.pitch-hosting-grid {
  margin-top: 30px;
}

.pitch-hosting-card {
  background: var(--pitch-white);
  border: 1px solid var(--pitch-border);
  border-radius: var(--pitch-radius);
  padding: 12px;
  transition: var(--pitch-transition);
  margin-bottom: 20px;
}

.pitch-hosting-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 48px rgba(0,0,0,0.08);
  border-color: var(--pitch-primary);
}

.pitch-hosting-card img {
  border-radius: 4px !important;
}

/* --- FAQ Pitch Style --- */
.pitch-faq .pitch-faq__item {
  border: 1px solid var(--pitch-border) !important;
  border-radius: var(--pitch-radius) !important;
  margin-bottom: 12px !important;
  overflow: hidden;
  box-shadow: none !important;
  transition: var(--pitch-transition);
}

.pitch-faq .pitch-faq__item:hover {
  border-color: rgba(29, 78, 216, 0.3) !important;
}

.pitch-faq .panel-heading {
  background: var(--pitch-white) !important;
  padding: 18px 24px !important;
  border: none !important;
}

.pitch-faq .panel-title {
  font-size: 17px !important;
  font-weight: 600 !important;
  letter-spacing: -0.02em !important;
}

.pitch-faq .panel-title a {
  color: var(--pitch-text) !important;
  text-decoration: none !important;
  display: block;
}

.pitch-faq .panel-title a:hover,
.pitch-faq .panel-title a[aria-expanded="true"] {
  color: var(--pitch-primary) !important;
}

.pitch-faq .panel-body {
  padding: 0 24px 20px !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
  color: var(--pitch-text-light) !important;
}

/* --- CTA Section --- */
.pitch-cta {
  background: var(--pitch-primary) !important;
  padding: clamp(60px, 8vw, 120px) 0 !important;
  color: var(--pitch-white) !important;
  text-align: center;
}

.pitch-cta h2 {
  color: var(--pitch-white) !important;
  margin-bottom: 16px !important;
}

.pitch-cta .pitch-subtitle {
  color: rgba(255,255,255,0.8) !important;
  margin-bottom: 32px !important;
}

.pitch-cta .btn-primary {
  background: var(--pitch-white) !important;
  color: var(--pitch-primary) !important;
  border-color: var(--pitch-white) !important;
}

.pitch-cta .btn-primary:hover {
  background: rgba(255,255,255,0.9) !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 30px rgba(0,0,0,0.2) !important;
}

.pitch-cta .btn-outline-light {
  border-color: rgba(255,255,255,0.4) !important;
}

.pitch-cta .btn-outline-light:hover {
  background: rgba(255,255,255,0.12) !important;
  border-color: var(--pitch-white) !important;
}

.pitch-cta .btn {
  margin: 0 8px;
}

/* --- Mark override for dark sections --- */
.pitch-section--dark mark {
  background-image: linear-gradient(120deg, var(--pitch-secondary), var(--pitch-secondary)) !important;
  color: var(--pitch-white) !important;
  padding: 2px 8px !important;
  border-radius: 4px;
}

/* --- Responsive for new components --- */
@media (max-width: 767px) {
  .pitch-hero__cta {
    flex-direction: column;
    align-items: center;
  }

  .pitch-hero__cta .btn {
    width: 100%;
    max-width: 280px;
  }

  .pitch-marquee__track {
    font-size: 14px;
  }

  .pitch-cards-grid > [class*="col-"] {
    width: 100%;
  }

  .pitch-split {
    flex-direction: column;
  }

  .pitch-tags {
    gap: 8px;
  }

  .pitch-tag {
    font-size: 13px !important;
    padding: 8px 16px !important;
  }

  .pitch-cta .btn {
    display: block;
    margin: 8px auto;
    max-width: 280px;
  }
}

@media (min-width: 768px) and (max-width: 1139px) {
  .pitch-cards-grid > [class*="col-sm-6"] {
    width: 50%;
  }
}
