/*
Theme Name: Sharp Hue 2025
Author: Sharp Hue
Author URI: https://sharphue.com
Version: 1.0.0
*/

/* Reset */
* { margin:0; padding:0; box-sizing: border-box; }

/* Flex */
.flex { display: flex; }
.flex.start { justify-content: flex-start; }
.flex.end { justify-content: flex-end; }
.flex.center { justify-content: center; align-items: center; }
.flex.center-h { justify-content: center; }
.flex.center-v { align-items: center; }
.flex.align-end { align-items: end; }
.flex.between { justify-content: space-between; }
.flex.evenly { justify-content: space-evenly; }
.flex.stretch { align-items: stretch; }
.flex.wrap { flex-wrap: wrap; }
.flex.nowrap { flex-wrap: nowrap; }
.flex.row { flex-direction:row; }
.flex.column { flex-direction: column; }
.flex.gap-5 { gap: 5px; }
.flex.gap-10 { gap: 10px; }
.flex.gap-15 { gap: 15px; }
.flex.gap-20 { gap: 20px; }
.flex.basis-auto { flex-basis: auto; }
.flex.basis-100 > *,
.flex >.basis-100 { flex-basis: 100%; }
.flex.grow > *,
.flex >.grow { flex-grow: 1; }
.flex >.nogrow { flex-grow: 0;}
.flex.shrink-0 > *,
.flex >.shrink-0 { flex-shrink: 0; }

/* Positioning */
.relative { position: relative; }
.absolute { position: absolute; }
.fixed { position: fixed; }
.cover { top:0; right:0; bottom:0; left:0; } 
.top-0 { top: 0; }
.bot-0 { bottom: 0; }
.left-0 { left: 0; }
.right-0 { right: 0; }
.text-left { text-align: left; }
.text-center { text-align: center; }
.text-right { text-align: right; }
.pull-left { margin-right: auto; }
.pull-right { margin-left: auto; }
.float-left { float: left; }
.float-right { float: right; }
.clear-floats { clear: both; }

/* Displays */
.d-hidden { display: none; }
.d-inline { display: inline;}
.d-inline-b { display: inline-block; }
.d-block { display: block; }
.d-table { display: table; }
.d-none { display: none; }

/* Helpers */
.pointer { cursor: pointer; }

/* Fonts */
h1, h2, h3, h4, h5, p, li, a, div, span, button {font-family: "proxima-nova", sans-serif; line-height: 1.1;}
h1, h2, h3, h4, p a {font-weight: 600;}
h1, h2, p {margin-bottom: 20px;}
h3, h4, span {margin-bottom: 10px;}
h1, h2, p a, .light-blue-text {color: #1076f6;}
h3, h4, span {color: #000;}
h1 {font-size: 50px;}
h2, .big-h3 {font-size: 40px;}
h3 {font-size: 30px;}
h4 {font-size: 25px;}
p, li, a, div, span, a, button {font-size: 20px; color: #373435;}
.subhead {font-size: 25px; color: #373435; font-weight: 600;}
span {display: inline-block;}
b {font-weight: 600;}
a {transition: color 0.2s ease, background-color 0.2s ease;}
p a:hover, .cta:hover {color: #0d5ecf;}

@media(max-width: 1000px){
  h1 {font-size: 40px;}
  h2, .big-h3 {font-size: 35px;}
  h3 {font-size: 28px;}
  h4 {font-size: 20px;}
  h1, h2, h3, h4, p, span {margin-bottom: 15px;}
  .subhead {font-size: 20px;}
}

@media(max-width: 700px){
  h1 {font-size: 35px;}
  h2, .big-h3 {font-size: 30px;}
  h3 {font-size: 25px;}
  h4 {font-size: 20px;}
  h1, h2, h3, h4, p, span {margin-bottom: 15px;}
  .subhead {font-size: 20px;}
}

/* Layout */
.container {max-width: 1400px; padding: 0 40px; width: 100%; margin: 0 auto;}
.container.container-med {max-width: 1200px;}
.container.container-sm {max-width: 1000px;}
.container.container-lg {max-width: 1600px;}
.content-section {display: flex; justify-content: space-between; margin-bottom: 5.5%; margin-top: 5.5%; align-items: center; flex-wrap: wrap;}
.content-section.stretch {align-items: stretch;}
.content-section.align-start {align-items: flex-start;}
.content-section.no-mb {margin-bottom:0;}
.mb {margin-bottom: 10%;}
.mt {margin-top: 10%;}
.no-mb {margin-bottom: 0;}
.padded-bg {padding:30px 0 80px;}
.pr-5 {padding-right: 5px;}
.pl-5 {padding-left: 5px;}
.w-20 {width: calc(20% - 25px);}
.w-25 {width: 25%;}
.w-25-calc {width: calc(25% - 20px);}
.w-30 {width: 30%;}
.w-333 {width: calc(33.333% - 20px);}
.w-40 {width: 40%;}
.w-50 {width: calc(50% - 50px);}
.w-60 {width: 60%;}
.w-70 {width: 70%;}
.w-75 {width: 75%;}
.w-100 {width: 100%;}
.align-center {text-align: center;}
.gap {gap: 30px;}
.sticky {position: sticky;}
.text-box {display: flex; justify-content: center; align-items: center; max-width: 600px; margin: 0 auto; padding: 30px;}
.wide-box {max-width: 900px;}
.col-pic {height: 50vw; max-height: 450px;}
.justy-center {justify-content: center;}

@media(max-width: 1000px){
  .content-section {flex-wrap: wrap; margin-bottom: 20%;}
  .page-content .w-50 {width: 100%;}
  .content-section.reverse {flex-direction: column-reverse;}
}

@media(max-width: 700px){
  [class*="w-"] {width: 100%;}
  .content-section.reverse {flex-direction: reverse;}
}

@media(max-width: 600px){
  .container {padding: 0 25px;}
}


/* Generic Styling */
.btn {text-decoration: none; border-radius: 50px; color: #fff; padding: 10px 50px; line-height: 25px; background: #1076f6; font-weight: 600; display: inline-block; transition: background-color 0.2s ease, transform 0.2s ease;}
.btn:hover {background: #0d5ecf; transform: translateY(-1px);}
.btn.alt {background: #304256;}
.btn.alt:hover {background: #253544;}
.btn.white {background: #fff; color: #1076f6;}
.btn.white:hover {background: #f0f0f0;}
.btn.purple {background: #B026FF;}
.btn.purple:hover {background: #9920d9;}
.btn .right {padding-left: 10px;}
.btn .left {padding-right: 10px;}
.btn.border {background-color: transparent; border: 2px solid #1076f6; color: #1076f6;}
.btn.border:hover {background-color: #1076f6; color: #fff;}
.btn i, .cta i {padding-left: 5px;}
.cta {text-decoration: none; font-weight: 600;}
.white-text {color: #fff;}
.blue-text {color: #1076f6;}

/* Lucide Icon Styles */
svg[class*="lucide"] {
  width: 1em;
  height: 1em;
  display: inline-block;
  vertical-align: middle;
  stroke-width: 2;
  margin-top: -2px;
}
.btn svg[class*="lucide"], .cta svg[class*="lucide"] {
  width: 1em;
  height: 1em;
  vertical-align: middle;
  margin-top: -3px;
}
.light-blue-text svg[class*="lucide"] {
  color: #1076f6;
  stroke: #1076f6;
}
.blue-text svg[class*="lucide"] {
  color: #1076f6;
  stroke: #1076f6;
}
.white-text svg[class*="lucide"] {
  color: #fff;
  stroke: #fff;
}

.overlay {background: rgba(0,0,0,0.6); width: 100%;}
.overlay.navy {background-color: rgba(0, 51, 116, 0.85);}
img {width: 100%; height: auto !important;}
.rounded-border {border-radius: 15px;}
button {border: none; cursor: pointer;}
.bg-blue {background-color:#1076F6 !important;}
.bg-pattern {background: url(/wp-content/uploads/2025/07/repeatable-logo-pattern.svg) center center repeat; background-size: 250px; }
.bg-gradient {background: linear-gradient(45deg,rgba(16, 118, 246, 1) 0%, rgba(176, 38, 255, 1) 100%);}
.grey-bg {background: #F4F6F9;}

/* Header */
#home, #inner-page {padding-top: 85px;}
#header { z-index: 9999; padding:15px 0px; background:#fff; position: fixed; width: 100%; border-bottom: solid 1px #ededed; transition: padding 0.3s ease, box-shadow 0.3s ease; }
#header .nav .logo img { max-height:50px; display:block; transition: max-height 0.3s ease; }
#header .nav .logo img.logo-dark { display: none; }
body.dark-mode #header .nav .logo img.logo-light { display: none; }
body.dark-mode #header .nav .logo img.logo-dark { display: block; }
#header .nav .w-50 { width:50%; }
#header .nav .w-40 { width:40%; }
#header .nav .flex > * { max-height:50px; transition: max-height 0.3s ease; }
#header .nav a { display:inline-block; text-wrap: nowrap; line-height:50px; text-decoration: none; transition: line-height 0.3s ease, font-size 0.3s ease, color 0.2s ease; }
#header .nav a:hover { color: #0d5ecf; }
#header .nav a i,  #header .nav button i { color: #1076f6; }
#header .nav a svg[class*="lucide"], #header .nav button svg[class*="lucide"] { 
  color: #1076f6; 
  stroke: #1076f6; 
  width: 14px; 
  height: 14px; 
  margin-left: 4px;
  vertical-align: middle;
  margin-top: -2px;
}
#header .nav nav ul { list-style-type: none; align-items: center;}
#header .nav nav ul button {background: none; transition: line-height 0.3s ease, font-size 0.3s ease;}
#header .nav nav ul li { text-align: center; }
#header .nav nav ul a, #header .nav nav ul button { padding:0 20px; margin:0 10px; }
#header .nav .menu { line-height: 50px; font-size: 26px; padding:0 15px; cursor: pointer; color:#000; }
#header .nav .menu svg[class*="lucide"] {
  width: 26px;
  height: 26px;
  stroke: #000;
  vertical-align: middle;
  margin-top: -4px;
}
#header .nav button {white-space: nowrap; line-height:50px;}

/* Header Scrolled State */
#header.scrolled { padding:8px 0px; box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.1); }
#header.scrolled .nav .logo img { max-height:38px; }
#header.scrolled .nav .flex > * { max-height:38px; }
#header.scrolled .nav a { line-height:38px; font-size: 17px; }
#header.scrolled .nav button { line-height:38px; font-size: 17px; }
#header.scrolled .nav .menu { line-height: 38px; }

@media(max-width: 1000px) {
  #header .nav > nav,
  #header .nav > .text-right { display:none; }
  #header .nav .menu { display:block; }
}

#header .menus { display: none; z-index: 9999; position: absolute; top:100%; left:0; right:0; margin-top:5px; }
#header .menus .w-30 { width:30%; }
#header .menus .w-40 { width:40%; }
#header .menus .w-40 p b {font-size: 22px;}
#header .menus .w-50 { width:50%; }
#header .menus .menu { display:none; background:#fff; padding:60px; max-width: 1400px; margin:0 auto; box-shadow: 0px 3px 6px #0000001A; position: relative; overflow: hidden; }
#header .menus .menu.menu-opening { animation: menuSlideDown 0.3s ease-out; }
#header .menus .menu.menu-closing { animation: menuSlideUp 0.3s ease-out; animation-fill-mode: forwards; }

@keyframes menuSlideDown {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes menuSlideUp {
  from {
    opacity: 1;
    transform: translateY(0);
  }
  to {
    opacity: 0;
    transform: translateY(-10px);
  }
}
#header .menus .flex > * { max-height:none; }
#header .menus ul { list-style-type: none; margin-bottom:40px; }
#header .menus ul li { font-size: 22px; text-align: left; margin-bottom: 10px; }
#header .menus a { display:inline-block; text-wrap: nowrap; text-decoration: none; transition: color 0.2s ease; }
#header .menus a:hover { color: #0d5ecf; }
#header .menus .btn:hover {color: #fff;}
#header .menus .btn {margin-top: 10px;}
#header .menus p {margin-bottom: 10px;}
#header .menus p a { font-size: 22px; }
#header .menus b,
#header .menus a i { color: #1076f6; }
#header .menus svg[class*="lucide"] {
  color: #1076f6;
  stroke: #1076f6;
  width: 18px;
  height: 18px;
}
#header .menus .menu.main a { font-size: 22px; margin-bottom: 10px; font-weight: bold; color: #1076f6; }
#header .menus .menu-border { margin-right:80px; padding-right:60px; border-right:1px solid #ccc; }
#header .menus .flex > div:nth-child(3) ul,
#header .menus .flex > div:nth-child(4) ul { margin-bottom:0; }
#header .menus .close,
#header .menus .back { display: none; position: absolute; top:0px; right:0px; font-size: 26px; padding:20px; cursor: pointer; color:#000; }
#header .menus .close svg[class*="lucide"],
#header .menus .back svg[class*="lucide"] {
  width: 24px;
  height: 24px;
  stroke: #1076f6;
}
#header .menus .back { right:auto; left:0px; font-size: 22px; }
#header .menus a.phone,
#header .menus a.linkedin { margin-bottom:20px; text-decoration: none; color:#373435; display: inline-block; }
#header .menus .offices img { max-width: 230px; display: block; margin-bottom:10px;  }

@media(max-width: 1420px) {
  #header .menus { max-width: none; margin:5px; }
}

@media(max-width: 1000px) {
  #header .menus .flex > * { width:100%; }
  #header .menus .flex > div:nth-child(3) ul,
  #header .menus .flex > div:nth-child(4) ul { margin-bottom:40px; }
  #header .menus .offices .menu-border { margin:0; padding:0; border:none; margin-bottom:40px; padding-bottom:40px; border-bottom:1px solid #ccc; }
  #header .menus .offices .flex { flex-wrap: wrap; }
  #header .menus .offices .w-30 { width:50%; }
}

@media(max-width: 800px) {  
  #header .menus { background: rgba(0, 51, 116, 0.85); margin:0; top:0; left:0; right:0; bottom:auto; height:100vh; overflow: auto; }
  .admin-bar #header .menus { height:calc(100vh - 46px); }
  #header .menus .flex > * { width:100%; }
  #header .menus .menu.services > .flex { flex-wrap: wrap; flex-direction: column-reverse; }
  #header .menus .menu-border { margin:0; padding:0; border:none; padding-top:40px; border-top:1px solid #ccc; }
  #header .menus .close,
  #header .menus .back { display:block; }
}

@media(max-width: 700px) {
  #header .menus .offices .w-30 { width:100%; }
}

/* Footer */
#footer .wrapper { background: #F4F6F9; }
#footer .container { padding: 80px 40px 40px; max-width: 1600px; }

/* Preserve Header Icon Styles */
#header .menus a.linkedin svg[class*="lucide"],
#header .menus a.phone svg[class*="lucide"] {
  width: 20px;
  height: 20px;
  stroke: #1076F6;
  vertical-align: middle;
  margin-top: -2px;
}

/* Footer Top */
#footer .footer-top { margin-bottom: 60px; }
#footer .footer-brand .logo img { max-width: 250px; width: auto; }
#footer .footer-brand .logo img.logo-dark { display: none; }
body.dark-mode #footer .footer-brand .logo img.logo-light { display: none; }
body.dark-mode #footer .footer-brand .logo img.logo-dark { display: block; }
#footer .tagline { font-size: 28px; line-height: 1.3; color: #1076f6; margin-top: 20px; max-width: 400px; }
#footer .tagline b { font-weight: 700; }
#footer .tagline .fw-thin { font-weight: 400; color: #373435; display: inline; margin: 0; font-size: 26px; }

#footer .footer-nav ul { list-style: none; }
#footer .footer-nav ul li { margin-bottom: 15px; }
#footer .footer-nav ul li a { font-size: 18px; font-weight: 600; text-decoration: none; color: #373435; transition: color 0.2s ease; }
#footer .footer-nav ul li a:hover { color: #0d5ecf; }

#footer .footer-cta .cta-title { font-size: 26px; margin-bottom: 15px; line-height: 1.2; color: #373435; }
#footer .footer-cta .cta-desc { font-size: 18px; line-height: 1.5; color: #373435; margin-bottom: 25px; max-width: 500px; }

/* Footer Bottom */
#footer .footer-bottom { border-top: 1px solid #ddd; padding-top: 30px; margin-top: 0; }
#footer .copy p { font-size: 14px; color: #666; margin: 0; }
#footer .legal a { font-size: 14px; color: #666; margin-left: 20px; text-decoration: none; transition: color 0.2s ease; }
#footer .legal a:hover { color: #1076f6; }
#footer .social a { font-size: 16px; color: #373435; text-decoration: none; display: flex; align-items: center; font-weight: 600; }
#footer .social a svg[class*="lucide"] { margin-left: 8px; color: #1076f6; width: 18px; height: 18px; }

/* Footer Responsive */
@media(max-width: 1000px) {
  #footer .container { padding: 60px 20px 30px; }
  #footer .footer-top > div { width: 100%; margin-bottom: 40px; }
  #footer .footer-top > div:last-child { margin-bottom: 0; }
  #footer .footer-nav ul { display: flex; flex-wrap: wrap; gap: 20px; }
  #footer .footer-nav ul li { width: 45%; margin-bottom: 10px; }
  #footer .tagline { font-size: 24px; }
  
  #footer .footer-bottom { flex-direction: column-reverse; gap: 20px; text-align: center; }
  #footer .footer-bottom > div { width: 100%; justify-content: center; }
  #footer .legal a { margin: 0 10px; }
}

@media(max-width: 600px) {
  #footer .footer-nav ul li { width: 100%; }
}

/* Home */
#home .container { max-width: 1600px; }

#home .hero { position: relative; background: url(images/home-banner-photo.webp) center center/cover; }
#home .hero .overlay { 
  min-height: 600px; 
  background: 
    radial-gradient(circle 400px at var(--mouse-x, 50%) var(--mouse-y, 50%), rgba(16, 118, 246, 0.5), rgba(0, 20, 60, 0.3)),
    linear-gradient(135deg, rgba(0, 51, 116, 0.85) 0%, rgba(16, 118, 246, 0.75) 50%, rgba(0, 51, 116, 0.85) 100%);
  background-size: 100% 100%, 200% 200%;
  animation: gradientShift 15s ease infinite;
  display: flex; 
  align-items: center; 
  text-align: center; 
  flex-wrap: wrap; 
  position: relative; 
  justify-content: center;
}
#home .hero .container { max-width: 1100px; position: relative; z-index: 2; }
#home .hero h1 { color: #fff; margin-bottom: 30px; }
#home .hero .hero-subheading { color: #fff; font-size: 22px; line-height: 1.5; margin-bottom: 40px; opacity: 0.95; font-weight: 400; }

@keyframes gradientShift {
  0% { background-position: 0% 50%, 0% 50%; }
  50% { background-position: 0% 50%, 100% 50%; }
  100% { background-position: 0% 50%, 0% 50%; }
}
#home .hero .nav-links { position: absolute; bottom: 0; text-align: left; }
#home .hero .nav-links .flex { justify-content: space-between; align-items: stretch; gap: 5px; }
#home .hero .nav-links div.box { 
  background: rgba(30, 30, 30, 0.5); 
  color: #fff; 
  font-size: 20px; 
  cursor: pointer; 
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.4s cubic-bezier(0.34, 1.56, 0.64, 1), transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
  position: relative;
  overflow: hidden;
  border: 2px solid transparent;
}
#home .hero .nav-links div.box a {
  padding: 20px 10px 20px 30px;
  display: block;
  width: 100%;
  height: 100%;
}
#home .hero .nav-links div.box::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.08), transparent);
  transition: left 0.4s ease;
  pointer-events: none;
}
#home .hero .nav-links div.box.animate-in { 
  opacity: 1;
  transform: translateY(0);
  transition: background 0.15s ease-out, border-color 0.3s ease;
  transition-delay: 0s;
}
#home .hero .nav-links div.box:hover {
  background: rgba(30, 30, 30, 0.7);
  border-color: rgba(255, 255, 255, 0.5);
}
#home .hero .nav-links div.box:nth-child(1):not(.animate-in) { transition-delay: 0.1s; }
#home .hero .nav-links div.box:nth-child(2):not(.animate-in) { transition-delay: 0.2s; }
#home .hero .nav-links div.box:nth-child(3):not(.animate-in) { transition-delay: 0.3s; }
#home .hero .nav-links div.box:nth-child(4):not(.animate-in) { transition-delay: 0.4s; }
#home .hero .nav-links div.box.sheen-left::before {
  left: -100%;
  animation: sheenLeft 0.8s cubic-bezier(0.4, 0.0, 0.2, 1) forwards;
}
#home .hero .nav-links div.box.sheen-right::before {
  left: -100%;
  animation: sheenRight 0.8s cubic-bezier(0.4, 0.0, 0.2, 1) forwards;
}

@keyframes sheenLeft {
  from { left: 100%; }
  to { left: -100%; }
}

@keyframes sheenRight {
  from { left: -100%; }
  to { left: 100%; }
}
#home .hero .nav-links i { margin-left: 8px; }
#home .hero .nav-links a {text-decoration: none; color: #fff;}

@media(max-width: 1000px) {
  #home .hero .overlay { min-height: 400px; }
  #home .hero .nav-links { padding:40px 0 20px; position: relative; }
  #home .hero .nav-links .flex { flex-wrap: wrap; gap: 20px; }
  #home .hero .nav-links div.box { width:calc(50% - 10px); }
  #home .hero .hero-text {padding-top: 70px;}
  #home .hero .hero-subheading { font-size: 20px; margin-bottom: 35px; }
}

@media(max-width: 700px) {
/*   #home .hero .nav-links div.box { width:100%; font-size: 14px; } */
  #home .hero .nav-links {display: none;}
  #home .hero .hero-text {padding-top: 0px;}
  #home .hero .hero-subheading { font-size: 18px; margin-bottom: 30px; }
}

@media(max-width: 500px){
  #home .hero h1 {font-size: 23px; line-height: 35px; margin-bottom: 15px; font-weight: 700;}
  #home .hero-text .btn {font-size: 18px;}
}

#home .expertise { padding: 80px 0; background: linear-gradient(135deg, #ffffff 0%, #ffffff 40%, #e8f0fe 100%); position: relative; }
#home .expertise .pr-100 { padding-right:100px; }
#home .expertise .mt-100 { margin-top:100px; }
#home .expertise .mt-negative-100 { margin-top:-100px; }
.mb-40 { margin-bottom: 40px; }
.align-start { align-items: flex-start; }
#home .expertise .services-grid { display: grid; grid-template-columns: 1fr; gap: 20px; margin-bottom: 60px; }
#home .expertise .service-block { display: flex; align-items: center; text-align: left; padding: 25px 30px; cursor: pointer; background: rgba(255, 255, 255, 0.9); border: 1px solid rgba(255, 255, 255, 0.3); border-radius: 20px; box-shadow: 0 8px 32px rgba(0, 0, 0, 0.08); position: relative; overflow: hidden; transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease; text-decoration: none; gap: 25px; }
#home .expertise .service-block:hover { transform: translateY(-5px); box-shadow: 0 12px 40px rgba(0, 0, 0, 0.12); border-color: rgba(16, 118, 246, 0.4); }
#home .expertise .service-block .service-icon-wrapper { flex-shrink: 0; width: 80px; display: flex; justify-content: center; }
#home .expertise .service-block img { max-width: 100%; width: 100%; height: auto; margin-bottom: 0; transition: transform 0.5s ease-out; display: block; }
#home .expertise .service-block .service-content { flex-grow: 1; }

@media(max-width: 1200px) {
  #home .expertise .service-block { padding: 20px; gap: 15px; }
  #home .expertise .service-block .service-icon-wrapper { width: 60px; }
  #home .expertise .service-block h4 { font-size: 20px; }
  #home .expertise .service-block p { font-size: 16px; }
}

@media(max-width: 1000px) {
  #home .expertise { padding:50px 0; }
  #home .expertise .flex > .w-50.mt-100 { margin-top:0; }
  #home .expertise .w-50.pr-100 { padding-right:0; }
  #home .expertise .flex { flex-wrap: wrap; }
  #home .expertise .w-50 { width:100%; }
  #home .expertise .text { text-align: left; }
  #home .expertise .services-grid { display: grid; grid-template-columns: 1fr; gap: 20px; margin-bottom: 60px; }
}

@media(max-width: 600px) {
  #home .expertise .services-grid { grid-template-columns: 1fr; gap: 15px; }
  #home .expertise .service-block { margin:0; padding: 20px; }
  #home .expertise .service-block .service-icon-wrapper { width: 60px; }
}

#home .solutions { background-color: #f8f9fa; }
#home .solutions .container { max-width:none; padding:0; align-items: center; }
#home .solutions .subhead { margin-bottom: 20px; }
#home .solutions .text { padding:80px 20px 80px 40px; }
#home .solutions img { display: block; height:100% !important; object-fit: cover; }
#home .solutions h2 { color: #1076f6; margin-bottom: 25px; }
#home .solutions p { color: #373435; margin-bottom: 30px; }

@media(max-width: 1000px) {
  #home .solutions .flex { flex-wrap: wrap; }
  #home .solutions .w-50 { width: 100%; }
  #home .solutions .text { padding:40px; }
}

#home .stats { position: relative; background: url(images/sharp-hue-engineering-experience-ai-future-bg.jpg) center center/cover; } 
#home .stats .pr-50 { padding-right:50px; }
#home .stats .overlay { background-color: rgba(0, 51, 116, 0.85); padding: 180px 0; display: flex; align-items: center; }
#home .stats h2 { color: #fff; margin-bottom: 25px; font-size: 45px; }
#home .stats p { color: #fff; margin-bottom: 30px; opacity: 0.9; }
#home .stats .stats-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }
#home .stats .stat-item { text-align: left; }
#home .stats .stat-item h3 { color: #fff; font-size: 80px; font-weight: 600; margin-bottom: 10px; }
#home .stats .stat-item p { color: #fff; font-size: 18px; opacity: 0.9; margin: 0; }
#home .stats .stat-number { opacity: 0; transform: scale(0.9); transition: opacity 0.8s cubic-bezier(0.4, 0, 0.2, 1), transform 0.8s cubic-bezier(0.4, 0, 0.2, 1); }
#home .stats .stat-number.animated { opacity: 1; transform: scale(1); }

@media(max-width: 1000px) {
  #home .stats .stats-grid { grid-template-columns: 1fr; gap: 30px; }
}

@media(max-width: 700px) {
  #home .stats .overlay { padding-top:50px; }
  #home .stats .flex { flex-wrap: wrap; }
  #home .stats .w-50 { width:100%; padding:0; margin:30px 0 0 0; }
  #home .stats .stats-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }
  #home .stats .stat-item h3 { font-size: 36px; }
}

#home .anniversary { position: relative; overflow: hidden; min-height: 120px; background: linear-gradient(135deg, #0d5ecf 0%, #1076f6 100%); }
#home .anniversary-bg { position: absolute; inset: 0; }
#home .anniversary .confetti-shape { position: absolute; background: rgba(255, 255, 255, 0.08); border-radius: 3px; }
#home .anniversary .shape-1 { width: 12px; height: 12px; top: 20%; left: 10%; animation: float1 8s ease-in-out infinite; }
#home .anniversary .shape-2 { width: 8px; height: 8px; top: 60%; left: 25%; animation: float2 10s ease-in-out infinite; transform: rotate(45deg); }
#home .anniversary .shape-3 { width: 10px; height: 10px; top: 30%; right: 15%; animation: float3 12s ease-in-out infinite; }
#home .anniversary .shape-4 { width: 6px; height: 6px; top: 70%; right: 30%; animation: float1 9s ease-in-out infinite; }
#home .anniversary .shape-5 { width: 14px; height: 14px; bottom: 25%; left: 40%; animation: float2 11s ease-in-out infinite; border-radius: 50%; }
#home .anniversary .shape-6 { width: 9px; height: 9px; bottom: 40%; right: 20%; animation: float3 13s ease-in-out infinite; transform: rotate(30deg); }
@keyframes float1 { 0%, 100% { transform: translate(0, 0) rotate(0deg); opacity: 0.6; } 50% { transform: translate(15px, -20px) rotate(180deg); opacity: 1; } }
@keyframes float2 { 0%, 100% { transform: translate(0, 0) rotate(45deg); opacity: 0.5; } 50% { transform: translate(-20px, 15px) rotate(225deg); opacity: 0.9; } }
@keyframes float3 { 0%, 100% { transform: translate(0, 0) scale(1); opacity: 0.7; } 50% { transform: translate(10px, 20px) scale(1.3); opacity: 1; } }
#home .anniversary-content { position: relative; z-index: 2; display: flex; align-items: center; justify-content: flex-start; gap: 60px; padding: 30px 40px; max-width: 1600px; }
#home .anniversary-number { position: relative; flex-shrink: 0; opacity: 0; transform: scale(0.5) translateY(20px); transition: opacity 1.2s cubic-bezier(0.34, 1.56, 0.64, 1), transform 1.2s cubic-bezier(0.34, 1.56, 0.64, 1); }
#home .anniversary-number.animate-in { opacity: 1; transform: scale(1) translateY(0); }
#home .anniversary-number .number-wrapper { position: relative; display: flex; align-items: baseline; gap: 8px; }
#home .anniversary-number .big-number { font-size: 80px; font-weight: 900; color: #fff; line-height: 1; text-shadow: 0 4px 20px rgba(0, 0, 0, 0.3), 0 0 40px rgba(255, 255, 255, 0.2); letter-spacing: -2px; }
#home .anniversary-number .years-label { font-size: 18px; font-weight: 800; color: rgba(255, 255, 255, 0.95); letter-spacing: 3px; text-shadow: 0 2px 8px rgba(0, 0, 0, 0.3); margin-bottom: 8px; }
#home .anniversary-number .shine-overlay { position: absolute; top: -20px; left: -20px; right: -20px; bottom: -20px; background: linear-gradient(110deg, transparent 30%, rgba(255, 255, 255, 0.3) 50%, transparent 70%); animation: shine 3s ease-in-out infinite; pointer-events: none; }
@keyframes shine { 0%, 100% { transform: translateX(-100%); } 50% { transform: translateX(100%); } }
#home .anniversary-message { flex: 1; opacity: 0; transform: translateX(-30px); transition: opacity 1s ease-out 0.4s, transform 1s ease-out 0.4s; }
#home .anniversary-message.animate-in { opacity: 1; transform: translateX(0); }
#home .anniversary-message h3 { font-size: 32px; font-weight: 600; color: #fff; margin: 0; line-height: 1.3; text-shadow: 0 2px 12px rgba(0, 0, 0, 0.25); }
#home .anniversary-message h3 strong { font-weight: 800; }
#home .anniversary-message h3 .highlight { font-weight: 700; color: rgba(255, 255, 255, 0.95); }

@media(max-width: 1200px) {
  #home .anniversary-content { gap: 50px; }
  #home .anniversary-number .big-number { font-size: 70px; }
  #home .anniversary-number .years-label { font-size: 16px; }
  #home .anniversary-message h3 { font-size: 28px; }
}

@media(max-width: 1000px) {
  #home .anniversary { min-height: 140px; }
  #home .anniversary-content { gap: 40px; padding: 30px 40px; }
  #home .anniversary-number .big-number { font-size: 65px; }
  #home .anniversary-number .years-label { font-size: 15px; }
  #home .anniversary-message h3 { font-size: 26px; }
}

@media(max-width: 700px) {
  #home .anniversary { min-height: 180px; }
  #home .anniversary-content { flex-direction: column; text-align: center; gap: 25px; padding: 30px 30px; }
  #home .anniversary-number .big-number { font-size: 70px; }
  #home .anniversary-number .years-label { font-size: 16px; }
  #home .anniversary-message h3 { font-size: 24px; }
}

#home .dna { padding: 80px 0; }
#home .dna .mt-100 { margin-top:100px; }
#home .dna .pr-50 { padding-right:50px; }
#home .dna .image-collage { display: flex; flex-direction: row; gap: 20px; position: relative; align-items: flex-start; margin-top: 80px; }
#home .dna .image-collage img { 
  width: calc(33.333% - 14px);
  height: 180px; 
  object-fit: cover; 
  border-radius: 10px;
  will-change: transform, opacity;
  transform-origin: center center;
  opacity: 0;
  transition: transform 0.8s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.8s ease-out;
}
#home .dna .image-collage img:nth-child(1) {
  transform: translateY(140px);
}
#home .dna .image-collage img:nth-child(2) {
  transform: translateY(-50px);
}
#home .dna .image-collage img:nth-child(3) {
  transform: translateY(80px);
}
#home .dna .image-collage img.animate-in {
  opacity: 1;
}
#home .dna .image-collage img.animate-in:nth-child(1) {
  transform: translateY(60px);
  transition-delay: 0.1s;
}
#home .dna .image-collage img.animate-in:nth-child(2) {
  transform: translateY(30px);
  transition-delay: 0.3s;
}
#home .dna .image-collage img.animate-in:nth-child(3) {
  transform: translateY(0px);
  transition-delay: 0.5s;
}

@media(max-width: 1200px) {
  #home .dna .pr-50 { padding-right: 0; }
  #home .dna .mt-100 { margin-top: 60px; }
  #home .dna .image-collage { margin-top: 40px; }
  #home .dna .image-collage img { height: 160px; }
}

@media(max-width: 1000px) {
  #home .dna { padding: 40px 0 80px; }
  #home .dna .flex { flex-wrap: wrap; }
  #home .dna .w-50 { width:100%; padding:0; margin:0; }
  #home .dna .mt-100 { margin-top: 100px; }
  #home .dna .image-collage { gap: 15px; margin-top: 40px; padding-bottom: 60px; }
  #home .dna .image-collage img { width: calc(33.333% - 10px); height: 180px; }
  #home .dna .image-collage img:nth-child(1) { transform: translateY(100px); }
  #home .dna .image-collage img:nth-child(2) { transform: translateY(-40px); }
  #home .dna .image-collage img:nth-child(3) { transform: translateY(60px); }
  #home .dna .image-collage img.animate-in:nth-child(1) { transform: translateY(40px); }
  #home .dna .image-collage img.animate-in:nth-child(2) { transform: translateY(20px); }
  #home .dna .image-collage img.animate-in:nth-child(3) { transform: translateY(0px); }
}

@media(max-width: 700px) {
  #home .dna .mt-100 { margin-top: 80px; }
  #home .dna .image-collage { gap: 10px; margin-top: 20px; padding-bottom: 40px; }
  #home .dna .image-collage img { height: 140px; }
  #home .dna .image-collage img:nth-child(1) { transform: translateY(80px); }
  #home .dna .image-collage img:nth-child(2) { transform: translateY(-30px); }
  #home .dna .image-collage img:nth-child(3) { transform: translateY(40px); }
  #home .dna .image-collage img.animate-in:nth-child(1) { transform: translateY(30px); }
  #home .dna .image-collage img.animate-in:nth-child(2) { transform: translateY(15px); }
  #home .dna .image-collage img.animate-in:nth-child(3) { transform: translateY(0px); }
}

/* Premium Editorial Grid - Consolidated & Optimized */
.articles-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; margin-bottom: 80px; align-items: stretch; }

/* Clickable Card Overlay */
.card-link { position: absolute; top: 0; left: 0; right: 0; bottom: 0; z-index: 10; cursor: pointer; }

/* Large Featured Article Card */
.article-large { position: relative; overflow: hidden; height: 500px; border-radius: 8px; background: #000; box-shadow: 0 10px 30px rgba(0,0,0,0.15); }
.article-large img { width: 100%; height: 100% !important; object-fit: cover; transition: transform 0.8s ease; opacity: 0.85; }
.article-large:hover img { transform: scale(1.05); }

.article-large .article-content { 
  position: absolute; bottom: 0; left: 0; right: 0; 
  padding: 80px 60px 60px; 
  background: linear-gradient(to top, rgba(0, 10, 30, 1) 0%, rgba(0, 10, 30, 0.8) 50%, transparent 100%); 
  color: #fff; z-index: 5; 
}

.article-large h3 { font-size: 34px !important; line-height: 1.1 !important; font-weight: 700 !important; color: #fff !important; margin-bottom: 15px !important; border: none !important; text-decoration: none !important; }
.article-large .cta { color: #fff !important; margin-top: 20px; display: inline-block; font-size: 16px; font-weight: 600; text-decoration: none !important; }

/* Small Side-by-Side Article Cards */
.articles-right { display: flex; flex-direction: column; gap: 40px; }
.article-small { display: flex; height: 240px; background: rgb(0, 51, 116); border-radius: 8px; overflow: hidden; position: relative; box-shadow: 0 5px 20px rgba(0,0,0,0.1); transition: transform 0.3s ease; }
.article-small:hover { transform: translateY(-5px); }

.article-small img { width: 45%; height: 100% !important; object-fit: cover; flex-shrink: 0; transition: transform 0.8s ease; }
.article-small .article-text { 
  flex: 1; padding: 45px 50px; 
  display: flex; flex-direction: column; justify-content: center; 
  background: rgb(0, 51, 116); position: relative; z-index: 5; 
}

.article-small h3 { font-size: 22px !important; line-height: 1.25 !important; font-weight: 700 !important; color: #fff !important; margin-bottom: 10px !important; border: none !important; text-decoration: none !important; transition: color 0.3s ease; }
.article-small:hover h3 { color: #4d9fff !important; }
.article-small .cta { color: #4d9fff !important; font-size: 14px; margin-top: 10px; text-decoration: none !important; }

/* Hover Focus Revealer (Controlled) */
.excerpt-revealer { 
  max-height: 0; opacity: 0; overflow: hidden; 
  transition: all 0.6s cubic-bezier(0.165, 0.84, 0.44, 1); 
  margin-bottom: 0 !important; 
}
.article-large:hover .excerpt-revealer, .article-small:hover .excerpt-revealer { 
  max-height: 150px; opacity: 1; margin-bottom: 25px !important; 
}
.excerpt-revealer p { font-size: 16px; color: rgba(255,255,255,0.85); line-height: 1.6; margin: 0; }

/* Category Tags Refinement */
.post-cat-tag { 
  display: inline-block; font-size: 11px !important; font-weight: 800; text-transform: uppercase; letter-spacing: 1.5px; 
  color: #1076f6; margin-bottom: 15px !important; border-bottom: 2px solid #1076f6; padding-bottom: 2px;
  line-height: 1;
}
.article-large .post-cat-tag, .article-small .post-cat-tag { color: #fff !important; border-bottom-color: rgba(255,255,255,0.6); }

/* Standard Blog Grid Card */
#blog .article-standard { position: relative; margin-bottom: 60px; overflow: hidden; border-radius: 8px; box-shadow: 0 5px 15px rgba(0,0,0,0.05); transition: transform 0.3s ease; }
#blog .article-standard:hover { transform: translateY(-5px); }
#blog .article-standard .p-card-content { padding: 40px 35px; display: flex; flex-direction: column; background: #fff !important; }
#blog .article-standard .blog-meta { margin-bottom: 10px; opacity: 0.7; }
#blog .article-standard .blog-meta .time { font-size: 14px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; }
#blog .article-standard h2 { font-size: 24px !important; margin-bottom: 15px !important; line-height: 1.3 !important; font-weight: 700 !important; border: none !important; text-decoration: none !important; color: #1076f6 !important; }
#blog .article-standard .excerpt-wrapper p { font-size: 16px; line-height: 1.6; color: #444; margin-bottom: 20px; }
#blog .article-standard .card-link { z-index: 10; }
#blog .article-standard .posts-thumb { height: 220px; border-radius: 8px 8px 0 0; overflow: hidden; position: relative; z-index: 5; }
#blog .article-standard:hover .posts-thumb { transform: scale(1.05); transition: transform 0.6s ease; }

/* Responsive Editorial */
@media(max-width: 1200px) {
  .articles-grid { grid-template-columns: 1fr; gap: 40px; }
}
@media(max-width: 700px) {
  .article-small { flex-direction: column; height: auto; }
  .article-small img { width: 100%; height: 200px !important; }
  .article-large { height: 400px; padding: 40px 30px; }
}

#home .articles { padding: 80px 0;}
#home .articles .subhead, #home .articles h2, #home .articles h3, #home .articles p, #home .articles a, #home .articles .cta { font-family: "DM Sans", sans-serif; }
#home .articles .cta { text-decoration: none; font-weight: 600; font-size: 18px; margin-bottom: 50px; display: inline-block; }
#home .articles .cta svg[class*="lucide"] {
  width: 16px;
  height: 16px;
  margin-left: 5px;
}

/* Dark Mode Overrides */
body.dark-mode {background: #0a0a0a; color: #e5e5e5;}
body.dark-mode .article-large .article-content {background: linear-gradient(to top, rgba(0, 5, 20, 1) 0%, rgba(0, 5, 20, 0.8) 50%, transparent 100%);}
body.dark-mode .article-large:hover h3, body.dark-mode .article-small:hover h3 {color: #8cc7ff !important;}
body.dark-mode .article-small, body.dark-mode .article-small .article-text { background: #050505; }
body.dark-mode .article-small:hover .article-text { background: #111; }

/* Modal */
#contact-modal {background: rgba(0,0,0,0.8); position: fixed; display: none; z-index: 99999; top: 0; left: 0; right: 0; bottom: 0; overflow: auto;}
#contact-modal .modal-body {position: relative; background: #fff; padding: 30px 30px 0; border-radius: 15px; max-width: 600px; margin: 0 auto; width: 100%; margin-top: 50px; margin-bottom: 50px;}
#contact-modal .close {right: 30px; position: absolute; cursor: pointer; }
#contact-modal .close svg[class*="lucide"] {
  width: 24px;
  height: 24px;
  stroke: #000;
}
#contact-modal h3 {margin-top: 20px;}

@media(max-width: 660px){
  #contact-modal .modal-body {max-width: 500px;}
}

@media(max-width: 550px){
  #contact-modal .modal-body {max-width: 370px;}
}

/* Inner Pages */
#inner-page .page-content.top-margin {margin-top: 6%;}
#inner-page .no-bottom-margin {margin-bottom: 0 !important;}
#inner-page .inner-banner {border-radius: 15px; margin-bottom: 7%;}
#inner-page .inner-banner .overlay {padding: 40px; border-radius: 15px; display: flex; align-items: center; height: 20vw; max-height: 400px;}
#inner-page .inner-banner.generic .overlay {justify-content: center;}
#inner-page .inner-banner.generic h1 {font-size: 65px;}
#inner-page .inner-banner .text-section {max-width: 600px; width: 100%;}
#inner-page.contact-page .locations-form .content-section {align-items: flex-start;}
#inner-page.contact-page .office {display: flex; gap: 30px; justify-content: space-between; margin-bottom: 30px;}
#inner-page.contact-page .office img {border-radius: 15px;}
#inner-page .photo-bg-50-50 .overlay {
  background: linear-gradient(105deg, rgba(0, 51, 116, 0.95) 0%, rgba(0, 51, 116, 0.75) 45%, rgba(0,0,0,0) 70%);
}
#inner-page .photo-bg-50-50 .container {display: flex; justify-content: flex-start; padding: 100px 30px;}
#inner-page .photo-bg-50-50 .w-50 {
  width: 60%;
  background: transparent;
  padding: 40px;
  text-shadow: 0 2px 15px rgba(0,0,0,0.5);
}
#inner-page .photo-bg-50-50 h1 {
  font-size: 42px;
  font-weight: 500;
  line-height: 1.3;
}

#inner-page .photo-bg-50-50 h2 {
  font-size: 34px;
  font-weight: 400;
  line-height: 1.3;
}
#inner-page .photo-bg-50-50 .content-section {margin-top: 0;}

@media(max-width: 1200px) {
  #inner-page .photo-bg-50-50 .w-50 {width: 70%; padding: 30px;}
}

@media(max-width: 1000px) {
  #inner-page .photo-bg-50-50 .overlay {background: rgba(0, 51, 116, 0.85);}
  #inner-page .photo-bg-50-50 .container {justify-content: center; padding: 60px 20px;}
  #inner-page .photo-bg-50-50 .w-50 {width: 100%; padding: 0;}
}
#inner-page .cta-section .bg-pattern {background:  url(/wp-content/uploads/2025/07/repeatable-logo-pattern.svg), linear-gradient(45deg,rgba(16, 118, 246, 1) 0%, rgba(176, 38, 255, 1) 100%); background-position: center center; background-size: 250px, cover; background-repeat: repeat, no-repeat;}
#inner-page .cta-section .content-section {justify-content: center; padding: 30px;}
#inner-page .cta-section .content-section h3 {margin-bottom: 0;}
#inner-page .photo-bg-fullwidth .content-section {margin-top: 0; margin-bottom: 0;}
#inner-page .photo-bg-fullwidth .overlay {
  background: linear-gradient(225deg, rgba(0, 51, 116, 0.98) 0%, rgba(0, 51, 116, 0.85) 50%, rgba(0,0,0,0) 100%);
}
#inner-page .photo-bg-fullwidth .container {
  padding: 120px 40px;
  text-align: right;
  text-shadow: 0 2px 15px rgba(0,0,0,0.5);
  max-width: 1400px;
  width: 100%;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}
#inner-page .photo-bg-fullwidth .container > * {
  max-width: 55%;
}

@media(max-width: 1000px) {
  #inner-page .photo-bg-fullwidth .overlay {background: rgba(0, 51, 116, 0.85);}
  #inner-page .photo-bg-fullwidth .container {text-align: center; padding: 60px 20px; align-items: center;}
  #inner-page .photo-bg-fullwidth .container > * { max-width: 100%; }
}

#inner-page .thirds-card {padding: 80px 0;}

#inner-page .intro-icons-thirds i {font-size: 72px; margin-bottom: 30px; color: #1076f6;}
#inner-page .intro-icons-thirds svg[class*="lucide"] {
  width: 72px;
  height: 72px;
  margin-bottom: 30px;
  color: #1076f6;
  stroke: #1076f6;
  stroke-width: 1.5;
}
#inner-page .intro-icons-thirds .content-section {margin-top: 7%;}

/* Feature Cards Section */
#inner-page .feature-cards {
  background-color: #f8f9fa;
  padding: 100px 0;
  margin-top: 60px;
  position: relative;
  overflow: hidden;
}

/* Background accent for visual interest */
#inner-page .feature-cards::before {
  content: '';
  position: absolute;
  top: -100px;
  right: -100px;
  width: 600px;
  height: 600px;
  background: radial-gradient(circle, rgba(16, 118, 246, 0.05) 0%, rgba(255,255,255,0) 70%);
  border-radius: 50%;
  z-index: 0;
}

#inner-page .feature-cards .container {
  position: relative;
  z-index: 1;
}

#inner-page .feature-cards .content-section {
  margin-top: 60px;
  margin-bottom: 0;
  align-items: stretch;
}

#inner-page .feature-cards .w-333 {
  background: #fff;
  padding: 40px;
  position: relative;
  overflow: hidden;
  border: 1px solid transparent;
  display: flex;
  flex-direction: column;
  height: 100%;
  text-align: left;
  
  /* Animation Initial State */
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

#inner-page .feature-cards .w-333.animate-in {
  opacity: 1;
  transform: translateY(0);
}

/* Staggered Animation Delays */
#inner-page .feature-cards .w-333:nth-child(1) { transition-delay: 0.1s; }
#inner-page .feature-cards .w-333:nth-child(2) { transition-delay: 0.2s; }
#inner-page .feature-cards .w-333:nth-child(3) { transition-delay: 0.3s; }

/* Gradient Border Effect - Always Visible with Variety */
#inner-page .feature-cards .w-333::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  opacity: 1; 
}

#inner-page .feature-cards .w-333:nth-child(1)::before {
  background: linear-gradient(90deg, #1076f6 0%, #003374 100%);
}

#inner-page .feature-cards .w-333:nth-child(2)::before {
  background: linear-gradient(90deg, #003374 0%, #1076f6 100%);
}

#inner-page .feature-cards .w-333:nth-child(3)::before {
  background: linear-gradient(90deg, #1076f6 0%, #003374 100%);
}

/* Icon Styling - Simpler, Cleaner */
#inner-page .feature-cards i,
#inner-page .feature-cards svg[class*="lucide"] {
  width: 40px !important;
  height: 40px !important;
  margin-bottom: 30px;
  color: #000;
  stroke: #000;
  stroke-width: 1.5;
  display: block;
  background: none;
  padding: 0;
  border-radius: 0;
}

/* Typography Updates - Bold and Modern */
#inner-page .feature-cards h3 {
  font-size: 32px;
  margin-bottom: 20px;
  color: #1076f6; /* Primary Blue */
  font-weight: 700;
  line-height: 1.1;
}

#inner-page .feature-cards p {
  font-size: 20px;
  line-height: 1.6;
  color: #000;
  margin-bottom: 30px;
  font-weight: 400;
  flex-grow: 1;
}

/* Card Link */
#inner-page .feature-cards .card-link {
  font-size: 16px;
  font-weight: 700;
  color: #003374; /* Replaced purple with requested navy */
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  margin-top: auto;
  transition: color 0.2s ease;
}

#inner-page .feature-cards .card-link:hover {
  color: #1076f6;
}

#inner-page .feature-cards .card-link svg[class*="lucide"] {
  width: 16px !important;
  height: 16px !important;
  margin-left: 8px;
  margin-bottom: 0;
  color: currentColor;
  stroke: currentColor;
  display: inline-block;
  vertical-align: middle;
  margin-top: -2px;
}

/* Dark Mode Overrides for Feature Cards */
body.dark-mode #inner-page .feature-cards {
  background-color: #000;
}
body.dark-mode #inner-page .feature-cards .w-333 {
  background: #1a1a1a;
  border-color: #333;
}
body.dark-mode #inner-page .feature-cards h3 {
  color: #fff;
}
body.dark-mode #inner-page .feature-cards p {
  color: #ccc;
}
body.dark-mode #inner-page .feature-cards i, 
body.dark-mode #inner-page .feature-cards svg[class*="lucide"] {
  color: #fff;
  stroke: #fff;
}
body.dark-mode #inner-page .feature-cards .card-link {
  color: #4d9fff;
}
body.dark-mode #inner-page .feature-cards .card-link:hover {
  color: #6eb0ff;
}

#inner-page .icon-with-content .icon {font-size: 65px; max-width: 90px; width: 100%; text-align: center;}
#inner-page .icon-with-content .icon svg[class*="lucide"] {
  width: 65px;
  height: 65px;
  stroke-width: 1.5;
}
#inner-page .icon-with-content .white-text {
  margin-top: 12px;
}
#inner-page .icon-with-content .content-section {flex-wrap: nowrap; margin-bottom: 30px;}
#inner-page .with-icons.col-pic {max-height: 650px;}
#inner-page .thirds-combo .article .content-section {height: 50vw; max-height: 300px; align-items: flex-end; padding: 30px 30px 10px;}
#inner-page .intro {text-align: center; margin-bottom: 3%;}
#inner-page .cta {font-weight: 600; text-decoration: none; transition: color 0.2s ease;}
#inner-page .cta svg[class*="lucide"] {
  width: 16px;
  height: 16px;
  margin-left: 5px;
  vertical-align: middle;
  margin-top: -2px;
}
#inner-page .cta i {padding-left: 5px;}
#inner-page .card { transition: transform 0.3s ease, box-shadow 0.3s ease; display: block; height: 100%; }
#inner-page a.card:hover { transform: translateY(-10px); box-shadow: 0 15px 30px rgba(0,0,0,0.1); }
#inner-page .card a {text-decoration: none; transition: color 0.2s ease;}
#inner-page .card a:hover h3, #inner-page .card a:hover h4 {color: #0d5ecf;}
#inner-page a.card:hover h3 { color: #fff !important; transform: translateY(-5px); }
#inner-page a.card:hover .cta { color: #fff; transform: translateY(-5px); }
#inner-page .card h3, #inner-page .card .cta { transition: transform 0.3s ease, color 0.2s ease; }
#inner-page .card .card-content {padding: 30px;}
#inner-page .card .card-img {max-height: 260px; height: 50vw;}
#inner-page .step-cards {display: flex; flex-direction: column; gap: 24px; justify-content: center; margin: 0 auto; position: relative; z-index: 1;}
#inner-page .step-cards::before {content: ''; position: absolute; top: 60px; bottom: 60px; left: 64px; width: 2px; background: #e0e0e0; z-index: -1;}
#inner-page .step-cards .step {display: flex; align-items: center; gap: 24px; width: 100%; max-width: 100%; background: #fff; border-radius: 16px; padding: 32px; text-align: left; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04); transition: all 0.3s ease; border: 1px solid #e8e8e8; border-left-width: 4px; position: relative;}
#inner-page .step-cards .step:nth-child(1) {border-left-color: #1076f6;}
#inner-page .step-cards .step:nth-child(2) {border-left-color: #1e3a5f;}
#inner-page .step-cards .step:nth-child(3) {border-left-color: #373435;}
#inner-page .step-cards .step:nth-child(1) .step-badge {background: #1076f6;}
#inner-page .step-cards .step:nth-child(2) .step-badge {background: #1e3a5f;}
#inner-page .step-cards .step:nth-child(3) .step-badge {background: #373435;}
#inner-page .step-cards .step:hover {transform: translateY(-4px); box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);}
#inner-page .step-cards .step-badge {flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; width: 56px; height: 56px; border-radius: 50%; background: #1076f6; color: #fff; font-size: 24px; font-weight: 700; margin-bottom: 0; box-shadow: 0 4px 12px rgba(16, 118, 246, 0.15);}
#inner-page .step-cards .step h3 {flex: 1; font-size: 19px; color: #1e3a5f; margin: 0; font-weight: 600; line-height: 1.4;}

@media(max-width: 800px) {
  #inner-page .step-cards {flex-direction: column; max-width: 400px; margin: 0 auto;}
  #inner-page .step-cards .step {max-width: 100%;}
}
#inner-page .full-width-50-50 .icon-with-content .content-section {justify-content: flex-start;}
#inner-page .icons-50-50, #inner-page .steps-50-50 {margin-bottom: 5%;}

/* Enhanced Background for Steps Section */
#inner-page .steps-50-50 {
  position: relative;
  overflow: hidden;
}

#inner-page .steps-50-50 .container {
  position: relative;
  z-index: 2;
}

#inner-page .steps-50-50.grey-bg {
  background-color: #F4F6F9;
  /* Subtle technical grid */
  background-image: 
      linear-gradient(rgba(16, 118, 246, 0.03) 1px, transparent 1px),
      linear-gradient(90deg, rgba(16, 118, 246, 0.03) 1px, transparent 1px);
  background-size: 40px 40px;
}

#inner-page .steps-50-50.grey-bg::before {
  content: '';
  position: absolute;
  top: -20%;
  right: -10%;
  width: 800px;
  height: 800px;
  background: radial-gradient(circle, rgba(16, 118, 246, 0.06) 0%, rgba(255, 255, 255, 0) 70%);
  border-radius: 50%;
  pointer-events: none;
  z-index: 1;
}

#inner-page .steps-50-50.grey-bg::after {
  content: '';
  position: absolute;
  bottom: -20%;
  left: -10%;
  width: 600px;
  height: 600px;
  background: radial-gradient(circle, rgba(0, 51, 116, 0.08) 0%, rgba(255, 255, 255, 0) 70%);
  border-radius: 50%;
  pointer-events: none;
  z-index: 1;
}

body.dark-mode #inner-page .steps-50-50.grey-bg {
  background-color: #1a1a1a;
  background-image: 
      linear-gradient(rgba(255, 255, 255, 0.02) 1px, transparent 1px),
      linear-gradient(90deg, rgba(255, 255, 255, 0.02) 1px, transparent 1px);
}

body.dark-mode #inner-page .steps-50-50.grey-bg::before {
  background: radial-gradient(circle, rgba(16, 118, 246, 0.08) 0%, rgba(26, 26, 26, 0) 70%);
}

body.dark-mode #inner-page .steps-50-50.grey-bg::after {
  background: radial-gradient(circle, rgba(0, 51, 116, 0.1) 0%, rgba(26, 26, 26, 0) 70%);
}

#inner-page .icon-with-content .content-section.gap {justify-content: flex-start;}

/* Inner Page One Off Mods */
#inner-page.apps-service-page .step h3, #inner-page.data-strategy .step h3, #inner-page.dev-ops .step h3 {font-size: 19px;}
#inner-page.web-service .thirds-card .content-section {justify-content: center;}

@media(max-width: 700px){
  #inner-page.contact-page .inner-banner .overlay {height: 150vw; align-items: flex-end; max-height: 450px;}
  #inner-page.contact-page .office {flex-wrap: wrap;}
  #inner-page .inner-banner {margin-bottom: 15%;}
}

/* Default Template */
.page-template-default #inner-page .container {padding-top: 50px; padding-bottom: 50px;}
.page-template-default #inner-page h1 {margin-bottom: 30px;}
.page-template-default #inner-page h2 {margin-top: 50px;}
.page-template-default #inner-page ul, .page-template-default #inner-page ol  {padding-left: 20px; padding-bottom: 20px;}

/* Blog */
#blog {padding-top: 130px;}
#blog .posted-on svg[class*="lucide"],
#blog .cat-links svg[class*="lucide"],
#blog .tags-links svg[class*="lucide"],
#blog .edit-link svg[class*="lucide"] {width: 14px; height: 14px; stroke: #1076f6; vertical-align: middle; margin-top: -2px; margin-right: 3px;}
.navigation .nav-previous svg[class*="lucide"],
.navigation .nav-next svg[class*="lucide"] {width: 16px; height: 16px; stroke: #1076f6; vertical-align: middle; margin-top: -2px;}

#blog.single-post .blog-img {max-height: 600px; height: 50vw; width: 100%; margin-bottom: 70px; border-radius: 8px; box-shadow: 0 8px 32px rgba(0, 0, 0, 0.08);}
#blog.single-post .post-intro {max-width: 1000px; margin: 0 auto 60px; text-align: center;}
#blog.single-post .post-intro h1 {font-size: 52px; line-height: 1.15; letter-spacing: -0.02em; margin-bottom: 25px; font-weight: 700;}
#blog.single-post .post-intro .post-meta {font-size: 16px; color: #666; margin-bottom: 40px; text-transform: uppercase; letter-spacing: 0.05em; font-weight: 600;}
#blog.single-post .post-intro .post-meta .time {color: #666;}
#blog.single-post .post-intro .post-meta .post-cat {padding-left: 5px;}
#blog.single-post .post-intro > p {font-size: 21px; line-height: 1.5; color: #000; font-weight: 500; margin: 0 auto; padding: 35px 50px; background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%); border-left: 4px solid #1076f6; border-radius: 0 8px 8px 0; text-align: left; max-width: 900px;}

#blog.single-post .blog-content {max-width: 1100px; margin: 0 auto 100px; padding-right: 100px;}
#blog.single-post .blog-content > article {font-size: 19px; line-height: 1.5; color: #373435;}

#blog.single-post .blog-content h1 {font-size: 48px; line-height: 1.15; margin: 70px 0 30px; letter-spacing: -0.02em; font-weight: 700;}
#blog.single-post .blog-content h2 {font-size: 36px; line-height: 1.2; margin: 60px 0 25px; letter-spacing: -0.01em; font-weight: 700; color: #000;}
#blog.single-post .blog-content h3 {font-size: 28px; line-height: 1.3; margin: 45px 0 20px; font-weight: 600; color: #000;}
#blog.single-post .blog-content h4 {font-size: 22px; line-height: 1.4; margin: 35px 0 18px; font-weight: 600; color: #000;}

#blog.single-post .blog-content article > p:first-of-type::first-letter {font-size: 72px; line-height: 1; float: left; margin: 0 12px 0 0; font-weight: 700; color: #1076f6;}
#blog.single-post .blog-content p {font-size: 21px; line-height: 1.5; margin-bottom: 22px; color: #373435;}

#blog.single-post .blog-content ul, #blog.single-post .blog-content ol {margin: 28px 0 28px 0; padding-left: 0; list-style-position: outside;}
#blog.single-post .blog-content ul li, #blog.single-post .blog-content ol li {font-size: 21px; line-height: 1.45; margin-bottom: 8px; padding-left: 32px; position: relative;}
#blog.single-post .blog-content ul li {list-style: none;}
#blog.single-post .blog-content ul li::before {content: ''; position: absolute; left: 0; top: 9px; width: 8px; height: 8px; background: #1076f6; border-radius: 50%;}
#blog.single-post .blog-content ol {counter-reset: list-counter;}
#blog.single-post .blog-content ol li {list-style: none; counter-increment: list-counter;}
#blog.single-post .blog-content ol li::before {content: counter(list-counter); position: absolute; left: 0; top: 0; font-weight: 700; color: #1076f6; font-size: 21px;}
#blog.single-post .blog-content ul ul, #blog.single-post .blog-content ol ol {margin: 15px 0;}

#blog.single-post .blog-content strong, #blog.single-post .blog-content b {font-weight: 700; color: #000;}
#blog.single-post .blog-content em {font-style: italic;}

#blog.single-post .blog-content img {margin: 40px 0; border-radius: 8px; box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);}
#blog.single-post .blog-content img.alignnone:nth-of-type(odd), #blog.single-post .blog-content article > p img:nth-of-type(odd):not(.alignleft):not(.alignright):not(.aligncenter) {float: left; margin: 8px 40px 28px 0; max-width: 50%; width: 50%;}
#blog.single-post .blog-content img.alignnone:nth-of-type(even), #blog.single-post .blog-content article > p img:nth-of-type(even):not(.alignleft):not(.alignright):not(.aligncenter) {float: right; margin: 8px 0 28px 40px; max-width: 50%; width: 50%;}
#blog.single-post .blog-content img.alignleft {float: left; margin: 8px 40px 28px 0; max-width: 50%; width: 50%;}
#blog.single-post .blog-content img.alignright {float: right; margin: 8px 0 28px 40px; max-width: 50%; width: 50%;}
#blog.single-post .blog-content img.aligncenter {display: block; margin: 40px auto; max-width: 100%; float: none;}
#blog.single-post .blog-content img.size-full:not(.alignleft):not(.alignright):not(.aligncenter) {max-width: 50%; width: 50%;}

#blog.single-post .blog-content blockquote {margin: 50px 0; padding: 35px 50px 35px 70px; background: #f8f9fa; border-left: 5px solid #1076f6; position: relative; font-size: 24px; line-height: 1.45; font-style: italic; color: #000; font-weight: 500;}
#blog.single-post .blog-content blockquote::before {content: '"'; position: absolute; left: 25px; top: 25px; font-size: 80px; line-height: 1; color: #1076f6; opacity: 0.3; font-family: Georgia, serif;}
#blog.single-post .blog-content blockquote p {font-size: 24px; line-height: 1.45; margin-bottom: 12px;}
#blog.single-post .blog-content blockquote p:last-child {margin-bottom: 0;}

#blog.single-post .blog-content .wp-block-pullquote, #blog.single-post .blog-content .pullquote {margin: 50px -80px; padding: 45px 80px; background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%); border-top: 3px solid #1076f6; border-bottom: 3px solid #1076f6; text-align: center;}
#blog.single-post .blog-content .wp-block-pullquote p, #blog.single-post .blog-content .pullquote p {font-size: 28px; line-height: 1.4; font-weight: 600; color: #000; font-style: normal; margin-bottom: 0;}

#blog.single-post .blog-content .highlight-box {background: #f0f7ff; border-left: 4px solid #1076f6; padding: 28px 35px; margin: 45px 0; border-radius: 0 8px 8px 0;}
#blog.single-post .blog-content .highlight-box h3 {margin-top: 0; font-size: 24px; color: #1076f6;}
#blog.single-post .blog-content .highlight-box h4 {margin-top: 0; font-size: 20px; color: #1076f6;}
#blog.single-post .blog-content .highlight-box p {margin-bottom: 12px;}
#blog.single-post .blog-content .highlight-box p:last-child {margin-bottom: 0;}
#blog.single-post .blog-content .highlight-box ul, #blog.single-post .blog-content .highlight-box ol {margin: 18px 0;}

#blog.single-post .blog-content .stat-callout {background: #1076f6; color: #fff; padding: 35px; margin: 50px -40px; text-align: center; border-radius: 8px;}
#blog.single-post .blog-content .stat-callout .stat-number {font-size: 72px; font-weight: 700; line-height: 1; margin-bottom: 12px; display: block; color: #fff;}
#blog.single-post .blog-content .stat-callout p {font-size: 20px; line-height: 1.4; color: #fff; margin-bottom: 0;}

#blog.single-post .blog-content .key-takeaway {background: #fff; border: 2px solid #e5e5e5; padding: 30px 35px; margin: 45px 0; border-radius: 8px; box-shadow: 0 4px 16px rgba(0, 0, 0, 0.04);}
#blog.single-post .blog-content .key-takeaway h4 {margin-top: 0; font-size: 20px; text-transform: uppercase; letter-spacing: 0.05em; color: #1076f6; font-weight: 700;}
#blog.single-post .blog-content .key-takeaway ul {margin: 12px 0 0 0;}

#blog.single-post .blog-content .two-column {display: grid; grid-template-columns: 1fr 1fr; gap: 35px; margin: 45px 0;}
#blog.single-post .blog-content .two-column > * {margin: 0;}

#blog.single-post .blog-content table {width: 100%; border-collapse: collapse; margin: 45px 0; font-size: 18px; line-height: 1.5; background: #fff; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);}
#blog.single-post .blog-content table thead {background: #f8f9fa; border-bottom: 2px solid #1076f6;}
#blog.single-post .blog-content table thead tr th {padding: 16px 20px; text-align: left; font-weight: 700; font-size: 17px; color: #000; border-bottom: 2px solid #1076f6;}
#blog.single-post .blog-content table tbody tr {border-bottom: 1px solid #e5e5e5; transition: background-color 0.2s ease;}
#blog.single-post .blog-content table tbody tr:hover {background-color: #f8f9fa;}
#blog.single-post .blog-content table tbody tr:last-child {border-bottom: none;}
#blog.single-post .blog-content table tbody tr td {padding: 14px 20px; color: #373435; vertical-align: top;}
#blog.single-post .blog-content table tbody tr td:first-child {font-weight: 600; color: #000;}
#blog.single-post .blog-content table tbody tr td strong, #blog.single-post .blog-content table tbody tr td b {color: #1076f6; font-weight: 700;}
#blog.single-post .blog-content table tbody tr td em, #blog.single-post .blog-content table tbody tr td i {font-style: italic; color: #666; font-size: 16px;}

#blog .blog-contact h2 {font-size: 30px;}
#blog .blog-contact .w-70 {padding: 40px 50px;}
#blog .related-services {border-top: solid 1px #ededed; padding-top: 7%; margin-top: 100px;}
#blog .related-services h2 {font-size: 36px; margin-bottom: 40px;}
#blog .related-services .card .card-content {padding: 30px; transition: transform 0.3s ease;}
#blog .related-services .card .card-img {height: 40vw; max-height: 200px; transition: transform 0.3s ease;}
#blog .related-services .card a {text-decoration: none; transition: color 0.2s ease;}
#blog .related-services .card:hover .card-img {transform: scale(1.02);}
#blog .related-services .card a:hover h3 {color: #0d5ecf;}
#blog .related-services .card h3 {font-size: 25px; transition: color 0.2s ease;}
#blog .time a {text-decoration: none; transition: color 0.2s ease;}
#blog .time a:hover {color: #0d5ecf;}

#blog.posts-page .content-section {justify-content: flex-start; gap: 40px; align-items: stretch;}
#blog.posts-page .p-card-content a {text-decoration: none; transition: color 0.2s ease;}
#blog.posts-page .p-card-content a:hover h2 {color: #0d5ecf;}
#blog.posts-page .p-card-content h2 {font-size: 22px; margin-bottom: 15px; transition: color 0.2s ease;}
#blog.posts-page .p-card-content {padding: 30px;}
#blog.posts-page .posts-thumb {max-height: 250px; height: 60vw;}
#blog.posts-page .blog-meta a, #blog.posts-page .blog-meta span {font-size: 16px;}
#blog.posts-page .blog-meta a {transition: color 0.2s ease;}
#blog.posts-page .blog-meta a:hover {color: #0d5ecf;}
#blog.posts-page .blog-meta .post-cat {padding-right: 10px; font-weight: 600;}

@media(max-width: 1000px){
  #blog.single-post .post-intro h1 {font-size: 42px;}
  #blog.single-post .post-intro > p {font-size: 20px; padding: 28px 35px;}
  #blog.single-post .blog-content {max-width: 700px; padding-right: 0;}
  #blog.single-post .blog-content h1 {font-size: 40px; margin: 55px 0 25px;}
  #blog.single-post .blog-content h2 {font-size: 32px; margin: 50px 0 22px;}
  #blog.single-post .blog-content h3 {font-size: 26px; margin: 40px 0 18px;}
  #blog.single-post .blog-content .wp-block-pullquote, #blog.single-post .blog-content .pullquote {margin: 40px -40px; padding: 38px;}
  #blog.single-post .blog-content .stat-callout {margin: 40px -20px; padding: 32px;}
  #blog.single-post .blog-content .two-column {grid-template-columns: 1fr; gap: 25px;}
  #blog.single-post .blog-content img.alignleft, #blog.single-post .blog-content img.alignright, #blog.single-post .blog-content img.alignnone, #blog.single-post .blog-content article > p img {float: none; margin: 35px auto; max-width: 100%; width: 100%; display: block;}
  #blog.single-post .blog-content img {margin: 35px 0;}
  #blog.single-post .blog-content blockquote {margin: 40px 0; padding: 30px 45px 30px 65px;}
  #blog.single-post .blog-content .highlight-box {margin: 38px 0; padding: 25px 30px;}
  #blog.single-post .blog-content .key-takeaway {margin: 38px 0;}
}

@media(max-width: 700px){
  #blog.single-post .post-intro {margin-bottom: 40px;}
  #blog.single-post .post-intro h1 {font-size: 36px;}
  #blog.single-post .post-intro > p {font-size: 18px; padding: 22px 28px;}
  #blog.single-post .blog-img {margin-bottom: 45px; border-radius: 4px;}
  #blog.single-post .blog-content {max-width: 100%; margin-bottom: 60px; padding-right: 0;}
  #blog.single-post .blog-content p {font-size: 19px;}
  #blog.single-post .blog-content article > p:first-of-type::first-letter {font-size: 56px; margin: 0 8px 0 0;}
  #blog.single-post .blog-content h1 {font-size: 34px; margin: 45px 0 22px;}
  #blog.single-post .blog-content h2 {font-size: 28px; margin: 38px 0 18px;}
  #blog.single-post .blog-content h3 {font-size: 24px; margin: 32px 0 16px;}
  #blog.single-post .blog-content h4 {font-size: 20px; margin: 28px 0 14px;}
  #blog.single-post .blog-content ul, #blog.single-post .blog-content ol {margin: 25px 0;}
  #blog.single-post .blog-content ul li, #blog.single-post .blog-content ol li {font-size: 19px; padding-left: 28px;}
  #blog.single-post .blog-content img {margin: 32px 0;}
  #blog.single-post .blog-content blockquote {margin: 35px 0; padding: 25px 35px 25px 55px; font-size: 20px;}
  #blog.single-post .blog-content blockquote::before {left: 18px; top: 22px; font-size: 60px;}
  #blog.single-post .blog-content blockquote p {font-size: 20px;}
  #blog.single-post .blog-content .wp-block-pullquote, #blog.single-post .blog-content .pullquote {margin: 35px -25px; padding: 32px 25px;}
  #blog.single-post .blog-content .wp-block-pullquote p, #blog.single-post .blog-content .pullquote p {font-size: 24px;}
  #blog.single-post .blog-content .highlight-box {padding: 22px 28px; margin: 35px 0;}
  #blog.single-post .blog-content .stat-callout {margin: 35px -25px; padding: 30px 25px;}
  #blog.single-post .blog-content .stat-callout .stat-number {font-size: 56px;}
  #blog.single-post .blog-content .stat-callout p {font-size: 18px;}
  #blog.single-post .blog-content .key-takeaway {padding: 25px 28px; margin: 35px 0;}
  #blog.single-post .blog-content table {font-size: 16px; margin: 35px 0; display: block; overflow-x: auto; -webkit-overflow-scrolling: touch;}
  #blog.single-post .blog-content table thead tr th {padding: 12px 15px; font-size: 15px;}
  #blog.single-post .blog-content table tbody tr td {padding: 12px 15px; font-size: 16px;}
  #blog .blog-contact .w-30 {height: 50vw;}
  #blog .blog-contact .w-70 {padding: 30px;}
  #blog .related-services {margin-top: 60px;}
}

/* 404 Page */
#error404 { padding-top: 85px; background: url(https://sharphuestg.wpengine.com/wp-content/themes/sh2025/images/stats-section-bg.webp) no-repeat center center; background-size: cover;}
#error404 p {font-size: 20px;}
#error404 .container-sm {text-align: center;}
#error404 .content-section {height: 60vw; max-height: 600px; justify-content: center; margin-bottom: 0;}

/* Dark Mode Toggle */
.dark-mode-toggle {background: none; border: none; padding: 0 15px; cursor: pointer; display: flex; align-items: center; justify-content: center; line-height: 50px; transition: transform 0.3s ease;}
.dark-mode-toggle:hover {transform: scale(1.1);}
.dark-mode-toggle svg[class*="lucide"] {width: 22px; height: 22px; stroke: #1076f6; transition: opacity 0.3s ease, transform 0.3s ease;}
.dark-mode-toggle .sun-icon {opacity: 1; transform: rotate(0deg);}
.dark-mode-toggle .moon-icon {opacity: 0; position: absolute; transform: rotate(90deg);}
body.dark-mode .dark-mode-toggle .sun-icon {opacity: 0; transform: rotate(90deg);}
body.dark-mode .dark-mode-toggle .moon-icon {opacity: 1; transform: rotate(0deg);}
#header.scrolled .dark-mode-toggle {line-height: 38px;}

@media(max-width: 1000px) {
  .dark-mode-toggle {display: none;}
}

.dark-mode-toggle-mobile {background: none; border: 2px solid #1076f6; padding: 10px 20px; cursor: pointer; display: flex; align-items: center; gap: 10px; margin: 20px 0; border-radius: 50px; transition: background 0.3s ease, transform 0.3s ease; font-weight: 600;}
.dark-mode-toggle-mobile:hover {background: rgba(16, 118, 246, 0.1); transform: translateY(-2px);}
.dark-mode-toggle-mobile svg[class*="lucide"] {width: 20px; height: 20px; stroke: #1076f6; transition: opacity 0.3s ease, transform 0.3s ease;}
.dark-mode-toggle-mobile .sun-icon {opacity: 1; transform: rotate(0deg);}
.dark-mode-toggle-mobile .moon-icon {opacity: 0; position: absolute; transform: rotate(90deg);}
.dark-mode-toggle-mobile .toggle-text {color: #1076f6; font-size: 18px;}
body.dark-mode .dark-mode-toggle-mobile {border-color: #4d9fff;}
body.dark-mode .dark-mode-toggle-mobile:hover {background: rgba(77, 159, 255, 0.1);}
body.dark-mode .dark-mode-toggle-mobile .sun-icon {opacity: 0; transform: rotate(90deg);}
body.dark-mode .dark-mode-toggle-mobile .moon-icon {opacity: 1; transform: rotate(0deg);}
body.dark-mode .dark-mode-toggle-mobile .toggle-text {color: #4d9fff;}
body.dark-mode .dark-mode-toggle-mobile svg[class*="lucide"] {stroke: #4d9fff;}

/* Dark Mode Styles */
body.dark-mode {background: #0a0a0a; color: #e5e5e5; transition: background-color 0.3s ease, color 0.3s ease;}
body.dark-mode h1, body.dark-mode h2 {color: #1076f6;}
body.dark-mode h3, body.dark-mode h4 {color: #e5e5e5;}
body.dark-mode p, body.dark-mode li, body.dark-mode a, body.dark-mode div, body.dark-mode span, body.dark-mode button {color: #b8b8b8;}
body.dark-mode p a, body.dark-mode .cta {color: #4d9fff;}
body.dark-mode p a:hover, body.dark-mode .cta:hover {color: #6eb0ff;}
body.dark-mode .subhead {color: #b8b8b8;}
body.dark-mode .white-text {color: #fff;}
body.dark-mode .blue-text {color: #4d9fff;}
body.dark-mode .light-blue-text {color: #4d9fff;}

body.dark-mode .btn {background: #1076f6; color: #fff;}
body.dark-mode .btn:hover {background: #0d5ecf;}
body.dark-mode .btn.alt {background: #3a4f66;}
body.dark-mode .btn.alt:hover {background: #2d3f52;}
body.dark-mode .btn.white {background: #2a2a2a; color: #4d9fff;}
body.dark-mode .btn.white:hover {background: #353535;}
body.dark-mode .btn.border {border-color: #4d9fff; color: #4d9fff;}
body.dark-mode .btn.border:hover {background-color: #1076f6; color: #fff; border-color: #1076f6;}

body.dark-mode .grey-bg {background: #1a1a1a;}
body.dark-mode .bg-blue {background-color: #0d5ecf !important;}

body.dark-mode #header {background: #0f0f0f; border-bottom-color: #2a2a2a;}
body.dark-mode #header.scrolled {box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.5);}
body.dark-mode #header .nav a {color: #b8b8b8;}
body.dark-mode #header .nav a:hover {color: #4d9fff;}
body.dark-mode #header .nav button {color: #b8b8b8;}
body.dark-mode #header .nav button:hover {color: #4d9fff;}
body.dark-mode #header .nav .menu {color: #e5e5e5;}
body.dark-mode #header .nav .menu svg[class*="lucide"] {stroke: #e5e5e5;}
body.dark-mode #header .menus {background: rgba(0, 0, 0, 0.95);}
body.dark-mode #header .menus .menu {background: #1a1a1a; box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.5);}
body.dark-mode #header .menus a {color: #b8b8b8;}
body.dark-mode #header .menus a:hover {color: #4d9fff;}
body.dark-mode #header .menus p {color: #b8b8b8;}
body.dark-mode #header .menus b, body.dark-mode #header .menus a i {color: #4d9fff;}
body.dark-mode #header .menus svg[class*="lucide"] {stroke: #4d9fff;}
body.dark-mode #header .menus .menu.main a {color: #4d9fff;}
body.dark-mode #header .menus .menu-border {border-right-color: #2a2a2a;}
body.dark-mode #header .menus .close, body.dark-mode #header .menus .back {color: #e5e5e5;}
body.dark-mode #header .menus a.phone, body.dark-mode #header .menus a.linkedin {color: #b8b8b8;}

body.dark-mode #footer .wrapper {background: #0f0f0f;}
body.dark-mode #footer .tagline {color: #4d9fff;}
body.dark-mode #footer .tagline .fw-thin {color: #fff;}
body.dark-mode #footer .footer-nav ul li a {color: #b8b8b8;}
body.dark-mode #footer .footer-nav ul li a:hover {color: #4d9fff;}
body.dark-mode #footer .cta-title {color: #fff;}
body.dark-mode #footer .cta-desc {color: #b8b8b8;}
body.dark-mode #footer .footer-bottom {border-top-color: #2a2a2a;}
body.dark-mode #footer .copy p, 
body.dark-mode #footer .legal a {color: #888;}
body.dark-mode #footer .legal a:hover {color: #4d9fff;}
body.dark-mode #footer .social a {color: #b8b8b8;}

body.dark-mode #home .expertise {background: linear-gradient(135deg, #0a0a0a 0%, #0a0a0a 40%, #0d1929 100%);}
body.dark-mode #home .expertise .service-block {background: rgba(26, 26, 26, 0.9); border-color: rgba(77, 159, 255, 0.2); box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);}
body.dark-mode #home .expertise .service-block:hover {box-shadow: 0 12px 40px rgba(0, 0, 0, 0.5); border-color: rgba(77, 159, 255, 0.5);}
body.dark-mode #home .expertise .service-block h4 {color: #4d9fff;}
body.dark-mode #home .expertise .service-block p {color: #b8b8b8;}

body.dark-mode #home .solutions {background-color: #0f0f0f;}
body.dark-mode #home .solutions h2 {color: #4d9fff;}
body.dark-mode #home .solutions p {color: #b8b8b8;}

body.dark-mode #home .articles {background: #0a0a0a;}
body.dark-mode #home .articles .cta {color: #4d9fff;}
body.dark-mode .article-large .article-content {background: linear-gradient(to top, rgba(0, 5, 20, 1) 0%, rgba(0, 5, 20, 0.8) 50%, transparent 100%);}
body.dark-mode .article-large:hover h3, body.dark-mode .article-small:hover h3 {color: #8cc7ff !important;}
body.dark-mode .article-small, body.dark-mode .article-small .article-text { background: #050505; }
body.dark-mode .article-small:hover .article-text { background: #111; }

body.dark-mode #home .dna {background: #0a0a0a;}

body.dark-mode #home .anniversary { background: linear-gradient(135deg, #003374 0%, #0d5ecf 100%); }

body.dark-mode #contact-modal {background: rgba(0, 0, 0, 0.9);}
body.dark-mode #contact-modal .modal-body {background: #1a1a1a;}
body.dark-mode #contact-modal .close svg[class*="lucide"] {stroke: #e5e5e5;}
body.dark-mode #contact-modal h3 {color: #4d9fff;}

body.dark-mode #inner-page .page-content {background: #0a0a0a;}
body.dark-mode #inner-page .grey-bg {background: #1a1a1a;}
body.dark-mode #inner-page .cta {color: #4d9fff;}
body.dark-mode #inner-page .card a:hover h3, body.dark-mode #inner-page .card a:hover h4 {color: #6eb0ff;}
body.dark-mode #inner-page .card .card-content {background: #1a1a1a;}
body.dark-mode #inner-page .step-cards .step {background: #1a1a1a; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3); border: 1px solid #2a2a2a; border-left-width: 4px;}
body.dark-mode #inner-page .step-cards .step:nth-child(1) {border-left-color: #1076f6;}
body.dark-mode #inner-page .step-cards .step:nth-child(2) {border-left-color: #1e3a5f;}
body.dark-mode #inner-page .step-cards .step:nth-child(3) {border-left-color: #373435;}
body.dark-mode #inner-page .step-cards .step:hover {box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);}
body.dark-mode #inner-page .step-cards .step h3 {color: #e5e5e5;}
body.dark-mode #inner-page .step-cards .step p {color: #b8b8b8;}

body.dark-mode #blog {background: #0a0a0a;}
body.dark-mode #blog h2 {color: #4d9fff;}
body.dark-mode #blog h3 {color: #e5e5e5;}
body.dark-mode #blog .time a {color: #b8b8b8;}
body.dark-mode #blog .time a:hover {color: #4d9fff;}
body.dark-mode #blog.single-post .post-intro .post-meta {color: #999;}
body.dark-mode #blog.single-post .post-intro .post-meta .time {color: #999;}
body.dark-mode #blog.single-post .post-intro > p {color: #e5e5e5; background: linear-gradient(135deg, #1a1a1a 0%, #0f0f0f 100%); border-left-color: #4d9fff;}
body.dark-mode #blog.single-post .blog-content p {color: #b8b8b8;}
body.dark-mode #blog.single-post .blog-content h1, body.dark-mode #blog.single-post .blog-content h2 {color: #4d9fff;}
body.dark-mode #blog.single-post .blog-content h3, body.dark-mode #blog.single-post .blog-content h4 {color: #e5e5e5;}
body.dark-mode #blog.single-post .blog-content strong, body.dark-mode #blog.single-post .blog-content b {color: #e5e5e5;}
body.dark-mode #blog.single-post .blog-content article > p:first-of-type::first-letter {color: #4d9fff;}
body.dark-mode #blog.single-post .blog-content blockquote {background: #1a1a1a; border-left-color: #4d9fff; color: #e5e5e5;}
body.dark-mode #blog.single-post .blog-content blockquote::before {color: #4d9fff;}
body.dark-mode #blog.single-post .blog-content blockquote p {color: #e5e5e5;}
body.dark-mode #blog.single-post .blog-content .wp-block-pullquote, body.dark-mode #blog.single-post .blog-content .pullquote {background: linear-gradient(135deg, #1a1a1a 0%, #0f0f0f 100%); border-top-color: #4d9fff; border-bottom-color: #4d9fff;}
body.dark-mode #blog.single-post .blog-content .wp-block-pullquote p, body.dark-mode #blog.single-post .blog-content .pullquote p {color: #e5e5e5;}
body.dark-mode #blog.single-post .blog-content .highlight-box {background: #0d1929; border-left-color: #4d9fff;}
body.dark-mode #blog.single-post .blog-content .highlight-box h3, body.dark-mode #blog.single-post .blog-content .highlight-box h4 {color: #4d9fff;}
body.dark-mode #blog.single-post .blog-content .highlight-box p {color: #b8b8b8;}
body.dark-mode #blog.single-post .blog-content .stat-callout {background: #0d5ecf;}
body.dark-mode #blog.single-post .blog-content .key-takeaway {background: #1a1a1a; border-color: #2a2a2a;}
body.dark-mode #blog.single-post .blog-content .key-takeaway h4 {color: #4d9fff;}
body.dark-mode #blog.single-post .blog-content .key-takeaway p, body.dark-mode #blog.single-post .blog-content .key-takeaway li {color: #b8b8b8;}
body.dark-mode #blog.single-post .blog-content table {background: #1a1a1a; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);}
body.dark-mode #blog.single-post .blog-content table thead {background: #0f0f0f; border-bottom-color: #4d9fff;}
body.dark-mode #blog.single-post .blog-content table thead tr th {color: #e5e5e5; border-bottom-color: #4d9fff;}
body.dark-mode #blog.single-post .blog-content table tbody tr {border-bottom-color: #2a2a2a;}
body.dark-mode #blog.single-post .blog-content table tbody tr:hover {background-color: #0f0f0f;}
body.dark-mode #blog.single-post .blog-content table tbody tr td {color: #b8b8b8;}
body.dark-mode #blog.single-post .blog-content table tbody tr td:first-child {color: #e5e5e5;}
body.dark-mode #blog.single-post .blog-content table tbody tr td strong, body.dark-mode #blog.single-post .blog-content table tbody tr td b {color: #4d9fff;}
body.dark-mode #blog.single-post .blog-content table tbody tr td em, body.dark-mode #blog.single-post .blog-content table tbody tr td i {color: #999;}
body.dark-mode #blog .related-services {border-top-color: #2a2a2a;}
body.dark-mode #blog .related-services .card .card-content {background: #1a1a1a;}
body.dark-mode #blog .related-services .card a:hover h3 {color: #6eb0ff;}
body.dark-mode #blog .related-services .card h3 {color: #4d9fff;}
body.dark-mode #blog .blog-contact .w-70 {background: #1a1a1a;}
body.dark-mode #blog.posts-page .p-card-content {background: #1a1a1a;}
body.dark-mode #blog.posts-page .p-card-content a:hover h2 {color: #6eb0ff;}
body.dark-mode #blog.posts-page .p-card-content h2 {color: #4d9fff;}
body.dark-mode #blog.posts-page .blog-meta a {color: #b8b8b8;}
body.dark-mode #blog.posts-page .blog-meta a:hover {color: #4d9fff;}
body.dark-mode #blog.posts-page .blog-meta span {color: #b8b8b8;}

body.dark-mode .rounded-border {border: 1px solid #2a2a2a;}

body.dark-mode .navigation .nav-previous a, body.dark-mode .navigation .nav-next a {color: #4d9fff;}
body.dark-mode .navigation .nav-previous a:hover, body.dark-mode .navigation .nav-next a:hover {color: #6eb0ff;}
