/*
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-mt {margin-top: 0; }
.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.white.outline {background-color: transparent; border: 2px solid rgba(255, 255, 255, 0.75); color: #fff;}
.btn.white.outline:hover {background-color: rgba(255, 255, 255, 0.12); border-color: #fff; color: #fff;}
.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 .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 .mobile-menu-bar,
#header .menus .mobile-panel-header,
#header .menus .mobile-drill,
#header .menus .mobile-menu-cta,
#header .menus .mobile-section-link,
#header .menus .service-panel,
#header .menus .service-panel-body,
#header .menus .mobile-menu-back,
#header .menus .mobile-menu-bar-title { display: none; }
#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.main a.btn { color: #fff !important; font-weight: 600; margin-bottom: 0; font-size: inherit; }
#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 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) {
  body.menu-open { overflow: hidden; touch-action: none; }
  #header .menus {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    margin: 0;
    height: auto;
    max-height: calc(100vh - 56px);
    max-height: calc(100dvh - 56px);
    background: #fff;
    display: none;
    flex-direction: column;
    overflow: hidden;
    z-index: 10000;
    border-radius: 0 0 16px 16px;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.25);
  }
  #header .menus.is-open { display: flex; }
  .admin-bar #header .menus { top: 46px; max-height: calc(100vh - 102px); max-height: calc(100dvh - 102px); }
  @media(min-width: 783px) {
    .admin-bar #header .menus { top: 32px; max-height: calc(100vh - 88px); max-height: calc(100dvh - 88px); }
  }

  #header .menus .mobile-menu-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-shrink: 0;
    min-height: 60px;
    padding: 0 12px 0 16px;
    border-bottom: 1px solid #ededed;
    background: #fff;
    position: relative;
  }
  #header .menus .mobile-menu-bar-left {
    display: flex;
    align-items: center;
    min-width: 0;
    flex: 1 1 auto;
    z-index: 1;
  }
  #header .menus .mobile-menu-logo {
    display: block;
    flex: 0 0 auto;
    line-height: 0;
  }
  #header .menus.is-sub .mobile-menu-logo {
    display: none;
  }
  #header .menus .mobile-menu-logo img {
    display: block;
    width: auto !important;
    max-width: 150px;
    max-height: 32px;
    height: auto !important;
  }
  #header .menus .mobile-menu-back {
    display: none;
    align-items: center;
    gap: 3px;
    height: 44px;
    padding: 0 8px 0 0;
    margin: 0 0 0 -4px;
    background: none;
    border: none;
    cursor: pointer;
    color: #1076f6 !important;
    font-size: 17px;
    font-weight: 600;
    font-family: inherit;
    line-height: 20px;
  }
  #header .menus.is-sub .mobile-menu-back {
    display: inline-flex;
  }
  #header .menus .mobile-menu-back[hidden] {
    display: none !important;
  }
  #header .menus .mobile-menu-back-label {
    display: block;
    color: #1076f6;
    font-size: 17px;
    font-weight: 600;
    line-height: 20px;
  }
  #header .menus .mobile-menu-back svg[class*="lucide"] {
    width: 20px;
    height: 20px;
    margin: 0;
    stroke: #1076f6;
    display: block;
    flex-shrink: 0;
    vertical-align: initial;
  }
  #header .menus .mobile-menu-bar-title {
    display: none;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    margin: 0;
    font-size: 17px;
    font-weight: 700;
    color: #373435;
    line-height: 20px;
    pointer-events: none;
    white-space: nowrap;
  }
  #header .menus.is-sub .mobile-menu-bar-title {
    display: block;
  }
  #header .menus .mobile-menu-bar-title[hidden] {
    display: none !important;
  }
  #header .menus .mobile-menu-close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    margin: 0;
    padding: 0;
    background: none;
    border: none;
    cursor: pointer;
    color: #1076f6;
    flex: 0 0 auto;
    z-index: 1;
  }
  #header .menus .mobile-menu-close svg[class*="lucide"] {
    width: 26px;
    height: 26px;
    stroke: #1076f6;
    display: block;
  }

  #header .menus .menu {
    display: none;
    flex: 0 1 auto;
    flex-direction: column;
    min-height: 0;
    max-width: none;
    margin: 0;
    padding: 0;
    box-shadow: none;
    overflow: hidden;
    background: #fff;
  }
  #header .menus .menu.is-active {
    display: flex;
  }
  #header .menus .menu.menu-opening { animation: mobileMenuIn 0.28s ease-out; }
  #header .menus .menu.menu-closing { animation: mobileMenuOut 0.22s ease-out; animation-fill-mode: forwards; }

  @keyframes mobileMenuIn {
    from { opacity: 0; transform: translateX(24px); }
    to { opacity: 1; transform: translateX(0); }
  }
  @keyframes mobileMenuOut {
    from { opacity: 1; transform: translateX(0); }
    to { opacity: 0; transform: translateX(-16px); }
  }
  #header .menus .menu.main.menu-opening {
    animation-name: mobileMenuFadeIn;
  }
  @keyframes mobileMenuFadeIn {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
  }

  #header .menus .desktop-mega { display: none; }
  #header .menus .mobile-drill {
    display: block;
    flex: 0 1 auto;
    min-height: 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    padding: 24px 20px 32px;
  }
  #header .menus .menu.main {
    flex: 0 1 auto;
    min-height: 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    padding: 24px 20px 32px;
  }
  #header .menus .menu.offices > .flex {
    flex: 0 1 auto;
    min-height: 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    display: block;
    padding: 24px 20px 32px;
  }
  #header .menus .menu.service-panel.is-active {
    display: flex;
    flex-direction: column;
  }
  #header .menus .service-panel-body {
    display: block;
    flex: 0 1 auto;
    min-height: 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    padding: 24px 20px 32px;
  }

  #header .menus ul { margin: 0; }
  #header .menus ul li { margin: 0; font-size: 20px; }
  #header .menus .menu.main ul li a,
  #header .menus .mobile-drill-list li a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 16px 0;
    margin: 0;
    border-bottom: 1px solid #ededed;
    font-size: 20px;
    font-weight: 700;
    color: #1076f6;
    text-wrap: wrap;
    cursor: pointer;
    position: relative;
    z-index: 1;
  }
  #header .menus .menu.main a.btn,
  #header .menus .mobile-menu-cta .btn {
    color: #fff !important;
    font-weight: 600;
    margin-bottom: 0;
  }
  #header .menus .menu.main a.btn:hover,
  #header .menus .mobile-menu-cta .btn:hover {
    color: #fff !important;
  }
  #header .menus .mobile-drill-list a.is-current {
    background: #f0f6ff;
    border-radius: 10px;
    padding-left: 12px;
    padding-right: 12px;
    border-bottom-color: transparent;
  }
  #header .menus .mobile-subnav li.current-menu-item > a,
  #header .menus .mobile-subnav li.current_page_item > a {
    color: #1076f6;
    font-weight: 700;
    box-shadow: inset 3px 0 0 #1076f6;
    padding-left: 12px;
  }
  #header .menus .mobile-section-link.is-current {
    border-color: #1076f6;
    box-shadow: inset 0 0 0 1px #1076f6;
  }
  #header .menus .menu-forward {
    flex-shrink: 0;
    margin-left: 12px;
  }
  #header .menus .menu-forward svg[class*="lucide"],
  #header .menus svg.menu-forward,
  #header .menus .menu-forward[class*="lucide"] {
    width: 20px;
    height: 20px;
    stroke: #1076f6;
  }
  #header .menus .mobile-drill-intro {
    font-size: 16px;
    line-height: 1.5;
    color: #555;
    margin-bottom: 20px;
    text-wrap: wrap;
  }
  #header .menus .mobile-menu-cta {
    display: block;
    margin-top: 28px;
  }
  #header .menus .mobile-menu-cta .btn {
    display: inline-block;
    margin-top: 0;
    width: 100%;
    text-align: center;
    box-sizing: border-box;
  }
  #header .menus .mobile-text-link {
    display: block;
    margin-top: 16px;
    text-align: center;
    font-size: 15px;
    font-weight: 600;
    color: #1076f6;
    text-wrap: wrap;
  }
  #header .menus .mobile-section-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 20px;
    padding: 16px 18px;
    background: #f0f6ff;
    border: 1px solid #cde2fd;
    border-radius: 12px;
    font-size: 18px;
    font-weight: 700;
    color: #1076f6;
    text-wrap: wrap;
  }
  #header .menus .mobile-section-link span {
    line-height: 1.3;
  }
  #header .menus .mobile-section-link svg[class*="lucide"] {
    width: 20px;
    height: 20px;
    margin: 0;
    stroke: #1076f6;
    flex-shrink: 0;
  }
  #header .menus .mobile-subnav {
    margin: 0;
  }
  #header .menus .mobile-subnav li a {
    display: block;
    width: 100%;
    padding: 14px 0;
    margin: 0;
    border-bottom: 1px solid #ededed;
    font-size: 18px;
    font-weight: 600;
    color: #373435;
    text-wrap: wrap;
  }

  #header .menus .offices .menu-border {
    margin: 0;
    padding: 0;
    border: none;
    margin-bottom: 32px;
    padding-bottom: 28px;
    border-bottom: 1px solid #ededed;
  }
  #header .menus .offices .w-40,
  #header .menus .offices .w-30 { width: 100%; }
  #header .menus .offices .w-30 { margin-bottom: 28px; }
  #header .menus .offices .w-40 p b { font-size: 22px; line-height: 1.3; }
  #header .menus .offices .w-40 p { text-wrap: wrap; }
  #header .menus .offices img { max-width: 100%; }
  #header .menus a.phone,
  #header .menus a.linkedin {
    display: flex;
    align-items: center;
    margin-bottom: 16px;
    text-wrap: wrap;
  }
}

/* Footer */
#footer .wrapper { background: #F4F6F9; }
#footer .container { padding: 80px 40px 40px; max-width: 1600px; }

#header .menus a.phone svg[class*="lucide"] {
  width: 20px;
  height: 20px;
  stroke: #1076F6;
  vertical-align: middle;
  margin-top: -2px;
}
#header .menus a.linkedin .linkedin-icon {
  width: 20px;
  height: 20px;
  color: #1076F6;
  vertical-align: middle;
  margin-top: -2px;
  display: inline-block;
}

/* Footer Top */
#footer .footer-top { margin-bottom: 60px; }
#footer .footer-brand .logo img { max-width: 220px; width: auto; height: auto; display: block; }
#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 .footer-cta .cta-secondary-link { margin-top: 18px; max-width: 500px; }
#footer .footer-cta .cta-secondary-link a { font-size: 15px; line-height: 1.5; color: #666; text-decoration: none; transition: color 0.2s ease; }
#footer .footer-cta .cta-secondary-link a:hover { color: #1076f6; text-decoration: underline; }

/* 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 .linkedin-icon { margin-left: 8px; color: #1076f6; width: 18px; height: 18px; display: inline-block; }

/* 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: 680px; 
  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;
  padding: 100px 0 130px;
}
#home .hero .container { max-width: 1100px; position: relative; z-index: 2; }
#home .hero .hero-eyebrow { color: #7eb6ff; font-size: 16px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; margin-bottom: 14px; }
#home .hero h1 { color: #fff; font-size: 60px; font-weight: 700; line-height: 1.15; letter-spacing: -0.02em; margin-bottom: 36px; }
#home .hero h1 .hero-emphasis { display: inline; position: relative; font-style: normal; font-weight: inherit; font-size: inherit; line-height: inherit; color: #fff; margin: 0; padding: 0 0.02em 0.12em; }
#home .hero h1 .hero-emphasis::after { content: ''; position: absolute; left: -0.04em; right: -0.04em; bottom: 0.04em; height: 0.1em; background: #7eb6ff; border-radius: 999px; pointer-events: none; }
#home .hero .hero-subheading { color: rgba(255, 255, 255, 0.85); font-size: 23px; line-height: 1.55; font-weight: 400; max-width: 640px; margin-left: auto; margin-right: auto; margin-bottom: 56px; }
#home .hero .hero-cta { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 16px; }
#home .hero .hero-cta .btn.white:not(.outline) { border: 2px solid transparent; }

@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: 520px; padding: 72px 0 56px; }
  #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: 40px;}
  #home .hero h1 { font-size: 48px; margin-bottom: 28px; }
  #home .hero .hero-eyebrow { font-size: 15px; margin-bottom: 10px; }
  #home .hero .hero-subheading { font-size: 21px; margin-bottom: 44px; }
}

@media(max-width: 700px) {
/*   #home .hero .nav-links div.box { width:100%; font-size: 14px; } */
  #home .hero .nav-links {display: none;}
  #home .hero .overlay { padding: 64px 0 56px; min-height: 0; }
  #home .hero .hero-text {padding-top: 0px;}
  #home .hero h1 { font-size: 39px; margin-bottom: 22px; }
  #home .hero .hero-eyebrow { font-size: 14px; letter-spacing: 0.12em; margin-bottom: 10px; }
  #home .hero .hero-subheading { font-size: 20px; max-width: 100%; margin-bottom: 40px; }
}

@media(max-width: 500px){
  #home .hero h1 {font-size: 32px; line-height: 1.2; margin-bottom: 16px;}
  #home .hero .hero-subheading { margin-bottom: 28px; }
  #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 .expertise-intro { padding-right: 40px; }
#home .expertise .expertise-intro > img { margin-bottom: 28px; }
#home .expertise .text { max-width: 520px; }
#home .expertise .text .subhead { color: #1076f6; font-size: 14px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; margin-bottom: 10px; }
#home .expertise .text h2 { margin-bottom: 20px; line-height: 1.2; letter-spacing: -0.02em; max-width: 14em; }
#home .expertise .text .expertise-lead { font-size: 18px; line-height: 1.55; color: #4a4a4a; margin-bottom: 14px; }
#home .expertise .text .expertise-close { font-size: 18px; line-height: 1.45; color: #1076f6; font-weight: 600; margin-bottom: 0; }
#home .expertise .services-grid { display: grid; grid-template-columns: 1fr; gap: 18px; margin-bottom: 0; }
#home .expertise .service-block { display: flex; align-items: flex-start; text-align: left; padding: 28px 30px; cursor: pointer; background: #fff; border: 1px solid #e6eef8; border-radius: 20px; box-shadow: 0 8px 32px rgba(0, 0, 0, 0.06); position: relative; overflow: hidden; transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease; text-decoration: none; gap: 22px; }
#home .expertise .service-block:hover { transform: translateY(-5px); box-shadow: 0 12px 40px rgba(0, 0, 0, 0.1); border-color: rgba(16, 118, 246, 0.35); }
#home .expertise .service-block .service-icon-wrapper { flex-shrink: 0; width: 64px; display: flex; justify-content: center; padding-top: 2px; }
#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; min-width: 0; }
#home .expertise .service-block h4 { color: #1076f6; font-size: 22px; margin-bottom: 8px; line-height: 1.25; }
#home .expertise .service-block .service-lead { font-size: 19px; font-weight: 600; color: #373435; line-height: 1.35; margin-bottom: 10px; }
#home .expertise .service-block p { font-size: 17px; line-height: 1.55; color: #555; margin-bottom: 0; }
#home .expertise .service-block .service-lead + p { font-size: 17px; line-height: 1.55; color: #555; }

@media(max-width: 1200px) {
  #home .expertise .expertise-intro { padding-right: 24px; }
  #home .expertise .service-block { padding: 24px; gap: 18px; }
  #home .expertise .service-block .service-icon-wrapper { width: 56px; }
  #home .expertise .service-block h4 { font-size: 20px; }
  #home .expertise .service-block .service-lead { font-size: 18px; }
  #home .expertise .service-block p,
  #home .expertise .service-block .service-lead + p { font-size: 16px; }
  #home .expertise .text .expertise-lead,
  #home .expertise .text .expertise-close { font-size: 17px; }
}

@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 .expertise-intro { padding-right: 0; }
  #home .expertise .text { max-width: none; }
  #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: 0; }
}

@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: 1; transform: scale(1); 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.animating { transform: scale(1.05); }

@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 55%, #1a6fe0 100%); --confetti-progress: 0; }
#home .anniversary::before { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: linear-gradient(90deg, transparent 0%, #f0c75e 20%, #ffe9a8 50%, #f0c75e 80%, transparent 100%); opacity: 0.85; z-index: 3; pointer-events: none; }
#home .anniversary-bg { position: absolute; inset: 0; pointer-events: none; }
#home .anniversary .confetti-shape { position: absolute; display: block; will-change: transform; transform: translate3d(0, calc(var(--confetti-progress) * var(--drift-y, 0px)), 0) rotate(calc(var(--base-rot, 0deg) + var(--confetti-progress) * var(--spin, 0deg))); opacity: var(--piece-opacity, 0.7); }
#home .anniversary .shape-1 { width: 14px; height: 14px; top: 18%; left: 6%; background: #ffe9a8; border-radius: 2px; --base-rot: 18deg; --drift-y: -28px; --spin: 40deg; --piece-opacity: 0.85; }
#home .anniversary .shape-2 { width: 10px; height: 10px; top: 62%; left: 14%; background: #fff; border-radius: 50%; --drift-y: 22px; --spin: -25deg; --piece-opacity: 0.7; }
#home .anniversary .shape-3 { width: 12px; height: 12px; top: 28%; left: 22%; background: #f0c75e; border-radius: 2px; --base-rot: 45deg; --drift-y: -36px; --spin: 55deg; --piece-opacity: 0.8; }
#home .anniversary .shape-4 { width: 8px; height: 16px; top: 55%; left: 32%; background: rgba(255, 255, 255, 0.75); border-radius: 2px; --base-rot: -12deg; --drift-y: 30px; --spin: -35deg; --piece-opacity: 0.65; }
#home .anniversary .shape-5 { width: 16px; height: 16px; top: 22%; left: 48%; background: #ffe9a8; border-radius: 50%; --drift-y: -20px; --spin: 20deg; --piece-opacity: 0.75; }
#home .anniversary .shape-6 { width: 11px; height: 11px; top: 68%; left: 58%; background: #f0c75e; border-radius: 2px; --base-rot: 30deg; --drift-y: 26px; --spin: 45deg; --piece-opacity: 0.8; }
#home .anniversary .shape-7 { width: 9px; height: 9px; top: 35%; right: 28%; background: #fff; border-radius: 50%; --drift-y: -32px; --spin: -40deg; --piece-opacity: 0.7; }
#home .anniversary .shape-8 { width: 13px; height: 7px; top: 58%; right: 18%; background: #ffe9a8; border-radius: 2px; --base-rot: -25deg; --drift-y: 24px; --spin: 30deg; --piece-opacity: 0.85; }
#home .anniversary .shape-9 { width: 10px; height: 10px; top: 20%; right: 10%; background: #f0c75e; border-radius: 2px; --base-rot: 55deg; --drift-y: -24px; --spin: -50deg; --piece-opacity: 0.8; }
#home .anniversary .shape-10 { width: 7px; height: 14px; top: 70%; right: 8%; background: rgba(255, 255, 255, 0.8); border-radius: 2px; --base-rot: 8deg; --drift-y: 34px; --spin: 28deg; --piece-opacity: 0.65; }
#home .anniversary .shape-11 { width: 12px; height: 12px; top: 42%; left: 78%; background: #ffe9a8; clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%); --drift-y: -18px; --spin: 60deg; --piece-opacity: 0.9; }
#home .anniversary .shape-12 { width: 8px; height: 8px; top: 48%; left: 4%; background: #fff; clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%); --drift-y: 20px; --spin: -30deg; --piece-opacity: 0.75; }
#home .anniversary-content { position: relative; z-index: 2; display: flex; align-items: center; justify-content: center; gap: 40px; padding: 30px 40px; max-width: 1600px; text-align: center; }
#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; justify-content: center; 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: #ffe9a8; letter-spacing: 3px; text-shadow: 0 2px 8px rgba(0, 0, 0, 0.25); margin-bottom: 8px; }
#home .anniversary-message { flex: 0 1 auto; max-width: 640px; opacity: 0; transform: translateY(16px); transition: opacity 1s ease-out 0.4s, transform 1s ease-out 0.4s; }
#home .anniversary-message.animate-in { opacity: 1; transform: translateY(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); }
@media (prefers-reduced-motion: reduce) {
  #home .anniversary .confetti-shape { transform: none; }
}

@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: 1; }
.article-large:hover img { transform: scale(1.05); }

.article-large .article-content { 
  position: absolute; bottom: 0; left: 0; right: 0; 
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 16px 32px;
  background: rgba(0, 10, 30, 0.55);
  color: #fff; z-index: 5; 
}

.article-large .article-content a {text-decoration: none;}

.article-large:not(:hover) .excerpt-revealer { display: none; }
.article-large:hover .excerpt-revealer {
  display: block;
  max-height: 72px;
  opacity: 1;
  margin: 8px 0 0 !important;
}
.article-large .excerpt-revealer p { font-size: 14px; line-height: 1.4; }

.article-large h3 { font-size: 26px !important; line-height: 1.15 !important; font-weight: 700 !important; color: #fff !important; margin-bottom: 0 !important; border: none !important; text-decoration: none !important; text-shadow: 0 1px 4px rgba(0, 0, 0, 0.4); }
.article-large .cta { color: #fff !important; margin-top: 8px; display: inline-block; font-size: 16px; font-weight: 600; text-decoration: none !important; text-shadow: 0 1px 4px rgba(0, 0, 0, 0.4); }
.article-large .post-cat-tag { margin-bottom: 8px !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: #1076f6; position: relative; z-index: 5; 
}
.article-small .article-text a {text-decoration: none;}

.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 { opacity: 0.8; }
.article-small .cta { color: #fff !important; font-size: 16px; 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-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: 20px; margin-bottom: 50px; display: inline-block; }
#home .articles .cta svg[class*="lucide"] {
  width: 16px;
  height: 16px;
  margin-left: 5px;
}


/* 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 .no-top-margin {margin-top: 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 .w-50 a {text-shadow: none;}

#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;
  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 {margin-top: 3%; margin-bottom: 7%;}
#inner-page .cta-section .cta-banner {display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; padding: 28px 36px; margin: 0 auto; max-width: 1040px; border-radius: 20px; background: linear-gradient(135deg, #0d5ecf 0%, #1076f6 100%); box-shadow: 0 16px 48px rgba(16, 118, 246, 0.22), 0 4px 16px rgba(0, 51, 116, 0.1); transform: translateY(-8px);}
#inner-page .cta-section .cta-banner h3 {margin: 0; flex: 1; min-width: 220px; font-size: clamp(1.2rem, 2.4vw, 1.45rem); line-height: 1.35; font-weight: 600;}
#inner-page .cta-section .cta-banner .btn {flex-shrink: 0; padding: 12px 36px;}
@media(max-width: 700px) {
  #inner-page .cta-section .cta-banner {flex-direction: column; align-items: flex-start; padding: 24px 28px; transform: none;}
  #inner-page .cta-section .cta-banner .btn {width: 100%; text-align: center;}
}
#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;
}

#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; overflow: hidden;}
#inner-page .card .card-img img {width: 100%; height: 100%; object-fit: cover; object-position: center top; display: block;}
#inner-page .step-cards {display: flex; flex-direction: column; gap: 20px; margin: 0 auto; padding: 0; list-style: none; position: relative; z-index: 1;}
#inner-page .step-cards.numbered {counter-reset: step;}
#inner-page .step-cards.numbered::before {content: ''; position: absolute; top: 60px; bottom: 60px; left: 60px; width: 2px; background: #e0e0e0; z-index: -1;}
#inner-page .step-cards .step {display: flex; flex-direction: column; gap: 10px; width: 100%; background: #fff; border-radius: 14px; padding: 28px 32px; text-align: left; box-shadow: 0 2px 8px rgba(16, 24, 40, 0.06), 0 1px 2px rgba(16, 24, 40, 0.04); transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease; border: 1px solid #e4e8f0; border-top-width: 3px; position: relative; overflow: hidden;}
#inner-page .step-cards .step:nth-child(1) {border-top-color: #1076f6; background: linear-gradient(180deg, rgba(16, 118, 246, 0.07) 0%, #fff 42%);}
#inner-page .step-cards .step:nth-child(2) {border-top-color: #1e3a5f; background: linear-gradient(180deg, rgba(30, 58, 95, 0.07) 0%, #fff 42%);}
#inner-page .step-cards .step:nth-child(3) {border-top-color: #373435; background: linear-gradient(180deg, rgba(55, 52, 53, 0.06) 0%, #fff 42%);}
#inner-page .step-cards.numbered .step {padding-left: 120px; min-height: 120px; justify-content: center;}
#inner-page .step-cards.numbered .step::before {counter-increment: step; content: counter(step); position: absolute; left: 32px; top: 50%; transform: translateY(-50%); display: flex; align-items: center; justify-content: center; width: 56px; height: 56px; border-radius: 50%; background: #1076f6; color: #fff; font-size: 24px; font-weight: 700; box-shadow: 0 4px 12px rgba(16, 118, 246, 0.18);}
#inner-page .step-cards.numbered .step:nth-child(2)::before {background: #1e3a5f;}
#inner-page .step-cards.numbered .step:nth-child(3)::before {background: #373435;}
#inner-page .step-cards .step:hover {transform: translateY(-2px); box-shadow: 0 10px 24px rgba(16, 24, 40, 0.09); border-color: #d0d8e8;}
#inner-page .step-cards .step h3 {font-size: 23px; margin: 0; font-weight: 700; line-height: 1.3; letter-spacing: -0.02em;}
#inner-page .step-cards .step:nth-child(1) h3 {color: #1076f6;}
#inner-page .step-cards .step:nth-child(2) h3 {color: #1e3a5f;}
#inner-page .step-cards .step:nth-child(3) h3 {color: #373435;}
#inner-page .step-cards .step p {font-size: 16px; color: #4a5568; margin: 0; line-height: 1.6;}

@media(max-width: 800px) {
  #inner-page .step-cards {max-width: 400px;}
  #inner-page .step-cards .step {padding: 24px;}
  #inner-page .step-cards .step h3 {font-size: 20px;}
  #inner-page .step-cards .step p {font-size: 15px;}
  #inner-page .step-cards.numbered .step {padding-left: 24px; padding-top: 92px; min-height: 0;}
  #inner-page .step-cards.numbered .step::before {top: 20px; left: 20px; transform: none; width: 48px; height: 48px; font-size: 20px;}
  #inner-page .step-cards.numbered::before {display: none;}
}
#inner-page .full-width-50-50 .col-pic {position: relative;}
#inner-page .full-width-50-50 .photo-caption {position: absolute; left: 0; right: 0; bottom: 0; padding: 10px 16px; font-size: 12px; line-height: 1.4; color: #fff; background: rgba(0, 0, 0, 0.55);}
#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;
}

/* Case Studies Section */
#inner-page .case-studies .blog-link {display: block; position: relative; height: 400px; overflow: hidden; text-decoration: none; transition: transform 0.3s ease, box-shadow 0.3s ease; box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);}
#inner-page .case-studies .blog-link:hover {transform: translateY(-8px); box-shadow: 0 16px 40px rgba(0, 0, 0, 0.18);}
#inner-page .case-studies .blog-link .overlay {display: flex; flex-direction: column; justify-content: flex-end; padding: 40px; height: 100%; background: linear-gradient(to top, rgba(0, 10, 30, 1) 0%, rgba(0, 10, 30, 0.8) 50%, transparent 100%); transition: background 0.3s ease;}
/* #inner-page .case-studies .blog-link:hover .overlay {background: linear-gradient(to top, rgba(16, 118, 246, 0.95) 0%, rgba(16, 118, 246, 0.7) 50%, transparent 100%);} */
#inner-page .case-studies .blog-link .post-cat-tag {font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: 1.5px; color: #fff; margin-bottom: 15px; border-bottom: 2px solid rgba(255, 255, 255, 0.6); padding-bottom: 2px; display: inline-block; line-height: 1; width: fit-content;}
#inner-page .case-studies .blog-link h3 {font-size: 28px; line-height: 1.2; font-weight: 700; color: #fff; margin-bottom: 15px; transition: transform 0.3s ease;}
#inner-page .case-studies .blog-link:hover h3 {transform: translateY(-5px);}
#inner-page .case-studies .blog-link .cta {font-size: 16px; font-weight: 600; color: #fff; text-decoration: none; display: inline-flex; align-items: center; transition: transform 0.3s ease;}
#inner-page .case-studies .blog-link:hover .cta {transform: translateY(-5px);}
#inner-page .case-studies .blog-link .cta i {padding-left: 5px;}
#inner-page .case-studies ul {padding-left: 20px;}
#inner-page .case-studies .text-section-heading {color: #1076f6; margin-bottom: 20px;}
#inner-page .case-studies .roi-card {background: #1076f6; padding: 50px 40px; text-align: center; height: 400px; display: flex; flex-direction: column; justify-content: center;}
#inner-page .case-studies .roi-card .key-takeaway {font-size: 22px; font-weight: 600; color: #fff;}
#inner-page .case-studies .roi-card h3 {margin-bottom: 15px; line-height: 0;}
#inner-page .case-studies .roi-card .roi-stat-number {font-size: 110px; font-weight: 700; color: #fff; display: block; line-height: 1;}
#inner-page .case-studies .roi-card .roi-stat-subheading {font-size: 37px; font-weight: 600; color: #fff; display: block;}
#inner-page .case-studies .roi-card p {font-size: 20px; font-weight: 400; color: #fff; margin-bottom: 0;}

@media(max-width: 1000px) {
  #inner-page .case-studies .w-333 {width: 100%; margin-bottom: 25px;}
  #inner-page .case-studies .blog-link h3 {font-size: 24px;}
}

@media(max-width: 700px) {
  #inner-page .case-studies .blog-link {height: 300px;}
  #inner-page .case-studies .blog-link .overlay {padding: 30px;}
  #inner-page .case-studies .blog-link h3 {font-size: 22px;}
}

/* Template Overrides */
#inner-page.about-page .photo-bg-50-50 h1 {font-weight: 600; font-size: 37px;}

#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 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  align-items: stretch;
}
#blog.posts-page .content-section > .w-100 { grid-column: 1 / -1; width: 100%; }
#blog.posts-page .content-section > .w-333 { width: 100%; }
#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;}
#blog.posts-page .navigation h2 {font-size: 20px; margin-bottom: 10px;}
#blog.posts-page .navigation .nav-links a, #blog.posts-page .navigation .nav-links span {font-size: 18px;}
#blog.posts-page .navigation .nav-links {margin-bottom: 25px;}

/* Case Studies */
.post-type-archive-case_study #blog {padding-top: 80px;}
#blog.posts-page .case-studies-banner .overlay {background: rgba(0, 51, 116, 0.85);}
#blog.posts-page .case-studies-banner .container {padding: 100px 40px;}
#blog.posts-page .case-studies-banner .banner-text {max-width: 600px; color: #fff;}

@media(max-width: 1000px){
  #blog.posts-page .content-section { grid-template-columns: repeat(2, 1fr); }
  #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.posts-page .content-section { grid-template-columns: 1fr; }
  #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;}


#inner-page .testimonial-section {padding: 56px 0; width: 100%;}
#inner-page .testimonial-heading {margin: 0 0 40px 0; line-height: 1.15;}
#inner-page .testimonial-list {display: grid; gap: 28px; width: 100%;}
#inner-page .testimonial-list.single {grid-template-columns: 1fr; max-width: 820px; margin: 0 auto;}
#inner-page .testimonial-list.double {grid-template-columns: repeat(2, 1fr);}
#inner-page .testimonial-list.multiple {grid-template-columns: repeat(3, 1fr);}
#inner-page .testimonial-card {margin: 0; padding: 36px 36px 32px 68px; background: #fff; border-left: 5px solid #1076f6; border-radius: 0 16px 16px 0; box-shadow: 0 8px 28px rgba(0, 51, 116, 0.08); position: relative; display: flex; flex-direction: column; height: 100%;}
#inner-page .testimonial-card::before {content: '\201C'; position: absolute; left: 22px; top: 18px; font-size: 72px; line-height: 1; color: #1076f6; opacity: 0.28; font-family: Georgia, serif; pointer-events: none;}
#inner-page .testimonial-quote {margin: 0; padding: 0; border: none; background: none;}
#inner-page .testimonial-quote p {margin: 0; font-size: 22px; line-height: 1.55; font-style: italic; font-weight: 500; color: #1a1a1a;}
#inner-page .testimonial-list.single .testimonial-quote p {font-size: 26px; line-height: 1.5;}
#inner-page .testimonial-attribution {margin-top: 24px; padding-top: 20px; border-top: 1px solid #e4e8f0; display: flex; flex-direction: column; gap: 4px;}
#inner-page .testimonial-author {font-size: 18px; font-weight: 700; color: #1076f6; line-height: 1.3;}
#inner-page .testimonial-title {font-size: 16px; font-weight: 600; color: #6b7280; line-height: 1.35;}

@media(max-width: 1000px){
  #inner-page .testimonial-list.double, #inner-page .testimonial-list.multiple {grid-template-columns: 1fr;}
  #inner-page .testimonial-list.single .testimonial-quote p {font-size: 24px;}
}

@media(max-width: 700px){
  #inner-page .testimonial-section {padding: 40px 0;}
  #inner-page .testimonial-heading {margin-bottom: 28px;}
  #inner-page .testimonial-list {gap: 20px;}
  #inner-page .testimonial-card {padding: 28px 24px 24px 56px; border-radius: 0 12px 12px 0;}
  #inner-page .testimonial-card::before {left: 16px; top: 14px; font-size: 56px;}
  #inner-page .testimonial-quote p {font-size: 20px;}
  #inner-page .testimonial-list.single .testimonial-quote p {font-size: 22px;}
  #inner-page .testimonial-attribution {margin-top: 20px; padding-top: 16px;}
}


#inner-page .faq-section {padding: 48px 0; width: 100%;}
#inner-page .faq-content {width: 70%; margin: 0 auto;}
#inner-page .faq-heading {text-align: left; margin: 0 0 32px 0; line-height: 1.15;}
#inner-page .faq-list {display: flex; flex-direction: column; width: 100%; background: #fff; border: 1px solid #e4e8f0; border-radius: 14px; padding: 4px 0; box-shadow: 0 4px 20px rgba(16, 24, 40, 0.06);}
#inner-page .faq-item {width: 100%; border-bottom: 1px solid #e4e8f0;}
#inner-page .faq-item:last-child {border-bottom: none;}
#inner-page .faq-trigger {width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 22px 28px; background: none; border: none; cursor: pointer; text-align: left; font-family: "proxima-nova", sans-serif;}
#inner-page .faq-question {flex: 1; font-size: 20px; font-family: "proxima-nova", sans-serif; font-weight: 600; color: #373435; line-height: 1.4; margin: 0; transition: color 0.25s ease;}
#inner-page .faq-icon {display: flex; align-items: center; justify-content: center; flex-shrink: 0; width: 24px; height: 24px; color: #1076f6; transition: transform 0.3s ease, color 0.25s ease;}
#inner-page .faq-icon svg {width: 24px; height: 24px; stroke-width: 2px;}
#inner-page .faq-item.is-open .faq-question {color: #1076f6;}
#inner-page .faq-item.is-open .faq-icon {transform: rotate(180deg); color: #1076f6;}
#inner-page .faq-item.is-open .faq-trigger {padding-bottom: 16px;}
#inner-page .faq-trigger:hover .faq-question {color: #1076f6;}
#inner-page .faq-trigger:hover .faq-icon {color: #0d5ecf;}
#inner-page .faq-panel {overflow: hidden; transition: height 0.35s cubic-bezier(0.4, 0, 0.2, 1);}
#inner-page .faq-answer {margin: 0 28px 20px; padding: 20px 24px; background: #f4f6f9; border-radius: 10px; border-left: 3px solid rgba(16, 118, 246, 0.35);}
#inner-page .faq-answer p {font-size: 20px; font-family: "proxima-nova", sans-serif; line-height: 1.6; color: #373435; margin-bottom: 16px;}
#inner-page .faq-answer p:last-child {margin-bottom: 0;}
#inner-page .faq-answer ul, #inner-page .faq-answer ol {margin: 0 0 16px 24px; padding: 0;}
#inner-page .faq-answer li {font-size: 20px; font-family: "proxima-nova", sans-serif; line-height: 1.6; color: #373435; margin-bottom: 8px;}
#inner-page .faq-answer a {color: #1076f6; text-decoration: underline;}
#inner-page .faq-answer a:hover {color: #0d5ecf;}

@media(max-width: 700px){
  #inner-page .faq-section {padding: 36px 0;}
  #inner-page .faq-content {width: 100%;}
  #inner-page .faq-heading {margin-bottom: 24px;}
  #inner-page .faq-trigger {padding: 20px 20px; gap: 16px;}
  #inner-page .faq-item.is-open .faq-trigger {padding-bottom: 14px;}
  #inner-page .faq-answer {margin: 0 20px 16px; padding: 16px 18px;}
}


/* Technology & Partners - Logo Grid (net-new component) */
#inner-page .tech-section {padding: 40px 0 80px;}
#inner-page.technology-partners .photo-bg-50-50 .content-section {margin-bottom: 3%;}
#inner-page .certified-partners {padding: 10px 0 30px;}
#inner-page.technology-partners .intro {max-width: 800px; margin-left: auto; margin-right: auto;}
#inner-page .tech-section .intro {margin-bottom: 6%;}
#inner-page .tech-group {margin-bottom: 50px;}
#inner-page .tech-group-label {display: block; font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: 1.5px; color: #1076f6; margin-bottom: 18px; text-align: center;}
#inner-page .tech-grid {display: flex; flex-wrap: wrap; justify-content: center; gap: 16px;}
#inner-page .tech-logo {position: relative; flex: 0 1 160px; display: flex; align-items: center; justify-content: center; height: 96px; padding: 24px; background: #fff; border: 1px solid #e4e8f0; border-radius: 12px; text-decoration: none; transition: transform 0.3s ease, box-shadow 0.3s ease;}
#inner-page .tech-logo .aff-marker {position: absolute; top: 6px; right: 10px; font-size: 16px; font-weight: 700; line-height: 1; color: #1076f6;}
#inner-page .tech-logo:hover {transform: translateY(-10px); box-shadow: 0 15px 30px rgba(0,0,0,0.1);}
/* IMPORTANT: override global "img {width:100%; height:auto !important}" so logos keep their aspect ratio instead of stretching */
#inner-page .tech-logo img {width: auto !important; height: auto !important; max-height: 38px; max-width: 100%; object-fit: contain; margin: 0;}
#inner-page .tech-logo .tech-logo-text {font-size: 18px; font-weight: 700; color: #373435; text-align: center; line-height: 1.2;}
#inner-page .tech-disclaimer {font-size: 14px; color: #666; line-height: 1.5; text-align: center; max-width: 800px; margin: 30px auto 0;}

/* Certified Partner tiles - larger tech-logo tiles with a blue border for emphasis */
#inner-page .partner-tile {flex: 0 1 280px; height: 140px;border: 2px solid #1076f6;}
#inner-page .partner-tile img {max-height: 60px;}


@media(max-width: 700px) {
  #inner-page .tech-section {padding: 50px 0;}
}

@media(max-width: 600px) {
  #inner-page .tech-logo {flex-basis: 130px; height: 84px; padding: 18px;}
}
