@font-face{font-family:'Usuzi Condensed';src:url('../../FONT/usuzicond.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}:root{--brand-blue:#006097;--brand-green:#76b72a;--ct-blue:#173345;--teal:#5f9822;--teal-hover:#4c7b1b;--teal-light:rgba(118, 183, 42, 0.12);--gray-50:#fafbfc;--gray-100:#f3f5f7;--gray-200:#e1e7eb;--gray-700:#45545a;--gray-800:#243139;--gray-900:#10181e;--hero-overlay:rgba(12, 39, 58, 0.34);--section-line:rgba(23, 51, 69, 0.12);--section-glow:rgba(0, 96, 151, 0.06)}html{scroll-behavior:smooth}body{font-family:'Open Sans',sans-serif;color:var(--gray-800);background:#fff}h1,h2,h3,h4,h5,h6{font-family:Montserrat,sans-serif;font-weight:700;color:var(--gray-900);text-wrap:balance}h1{font-size:45px;line-height:1.18}h2{font-size:36px;line-height:1.25}h3{font-size:28px;line-height:1.3}h4{font-size:24px;line-height:1.35}h5{font-size:20px;line-height:1.4}h6{font-size:18px;line-height:1.45}.brand-wordmark{font-family:'Usuzi Condensed',Montserrat,sans-serif;font-weight:400;letter-spacing:.04em;text-transform:uppercase}.font-montserrat{font-family:Montserrat,sans-serif}.text-teal-custom{color:var(--teal)}.hover-text-teal-custom:hover{color:var(--teal)}.bg-teal-custom{background-color:var(--teal)}.bg-ct-blue{background-color:var(--ct-blue)}.text-ct-blue{color:var(--ct-blue)}.text-brand-blue{color:var(--brand-blue)}.text-body-muted{color:var(--gray-700)}.bg-section-light{background:var(--gray-100)}.section-kicker.kicker-on-dark{color:#9fd7ff}.section-dark-cta{background:linear-gradient(135deg,#10181e 0,#173345 100%)}.text-white-40{color:rgba(255,255,255,.4)}.text-white-50{color:rgba(255,255,255,.5)}.text-white-60{color:rgba(255,255,255,.6)}.text-white-65{color:rgba(255,255,255,.65)}.text-white-70{color:rgba(255,255,255,.7)}.text-white-72{color:rgba(255,255,255,.72)}.text-white-74{color:rgba(255,255,255,.74)}.text-white-75{color:rgba(255,255,255,.75)}.text-white-76{color:rgba(255,255,255,.76)}.text-white-80{color:rgba(255,255,255,.8)}.text-white-85{color:rgba(255,255,255,.85)}.bg-brand-blue-tint{background:rgba(0,96,151,.09);color:var(--brand-blue)}.bg-glass-light{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15)}.bg-glass-lighter{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1)}.skip-link{position:absolute;left:16px;top:16px;z-index:100;background:#fff;color:var(--gray-900);padding:10px 14px;border-radius:8px;transform:translateY(-140%);transition:transform .2s ease}.skip-link:focus{transform:translateY(0)}:focus-visible{outline:3px solid var(--brand-blue);outline-offset:3px;border-radius:3px}:focus:not(:focus-visible){outline:0}.glass-nav,.shared-glass-nav{background-color:rgba(255,255,255,.95);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--gray-200);transition:background-color .25s ease,backdrop-filter .25s ease,border-color .25s ease}.shared-site-chrome,.site-chrome{position:fixed;top:0;left:0;right:0;z-index:50;transition:transform 260ms ease,opacity 260ms ease}.shared-site-chrome{z-index:2200}.shared-site-chrome.is-hidden,.site-chrome.is-hidden{transform:translateY(calc(-100% - 8px));opacity:0;pointer-events:none}.shared-top-bar,.top-bar{background:rgba(243,244,246,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.shared-top-trigger,.top-trigger{display:none}.nav-at-top,.shared-nav-at-top{background-color:rgba(255,255,255,.75);border-bottom-color:rgba(229,231,235,.6);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.glass-nav .group,.shared-desktop-flex>.shared-nav-desktop-group{display:flex;align-items:center;min-height:40px}.nav-link,.shared-nav-link{position:relative;display:inline-flex;align-items:center;min-height:40px;line-height:1;padding-bottom:8px;text-decoration:none;color:var(--gray-900);font-weight:600;font-size:15px;transition:color .3s ease,transform .3s ease}.nav-link::after,.shared-nav-link::after{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background-color:var(--teal);transition:width .4s ease}.nav-link.active,.nav-link:hover,.shared-nav-link.active,.shared-nav-link:hover{color:var(--teal);transform:translateY(-1px)}.nav-link.active::after,.nav-link:hover::after,.shared-nav-link.active::after,.shared-nav-link:hover::after{width:100%}.dropdown-link,.shared-dropdown-link{position:relative;text-decoration:none;color:var(--gray-900);transition:color .3s ease,background-color .3s ease,transform .3s ease;display:block;padding:12px 20px}.dropdown-link::after,.shared-dropdown-link::after{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background:linear-gradient(to right,transparent,var(--teal) 20%,var(--teal) 80%,transparent);transition:width .5s ease-out}.dropdown-link:hover,.shared-dropdown-link:hover{background-color:var(--gray-100);transform:translateX(2px)}.dropdown-link:hover::after,.shared-dropdown-link:hover::after{width:100%}.dropdown-link-active,.shared-dropdown-link-active{color:var(--teal)}.mobile-link-active{color:var(--teal)}.nav-dropdown-panel::before,.shared-dropdown-panel::before{content:'';position:absolute;left:0;right:0;top:-16px;height:16px;background:0 0}.btn-primary{background:var(--teal);color:#fff;font-family:Montserrat,sans-serif;font-weight:700;padding:16px 32px;border-radius:8px;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease,color .3s ease;display:inline-block;text-decoration:none}.btn-primary:hover{background:var(--teal-hover);transform:translateY(-1px);box-shadow:0 10px 20px rgba(95,152,34,.22)}.btn-secondary{background:rgba(255,255,255,.15);color:#fff;font-family:Montserrat,sans-serif;font-weight:700;padding:16px 32px;border-radius:8px;border:1px solid rgba(255,255,255,.3);transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease,border-color .3s ease,color .3s ease;display:inline-block;text-decoration:none}.btn-secondary:hover{background:rgba(255,255,255,.25);border-color:rgba(255,255,255,.44);transform:translateY(-1px);box-shadow:0 8px 18px rgba(0,0,0,.12)}.kicker-teal{color:#9be5e4}.soft-shadow{box-shadow:0 4px 12px rgba(0,0,0,0.08)}

/* Contextual contrast: retain the brand palette for decorative elements. */
:root{
  /* Text and white-lettered controls need deeper green than decorative accents. */
  --green-ink:#3f6817;
  --green-action:#4c7b1b;
  --green-action-hover:#3f6817;
}

.btn-primary{
  --teal:var(--green-action);
  --teal-hover:var(--green-action-hover);
}

body[data-shared-chrome] :is(.section-kicker, .text-teal-custom, .resource-kicker,
  .eng-tag, .exp-tag, .model-tag,
  .means-tag, .asset-card-label, .timeline-year, .solution-card-label,
  .capability-card-label, .cert-logo-teal, .asset-card-cta, .resource-cta),
body[data-shared-chrome] :is(.intro-proof-node, .capability-card-metric,
  .recognition-meta, .refinery-lane-point, .solution-card-meta) strong,
body[data-shared-chrome] .hover-text-teal-custom:hover{
  --teal:var(--green-ink);
  --ct-green-deep:var(--green-ink);
}

body[data-shared-chrome] :is(.linkedin-insights-kicker, .linkedin-insight-meta,
  .project-sequence-kicker, .project-gallery-kicker, .cert-display-label),
body[data-shared-chrome] .safety-cert-item span,
body[data-shared-chrome] .project-sequence-link:not(.project-sequence-all) .project-sequence-label{
  color:var(--green-ink);
}

body[data-shared-chrome] .project-sequence-link:focus-visible{
  outline:3px solid var(--brand-blue);
  outline-offset:3px;
}

body[data-shared-chrome] .section-kicker.kicker-on-dark{
  color:#9fd7ff;
}

body[data-shared-chrome] .section-kicker.kicker-teal{
  color:#9be5e4;
}

body[data-shared-chrome] :is(.page-hero, .projects-dark, .section-dark-cta,
  .footer-shell, .metrics-band) :is(.text-teal-custom, .resource-kicker, .section-kicker:not(.kicker-on-dark)){
  --teal:#c6ef95;
}

body[data-shared-chrome] :is(.dig-num, .del-num, .proc-num, .badge-mega){
  --teal:var(--green-action);
}

body[data-shared-chrome] .certification-identity-tile{
  background:var(--green-action)!important;
}

/* Two tones also support white cards nested inside a dark section. */
body[data-shared-chrome] :is(.footer-shell, .projects-dark, .section-dark-cta, .page-hero,
  .scope-panel, #hero-section, section[style*="color:#fff"]) :focus-visible{
  outline:3px solid #d8efff;
  outline-offset:3px;
  box-shadow:0 0 0 3px #006097;
}

/* Responsive release: switch to the accessible drawer before desktop links clip. */
@media (max-width:1023px){
  #site-chrome .top-bar,
  #site-chrome .shared-desktop-only{display:none!important}
  #main-nav .hidden.md\:flex,
  #main-nav .shared-desktop-flex{display:none!important}
  #mobile-menu-button.md\:hidden,
  #mobile-menu-button.shared-mobile-only{display:flex!important;align-items:center;justify-content:center;min-width:48px;min-height:48px}
}

/* Shared mobile navigation: clean, touch-friendly corporate treatment. */
#mobile-menu{
  border-left:1px solid rgba(16,24,30,.08);
  box-shadow:-18px 0 46px rgba(16,24,30,.2);
}

#mobile-menu a,
#mobile-menu a:hover,
#mobile-menu a:focus-visible{
  text-decoration:none;
}

#mobile-menu #mobile-menu-close{
  border:0;
  border-radius:12px;
  background:transparent;
  transition:background-color .2s ease,color .2s ease;
}

#mobile-menu #mobile-menu-close:hover,
#mobile-menu #mobile-menu-close:focus-visible{
  color:var(--ct-blue);
  background:var(--gray-100);
}

#mobile-menu .overflow-y-auto>.mb-5{
  padding-bottom:18px;
  border-bottom:1px solid rgba(16,24,30,.08);
}

#mobile-menu .overflow-y-auto>.mb-5:last-child{
  padding-bottom:0;
  border-bottom:0;
}

#mobile-menu .overflow-y-auto .text-xs.font-bold.uppercase{
  color:var(--brand-blue);
  font-family:Montserrat,sans-serif;
  font-size:11px;
  letter-spacing:.16em;
}

#mobile-menu .mobile-menu-section-toggle{
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
  min-height:44px;
  padding:8px 12px;
  border:0;
  border-radius:10px;
  background:transparent;
  text-align:left;
  cursor:pointer;
  transition:background-color .2s ease,color .2s ease;
}

#mobile-menu .mobile-menu-section-toggle:hover,
#mobile-menu .mobile-menu-section-toggle:focus-visible{
  color:var(--ct-blue);
  background:var(--gray-100);
}

#mobile-menu .mobile-menu-section-indicator{
  position:relative;
  flex:0 0 14px;
  width:14px;
  height:14px;
}

#mobile-menu .mobile-menu-section-indicator::before,
#mobile-menu .mobile-menu-section-indicator::after{
  content:'';
  position:absolute;
  top:50%;
  left:50%;
  width:12px;
  height:1.5px;
  border-radius:999px;
  background:var(--brand-blue);
  transform:translate(-50%,-50%);
  transition:opacity .2s ease,transform .2s ease;
}

#mobile-menu .mobile-menu-section-indicator::after{
  transform:translate(-50%,-50%) rotate(90deg);
}

#mobile-menu .mobile-menu-section-toggle[aria-expanded="true"] .mobile-menu-section-indicator::after{
  opacity:0;
  transform:translate(-50%,-50%) rotate(90deg) scaleX(0);
}

#mobile-menu .mobile-menu-section-links{
  margin-top:8px;
}

#mobile-menu .overflow-y-auto a{
  display:flex;
  align-items:center;
  min-height:44px;
  padding:10px 12px;
  border-radius:10px;
  color:var(--gray-800);
  font-family:Montserrat,sans-serif;
  font-size:14px;
  font-weight:600;
  line-height:1.35;
  transition:background-color .2s ease,color .2s ease,transform .2s ease;
}

#mobile-menu .overflow-y-auto a:hover,
#mobile-menu .overflow-y-auto a:focus-visible{
  color:var(--ct-blue);
  background:var(--gray-100);
  transform:translateX(2px);
}

#mobile-menu .overflow-y-auto a.text-teal-custom,
#mobile-menu .overflow-y-auto a.mobile-link-active{
  color:var(--teal);
  background:var(--teal-light);
}

#mobile-menu .overflow-y-auto a.mobile-menu-primary-link{
  color:var(--brand-blue);
  font-size:11px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}

#mobile-menu .overflow-y-auto a.mobile-menu-primary-link:hover,
#mobile-menu .overflow-y-auto a.mobile-menu-primary-link:focus-visible{
  color:var(--ct-blue);
}

#mobile-menu .btn-primary{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  border-radius:12px;
  box-shadow:0 12px 24px rgba(95,152,34,.18);
}

/* Keep the off-canvas navigation outside the document scroll range while closed. */
html,body{
  overflow-x:hidden;
  overflow-x:clip;
}

/*
 * Shared navigation authority.
 * Keep page-specific drawers and overlays from changing the site menu.
 */
body[data-shared-chrome] > #mobile-menu-overlay{
  position:fixed!important;
  inset:0!important;
  z-index:2300!important;
  background:rgba(9,17,24,.58)!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transition:opacity .22s ease,visibility .22s ease!important;
}

body[data-shared-chrome] > #mobile-menu-overlay.open{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}

body[data-shared-chrome] > #mobile-menu{
  position:fixed!important;
  top:0!important;
  right:0!important;
  bottom:0!important;
  left:auto!important;
  z-index:2310!important;
  width:min(92vw,420px)!important;
  max-width:420px!important;
  height:100vh!important;
  height:100dvh!important;
  overflow:hidden!important;
  background:#fff!important;
  transform:translate3d(100%,0,0)!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transition:transform .24s ease,visibility .24s ease!important;
  overscroll-behavior:contain;
}

body[data-shared-chrome] > #mobile-menu.open{
  transform:translate3d(0,0,0)!important;
  visibility:visible!important;
  pointer-events:auto!important;
}

/* Use corporate blue for navigation states; reserve green for action buttons. */
body[data-shared-chrome] #main-nav .nav-link.active,
body[data-shared-chrome] #main-nav .nav-link:hover,
body[data-shared-chrome] #main-nav .shared-nav-link.active,
body[data-shared-chrome] #main-nav .shared-nav-link:hover{
  color:var(--ct-blue)!important;
  transform:none;
}

body[data-shared-chrome] #main-nav .nav-link.active::after,
body[data-shared-chrome] #main-nav .nav-link:hover::after,
body[data-shared-chrome] #main-nav .shared-nav-link.active::after,
body[data-shared-chrome] #main-nav .shared-nav-link:hover::after{
  background:linear-gradient(to right,transparent,var(--brand-blue) 20%,var(--brand-blue) 80%,transparent)!important;
  transition:width .5s ease-out;
}

/* Give every desktop dropdown one consistent depth and reveal it for keyboard focus. */
body[data-shared-chrome] #main-nav .nav-dropdown-panel,
body[data-shared-chrome] #main-nav .shared-dropdown-panel{
  box-shadow:0 16px 34px rgba(16,24,30,.14)!important;
}

body[data-shared-chrome] #main-nav .group:focus-within > .nav-dropdown-panel,
body[data-shared-chrome] #main-nav .shared-nav-desktop-group:focus-within > .shared-dropdown-panel{
  opacity:1!important;
  visibility:visible!important;
}

body[data-shared-chrome] .nav-dropdown-panel .dropdown-link-active,
body[data-shared-chrome] .shared-dropdown-panel .shared-dropdown-link-active{
  color:var(--ct-blue)!important;
  background:rgba(0,96,151,.07);
}

body[data-shared-chrome] > #mobile-menu .overflow-y-auto a.text-teal-custom,
body[data-shared-chrome] > #mobile-menu .overflow-y-auto a.mobile-link-active{
  color:var(--ct-blue)!important;
  background:rgba(0,96,151,.08)!important;
  box-shadow:inset 3px 0 0 var(--brand-blue);
}

@media (max-width:1023px){
  /* The mobile menu control must remain available on every page. */
  body[data-shared-chrome] #site-chrome.is-hidden{
    transform:none!important;
    opacity:1!important;
    pointer-events:auto!important;
  }
}

/* Preserve the exact former h4 appearance after correcting heading semantics. */
body[data-shared-chrome] .capability-card h3.semantic-h4-visual{
  margin-top:1.33em;
  margin-bottom:0;
  color:var(--gray-900);
}

body[data-shared-chrome] .reference-card h3.semantic-h4-visual{
  color:#fff;
  font-size:24px;
  line-height:1.28;
  margin-top:1.33em;
  margin-bottom:12px;
}

body[data-shared-chrome] .refinery-framework-card h3.semantic-h4-visual{
  margin:0;
  font-size:22px;
  line-height:1.35;
  color:var(--ct-blue);
}

.linkedin-insights-section{
  background:#fff;
  padding:64px 0 72px;
}

.linkedin-insights-shell{
  max-width:1180px;
}

.linkedin-insights-header{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  gap:28px;
  margin-bottom:28px;
}

.linkedin-insights-kicker{
  margin:0 0 10px;
  font-family:Montserrat,sans-serif;
  font-size:11px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--brand-green);
}

.linkedin-insights-header h2{
  margin:0 0 10px;
  font-family:Montserrat,sans-serif;
  font-size:28px;
  line-height:1.25;
  color:var(--ct-blue);
}

.linkedin-insights-header p:not(.linkedin-insights-kicker){
  max-width:720px;
  margin:0;
  color:#45545a;
  line-height:1.65;
}

.linkedin-insights-all{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:11px 16px;
  border:1px solid rgba(0,96,151,.2);
  border-radius:999px;
  color:var(--ct-blue);
  font-family:Montserrat,sans-serif;
  font-size:12px;
  font-weight:700;
  text-decoration:none;
}

.linkedin-insights-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}

.linkedin-insight-card{
  display:flex;
  flex-direction:column;
  min-height:188px;
  padding:22px 24px;
  border:1px solid rgba(16,24,30,.09);
  border-radius:16px;
  background:linear-gradient(180deg,#fff 0,#f7f9fa 100%);
  box-shadow:0 12px 28px rgba(16,24,30,.05);
  color:#10181e;
  text-decoration:none;
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
}

.linkedin-insight-card:hover,
.linkedin-insight-card:focus-visible{
  transform:translateY(-3px);
  border-color:rgba(0,96,151,.28);
  box-shadow:0 18px 34px rgba(16,24,30,.09);
}

.linkedin-insight-meta{
  margin-bottom:11px;
  font-family:Montserrat,sans-serif;
  font-size:10px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--brand-green);
}

.linkedin-insight-card h3{
  margin:0 0 18px;
  font-family:Montserrat,sans-serif;
  font-size:18px;
  line-height:1.4;
  color:#10181e;
}

.linkedin-insight-action{
  margin-top:auto;
  font-family:Montserrat,sans-serif;
  font-size:12px;
  font-weight:700;
  color:var(--ct-blue);
}

@media (max-width:767px){
  .linkedin-insights-section{
    padding:50px 0 58px;
  }

  .linkedin-insights-header{
    grid-template-columns:1fr;
    align-items:start;
    gap:20px;
  }

  .linkedin-insights-all{
    justify-self:start;
  }

  .linkedin-insights-grid{
    grid-template-columns:1fr;
  }

  .linkedin-insight-card{
    min-height:0;
  }
}
