/* Consolidated navigation dropdowns */
.nav-consolidated {
  display: flex;
  align-items: center;
  gap: 16px;
}

.nav-group {
  position: relative;
}

.nav-link {
  background: transparent;
  border: 0;
  color: inherit;
  font: inherit;
  cursor: pointer;
  padding: 8px 10px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.nav-dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 240px;
  padding: 12px;
  background: #ffffff;
  border-radius: 12px;
  border: 1px solid rgba(15, 23, 42, 0.08);
  box-shadow: 0 20px 50px rgba(15, 23, 42, 0.12);
  display: none;
  z-index: 999;
}

.nav-dropdown a {
  display: block;
  padding: 8px 10px;
  color: #0b2540;
  text-decoration: none;
  border-radius: 8px;
  font-weight: 500;
}

.nav-dropdown a:hover,
.nav-dropdown a:focus {
  background: rgba(0, 85, 159, 0.08);
  color: #00559f;
}

.nav-group:hover .nav-dropdown,
.nav-group:focus-within .nav-dropdown {
  display: block;
}

.nav-cta {
  padding: 10px 18px;
  border-radius: 999px;
  background: #00559f;
  color: #ffffff;
  font-weight: 600;
  text-decoration: none;
}

.nav-cta:hover {
  background: #003366;
  color: #ffffff;
}

.context-summary {
  padding: 24px 0;
  background: #ffffff;
  border-bottom: 1px solid #e4edf7;
}

.context-summary-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
}

.context-summary-copy p {
  margin: 0;
  font-size: 16px;
  line-height: 1.7;
  color: #0b2540;
  max-width: 760px;
}
:root{
  --brand-dark:#003366;
  --brand-mid:#00559f;
  --accent:#00a2ff;
  --muted:#eef3f8;
  --text:#0b2540;
  --white:#ffffff;
}
/* Skip to Content Link - Accessibility (WCAG 2.1) */
.skip-to-content {
  position: absolute;
  top: -40px;
  left: 0;
  background: #0066cc;
  color: #ffffff;
  padding: 8px 16px;
  text-decoration: none;
  z-index: 10000;
  font-weight: 600;
  border-radius: 0 0 4px 0;
}

.skip-to-content:focus {
  top: 0;
  outline: 3px solid #ffd700;
  outline-offset: 2px;
}

/* Focus indicators for keyboard navigation */
a:focus,
button:focus,
input:focus,
textarea:focus,
select:focus {
  outline: 3px solid #0066cc;
  outline-offset: 2px;
}

/* Improved focus for interactive elements */
a:focus-visible,
button:focus-visible {
  outline: 3px solid #0066cc;
  outline-offset: 2px;
  border-radius: 2px;
}



*{
  box-sizing:border-box;
}

html,body{
  margin:0;
  padding:0;
  background:#ffffff;
  color:var(--text);
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  line-height:1.45;
}

.container{
  max-width:1100px;
  margin:0 auto;
  padding:0 18px;
}

.site-header{
  background:#ffffff;
  border-bottom:1px solid var(--muted);
  position:sticky;
  top:0;
  z-index:1400;
}

/* Preview pages: (removed) header offset */

.site-header > .container,
.site-header .container,
.site-header .header-inner.container{
  padding-left:0 !important;
  margin-left:0 !important;
}

.header-inner{
  display:flex;
  align-items:center;
  gap:12px;
  padding-top:10px !important;
  padding-bottom:10px !important;
  padding-right:18px !important;
  padding-left:18px !important;
  overflow-x:visible;
  overflow-y:visible;
  margin-left:0 !important;
  position:relative;
}

.header-inner.header-split{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:16px;
}

.header-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
}

.logo{
  flex-shrink:0;
  margin-left:0 !important;
  padding-left:0 !important;
}

.logo img{
  height:55px;
  max-width:320px;
  width:auto;
  display:block;
}

.nav-all-toggle{
  background:transparent;
  border:0;
  padding:10px 10px;
  display:inline-flex;
  flex-direction:column;
  gap:4px;
  position:relative;
  left:auto !important;
  top:auto !important;
  z-index:1500;
  flex-shrink:0;
  align-items:center;
  justify-content:center;
  height:auto;
  width:44px !important;
  min-width:44px !important;
  max-width:44px !important;
  cursor:pointer;
  margin:0 !important;
  box-sizing:border-box !important;
}

.nav-all-toggle span{
  display:block;
  width:20px;
  height:2px;
  background:var(--brand-dark);
  border-radius:2px;
  transition:all 0.3s ease;
  margin:0;
  padding:0;
}

.nav-all-toggle:hover span{
  background:var(--brand-mid);
}

.visually-hidden{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  border:0;
}

.main-nav{
  display:flex;
  align-items:center;
  gap:6px;
  margin-left:0;
  flex-shrink:0;
  min-width:0;
}

.header-inner.header-split .main-nav{
  justify-content:center;
  justify-self:center;
}

.nav-toggle{ display:none !important; }

/* Frameworks mega menu */
.nav-group-mega .nav-dropdown.nav-mega{
  width:min(980px, calc(100vw - 32px));
  left:50%;
  transform:translateX(-50%);
  padding:16px;
  border-radius:16px;
  box-shadow:0 22px 60px rgba(15,23,42,0.18);
  border:1px solid rgba(0,85,159,0.14);
}

.nav-mega-grid{
  display:grid;
  grid-template-columns: 1.2fr 0.9fr 0.9fr;
  gap:14px;
}

.nav-mega-col{
  background:linear-gradient(135deg, rgba(255,255,255,0.98) 0%, rgba(247,251,255,0.98) 100%);
  border:1px solid rgba(0,85,159,0.10);
  border-radius:14px;
  padding:14px 14px;
}

.nav-mega-title{
  font-size:12px;
  letter-spacing:0.12em;
  text-transform:uppercase;
  font-weight:900;
  color:#0b2540;
  margin:0 0 10px 0;
}

.nav-mega-subtle{
  margin-top:10px;
  font-size:12px;
  line-height:1.5;
  color:#5a6c7d;
}

.nav-mega-cta{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:12px;
}

.nav-mega-cta .btn{
  padding:10px 14px;
  border-radius:999px;
  font-weight:700;
  font-size:13px;
}

@media (max-width: 980px){
  .nav-mega-grid{ grid-template-columns:1fr; }
}

.main-nav a{
  color:var(--brand-dark);
  text-decoration:none;
  font-weight:600;
  padding:6px 2px;
  font-size:12px;
  white-space:nowrap;
  flex-shrink:0;
}

.main-nav a:hover{
  color:var(--brand-mid);
}

.tm-mark{
  font-size:11px;
  color:var(--accent);
  margin-left:3px;
  font-weight:700;
}

.nav-toggle{
  background:transparent;
  border:0;
  padding:8px;
  display:flex;
  margin-left:12px;
  cursor:pointer;
  flex-direction:column;
  gap:4px;
  width:32px;
  height:32px;
  justify-content:center;
  align-items:center;
}

.nav-toggle span{
  display:block;
  width:20px;
  height:2px;
  background:var(--brand-dark);
  border-radius:2px;
}

.all-pages-menu{
  display:none;
  position:absolute;
  left:12px;
  top:64px;
  right:auto;
  background:#ffffff;
  border:1px solid #e6eaf2;
  border-radius:8px;
  box-shadow:0 14px 40px rgba(15,35,75,0.18);
  z-index:1350;
  min-width:240px;
  max-height:80vh;
  overflow-y:auto;
}

.all-pages-inner{
  padding:8px 0;
}

.all-pages-menu a{
  display:block;
  padding:10px 16px;
  color:var(--brand-dark);
  text-decoration:none;
  font-weight:600;
  font-size:14px;
  border-bottom:1px solid #f0f4f8;
}

.all-pages-menu a:last-child{
  border-bottom:none;
}

.all-pages-menu a:hover{
  background:#f2f7ff;
}

.hero{
  position:relative;
  padding:100px 0 80px;
  color:#ffffff;
  text-align:center;
  overflow:hidden;
  min-height:400px;
}

/* Hero readability: add a lightweight overlay (no image edits, no JS) */
.hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    radial-gradient(80% 60% at 50% 22%, rgba(0,0,0,0.12) 0%, rgba(0,0,0,0.26) 70%, rgba(0,0,0,0.34) 100%),
    linear-gradient(180deg, rgba(0,0,0,0.06) 0%, rgba(0,0,0,0.28) 100%);
}

/* Some premium pages use a "kicker" label inside the hero — ensure it's legible on dark imagery */
.hero .page-hero-kicker{
  color:#ffffff !important;
  background:rgba(255,255,255,0.14) !important;
  border:1px solid rgba(255,255,255,0.18) !important;
  text-shadow:0 1px 8px rgba(0,0,0,0.45) !important;
}


.hero-inner{
  position:relative;
  z-index:2;
  width:100%;
}

.hero-centered{
  max-width:720px;
  margin:0 auto;
  padding:0 18px;
}

.hero-title{
  font-size:42px;
  margin:0 0 16px;
  color:#ffffff;
  font-weight:700;
  line-height:1.2;
  text-shadow:0 2px 10px rgba(0,0,0,0.5), 0 0 20px rgba(0,0,0,0.3);
  animation:fadeInHero 0.9s ease-out forwards;
}

.hero-title .tm-mark,
.hero .hero-title .tm-mark,
section.hero h1 .tm-mark{
  color:#ffffff !important;
  font-size:0.5em !important;
  vertical-align:super !important;
  line-height:0 !important;
  margin-left:4px !important;
  font-weight:700 !important;
  text-shadow:0 2px 10px rgba(0,0,0,0.5), 0 0 20px rgba(0,0,0,0.3) !important;
  opacity:1 !important;
  visibility:visible !important;
  display:inline !important;
  -webkit-text-fill-color:#ffffff !important;
  background:none !important;
  -webkit-background-clip:unset !important;
}

.hero-subtitle{
  margin:0 0 24px;
  color:#ffffff;
  font-size:18px;
  line-height:1.5;
  text-shadow:0 1px 6px rgba(0,0,0,0.4);
  animation:slideUpHero 0.9s ease-out forwards;
  animation-delay:0.15s;
  opacity:1;
}

.hero-cta-row{
  display:flex;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
  margin-top:6px;
  animation:slideUpHero 0.9s ease-out forwards;
  animation-delay:0.3s;
  opacity:1;
}

.brand-landing{
  background:#ffffff;
  padding:24px 0;
  border-bottom:2px solid #d0d8e8;
  display:block;
  width:100%;
}

.brand-line{
  text-align:center;
  font-size:15px;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:#003366;
  font-weight:700;
  margin:0;
}

.micro-nav{
  background:#ffffff;
  padding:16px 0;
  border-bottom:1px solid #eef3f8;
  display:block;
  width:100%;
  position:relative;
}
/* Preview pages: (removed) micro-nav sticky */

.micro-nav-inner{
  display:flex;
  justify-content:center;
  gap:24px;
  flex-wrap:wrap;
}

.micro-nav a{
  color:var(--brand-dark);
  text-decoration:none;
  font-weight:600;
  font-size:14px;
  padding:4px 0;
  position:relative;
  transition:color 0.2s ease;
}

.micro-nav a:hover{
  color:var(--brand-mid);
}

.micro-nav a::after{
  content:"";
  position:absolute;
  bottom:0;
  left:0;
  width:0;
  height:2px;
  background:var(--accent);
  transition:width 0.3s ease;
}

.micro-nav a:hover::after{
  width:100%;
}

.btn{
  display:inline-block;
  padding:10px 16px;
  border-radius:28px;
  text-decoration:none;
  font-weight:700;
  font-size:14px;
  transition:all 0.3s ease;
}

.btn-primary{
  background:var(--brand-mid);
  color:#ffffff;
}

.btn-primary:hover{
  background:#00447e;
  transform:translateY(-1px);
  box-shadow:0 4px 12px rgba(0,85,159,0.3);
}

.btn-white{
  background:#ffffff;
  color:var(--brand-mid);
  border:1px solid var(--muted);
}

.btn-white:hover{
  background:#f5f7fb;
  transform:translateY(-1px);
}

.section{
  padding:40px 0;
  display:block;
}

.section-alt{
  background:#f7f9fc;
}

.section-title{
  margin:0 0 12px;
  font-size:22px;
  color:var(--brand-dark);
  font-weight:700;
}

.section-intro{
  margin:0 0 16px;
  color:#23415a;
  font-size:15px;
}

.tile-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:16px;
  margin-top:20px;
}

.tile{
  background:#ffffff;
  border-radius:10px;
  border:1px solid #e4edf7;
  padding:16px;
  transition:all 0.3s ease;
  display:block;
}

.tile:hover{
  box-shadow:0 8px 20px rgba(0,0,0,0.1);
  transform:translateY(-2px);
}

.tile h3{
  margin:0 0 8px;
  font-size:18px;
  color:var(--brand-dark);
}

.tile-label{
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:0.1em;
  color:#666;
  margin-bottom:6px;
  font-weight:600;
}

.home-faq{
  margin:40px 0;
}

.home-faq .faq-item{
  padding:16px;
  border-radius:8px;
  background:#ffffff;
  border:1px solid #eef3ff;
  margin-bottom:16px;
  cursor:pointer;
  transition:all 0.3s ease;
  display:block;
}

.home-faq .faq-item:hover{
  background:#f6fbff;
  border-color:var(--accent);
  transform:translateX(4px);
  box-shadow:0 4px 12px rgba(0,162,255,0.15);
}

.home-faq .faq-item h3{
  margin:0 0 8px;
  font-size:15px;
  color:var(--brand-dark);
}

.home-faq .faq-item p{
  margin:8px 0 0;
  font-size:14px;
  color:#23415a;
  display:none;
}

.home-faq .faq-item.open p{
  display:block;
}

.tm-frameworks-section{
  background:linear-gradient(135deg,#f7f9fc 0%,#ffffff 100%);
  padding:50px 0;
  margin:40px 0;
  border-top:2px solid var(--accent);
  border-bottom:2px solid var(--accent);
}

.tm-framework-item{
  background:#ffffff;
  border-radius:12px;
  padding:24px;
  margin-bottom:24px;
  border-left:4px solid var(--accent);
  box-shadow:0 4px 12px rgba(0,0,0,0.05);
  transition:all 0.3s ease;
}

.tm-framework-item:hover{
  box-shadow:0 8px 24px rgba(0,0,0,0.1);
  transform:translateY(-2px);
  border-left-width:6px;
}

.tm-framework-item h3{
  color:var(--brand-dark);
  margin:0 0 12px;
  font-size:20px;
  display:flex;
  align-items:center;
  gap:8px;
}

.tm-badge{
  display:inline-block;
  background:var(--accent);
  color:#ffffff;
  font-size:10px;
  padding:3px 8px;
  border-radius:4px;
  font-weight:700;
  letter-spacing:0.05em;
  vertical-align:middle;
}

.tm-framework-item blockquote{
  margin:12px 0;
  padding-left:16px;
  border-left:3px solid var(--brand-mid);
  font-style:italic;
  color:#23415a;
  font-size:15px;
  line-height:1.6;
}

.tm-framework-item blockquote strong{
  font-style:normal;
  color:var(--brand-dark);
  font-weight:700;
}

.cta-panel-deepblue{
  position:relative;
  background:linear-gradient(135deg,var(--brand-dark) 0%,var(--brand-mid) 60%);
  color:#ffffff;
  border-radius:16px;
  padding:32px 28px;
  overflow:hidden;
  transition:all 0.3s ease;
  box-shadow:0 8px 24px rgba(0,51,102,0.2);
}

.cta-panel-deepblue:hover{
  box-shadow:0 12px 32px rgba(0,51,102,0.3);
  transform:translateY(-2px);
}

.cta-panel-deepblue::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:40%;
  background:linear-gradient(90deg,rgba(255,255,255,0.15),transparent);
  opacity:0.7;
  pointer-events:none;
}

.cta-background-pattern{ display:none !important; }

/* Full-width CTA section (site-wide) */
.cta-fullwidth-blue{
  background:linear-gradient(135deg, #00559f 0%, #003d7a 100%) !important;
  color:#ffffff !important;
  padding:100px 0 !important;
  position:relative;
  overflow:hidden;
}

.cta-fullwidth-blue .cta-panel-deepblue{
  background:transparent !important;
  border-radius:0 !important;
  padding:0 !important;
  box-shadow:none !important;
  transform:none !important;
  max-width:900px;
  margin:0 auto;
  text-align:center;
}

.cta-fullwidth-blue .cta-panel-deepblue::before{ display:none !important; }

.cta-fullwidth-blue .cta-panel-deepblue h2{
  font-size:42px;
  margin-bottom:20px;
  color:#ffffff;
}

.cta-fullwidth-blue .cta-panel-deepblue p{
  font-size:20px;
  line-height:1.8;
  color:rgba(255,255,255,0.92);
}

.cta-fullwidth-blue .cta-panel-actions{
  justify-content:center;
  gap:16px;
  margin-top:8px;
}

.cta-fullwidth-blue .cta-panel-actions .btn-white{
  border-color:rgba(255,255,255,0.85);
  color:#ffffff;
}

.cta-fullwidth-blue .cta-panel-actions .btn-white:hover{
  background:rgba(255,255,255,0.14);
}

/* Dashboard preview metrics: force consistent readable numbers (prevents dark/gradient fill artifacts) */
.dashboard-preview-wrapper .count-up,
.dashboard-preview-wrapper .count-up *{
  -webkit-text-fill-color:#0b2540 !important;
  -webkit-background-clip:unset !important;
  background:transparent !important;
  color:#0b2540 !important;
}

.cta-panel-deepblue h2{
  margin:0 0 8px;
  font-size:20px;
  color:#ffffff;
}

.cta-panel-deepblue p{
  margin:0 0 16px;
  color:rgba(255,255,255,0.95);
}

.cta-panel-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.cta-panel-actions .btn-primary{
  background:#ffffff;
  color:var(--brand-dark);
}

.cta-panel-actions .btn-primary:hover{
  background:#f0f4f8;
  color:var(--brand-dark);
  transform:translateY(-1px);
}

.cta-panel-actions .btn-white{
  background:transparent;
  border:2px solid #ffffff;
  color:#ffffff;
}

.cta-panel-actions .btn-white:hover{
  background:rgba(255,255,255,0.2);
  border-color:#ffffff;
}

.floating-consult{
  position:fixed;
  right:18px;
  top:50%;
  transform:translateY(-50%);
  z-index:1300;
  background:var(--brand-mid);
  color:#ffffff;
  padding:10px 14px;
  border-radius:999px;
  text-decoration:none;
  font-weight:600;
  font-size:12px;
  box-shadow:0 8px 20px rgba(0,0,0,0.25);
  transition:all 0.3s ease;
  writing-mode:vertical-rl;
  text-orientation:mixed;
  white-space:nowrap;
  max-width:50px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.floating-consult:hover{
  background:#00447e;
  transform:translateY(-50%) scale(1.05);
  box-shadow:0 12px 28px rgba(0,0,0,0.35);
}

.floating-consult.hidden{
  opacity:0;
  pointer-events:none;
  transform:translateY(-50%) translateX(20px);
}

.site-footer{
  background:#ffffff;
  padding:32px 0 24px;
  border-top:1px solid #eef3f8;
  color:#334a5a;
  margin-top:24px;
}

.footer-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:20px;
  margin-bottom:20px;
}

.footer-col strong{
  display:block;
  margin-bottom:8px;
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:0.05em;
  color:var(--brand-dark);
}

.site-footer a{
  color:var(--brand-dark);
  text-decoration:none;
  font-size:14px;
  display:block;
  margin-bottom:6px;
  transition:color 0.2s ease;
}

.site-footer a:hover{
  color:var(--brand-mid);
  text-decoration:underline;
}

.footer-bottom{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  font-size:12px;
  color:#6d7b8c;
  padding-top:20px;
  border-top:1px solid #eef3f8;
}

.hidden{
  display:none !important;
}

.visible{
  opacity:1;
}

/* Scroll reveal - visible by default, JS enables animation */
.fade-in-on-scroll{
  opacity:1;
  transform:none;
  transition:opacity 0.6s ease, transform 0.6s ease;
}

.drop-in{
  opacity:0;
  transform:translateY(10px);
  animation:dropIn 0.8s ease forwards;
}

@keyframes fadeInHero{
  from{opacity:0;transform:scale(1.02);}
  to{opacity:1;transform:scale(1);}
}

@keyframes slideUpHero{
  from{opacity:0;transform:translateY(12px);}
  to{opacity:1;transform:translateY(0);}
}

@keyframes dropIn{
  to{
    opacity:1;
    transform:translateY(0);
  }
}

@media (max-width:820px){
  .main-nav{
    display:none;
    flex-direction:column;
    align-items:flex-start;
    background:#ffffff;
    position:absolute;
    right:12px;
    top:64px;
    padding:10px 12px;
    border-radius:8px;
    border:1px solid #e2e8f3;
    box-shadow:0 12px 30px rgba(15,35,75,0.16);
    z-index:1320;
  }

  .nav-toggle{ display:none !important; }
  .header-actions .nav-cta{ display:none; }

  .hero{
    padding:60px 0 50px;
    min-height:300px;
  }

  .hero-title{
    font-size:28px;
  }

  .hero-subtitle{
    font-size:16px;
  }

  .micro-nav{
    display:none !important;
  }

  .floating-consult{
    display:none;
  }

  .footer-bottom{
    flex-direction:column;
    align-items:flex-start;
  }

  .footer-grid{
    grid-template-columns:repeat(2,1fr);
  }
}

/* JS-enabled scroll reveal - safe fallback if JS fails */
.js-enabled .fade-in-on-scroll{
  opacity:0;
  transform:translateY(20px);
}

.js-enabled .fade-in-on-scroll.visible,
.js-enabled .fade-in-on-scroll.always-visible{
  opacity:1;
  transform:translateY(0);
}

/* (removed) `.always-visible` no longer uses `!important`; handled via `.fade-in-on-scroll.always-visible` selector above */

/* Premium "AI glass" background for solution section */
.solution-premium{
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg, rgba(255,255,255,0.98) 0%, rgba(234,244,255,0.9) 50%, rgba(255,255,255,0.98) 100%);
}

.solution-premium::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(90deg, rgba(0,85,159,0.06) 1px, transparent 1px),
    linear-gradient(180deg, rgba(0,85,159,0.06) 1px, transparent 1px);
  background-size: 60px 60px;
  opacity:0.5;
  pointer-events:none;
}

.solution-premium::after{
  content:"";
  position:absolute;
  inset:-20%;
  background:radial-gradient(circle at 20% 20%, rgba(0,162,255,0.15), transparent 50%);
  opacity:0.6;
  pointer-events:none;
}

.solution-premium .container{
  position:relative;
  z-index:2;
}

/* Hero 3D CTA row: keep buttons side-by-side on desktop, wrap on mobile */
.hero-3d-cta{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  align-items:stretch;
}

.hero-3d-cta-item{
  display:flex;
  flex-direction:column;
  gap:6px;
  flex:1 1 240px;
}

.hero-3d-cta-note{
  font-size:12px;
  line-height:1.3;
  color:#5a6c7d;
  margin-top:8px;
  text-align:center;
}

.hero-3d-cta-item .btn{
  width:100%;
  display:inline-flex;
  justify-content:center;
}

@media (min-width:768px){
  .hero-3d-cta{ flex-wrap:nowrap; }
}

/* How it works - premium cards */
.how-it-works .how-it-works-grid{
  position:relative;
}

.how-it-works .how-it-works-grid::after{
  content:"";
  position:absolute;
  left:12%;
  right:12%;
  top:64px;
  height:2px;
  background:linear-gradient(90deg, transparent, rgba(0,85,159,0.2), transparent);
  z-index:0;
}

.how-it-works .how-works-card{
  background:rgba(255,255,255,0.9);
  border:1px solid rgba(0,85,159,0.12);
  border-radius:16px;
  padding:26px 22px;
  text-align:center;
  box-shadow:0 12px 30px rgba(0,0,0,0.06);
  position:relative;
  z-index:1;
  transition:transform 0.3s ease, box-shadow 0.3s ease;
}

.how-it-works .how-works-card:hover{
  transform:translateY(-6px);
  box-shadow:0 20px 40px rgba(0,85,159,0.14);
}

/* Homepage Solution - Premium Transformation Section */
.solution-header{
  text-align:center;
  max-width:900px;
  margin:0 auto 36px;
}

.solution-trust-strip{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:10px;
  margin-top:18px;
}

.solution-trust-strip span{
  background:rgba(0,85,159,0.08);
  border:1px solid rgba(0,85,159,0.15);
  color:#0b2540;
  font-size:12px;
  font-weight:600;
  padding:6px 14px;
  border-radius:999px;
  letter-spacing:0.02em;
}

.solution-pillars{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
  gap:20px;
  margin:32px 0 48px;
}

.pillar-card{
  background:#ffffff;
  border:1px solid #e4edf7;
  border-radius:14px;
  padding:24px;
  box-shadow:0 8px 30px rgba(0,0,0,0.05);
  transition:transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
}

.pillar-card:hover{
  transform:translateY(-6px);
  box-shadow:0 16px 40px rgba(0,85,159,0.15);
  border-color:#c7dbf2;
}

.pillar-label{
  font-size:12px;
  font-weight:700;
  color:#00559f;
  text-transform:uppercase;
  letter-spacing:0.08em;
  margin-bottom:10px;
}

.pillar-card h3{
  font-size:20px;
  color:#0b2540;
  margin:0 0 10px;
  font-weight:700;
}

.pillar-card p{
  font-size:15px;
  line-height:1.7;
  color:#526274;
  margin:0;
}

.transformer-panel{
  display:grid;
  grid-template-columns:1.2fr 0.8fr;
  gap:32px;
  background:linear-gradient(135deg, #ffffff 0%, #f2f7ff 100%);
  border:1px solid #e4edf7;
  border-radius:18px;
  padding:32px;
  box-shadow:0 14px 40px rgba(0,0,0,0.08);
  align-items:center;
}

.transformer-title{
  font-size:24px;
  font-weight:700;
  color:#0b2540;
  margin-bottom:8px;
}

.transformer-subtitle{
  color:#5a6c7d;
  font-size:15px;
  margin-bottom:20px;
}

.transformer-slider{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:22px;
}

.transformer-label{
  font-size:12px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.06em;
  color:#5a6c7d;
}

.transformer-slider input[type="range"]{
  flex:1;
  -webkit-appearance:none;
  height:6px;
  border-radius:999px;
  background:linear-gradient(90deg, #0b2540 0%, #0a5cff 100%);
  outline:none;
}

.transformer-slider input[type="range"]::-webkit-slider-thumb{
  -webkit-appearance:none;
  width:18px;
  height:18px;
  border-radius:50%;
  background:#ffffff;
  border:2px solid #0a5cff;
  box-shadow:0 6px 16px rgba(0,0,0,0.2);
  cursor:pointer;
}

.transformer-slider input[type="range"]::-moz-range-thumb{
  width:18px;
  height:18px;
  border-radius:50%;
  background:#ffffff;
  border:2px solid #0a5cff;
  box-shadow:0 6px 16px rgba(0,0,0,0.2);
  cursor:pointer;
}

.transformer-metrics{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(160px, 1fr));
  gap:14px;
}

.transformer-metric{
  background:#ffffff;
  border:1px solid #e8eef6;
  border-radius:12px;
  padding:16px;
}

.transformer-metric .metric-name{
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:0.08em;
  color:#5a6c7d;
  font-weight:700;
  margin-bottom:8px;
}

.transformer-metric .metric-value{
  font-size:24px;
  font-weight:800;
  color:#0b2540;
}

.transformer-metric .metric-foot{
  font-size:12px;
  color:#6b7c8d;
  margin-top:6px;
}

.transformer-boardline{
  margin-top:16px;
  font-size:14px;
  font-weight:600;
  color:#0b2540;
  background:rgba(0,85,159,0.08);
  border:1px solid rgba(0,85,159,0.15);
  padding:8px 12px;
  border-radius:8px;
  display:inline-block;
}

.signal-replay{
  background:rgba(11,37,64,0.06);
  border:1px solid rgba(11,37,64,0.12);
  border-radius:14px;
  padding:20px;
}

.signal-title{
  font-size:16px;
  font-weight:700;
  color:#0b2540;
  margin-bottom:16px;
}

.signal-steps{
  position:relative;
  padding-left:18px;
}

.signal-steps::before{
  content:"";
  position:absolute;
  left:6px;
  top:4px;
  bottom:4px;
  width:2px;
  background:linear-gradient(180deg, rgba(0,85,159,0.4), rgba(0,85,159,0.08));
}

.signal-step{
  position:relative;
  margin-bottom:16px;
  padding-left:10px;
  opacity:0;
  transform:translateY(8px);
}

.signal-step::before{
  content:attr(data-step);
  position:absolute;
  left:-18px;
  top:0;
  width:22px;
  height:22px;
  border-radius:50%;
  background:#ffffff;
  border:2px solid #00559f;
  color:#00559f;
  font-size:11px;
  font-weight:700;
  display:flex;
  align-items:center;
  justify-content:center;
}

.signal-step-title{
  font-size:14px;
  font-weight:700;
  color:#0b2540;
  margin-bottom:4px;
}

.signal-step p{
  font-size:13px;
  color:#5a6c7d;
  margin:0;
}

.signal-replay.play .signal-step{
  animation:signalStepIn 0.6s ease forwards;
}

.signal-replay.play .signal-step:nth-child(1){animation-delay:0.1s;}
.signal-replay.play .signal-step:nth-child(2){animation-delay:0.25s;}
.signal-replay.play .signal-step:nth-child(3){animation-delay:0.4s;}
.signal-replay.play .signal-step:nth-child(4){animation-delay:0.55s;}

@keyframes signalStepIn{
  to{opacity:1; transform:translateY(0);}
}

@media (max-width:900px){
  .transformer-panel{
    grid-template-columns:1fr;
  }
}

/* Animated title for One View */
.animated-title{
  animation:titleFadeIn 1s ease-out forwards;
}

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

/* Outcomes section - remove alt background, add metrics */
#outcomes{
  background:#ffffff !important;
}

.outcomes-grid{
  display:grid;
  grid-template-columns:1fr 300px;
  gap:32px;
  align-items:start;
  margin-top:24px;
}

.sub-title{
  font-size:18px;
  color:var(--brand-dark);
  margin:0 0 12px;
  font-weight:700;
}

.chip-row{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:12px 0 20px;
}

.chip{
  background:#e5efff;
  border:1px solid #d0e0ff;
  padding:6px 12px;
  border-radius:999px;
  font-size:13px;
  color:var(--brand-dark);
  font-weight:600;
}

.outcomes-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:32px;}
.metric-tile{background:linear-gradient(135deg,#f7f9fc 0%,#ffffff 100%);border:2px solid #e0e8f0;border-radius:8px;padding:16px 20px;text-align:center;transition:all 0.3s ease;cursor:pointer;min-height:80px;display:flex;flex-direction:column;justify-content:center;}
.metric-tile:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 8px 24px rgba(0,85,159,0.2);border-color:var(--accent);background:linear-gradient(135deg,#ffffff 0%,#f0f7ff 100%);}
.metric-value{font-size:24px;font-weight:800;color:var(--brand-mid);margin-bottom:4px;line-height:1;}
.metric-label{font-size:11px;color:#23415a;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;}

.metric-tile{
  background:linear-gradient(135deg,#f7f9fc 0%,#ffffff 100%);
  border:2px solid #e0e8f0;
  border-radius:12px;
  padding:20px;
  text-align:center;
  transition:all 0.3s ease;
  cursor:pointer;
}

.metric-tile:hover{
  transform:translateY(-4px) scale(1.02);
  box-shadow:0 8px 24px rgba(0,85,159,0.2);
  border-color:var(--accent);
  background:linear-gradient(135deg,#ffffff 0%,#f0f7ff 100%);
}

.metric-value{
  font-size:32px;
  font-weight:800;
  color:var(--brand-mid);
  margin-bottom:6px;
  line-height:1;
}

.metric-label{
  font-size:13px;
  color:#23415a;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:0.05em;
}

/* Enhanced TM Frameworks section - remove blue line, make stand out */
.tm-frameworks-section-enhanced{
  background:linear-gradient(135deg,#ffffff 0%,#f8fafc 50%,#ffffff 100%) !important;
  padding:60px 0 !important;
  margin:50px 0 !important;
  border-top:none !important;
  border-bottom:none !important;
  position:relative;
}

.tm-frameworks-section-enhanced::before{
  content:"";
  position:absolute;
  top:0;
  left:50%;
  transform:translateX(-50%);
  width:120px;
  height:4px;
  background:linear-gradient(90deg,transparent,var(--accent),transparent);
  border-radius:2px;
}

.tm-title-enhanced{
  font-size:28px !important;
  text-align:center;
  margin-bottom:16px;
  position:relative;
  padding-bottom:16px;
}

.tm-title-enhanced::after{
  content:"";
  position:absolute;
  bottom:0;
  left:50%;
  transform:translateX(-50%);
  width:60px;
  height:3px;
  background:var(--accent);
  border-radius:2px;
}

.tm-link{
  display:inline-block;
  margin-top:16px;
  color:var(--brand-mid);
  text-decoration:none;
  font-weight:700;
  font-size:14px;
  padding:8px 16px;
  border-radius:6px;
  background:#f0f7ff;
  transition:all 0.3s ease;
}

.tm-link:hover{
  background:var(--brand-mid);
  color:#ffffff;
  transform:translateX(4px);
}

/* Outcomes section */
#outcomes{background:#ffffff !important;}
.outcomes-grid{display:grid;grid-template-columns:1fr 300px;gap:32px;align-items:start;margin-top:24px;}
.sub-title{font-size:18px;color:var(--brand-dark);margin:0 0 12px;font-weight:700;}
.chip-row{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 20px;}
.chip{background:#e5efff;border:1px solid #d0e0ff;padding:6px 12px;border-radius:999px;font-size:13px;color:var(--brand-dark);font-weight:600;}
.outcomes-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:32px;}
.metric-tile{background:linear-gradient(135deg,#f7f9fc 0%,#ffffff 100%);border:2px solid #e0e8f0;border-radius:8px;padding:16px 20px;text-align:center;transition:all 0.3s ease;cursor:pointer;min-height:80px;display:flex;flex-direction:column;justify-content:center;}
.metric-tile:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 8px 24px rgba(0,85,159,0.2);border-color:var(--accent);background:linear-gradient(135deg,#ffffff 0%,#f0f7ff 100%);}
.metric-value{font-size:24px;font-weight:800;color:var(--brand-mid);margin-bottom:4px;line-height:1;}
.metric-label{font-size:11px;color:#23415a;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;}
.metric-tile:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 8px 24px rgba(0,85,159,0.2);border-color:var(--accent);background:linear-gradient(135deg,#ffffff 0%,#f0f7ff 100%);}
.metric-value{font-size:32px;font-weight:800;color:var(--brand-mid);margin-bottom:6px;line-height:1;}
.metric-label{font-size:13px;color:#23415a;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;}

/* Hero image fix */

@media (max-width:820px){
  .outcomes-metrics{grid-template-columns:repeat(2,1fr) !important;gap:10px !important;}
  .metric-tile{padding:12px 16px !important;min-height:70px !important;}
  .metric-value{font-size:20px !important;}
}

/* Framework cards - innovative design */
.frameworks-premium{background:#ffffff;padding:80px 0;position:relative;}
.frameworks-header{text-align:center;max-width:700px;margin:0 auto 60px;}
.frameworks-title{font-size:36px;font-weight:700;color:var(--brand-dark);margin:0 0 16px;letter-spacing:-0.02em;}
.frameworks-subtitle{font-size:17px;color:#4a5568;line-height:1.6;margin:0;}
.frameworks-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;margin-top:48px;}
.framework-card{background:#ffffff;border:1px solid #e2e8f0;border-radius:16px;padding:32px;transition:all 0.4s cubic-bezier(0.4,0,0.2,1);position:relative;overflow:hidden;}
.framework-card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--brand-mid),var(--accent));transform:scaleX(0);transition:transform 0.4s cubic-bezier(0.4,0,0.2,1);}
.framework-card:hover{transform:translateY(-8px);box-shadow:0 20px 60px rgba(0,51,102,0.12);border-color:#cbd5e0;}
.framework-card:hover::before{transform:scaleX(1);}
.framework-number{font-size:48px;font-weight:800;color:#e5efff;line-height:1;margin-bottom:16px;font-family:system-ui,-apple-system,sans-serif;}
.framework-name{font-size:22px;font-weight:700;color:var(--brand-dark);margin:0 0 12px;line-height:1.3;}
.framework-description{font-size:15px;color:#4a5568;line-height:1.7;margin:0 0 24px;}
.framework-link{display:inline-flex;align-items:center;gap:8px;color:var(--brand-mid);text-decoration:none;font-weight:600;font-size:14px;transition:all 0.3s ease;}
.framework-link span{transition:transform 0.3s ease;}
.framework-link:hover{color:var(--accent);gap:12px;}
.framework-link:hover span{transform:translateX(4px);}

/* Plain TM symbols everywhere */
.tm-symbol{font-size:0.6em;vertical-align:super;color:inherit;font-weight:normal;margin-left:2px;}

/* Mobile responsive for frameworks */
@media (max-width:820px){
  .frameworks-grid{grid-template-columns:1fr !important;gap:20px !important;}
  .frameworks-title{font-size:28px !important;}
  .framework-card{padding: 32px !important;}
}

/* Mobile outcomes section */
@media (max-width:820px){
  .outcomes-content{max-width:100% !important;}
  .outcomes-metrics{grid-template-columns:repeat(2,1fr) !important;gap:10px !important;}
  .metric-tile{padding:12px 16px !important;min-height:70px !important;}
  .metric-value{font-size:20px !important;}
  .chip-row{gap:6px !important;}
  .chip{padding:4px 10px !important;font-size:12px !important;}
}

/* Framework cards - innovative design */
.frameworks-premium{background:#ffffff;padding:80px 0;position:relative;}
.frameworks-header{text-align:center;max-width:700px;margin:0 auto 60px;}
.frameworks-title{font-size:36px;font-weight:700;color:var(--brand-dark);margin:0 0 16px;letter-spacing:-0.02em;}
.frameworks-subtitle{font-size:17px;color:#4a5568;line-height:1.6;margin:0;}
.frameworks-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;margin-top:48px;}
.framework-card{background:#ffffff;border:1px solid #e2e8f0;border-radius:16px;padding:32px;transition:all 0.4s cubic-bezier(0.4,0,0.2,1);position:relative;overflow:hidden;}
.framework-card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--brand-mid),var(--accent));transform:scaleX(0);transition:transform 0.4s cubic-bezier(0.4,0,0.2,1);}
.framework-card:hover{transform:translateY(-8px);box-shadow:0 20px 60px rgba(0,51,102,0.12);border-color:#cbd5e0;}
.framework-card:hover::before{transform:scaleX(1);}
.framework-number{font-size:48px;font-weight:800;color:#e5efff;line-height:1;margin-bottom:16px;font-family:system-ui,-apple-system,sans-serif;}
.framework-name{font-size:22px;font-weight:700;color:var(--brand-dark);margin:0 0 12px;line-height:1.3;}
.framework-description{font-size:15px;color:#4a5568;line-height:1.7;margin:0 0 24px;}
.framework-link{display:inline-flex;align-items:center;gap:8px;color:var(--brand-mid);text-decoration:none;font-weight:600;font-size:14px;transition:all 0.3s ease;}
.framework-link span{transition:transform 0.3s ease;}
.framework-link:hover{color:var(--accent);gap:12px;}
.framework-link:hover span{transform:translateX(4px);}

/* Plain TM symbols everywhere */
.tm-symbol{font-size:0.6em;vertical-align:super;color:inherit;font-weight:normal;margin-left:2px;}

/* Mobile responsive for frameworks */
@media (max-width:820px){
  .frameworks-grid{grid-template-columns:1fr !important;gap:20px !important;}
  .frameworks-title{font-size:28px !important;}
  .framework-card{padding: 32px !important;}
}

/* Fix Tech section tiles - prevent elongation */
#techrisk .tile-grid{display:grid !important;grid-template-columns:repeat(auto-fit,minmax(240px,1fr)) !important;gap:16px !important;}
#techrisk .tile{min-height:auto !important;height:auto !important;display:flex !important;flex-direction:column !important;}
#techrisk .tile p{margin-bottom:12px !important;flex-grow:0 !important;}

/* SAFE HERO IMAGE FIX - Only ensures image displays */

.hero{
  background-color:transparent !important;
  background-image:none !important;
}

/* SAFE HERO IMAGE FIX - Only ensures image displays */

.hero{
  background-color:transparent !important;
  background-image:none !important;
}

/* FINAL HERO IMAGE FIX - Overrides all previous rules */

.hero{
  position:relative !important;
  background-color:transparent !important;
  background-image:none !important;
  min-height:400px !important;
}

/* HERO IMAGE - Force display and coverage */
.hero{
  position:relative !important;
  min-height:400px !important;
}


.hero-inner{
  position:relative !important;
  z-index:2 !important;
}

/* CLEAN HERO IMAGE - Single rule to rule them all */
.hero-bg {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background-image: url("../images/hero-office.jpg") !important;
  background-image: image-set(
    url("../images/hero-office.avif") type("image/avif"),
    url("../images/hero-office.webp") type("image/webp"),
    url("../images/hero-office.jpg") type("image/jpeg")
  ) !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  filter: brightness(0.66) contrast(1.16) saturate(1.12) !important;
  z-index: 0 !important;
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.hero-bg.has-img {
  background-image: none !important;
}

.hero-bg.has-img picture,
.hero-bg.has-img img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Ensure HTML hero image prevents background fetches. */
.hero-bg.has-img {
  background: none !important;
  background-image: none !important;
}

.hero {
  position: relative !important;
  background-color: transparent !important;
  background-image: none !important;
  min-height: 400px !important;
}

  z-index: 3 !important;
}

/* CLEAN FIX: Hero image ONLY in hero section */
.hero {
  position: relative !important;
  overflow: hidden !important;
  min-height: 400px !important;
  max-height: 600px !important;
  background-color: transparent !important;
  background-image: none !important;
}

.hero .hero-bg {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background-image: image-set(
    url("../images/hero-office.avif") type("image/avif"),
    url("../images/hero-office.webp") type("image/webp"),
    url("../images/hero-office.jpg") type("image/jpeg")
  ) !important;
  background-position: center center !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
  filter: brightness(0.66) contrast(1.16) saturate(1.12) !important;
  z-index: 0 !important;
  pointer-events: none !important;
}

/* Base section/tile layout without forcing !important backgrounds */
.section {
  position: relative;
  z-index: 1;
}

.section-alt {
  background-color: #f7f9fc;
}

.tile {
  position: relative;
  z-index: 2;
}

.tile:hover {
  z-index: 3;
}

/* AGGRESSIVE FIX (REMOVED):
   This used to force most site UI blocks to white with `!important`, which broke dark/gradient sections
   (white text became invisible). Hero containment is handled below without overriding section/tile theming. */

/* Ensure hero-bg cannot escape hero section */
section:not(.hero) .hero-bg,
.section .hero-bg,
.tile .hero-bg {
  display: none !important;
  background: none !important;
}


/* FINAL FIX: Hero image ONLY in .hero section */
section.hero .hero-bg {
  background-image: image-set(
    url("../images/hero-office.avif") type("image/avif"),
    url("../images/hero-office.webp") type("image/webp"),
    url("../images/hero-office.jpg") type("image/jpeg")
  ) !important;
  display: block !important;
}

/* Normalize section backgrounds without overriding intentional styles */
.section {
  background-color: var(--section-bg, #ffffff);
  background-image: var(--section-bg-image, none);
}

.section-alt {
  background-color: var(--section-alt-bg, #f7f9fc);
}

.tile {
  background-color: var(--tile-bg, #ffffff);
  background-image: var(--tile-bg-image, none);
}


/* Fix tile button colors - make them blue again */
.tile .btn-primary,
a.btn-primary {
  background: var(--brand-mid) !important;
  color: #ffffff !important;
  position: relative !important;
  z-index: 1 !important;
  display: inline-block !important;
  margin-top: 12px !important;
}

.tile .btn-primary:hover {
  background: #00447e !important;
  color: #ffffff !important;
}

/* Fix CTA panel - ensure blue background and visible text */
.cta-panel-deepblue {
  background: linear-gradient(135deg, var(--brand-dark) 0%, var(--brand-mid) 60%) !important;
  background-color: var(--brand-dark) !important;
  color: #ffffff !important;
}

.cta-panel-deepblue h2,
.cta-panel-deepblue p,
.cta-panel-deepblue * {
  color: #ffffff !important;
}

.cta-panel-deepblue .tm-mark {
  color: #ffffff !important;
}


/* Hero image for all pages - ensure it works everywhere */
.hero .hero-bg,
section.hero .hero-bg {
  background-image: image-set(
    url("../images/hero-office.avif") type("image/avif"),
    url("../images/hero-office.webp") type("image/webp"),
    url("../images/hero-office.jpg") type("image/jpeg")
  ) !important;
  background-position: center center !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: 100% !important;
  filter: brightness(0.66) contrast(1.16) saturate(1.12) !important;
  z-index: 0 !important;
  pointer-events: none !important;
  display: block !important;
}


/* Framework Page Styles - Part 1 */
.states-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 24px;
  margin-top: 40px;
}

.state-card {
  background: #ffffff;
  border: 2px solid #e4edf7;
  border-radius: 12px;
  padding: 24px;
  transition: all 0.3s ease;
  position: relative;
}

.state-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
  border-color: var(--brand-mid);
}

.state-reactive { border-left: 4px solid #e74c3c; }
.state-controlled { border-left: 4px solid #f39c12; }
.state-predictable { border-left: 4px solid #3498db; }
.state-trusted { border-left: 4px solid #27ae60; }

.state-number {
  font-size: 14px;
  font-weight: 600;
  color: var(--brand-mid);
  margin-bottom: 12px;
}

.state-name {
  font-size: 24px;
  font-weight: 700;
  margin: 0 0 12px;
  color: var(--text);
}

.state-description {
  color: #5a6c7d;
  margin-bottom: 16px;
  line-height: 1.6;
}

.state-indicators {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.state-indicators .indicator {
  background: #f7f9fc;
  padding: 6px 12px;
  border-radius: 6px;
  font-size: 13px;
  color: var(--text);
}

/* Framework Page Styles - Part 2 */
.value-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 32px;
  margin-top: 40px;
}

.value-item {
  text-align: center;
}

.value-icon {
  font-size: 48px;
  margin-bottom: 16px;
}

.value-item h3 {
  font-size: 20px;
  margin: 0 0 12px;
  color: var(--text);
}

.value-item p {
  color: #5a6c7d;
  line-height: 1.6;
}

/* Framework Page Styles - Part 3 */
.case-study-snippet {
  background: linear-gradient(135deg, #f7f9fc 0%, #ffffff 100%);
  border-radius: 16px;
  padding: 40px;
  border: 1px solid #e4edf7;
}

.case-study-label {
  display: inline-block;
  /* Fallback to avoid "missing label" if CSS vars are overridden */
  background: var(--brand-mid, #00559f);
  color: #ffffff;
  padding: 6px 14px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 20px;
}

.case-study-snippet .case-study-label,
.case-study-snippet h2,
.case-study-snippet .case-study-intro {
  /* Guard against global gradient-text rules making these appear "missing" */
  -webkit-text-fill-color: currentColor;
  -webkit-background-clip: initial;
  background-clip: initial;
  background-image: none;
  opacity: 1;
}

.case-study-snippet h2 {
  font-size: 28px;
  margin: 0 0 16px;
  color: var(--text);
}

.case-study-intro {
  font-size: 18px;
  color: #5a6c7d;
  line-height: 1.7;
  margin-bottom: 32px;
}

.case-study-key-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin: 0 0 24px;
}

.case-study-key-stats .key-stat {
  background: #ffffff;
  border: 1px solid rgba(0, 85, 159, 0.12);
  border-radius: 12px;
  padding: 18px 16px 16px;
  text-align: center;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.06);
}

.case-study-key-stats .key-stat-value {
  font-size: 34px;
  font-weight: 900;
  letter-spacing: -0.5px;
  color: var(--brand-mid, #00559f);
  margin-bottom: 6px;
}

.case-study-key-stats .key-stat-label {
  font-size: 13px;
  color: #5a6c7d;
  font-weight: 600;
}

.case-study-findings {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin: 0 0 24px;
}

.case-study-findings .finding-card {
  background: #ffffff;
  border: 1px solid rgba(0, 85, 159, 0.12);
  border-radius: 12px;
  padding: 18px 18px 16px;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.06);
}

.case-study-findings .finding-title {
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  color: var(--brand-dark, #0b2540);
  margin: 0 0 10px;
}

.case-study-findings .finding-list {
  margin: 0;
  padding-left: 18px;
  color: #5a6c7d;
  line-height: 1.6;
  font-size: 14px;
}

.case-study-findings .finding-list li + li {
  margin-top: 6px;
}

.case-study-metrics {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 24px;
  margin: 32px 0;
  padding: 32px;
  background: #ffffff;
  border-radius: 12px;
}

.case-study-metrics .metric {
  text-align: center;
}

.case-study-metrics .metric-value {
  font-size: 36px;
  font-weight: 700;
  color: var(--brand-mid);
  margin-bottom: 8px;
}

.case-study-metrics .metric-value {
  /* Override global gradient-text rule on `.metric-value` which can make these invisible */
  background: none !important;
  -webkit-background-clip: initial !important;
  background-clip: initial !important;
  -webkit-text-fill-color: currentColor !important;
  color: var(--brand-mid, #00559f) !important;
}

.case-study-metrics .metric-label {
  /* Ensure labels stay readable if other sections apply text effects */
  -webkit-text-fill-color: currentColor;
  -webkit-background-clip: initial;
  background-clip: initial;
}

.case-study-metrics .metric-label {
  font-size: 14px;
  color: #5a6c7d;
}

.case-study-outcome {
  font-size: 16px;
  color: var(--text);
  line-height: 1.7;
  margin-top: 24px;
}

/* Framework Page Styles - Part 4 (Mobile) */

/* Technology Behind Our AI - Card Hover Effects */
.tech-ai-card {
  transition: all 0.3s ease !important;
  cursor: pointer !important;
}

.tech-ai-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 8px 24px rgba(0, 85, 159, 0.15) !important;
  border-left: 4px solid #00559f !important;
}



/* AI Innovation Cards - Hover Effects */
.ai-innovation-card:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 12px 32px rgba(0, 85, 159, 0.2) !important;
  border-top-width: 6px !important;
}

/* AI Impact Cards - Hover Effects */
.ai-impact-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 8px 24px rgba(0, 85, 159, 0.2) !important;
  border-left-width: 8px !important;
  background: linear-gradient(135deg, #e6f2ff 0%, #d0e7ff 100%) !important;
}



/* ========== NUMBERS THAT SPEAK - Hover Effects ========== */
.numbers-speak-card {
  transition: all 0.3s ease !important;
  cursor: pointer !important;
}

.numbers-speak-card:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 12px 32px rgba(0, 85, 159, 0.2) !important;
  border-top-width: 6px !important;
  background: linear-gradient(135deg, #ffffff 0%, #f0f7ff 100%) !important;
}

/* ========== WHY UKBPM'S AI - Advanced AI Animations ========== */
.why-ukbpm-ai-card {
  position: relative;
  overflow: hidden;
}

.why-ukbpm-ai-card::before {
  content: "";
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: radial-gradient(circle, rgba(0, 212, 255, 0.2) 0%, transparent 70%);
  opacity: 0;
  transition: opacity 0.4s ease, transform 0.6s ease;
  transform: scale(0);
  pointer-events: none;
}

.why-ukbpm-ai-card:hover::before {
  opacity: 1;
  transform: scale(1);
}

.why-ukbpm-ai-card:hover {
  transform: translateY(-8px) scale(1.02) !important;
  box-shadow: 0 16px 48px rgba(0, 212, 255, 0.4) !important;
  border-color: rgba(0, 212, 255, 0.6) !important;
  background: rgba(0, 212, 255, 0.18) !important;
}

.why-ukbpm-ai-card:hover > div:first-child {
  transform: scale(1.1) rotate(5deg);
  transition: transform 0.3s ease;
}

/* AI Pulse Animation for Why UKBPM AI Cards */
@keyframes aiPulse {
  0%, 100% { 
    box-shadow: 0 8px 32px rgba(0,0,0,0.2), 0 0 0 0 rgba(0, 212, 255, 0.5);
  }
  50% { 
    box-shadow: 0 8px 32px rgba(0,0,0,0.2), 0 0 20px 10px rgba(0, 212, 255, 0.3);
  }
}

.why-ukbpm-ai-card:hover {
  animation: aiPulse 2s ease-in-out infinite;
}

/* ========== REAL WORLD IMPACT - Match Industry First ========== */
.ai-impact-card:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 12px 32px rgba(0, 85, 159, 0.25) !important;
  border-left-width: 8px !important;
  background: linear-gradient(135deg, #e6f2ff 0%, #d0e7ff 100%) !important;
}

/* ========== TECH BEHIND AI - Enhanced Visibility ========== */
.tech-ai-card h3,
.tech-ai-card p {
  color: #001122 !important;
  font-weight: 600 !important;
  text-shadow: 0 1px 2px rgba(255,255,255,0.8) !important;
}

.tech-ai-card:hover h3,
.tech-ai-card:hover p {
  color: #000000 !important;
}

/* ========== 2026 AI INNOVATIONS - Enhanced Hover ========== */
.ai-innovation-card:hover {
  transform: translateY(-8px) !important;
  box-shadow: 0 16px 40px rgba(0, 85, 159, 0.25) !important;
  border-top-width: 6px !important;
  background: linear-gradient(135deg, #ffffff 0%, #f0f7ff 100%) !important;
}

.ai-innovation-card:hover > div:first-child {
  transform: scale(1.15) rotate(-5deg);
  transition: transform 0.3s ease;
}


@media (max-width: 768px) {
  .states-grid {
    grid-template-columns: 1fr;
  }
  .value-grid {
    grid-template-columns: 1fr;
  }
  .case-study-snippet {
    padding: 24px;
  }
  .case-study-key-stats {
    grid-template-columns: 1fr;
  }
  .case-study-findings {
    grid-template-columns: 1fr;
  }
  .case-study-metrics {
    grid-template-columns: 1fr;
  }
}

/* Enhanced States Visualization - Part 1 */
.states-progression {
  position: relative;
  margin: 60px 0;
}

.progression-line {
  position: absolute;
  left: 50%;
  top: 0;
  bottom: 0;
  width: 3px;
  background: linear-gradient(180deg, #e74c3c 0%, #f39c12 33%, #3498db 66%, #27ae60 100%);
  transform: translateX(-50%);
  z-index: 0;
}

.states-grid-enhanced {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 32px;
  position: relative;
  z-index: 1;
}

/* Enhanced States Visualization - Part 2 */
.state-card-enhanced {
  background: #ffffff;
  border: 2px solid #e4edf7;
  border-radius: 16px;
  padding: 28px;
  transition: all 0.4s ease;
  position: relative;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}

.state-card-enhanced:hover {
  transform: translateY(-8px);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.15);
  border-color: var(--brand-mid);
}

.state-reactive { border-left: 5px solid #e74c3c; }
.state-controlled { border-left: 5px solid #f39c12; }
.state-predictable { border-left: 5px solid #3498db; }
.state-trusted { border-left: 5px solid #27ae60; }

.state-header {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 20px;
}

.state-number-circle {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: var(--brand-mid);
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 16px;
  flex-shrink: 0;
}

.state-title-group {
  flex: 1;
}

.state-name {
  font-size: 26px;
  font-weight: 700;
  margin: 0 0 8px;
  color: var(--text);
}

.state-status-badge {
  display: inline-block;
  padding: 4px 12px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.status-critical { background: #fee; color: #e74c3c; }
.status-warning { background: #fff4e6; color: #f39c12; }
.status-good { background: #e6f3ff; color: #3498db; }
.status-excellent { background: #e8f8f0; color: #27ae60; }

/* Enhanced States Visualization - Part 3 */
.state-visual {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  margin: 24px 0;
  padding: 20px;
  background: #f7f9fc;
  border-radius: 12px;
}

.state-icon {
  font-size: 64px;
  line-height: 1;
}

.progress-ring {
  position: relative;
  width: 100px;
  height: 100px;
}

.progress-svg {
  width: 100%;
  height: 100%;
  transform: rotate(-90deg);
}

.progress-bg {
  fill: none;
  stroke: #e4edf7;
  stroke-width: 8;
}

.progress-bar {
  fill: none;
  stroke-width: 8;
  stroke-linecap: round;
  transition: stroke-dashoffset 0.6s ease;
}

.state-reactive .progress-bar { stroke: #e74c3c; }
.state-controlled .progress-bar { stroke: #f39c12; }
.state-predictable .progress-bar { stroke: #3498db; }
.state-trusted .progress-bar { stroke: #27ae60; }

.progress-value {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 20px;
  font-weight: 700;
  color: var(--text);
}

/* Enhanced States Visualization - Part 4 */
.state-metrics {
  margin-top: 24px;
}

.metric-bar {
  margin-bottom: 16px;
}

.metric-label-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 6px;
  font-size: 13px;
}

.metric-label-row span:first-child {
  color: #5a6c7d;
  font-weight: 500;
}

.metric-value-badge {
  padding: 2px 8px;
  border-radius: 4px;
  font-size: 11px;
  font-weight: 600;
}

.metric-value-badge.high { background: #fee; color: #e74c3c; }
.metric-value-badge.low { background: #fee; color: #e74c3c; }
.metric-value-badge.medium { background: #fff4e6; color: #f39c12; }
.metric-value-badge.good { background: #e6f3ff; color: #3498db; }
.metric-value-badge.excellent { background: #e8f8f0; color: #27ae60; }

.metric-bar-container {
  height: 8px;
  background: #f0f4f8;
  border-radius: 4px;
  overflow: hidden;
}

.metric-bar-fill {
  height: 100%;
  border-radius: 4px;
  transition: width 0.6s ease;
}

.reactive-fill { width: 85%; background: #e74c3c; }
.controlled-fill { width: 60%; background: #f39c12; }
.predictable-fill { width: 30%; background: #3498db; }
.trusted-fill { width: 10%; background: #27ae60; }

.state-arrow {
  text-align: center;
  font-size: 32px;
  color: var(--brand-mid);
  margin-top: 16px;
  animation: bounce 2s infinite;
}

@keyframes bounce {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(8px); }
}

/* Enhanced States Visualization - Part 5 (Mobile) */
@media (max-width: 768px) {
  .states-grid-enhanced {
    grid-template-columns: 1fr;
  }
  .progression-line {
    display: none;
  }
  .state-visual {
    flex-direction: column;
    gap: 16px;
  }
  .state-icon {
    font-size: 48px;
  }
  .progress-ring {
    width: 80px;
    height: 80px;
  }
  .state-arrow {
    display: none;
  }
}

/* Fix states grid - 4 cards in a row */
.states-grid-enhanced {
  grid-template-columns: repeat(4, 1fr) !important;
}

@media (max-width: 1200px) {
  .states-grid-enhanced {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 768px) {
  .states-grid-enhanced {
    grid-template-columns: 1fr !important;
  }
}

/* Fix states grid - center and align */
.states-progression {
  display: flex;
  justify-content: center;
}

.states-grid-enhanced {
  grid-template-columns: repeat(4, 1fr) !important;
  max-width: 1400px;
  margin: 0 auto;
  gap: 0 !important; /* No uniform gap - using individual margins */
}

/* Align "How it works" tiles with state cards above */
.section-alt .tile-grid {
  grid-template-columns: repeat(4, 1fr) !important;
  max-width: 1400px;
  margin: 0 auto;
  gap: 0 !important; /* No uniform gap - using individual margins */
}

@media (max-width: 1200px) {
  .states-grid-enhanced,
  .section-alt .tile-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 768px) {
  .states-grid-enhanced,
  .section-alt .tile-grid {
    grid-template-columns: 1fr !important;
  }
}

/* Fix section spacing */
.section {
  padding: 60px 0 !important;
}

.section-alt {
  background: #f7f9fc !important;
  padding: 60px 0 !important;
}

.tile-grid, .value-grid {
  margin-top: 32px;
  margin-bottom: 0;
}

/* FM Noise Index Page Styles - Part 1 */
.noise-visualization {
  display: flex;
  justify-content: center;
  margin: 40px 0;
}

.noise-score-card {
  background: linear-gradient(135deg, #f7f9fc 0%, #ffffff 100%);
  border: 2px solid #e4edf7;
  border-radius: 16px;
  padding: 40px;
  text-align: center;
  max-width: 400px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
}

/* FM Noise Index Page Styles - Part 2 */
.score-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 24px;
}

.score-header h3 {
  margin: 0;
  font-size: 24px;
  color: var(--text);
}

.score-badge {
  padding: 6px 14px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
}

.score-badge.high-noise { background: #fee; color: #e74c3c; }
.score-badge.medium-noise { background: #fff4e6; color: #f39c12; }
.score-badge.low-noise { background: #e8f8f0; color: #27ae60; }

/* FM Noise Index Page Styles - Part 3 */
.score-circle {
  position: relative;
  width: 200px;
  height: 200px;
  margin: 0 auto 24px;
}

.score-svg {
  width: 100%;
  height: 100%;
  transform: rotate(-90deg);
}

.score-bg {
  fill: none;
  stroke: #e4edf7;
  stroke-width: 10;
}

.score-bar {
  fill: none;
  stroke-width: 10;
  stroke-linecap: round;
  transition: stroke-dashoffset 0.6s ease;
}

.score-value {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 48px;
  font-weight: 700;
  color: var(--text);
}

.score-label {
  font-size: 14px;
  color: #5a6c7d;
  margin-top: 8px;
}

/* FM Noise Index Page Styles - Part 4 */
.score-interpretation {
  margin-top: 24px;
  padding-top: 24px;
  border-top: 1px solid #e4edf7;
}

.score-interpretation p {
  color: #5a6c7d;
  line-height: 1.6;
  margin: 0;
}

/* FM Noise Index Page Styles - Part 5 */
.noise-sources-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 24px;
  margin-top: 32px;
}

.noise-source-card {
  background: #ffffff;
  border: 2px solid #e4edf7;
  border-radius: 12px;
  padding: 24px;
  text-align: center;
  transition: all 0.3s ease;
}

.noise-source-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
  border-color: var(--brand-mid);
}

/* FM Noise Index Page Styles - Part 6 */
.noise-icon {
  font-size: 48px;
  margin-bottom: 16px;
}

.noise-source-card h3 {
  font-size: 20px;
  margin: 0 0 12px;
  color: var(--text);
}

.noise-source-card p {
  color: #5a6c7d;
  line-height: 1.6;
  margin-bottom: 16px;
}

.noise-impact {
  display: inline-block;
  background: #f7f9fc;
  padding: 6px 12px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 600;
  color: var(--brand-mid);
}

/* FM Noise Index Page Styles - Part 7 (Mobile) */
@media (max-width: 768px) {
  .noise-sources-grid {
    grid-template-columns: 1fr;
  }
  .score-circle {
    width: 150px;
    height: 150px;
  }
  .score-value {
    font-size: 36px;
  }
}

/* Fix TM symbols - black and better positioning */
.tm-mark, .tm-symbol {
  color: #000000 !important;
  font-size: 0.65em !important;
  vertical-align: super !important;
  line-height: 0 !important;
  margin-left: 2px !important;
  font-weight: normal !important;
}

/* Override for hero sections - white TM symbol */
.hero .tm-mark,
.hero-title .tm-mark,
section.hero h1 .tm-mark,
section.hero .hero-title .tm-mark {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background: none !important;
  -webkit-background-clip: unset !important;
}

.nav-tm .tm-mark {
  color: #000000 !important;
}

/* Expand page margins and center 4 tiles - SCOPED to noise-visualization only */
.noise-visualization .container,
.noise-sources-section .container {
  max-width: 1600px !important;
  padding: 0 40px !important;
}

.noise-sources-grid,
.value-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 0 !important; /* No uniform gap - using individual margins */
  max-width: 1400px !important;
  margin: 0 auto !important;
}

.noise-source-card,
.value-item {
  /* aspect-ratio removed to allow taller boxes */
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
}

@media (max-width: 1400px) {
  .noise-visualization .container,
  .noise-sources-section .container {
    max-width: 1200px !important;
  }
}

@media (max-width: 1200px) {
  .noise-sources-grid,
  .value-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 768px) {
  .noise-sources-grid,
  .value-grid {
    grid-template-columns: 1fr !important;
  }
  .noise-visualization .container,
  .noise-sources-section .container {
    padding: 0 20px !important;
  }
}

/* Square tiles with optimized content */
.noise-source-card {
  min-height: 280px !important;
  height: 100% !important;
}

.value-item {
  min-height:
  height: auto !important; 280px !important;
  height: auto !important;
  height: 100% !important;
  padding: 32px !important;
  background: #ffffff !important;
  border: 2px solid #e4edf7 !important;
  border-radius: 12px !important;
  transition: all 0.3s ease !important;
}

.value-item:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1) !important;
  border-color: var(--brand-mid) !important;
}

.value-icon {
  margin-bottom: 16px !important;
  flex-shrink: 0 !important;
}

.value-item h3 {
  margin: 0 0 12px !important;
  flex-shrink: 0 !important;
}

.value-item p {
  flex-grow: 1 !important;
  overflow-wrap: break-word !important;
  word-wrap: break-word !important;
  margin: 0 !important;
}

/* Nav bar improvements */
.site-header {
  min-height: 70px !important;
}

.header-inner {
  padding: 16px 18px !important;
  gap: 8px !important;
}

.logo {
  margin-right: 24px !important;
  margin-right: 8px !important;
}

.main-nav {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 1;
  margin-left: 0;
}

.main-nav a {
  padding: 8px 6px !important;
  font-size: 14px !important;
}

.nav-subscribe {
  margin-left: 24px !important; /* Fixed position, 24px from logo */
  padding-left: 40px !important; /* Increased space from last nav item */
  border-left: 1px solid #e4edf7 !important;
  color: var(--brand-mid) !important;
  font-weight: 600 !important;
}

.nav-subscribe:hover {
  color: var(--brand-dark) !important;
}

.nav-subscribe:hover {
  color: var(--brand-dark) !important;
}

@media (max-width: 768px) {
.nav-subscribe {
  margin-left: 24px !important; /* Fixed position, 24px from logo */
  padding-left: 40px !important; /* Increased space from last nav item */
  border-left: 1px solid #e4edf7 !important;
  color: var(--brand-mid) !important;
  font-weight: 600 !important;
}

.nav-subscribe:hover {
  color: var(--brand-dark) !important;
}
}

/* Nav bar spacing and Subscribe positioning */
.logo {
  margin-right: 24px !important;
  margin-right: 24px !important;
}

.main-nav {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 1;
  margin-left: 0;
}

.nav-subscribe {
  margin-left: 24px !important; /* Fixed position, 24px from logo */
  padding-left: 40px !important; /* Increased space from last nav item */
  border-left: 1px solid #e4edf7 !important;
  color: var(--brand-mid) !important;
  font-weight: 600 !important;
}

.nav-subscribe:hover {
  color: var(--brand-dark) !important;
}

.nav-subscribe:hover {
  color: var(--brand-dark) !important;
}

/* Fix nav spacing and Subscribe position */
.logo {
  margin-right: 24px !important;
}

.header-inner {
  display: flex !important;
  align-items: center !important;
  gap: 0 !important;
}

.main-nav {
  flex: 1 !important;
  margin-left: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.nav-subscribe {
  margin-left: 24px !important; /* Fixed position, 24px from logo */
  padding-left: 40px !important; /* Increased space from last nav item */
  border-left: 1px solid #e4edf7 !important;
}

/* Workplace Friction Map - Luxury Design Part 1 */
.friction-hero-visual {
  margin: 60px 0;
  display: flex;
  justify-content: center;
}

.friction-map-preview {
  background: linear-gradient(135deg, #ffffff 0%, #f7f9fc 100%);
  border: 2px solid #e4edf7;
  border-radius: 20px;
  padding: 40px;
  max-width: 800px;
  width: 100%;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.08);
}

.map-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 24px;
  padding-bottom: 20px;
  border-bottom: 2px solid #e4edf7;
}

.map-header h3 {
  margin: 0;
  font-size: 24px;
  font-weight: 700;
  color: var(--text);
}

.map-legend {
  display: flex;
  gap: 16px;
}

.legend-item {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: #5a6c7d;
}

.legend-color {
  width: 16px;
  height: 16px;
  border-radius: 4px;
}

.legend-color.high { background: #e74c3c; }
.legend-color.medium { background: #f39c12; }
.legend-color.low { background: #27ae60; }

/* Workplace Friction Map - Luxury Design Part 2 */
.map-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.map-cell {
  aspect-ratio: 1;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  font-size: 14px;
  color: #ffffff;
  text-align: center;
  padding: 16px;
  transition: all 0.3s ease;
  cursor: pointer;
  position: relative;
  overflow: hidden;
}

.map-cell::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.1);
  opacity: 0;
  transition: opacity 0.3s ease;
}

.map-cell:hover::before {
  opacity: 1;
}

.map-cell:hover {
  transform: scale(1.05);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
}

.map-cell.high-friction {
  background: linear-gradient(135deg, #e74c3c 0%, #c0392b 100%);
}

.map-cell.medium-friction {
  background: linear-gradient(135deg, #f39c12 0%, #e67e22 100%);
}

.map-cell.low-friction {
  background: linear-gradient(135deg, #27ae60 0%, #229954 100%);
}

/* Workplace Friction Map - Mobile */
@media (max-width: 768px) {
  .friction-map-preview {
    padding: 24px;
  }
  .map-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }
  .map-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
  }
}

/* Fix friction map tiles - Part 1 */
.map-cell {
  /* aspect-ratio removed to allow taller boxes */
  border-radius: 12px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  color: #ffffff !important;
  text-align: center !important;
  padding: 16px !important;
  transition: all 0.3s ease !important;
  cursor: pointer !important;
  position: relative !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* Fix friction map tiles - Part 2 */
.map-cell.high-friction {
  background: linear-gradient(135deg, #e74c3c 0%, #c0392b 100%) !important;
  color: #ffffff !important;
}

.map-cell.medium-friction {
  background: linear-gradient(135deg, #f39c12 0%, #e67e22 100%) !important;
  color: #ffffff !important;
}

.map-cell.low-friction {
  background: linear-gradient(135deg, #27ae60 0%, #229954 100%) !important;
  color: #ffffff !important;
}

/* Fix friction map tiles - Part 3 (Hover effects) */
.map-cell::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  background: rgba(0, 0, 0, 0.1) !important;
  opacity: 0 !important;
  transition: opacity 0.3s ease !important;
  border-radius: 12px !important;
}

.map-cell:hover::before {
  opacity: 1 !important;
}

.map-cell:hover {
  transform: scale(1.05) !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2) !important;
  z-index: 2 !important;
}

/* Fix friction map tiles - Part 4 (Text visibility) */
.map-cell * {
  position: relative !important;
  z-index: 1 !important;
  color: #ffffff !important;
}

/* Fix friction map tiles - Part 5 (Grid visibility) */
.map-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 16px !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.friction-map-preview {
  visibility: visible !important;
  opacity: 1 !important;
}

/* Outcomes Framework Page - Part 1 (Pillars) */
.outcomes-pillars-visual {
  margin: 60px 0;
}

.pillars-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  max-width: 1200px;
  margin: 0 auto;
}

.pillar-card {
  background: linear-gradient(135deg, #ffffff 0%, #f7f9fc 100%);
  border: 2px solid #e4edf7;
  border-radius: 16px;
  padding: 32px;
  text-align: center;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  cursor: pointer;
  position: relative;
  overflow: hidden;
}

.pillar-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
  transition: left 0.5s ease;
}

.pillar-card:hover::before {
  left: 100%;
}

.pillar-card:hover {
  transform: translateY(-8px) scale(1.02);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.15);
  border-color: var(--brand-mid);
}

.pillar-card.active {
  border-color: var(--brand-mid);
  background: linear-gradient(135deg, #f0f4f8 0%, #ffffff 100%);
  box-shadow: 0 8px 24px rgba(0, 85, 159, 0.2);
}

.pillar-icon {
  font-size: 48px;
  margin-bottom: 16px;
  transition: transform 0.3s ease;
}

.pillar-card:hover .pillar-icon {
  transform: scale(1.1) rotate(5deg);
}

.pillar-card h3 {
  font-size: 20px;
  font-weight: 700;
  margin: 0 0 12px;
  color: var(--text);
}

.pillar-metric {
  font-size: 14px;
  color: #5a6c7d;
  font-style: italic;
}

/* Outcomes Framework Page - Part 2 (Innovation Cards) */
.innovation-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
  margin-top: 40px;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}

.innovation-card {
  background: #ffffff;
  border: 2px solid #e4edf7;
  border-radius: 16px;
  padding: 32px;
  transition: all 0.3s ease;
  position: relative;
  cursor: pointer;
}

.innovation-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.12);
  border-color: var(--brand-mid);
}

.innovation-card.active {
  border-color: var(--brand-mid);
  background: linear-gradient(135deg, #f0f4f8 0%, #ffffff 100%);
  box-shadow: 0 8px 24px rgba(0, 85, 159, 0.15);
}

.innovation-badge {
  display: inline-block;
  background: var(--brand-mid);
  color: #ffffff;
  padding: 4px 12px;
  border-radius: 6px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 16px;
}

.innovation-card h3 {
  font-size: 24px;
  font-weight: 700;
  margin: 0 0 16px;
  color: var(--text);
}

.innovation-card p {
  color: #5a6c7d;
  line-height: 1.7;
  margin-bottom: 20px;
}

.innovation-example {
  background: #f7f9fc;
  border-left: 4px solid var(--brand-mid);
  padding: 16px;
  border-radius: 8px;
  font-size: 14px;
  line-height: 1.6;
  color: var(--text);
  transition: all 0.3s ease;
}

.innovation-card:hover .innovation-example {
  background: #eef3f8;
  border-left-color: var(--brand-dark);
}

.innovation-example strong {
  color: var(--brand-mid);
  display: block;
  margin-bottom: 8px;
}

/* Outcomes Framework Page - Part 3 (Mobile) */
@media (max-width: 1200px) {
  .pillars-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .innovation-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .pillars-grid {
    grid-template-columns: 1fr;
  }
}

/* Case Studies Page - Part 1 (Base Styles) */
.case-study-full {
  max-width: 1200px;
  margin: 0 auto;
  padding: 40px 0;
}

.case-study-header {
  text-align: center;
  margin-bottom: 40px;
}

.case-study-sector {
  display: inline-block;
  background: var(--brand-mid);
  color: #ffffff;
  padding: 6px 16px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 16px;
}

.case-study-title {
  font-size: 36px;
  font-weight: 700;
  margin: 0 0 12px;
  color: var(--text);
}

.case-study-subtitle {
  font-size: 20px;
  color: #5a6c7d;
  margin: 0;
  font-weight: 300;
}

/* Case Studies Page - Part 2 (Images & Content) */
.case-study-hero-image {
  margin: 40px 0;
  position: relative;
}

.case-study-hero-image img {
  width: 100%;
  height: 400px;
  object-fit: cover;
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
}

.image-caption {
  font-size: 12px;
  color: #5a6c7d;
  font-style: italic;
  margin-top: 8px;
  text-align: center;
}

.case-study-content {
  margin-top: 40px;
}

.case-study-overview,
.case-study-approach,
.case-study-results {
  margin-bottom: 40px;
}

.case-study-content h3 {
  font-size: 28px;
  font-weight: 700;
  margin: 0 0 16px;
  color: var(--text);
}

.case-study-content p {
  font-size: 16px;
  line-height: 1.8;
  color: #5a6c7d;
  margin-bottom: 20px;
}

.case-study-image-inline {
  text-align: center;
  margin: 32px 0;
}

.case-study-image-inline img {
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
  border-radius: 8px;
}

/* Case Studies Page - Part 3 (Challenge Metrics) */
.challenge-metrics {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin: 32px 0;
  padding: 24px;
  background: #fee;
  border-radius: 12px;
  border-left: 4px solid #e74c3c;
}

.challenge-metric {
  text-align: center;
}

.challenge-value {
  font-size: 32px;
  font-weight: 700;
  color: #e74c3c;
  margin-bottom: 8px;
}

.challenge-label {
  font-size: 14px;
  color: #5a6c7d;
  font-weight: 500;
}

/* Case Studies Page - Part 4 (Timeline) */
.approach-timeline {
  margin: 32px 0;
  position: relative;
  padding-left: 40px;
}

.approach-timeline::before {
  content: "";
  position: absolute;
  left: 15px;
  top: 0;
  bottom: 0;
  width: 2px;
  background: linear-gradient(180deg, var(--brand-mid) 0%, var(--brand-dark) 100%);
}

.timeline-item {
  position: relative;
  margin-bottom: 32px;
  display: flex;
  gap: 24px;
}

.timeline-marker {
  position: absolute;
  left: -25px;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--brand-mid);
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 16px;
  flex-shrink: 0;
  z-index: 1;
}

.timeline-content {
  flex: 1;
  background: #f7f9fc;
  padding: 20px;
  border-radius: 8px;
  border-left: 3px solid var(--brand-mid);
}

.timeline-content h4 {
  font-size: 18px;
  font-weight: 700;
  margin: 0 0 8px;
  color: var(--text);
}

.timeline-content p {
  font-size: 14px;
  line-height: 1.6;
  color: #5a6c7d;
  margin: 0;
}

/* Case Studies Page - Part 4A (Timeline Base) */
.approach-timeline {
  margin: 32px 0;
  position: relative;
  padding-left: 40px;
}

.approach-timeline::before {
  content: "";
  position: absolute;
  left: 15px;
  top: 0;
  bottom: 0;
  width: 2px;
  background: linear-gradient(180deg, var(--brand-mid) 0%, var(--brand-dark) 100%);
}

/* Case Studies Page - Part 4B (Timeline Items) */
.timeline-item {
  position: relative;
  margin-bottom: 32px;
  display: flex;
  gap: 24px;
}

.timeline-marker {
  position: absolute;
  left: -25px;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--brand-mid);
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 16px;
  flex-shrink: 0;
  z-index: 1;
}

.timeline-content {
  flex: 1;
  background: #f7f9fc;
  padding: 20px;
  border-radius: 8px;
  border-left: 3px solid var(--brand-mid);
}

.timeline-content h4 {
  font-size: 18px;
  font-weight: 700;
  margin: 0 0 8px;
  color: var(--text);
}

.timeline-content p {
  font-size: 14px;
  line-height: 1.6;
  color: #5a6c7d;
  margin: 0;
}

/* Case Studies Page - Part 5 (Metrics Large) */
.case-study-metrics-large {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 32px;
  margin: 40px 0;
}

.metric-large {
  background: linear-gradient(135deg, #f7f9fc 0%, #ffffff 100%);
  border: 2px solid #e4edf7;
  border-radius: 16px;
  padding: 32px;
  text-align: center;
  transition: all 0.3s ease;
}

.metric-large:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
  border-color: var(--brand-mid);
}

.metric-value-large {
  font-size: 48px;
  font-weight: 700;
  color: var(--brand-mid);
  margin-bottom: 8px;
  line-height: 1;
}

.metric-label-large {
  font-size: 18px;
  font-weight: 600;
  color: var(--text);
  margin-bottom: 12px;
}

.metric-attribution {
  font-size: 13px;
  color: #5a6c7d;
  font-style: italic;
  line-height: 1.5;
}

/* Case Studies Page - Part 6 (Attribution Breakdown) */
.attribution-breakdown {
  margin: 40px 0;
  padding: 32px;
  background: #f7f9fc;
  border-radius: 16px;
}

.attribution-breakdown h4 {
  font-size: 24px;
  font-weight: 700;
  margin: 0 0 24px;
  color: var(--text);
}

.attribution-chart {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.attribution-bar {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.attribution-label {
  font-size: 14px;
  font-weight: 600;
  color: var(--text);
}

.attribution-visual {
  height: 32px;
  background: #e4edf7;
  border-radius: 6px;
  position: relative;
  overflow: hidden;
}

.attribution-fill {
  height: 100%;
  background: linear-gradient(90deg, var(--brand-mid) 0%, var(--brand-dark) 100%);
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding-right: 12px;
  color: #ffffff;
  font-weight: 600;
  font-size: 13px;
  transition: width 0.8s ease;
}

.attribution-detail {
  font-size: 12px;
  color: #5a6c7d;
  font-style: italic;
}

/* Case Studies Page - Part 6A (Attribution Breakdown Base) */
.attribution-breakdown {
  margin: 40px 0;
  padding: 32px;
  background: #f7f9fc;
  border-radius: 16px;
}

.attribution-breakdown h4 {
  font-size: 24px;
  font-weight: 700;
  margin: 0 0 24px;
  color: var(--text);
}

.attribution-chart {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.attribution-bar {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.attribution-label {
  font-size: 14px;
  font-weight: 600;
  color: var(--text);
}

/* Case Studies Page - Part 6B (Attribution Visual Elements) */
.attribution-visual {
  height: 32px;
  background: #e4edf7;
  border-radius: 6px;
  position: relative;
  overflow: hidden;
}

.attribution-fill {
  height: 100%;
  background: linear-gradient(90deg, var(--brand-mid) 0%, var(--brand-dark) 100%);
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding-right: 12px;
  color: #ffffff;
  font-weight: 600;
  font-size: 13px;
  transition: width 0.8s ease;
}

.attribution-detail {
  font-size: 12px;
  color: #5a6c7d;
  font-style: italic;
}

/* Case Studies Page - Part 7A (Cascading Impact Base) */
.cascading-impact {
  margin: 40px 0;
  padding: 32px;
  background: linear-gradient(135deg, #f0f4f8 0%, #ffffff 100%);
  border-radius: 16px;
  border: 2px solid #e4edf7;
}

.cascading-impact h4 {
  font-size: 24px;
  font-weight: 700;
  margin: 0 0 32px;
  color: var(--text);
  text-align: center;
}

.cascade-visual {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
}

/* Case Studies Page - Part 7B (Cascading Impact Steps) */
.cascade-step {
  display: flex;
  align-items: center;
  gap: 24px;
  width: 100%;
  max-width: 600px;
}

.cascade-icon {
  font-size: 48px;
  flex-shrink: 0;
}

.cascade-content {
  flex: 1;
  background: #ffffff;
  padding: 20px;
  border-radius: 12px;
  border: 2px solid #e4edf7;
  text-align: center;
}

.cascade-title {
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  color: #5a6c7d;
  margin-bottom: 8px;
  letter-spacing: 0.5px;
}

.cascade-value {
  font-size: 20px;
  font-weight: 700;
  color: var(--brand-mid);
  margin-bottom: 4px;
}

.cascade-value-final {
  font-size: 28px;
  font-weight: 700;
  color: var(--brand-dark);
  margin-bottom: 8px;
}

.cascade-multiplier {
  font-size: 14px;
  color: #5a6c7d;
  font-style: italic;
}

/* Case Studies Page - Part 7C (Cascading Arrow Animation) */
.cascade-arrow {
  font-size: 32px;
  color: var(--brand-mid);
  flex-shrink: 0;
  animation: bounce 2s infinite;
}

@keyframes bounce {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(8px); }
}

/* Case Studies Page - Part 8A (Outcome Box) */
.case-study-outcome-box {
  background: linear-gradient(135deg, var(--brand-dark) 0%, var(--brand-mid) 100%);
  color: #ffffff;
  padding: 32px;
  border-radius: 16px;
  margin-top: 40px;
}

.case-study-outcome-box h4 {
  font-size: 24px;
  margin: 0 0 16px;
  color: #ffffff;
}

.case-study-outcome-box p {
  font-size: 16px;
  line-height: 1.8;
  color: rgba(255, 255, 255, 0.95);
  margin: 0;
}

/* Case Studies Page - Part 8B (Testimonial) */
.case-study-testimonial {
  margin: 40px 0;
  padding: 40px;
  background: linear-gradient(135deg, #f7f9fc 0%, #ffffff 100%);
  border-radius: 16px;
  border-left: 5px solid var(--brand-mid);
}

.testimonial-content {
  max-width: 800px;
  margin: 0 auto;
  text-align: center;
}

.testimonial-quote {
  font-size: 20px;
  line-height: 1.7;
  color: var(--text);
  font-style: italic;
  margin-bottom: 24px;
  position: relative;
}

.testimonial-quote::before {
  content: """;
  font-size: 64px;
  color: var(--brand-mid);
  position: absolute;
  top: -20px;
  left: -40px;
  opacity: 0.2;
}

.testimonial-author {
  margin-top: 24px;
}

.author-name {
  font-size: 16px;
  font-weight: 700;
  color: var(--text);
  margin-bottom: 4px;
}

.author-company {
  font-size: 14px;
  color: #5a6c7d;
}

/* Case Studies Page - Part 9A (Gallery) */
.case-study-image-gallery {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  margin: 40px 0;
}

.gallery-item {
  position: relative;
}

.gallery-item img {
  width: 100%;
  height: 300px;
  object-fit: cover;
  border-radius: 8px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease;
}

.gallery-item:hover img {
  transform: scale(1.05);
}

/* Case Studies Page - Part 9B (Mobile Responsive) */
@media (max-width: 768px) {
  .case-study-metrics-large {
    grid-template-columns: 1fr;
  }
  .case-study-image-gallery {
    grid-template-columns: 1fr;
  }
  .case-study-title {
    font-size: 28px;
  }
  .challenge-metrics {
    grid-template-columns: 1fr;
  }
  .approach-timeline {
    padding-left: 20px;
  }
  .cascade-step {
    flex-direction: column;
    text-align: center;
  }
  .cascade-arrow {
    transform: rotate(90deg);
  }
}

/* Case Studies - Fix Backgrounds Part 1 */
.case-study-full {
  background: #ffffff !important;
  position: relative;
  z-index: 1;
}

.section-alt .case-study-full {
  background: #f7f9fc !important;
}

/* Case Studies - Fix Backgrounds Part 2 */
.case-study-content {
  background: transparent !important;
  color: var(--text) !important;
}

.case-study-content h3,
.case-study-content p {
  color: var(--text) !important;
}

.case-study-content p {
  color: #5a6c7d !important;
}

/* Case Studies - Attribution Colors Part 1 */
.attribution-breakdown {
  background: #f0f4f8 !important;
  border: 2px solid #d0dde8;
}

.attribution-fill {
  background: linear-gradient(90deg, #00559f 0%, #003d73 100%) !important;
  color: #ffffff !important;
  font-weight: 700 !important;
}

/* Case Studies - Attribution Colors Part 2 */
.attribution-fill {
  font-size: 14px !important;
  text-shadow: 0 1px 2px rgba(0,0,0,0.2);
}

.attribution-label {
  color: var(--text) !important;
  font-weight: 700 !important;
  font-size: 15px !important;
}

/* Case Studies - Attribution Colors Part 3 */
.attribution-detail {
  color: #4a5568 !important;
  font-weight: 500 !important;
}

/* Case Studies - Hover Animations Part 1 */
.metric-large {
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.metric-large:hover {
  transform: translateY(-8px) scale(1.02) !important;
  box-shadow: 0 12px 32px rgba(0, 85, 159, 0.25) !important;
  border-color: var(--brand-mid) !important;
}

/* Case Studies - Hover Animations Part 2 */
.timeline-content:hover {
  transform: translateX(8px);
  box-shadow: 0 4px 16px rgba(0, 85, 159, 0.15);
  transition: all 0.3s ease;
}

.gallery-item:hover {
  transform: scale(1.03);
  transition: transform 0.3s ease;
}

/* Case Studies - Hover Animations Part 3 */
.case-study-outcome-box:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.2);
  transition: all 0.3s ease;
}

.testimonial-content:hover {
  transform: scale(1.02);
  transition: transform 0.3s ease;
}

/* Case Studies - Navigation Menu */
.case-study-nav {
  display: flex;
  justify-content: center;
  gap: 24px;
  padding: 24px;
  background: #f7f9fc;
  border-radius: 12px;
  margin: 40px 0;
  flex-wrap: wrap;
}

.case-study-nav-link {
  padding: 12px 24px;
  background: #ffffff;
  color: var(--brand-mid);
  text-decoration: none;
  border-radius: 8px;
  font-weight: 600;
  border: 2px solid var(--brand-mid);
  transition: all 0.3s ease;
}

.case-study-nav-link:hover {
  background: var(--brand-mid);
  color: #ffffff;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 85, 159, 0.2);
}

/* Case Studies - Icon Animations Part 1 */
.cascade-icon {
  animation: pulse 2s ease-in-out infinite;
}

@keyframes pulse {
  0%, 100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.1);
  }
}

/* Case Studies - Icon Animations Part 2 */
.timeline-marker {
  animation: fadeInScale 0.5s ease-out;
}

@keyframes fadeInScale {
  0% {
    opacity: 0;
    transform: scale(0);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}

/* Case Studies - Icon Animations Part 3 */
.metric-large {
  animation: fadeInUp 0.6s ease-out;
}

@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Case Studies - Fix Blue Border Tiles */
.metric-large {
  border: 2px solid #00559f !important;
  border-radius: 16px !important;
  overflow: visible !important;
}

.challenge-metrics {
  border: 2px solid #e74c3c !important;
  border-radius: 12px !important;
}

.case-study-outcome-box {
  border: 2px solid rgba(255, 255, 255, 0.3) !important;
}

.testimonial-content {
  border: 2px solid #e4edf7 !important;
  border-radius: 16px !important;
}

/* Case Studies - Fix Outcome Impact Box Visibility */
.case-study-outcome-box {
  background: linear-gradient(135deg, #003d73 0%, #00559f 100%) !important;
  color: #ffffff !important;
  padding: 40px !important;
  border-radius: 16px !important;
  margin-top: 40px !important;
  border: 3px solid #0073c5 !important;
  box-shadow: 0 8px 24px rgba(0, 85, 159, 0.3) !important;
}

.case-study-outcome-box h4 {
  font-size: 28px !important;
  margin: 0 0 20px 0 !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  text-shadow: 0 2px 4px rgba(0,0,0,0.2) !important;
}

.case-study-outcome-box p {
  font-size: 18px !important;
  line-height: 1.9 !important;
  color: #ffffff !important;
  margin: 0 !important;
  font-weight: 400 !important;
  text-shadow: 0 1px 2px rgba(0,0,0,0.15) !important;
}

/* Case Studies - Green Results Metrics */
.metric-large {
  background: linear-gradient(135deg, #f0fdf4 0%, #ffffff 100%) !important;
  border: 3px solid #10b981 !important;
}

.metric-value-large {
  color: #059669 !important;
  font-weight: 700 !important;
}

.metric-label-large {
  color: var(--text) !important;
}

.metric-large:hover {
  border-color: #059669 !important;
  box-shadow: 0 12px 32px rgba(16, 185, 129, 0.25) !important;
}

/* Case Studies - AI Attribution Bars Part 1 */
.attribution-fill {
  background: linear-gradient(90deg, #6366f1 0%, #8b5cf6 50%, #a855f7 100%) !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  text-shadow: 0 2px 4px rgba(0,0,0,0.3) !important;
  position: relative !important;
  overflow: visible !important;
}

/* Case Studies - AI Attribution Bars Part 2 */
.attribution-fill::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: repeating-linear-gradient(
    45deg,
    transparent,
    transparent 10px,
    rgba(255, 255, 255, 0.1) 10px,
    rgba(255, 255, 255, 0.1) 20px
  );
  border-radius: 6px;
}

.attribution-fill::after {
  content: "🤖";
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 18px;
  opacity: 0.9;
}

/* Case Studies - AI Attribution Labels */
.attribution-label {
  color: #1e293b !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  margin-bottom: 8px !important;
}

.attribution-visual {
  height: 40px !important;
  background: #e0e7ff !important;
  border: 2px solid #c7d2fe !important;
  border-radius: 8px !important;
}

.attribution-detail {
  color: #475569 !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  margin-top: 6px !important;
}

/* Case Studies - Fix All Fading Issues */
.case-study-content * {
  opacity: 1 !important;
}

.case-study-overview,
.case-study-approach,
.case-study-results {
  opacity: 1 !important;
  visibility: visible !important;
}

.challenge-metrics * {
  opacity: 1 !important;
  color: inherit !important;
}

.timeline-content * {
  opacity: 1 !important;
}

.testimonial-quote {
  opacity: 1 !important;
  color: var(--text) !important;
}

/* Case Studies - Fix Text Contrast */
.case-study-content h3 {
  color: #1e293b !important;
  opacity: 1 !important;
}

.case-study-content p {
  color: #475569 !important;
  opacity: 1 !important;
}

.challenge-value {
  color: #e74c3c !important;
  opacity: 1 !important;
}

.challenge-label {
  color: #64748b !important;
  opacity: 1 !important;
}

/* Case Studies - Fix Outcome Impact Text Color */
.case-study-outcome-box h4 {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

.case-study-outcome-box p {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

.case-study-outcome-box * {
  color: #ffffff !important;
}

/* Case Studies - Remove Blue Outline */
.case-study-outcome-box {
  border: none !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1) !important;
  background: linear-gradient(135deg, var(--brand-dark) 0%, var(--brand-mid) 100%) !important;
}

.case-study-outcome-box:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15) !important;
  transform: translateY(-2px) !important;
}

/* Case Studies - Hero Image Animation */
.case-study-hero-image {
  opacity: 0;
  animation: fadeInImage 1s ease-out forwards;
  animation-delay: 0.3s;
}

@keyframes fadeInImage {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.case-study-hero-image img {
  transition: transform 0.5s ease, filter 0.5s ease;
}

.case-study-hero-image:hover img {
  transform: scale(1.02);
  filter: brightness(1.05);
}

/* Case Studies - Inline Image Animation */
.case-study-image-inline {
  opacity: 0;
  animation: fadeInImage 1s ease-out forwards;
  animation-delay: 0.5s;
}

.case-study-image-inline img {
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.case-study-image-inline:hover img {
  transform: scale(1.03) rotate(0.5deg);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.2);
}

/* Case Studies - Gallery Animation Part 1 */
.gallery-item {
  opacity: 0;
  animation: fadeInUp 0.8s ease-out forwards;
}

.gallery-item:nth-child(1) {
  animation-delay: 0.2s;
}

.gallery-item:nth-child(2) {
  animation-delay: 0.4s;
}

/* Case Studies - Gallery Animation Part 2 */
.gallery-item img {
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  filter: grayscale(20%);
}

.gallery-item:hover img {
  transform: scale(1.05) translateY(-4px);
  filter: grayscale(0%);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.25);
}

@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translateY(30px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Case Studies - Force Dark Background */
.case-study-outcome-box {
  background: linear-gradient(135deg, #003d73 0%, #00559f 100%) !important;
  background-color: #00559f !important;
}

.case-study-outcome-box h4,
.case-study-outcome-box p {
  color: #ffffff !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3) !important;
}

/* Case Studies - Smooth Scroll Enhancement */
html {
  scroll-behavior: smooth;
}

.case-study-nav-link {
  scroll-margin-top: 100px;
}

/* Case Studies - Image Loading States */
.case-study-hero-image img,
.case-study-image-inline img,
.gallery-item img {
  background: #f0f0f0;
  min-height: 200px;
}

.case-study-hero-image img[src=""],
.case-study-image-inline img[src=""],
.gallery-item img[src=""] {
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 200% 100%;
  animation: loading 1.5s infinite;
}

@keyframes loading {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

/* Case Studies - Enhanced Metric Cards */
.metric-large {
  position: relative;
  overflow: hidden;
}

.metric-large::before {
  content: "";
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: radial-gradient(circle, rgba(16, 185, 129, 0.1) 0%, transparent 70%);
  opacity: 0;
  transition: opacity 0.3s ease;
}

.metric-large:hover::before {
  opacity: 1;
}

/* Case Studies - Attribution Bar Animation */
.attribution-fill {
  animation-delay: 0.3s;
}

@keyframes slideInBar {
  to {
    width: var(--target-width, 100%);
  }
}

/* Case Studies - Enhanced Testimonial */
.testimonial-quote::before {
  font-size: 72px !important;
  opacity: 0.15 !important;
  top: -30px !important;
  left: -20px !important;
}

.testimonial-content:hover .testimonial-quote::before {
  opacity: 0.25 !important;
  transform: scale(1.1);
  transition: all 0.3s ease;
}

/* Case Studies - Fix AI Attribution Bars */
.attribution-fill {
  z-index: 2 !important;
  position: relative !important;
}

.attribution-fill::after {
  content: "🤖" !important;
  position: absolute !important;
  right: 12px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  font-size: 20px !important;
  opacity: 0.8 !important;
  z-index: 3 !important;
  pointer-events: none !important;
}

.attribution-fill {
  padding-right: 40px !important;
  justify-content: flex-start !important;
  padding-left: 12px !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  text-shadow: 0 2px 4px rgba(0,0,0,0.4) !important;
}

.attribution-fill::before {
  display: none !important;
}

.attribution-fill::before {
  display: none !important;
  content: none !important;
}

.attribution-visual {
  background: #e0e7ff !important;
  border: 2px solid #c7d2fe !important;
  border-radius: 8px !important;
  overflow: visible !important;
}

.attribution-fill {
  background: linear-gradient(90deg, #6366f1 0%, #8b5cf6 50%, #a855f7 100%) !important;
  min-width: 60px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  padding-left: 12px !important;
  padding-right: 40px !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  text-shadow: 0 2px 4px rgba(0,0,0,0.4) !important;
  position: relative !important;
  z-index: 2 !important;
}

/* Sectors Page Styles Part 1 */
.sector-card {
  max-width: 1200px;
  margin: 0 auto;
  padding: 40px;
  background: #ffffff;
  border-radius: 16px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
}

.sector-icon {
  font-size: 64px;
  text-align: center;
  margin-bottom: 24px;
}

.sector-title {
  font-size: 36px;
  font-weight: 700;
  text-align: center;
  margin: 0 0 16px;
  color: var(--text);
}

.sector-description {
  font-size: 18px;
  line-height: 1.8;
  text-align: center;
  color: #5a6c7d;
  margin-bottom: 40px;
}

/* Sectors Page Styles Part 2 */
.sector-details {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
  margin: 40px 0;
}

.sector-detail-item strong {
  display: block;
  font-size: 18px;
  color: var(--brand-mid);
  margin-bottom: 16px;
}

.sector-detail-item ul {
  list-style: none;
  padding: 0;
}

.sector-detail-item li {
  padding: 8px 0;
  padding-left: 24px;
  position: relative;
}

.sector-detail-item li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: var(--brand-mid);
  font-weight: 700;
}

@media (max-width: 768px) {
  .sector-details {
    grid-template-columns: 1fr;
  }
}

/* Technology & Systems Page - Part 1 */
.tech-hero-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  margin: 40px 0;
}

.tech-stat {
  text-align: center;
  padding: 24px;
  background: linear-gradient(135deg, #f7f9fc 0%, #ffffff 100%);
  border-radius: 12px;
  border: 2px solid #e4edf7;
}

.tech-stat-value {
  font-size: 48px;
  font-weight: 700;
  color: var(--brand-mid);
  margin-bottom: 8px;
}

.tech-stat-label {
  font-size: 14px;
  color: #5a6c7d;
  font-weight: 600;
}

/* Technology & Systems Page - Part 2 */
.tech-feature-card {
  max-width: 1200px;
  margin: 0 auto;
  padding: 40px;
  background: #ffffff;
  border-radius: 16px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
}

.tech-feature-icon {
  font-size: 64px;
  text-align: center;
  margin-bottom: 24px;
}

.tech-feature-title {
  font-size: 32px;
  font-weight: 700;
  text-align: center;
  margin: 0 0 16px;
  color: var(--text);
}

.tech-feature-description {
  font-size: 18px;
  line-height: 1.8;
  text-align: center;
  color: #5a6c7d;
  margin-bottom: 40px;
}

/* Technology & Systems Page - Part 3 */
.tech-feature-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  margin: 40px 0;
}

.tech-feature-item {
  padding: 24px;
  background: #f7f9fc;
  border-radius: 12px;
  border-left: 4px solid var(--brand-mid);
}

.tech-feature-item h4 {
  font-size: 20px;
  font-weight: 700;
  margin: 0 0 12px;
  color: var(--text);
}

.tech-feature-item p {
  font-size: 15px;
  line-height: 1.7;
  color: #5a6c7d;
  margin: 0;
}

/* Technology & Systems Page - Part 4 */
.tech-integration {
  margin-top: 32px;
  padding: 20px;
  background: #e4edf7;
  border-radius: 8px;
  text-align: center;
  font-size: 15px;
  color: var(--text);
}

.tech-benefit {
  margin-top: 32px;
  padding: 20px;
  background: linear-gradient(135deg, #f0fdf4 0%, #ffffff 100%);
  border-left: 4px solid #10b981;
  border-radius: 8px;
  font-size: 16px;
  color: var(--text);
}

.tech-feature-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin: 32px 0;
}

.tech-list-item {
  padding: 20px;
  background: #f7f9fc;
  border-radius: 8px;
  border-left: 4px solid var(--brand-mid);
  font-size: 15px;
  line-height: 1.7;
  color: var(--text);
}

/* Technology & Systems Page - Part 5 */
.dashboard-features {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  margin: 32px 0;
}

.dashboard-feature {
  padding: 24px;
  background: #f7f9fc;
  border-radius: 12px;
}

.dashboard-feature h4 {
  font-size: 18px;
  font-weight: 700;
  margin: 0 0 12px;
  color: var(--text);
}

.dashboard-feature p {
  font-size: 15px;
  line-height: 1.7;
  color: #5a6c7d;
  margin: 0;
}

/* Technology & Systems Page - Part 6 */
.tech-stack-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  margin: 40px 0;
}

.tech-stack-item {
  padding: 24px;
  background: #f7f9fc;
  border-radius: 12px;
  border-top: 4px solid var(--brand-mid);
}

.stack-category {
  font-size: 16px;
  font-weight: 700;
  color: var(--brand-mid);
  margin-bottom: 16px;
}

.tech-stack-item ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.tech-stack-item li {
  padding: 8px 0;
  font-size: 14px;
  color: #5a6c7d;
  border-bottom: 1px solid #e4edf7;
}

.tech-stack-item li:last-child {
  border-bottom: none;
}

@media (max-width: 768px) {
  .tech-hero-stats,
  .tech-feature-grid,
  .dashboard-features,
  .tech-stack-grid {
    grid-template-columns: 1fr;
  }
}

/* Risk, Security & Compliance Page - Part 1 */
.compliance-card {
  max-width: 1200px;
  margin: 0 auto;
  padding: 40px;
  background: #ffffff;
  border-radius: 16px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
}

.compliance-icon {
  font-size: 64px;
  text-align: center;
  margin-bottom: 24px;
}

.compliance-title {
  font-size: 36px;
  font-weight: 700;
  text-align: center;
  margin: 0 0 16px;
  color: var(--text);
}

.compliance-description {
  font-size: 18px;
  line-height: 1.8;
  text-align: center;
  color: #5a6c7d;
  margin-bottom: 40px;
}

/* Risk, Security & Compliance Page - Part 2 */
.compliance-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 32px;
  margin: 40px 0;
}

.compliance-item {
  padding: 24px;
  background: #f7f9fc;
  border-radius: 12px;
  border-left: 4px solid var(--brand-mid);
}

.compliance-item h4 {
  font-size: 20px;
  font-weight: 700;
  margin: 0 0 16px;
  color: var(--text);
}

.compliance-item ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.compliance-item li {
  padding: 8px 0;
  padding-left: 24px;
  position: relative;
  font-size: 14px;
  line-height: 1.7;
  color: #5a6c7d;
}

.compliance-item li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: var(--brand-mid);
  font-weight: 700;
}

/* Risk, Security & Compliance Page - Part 3 */
.compliance-benefit {
  margin-top: 32px;
  padding: 20px;
  background: linear-gradient(135deg, #f0fdf4 0%, #ffffff 100%);
  border-left: 4px solid #10b981;
  border-radius: 8px;
  font-size: 16px;
  color: var(--text);
}

.risk-management-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  margin: 32px 0;
}

.risk-item {
  padding: 24px;
  background: #f7f9fc;
  border-radius: 12px;
  border-left: 4px solid #f59e0b;
}

.risk-item h4 {
  font-size: 18px;
  font-weight: 700;
  margin: 0 0 12px;
  color: var(--text);
}

.risk-item p {
  font-size: 15px;
  line-height: 1.7;
  color: #5a6c7d;
  margin: 0;
}

/* Risk, Security & Compliance Page - Part 4 */
.security-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 32px;
  margin: 32px 0;
}

.security-item {
  padding: 24px;
  background: #f7f9fc;
  border-radius: 12px;
  border-left: 4px solid #6366f1;
}

.security-item h4 {
  font-size: 20px;
  font-weight: 700;
  margin: 0 0 16px;
  color: var(--text);
}

.security-item ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.security-item li {
  padding: 8px 0;
  padding-left: 24px;
  position: relative;
  font-size: 14px;
  line-height: 1.7;
  color: #5a6c7d;
}

.security-item li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: #6366f1;
  font-weight: 700;
}

/* Risk, Security & Compliance Page - Part 5 */
.audit-features {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  margin: 32px 0;
}

.audit-feature {
  padding: 24px;
  background: #f7f9fc;
  border-radius: 12px;
}

.audit-feature h4 {
  font-size: 18px;
  font-weight: 700;
  margin: 0 0 12px;
  color: var(--text);
}

.audit-feature p {
  font-size: 15px;
  line-height: 1.7;
  color: #5a6c7d;
  margin: 0;
}

@media (max-width: 768px) {
  .compliance-grid,
  .risk-management-grid,
  .security-grid,
  .audit-features {
    grid-template-columns: 1fr;
  }
}

/* Clients & Partnerships Page - Part 1 */
.trust-metrics {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
  margin: 40px 0;
}

.trust-metric {
  text-align: center;
  padding: 32px;
  background: linear-gradient(135deg, #f7f9fc 0%, #ffffff 100%);
  border-radius: 16px;
  border: 2px solid #e4edf7;
  transition: all 0.3s ease;
}

.trust-metric:hover {
  transform: translateY(-8px);
  box-shadow: 0 12px 32px rgba(0, 85, 159, 0.2);
  border-color: var(--brand-mid);
}

.trust-value {
  font-size: 56px;
  font-weight: 700;
  color: var(--brand-mid);
  margin-bottom: 12px;
  line-height: 1;
}

.trust-label {
  font-size: 16px;
  color: #5a6c7d;
  font-weight: 600;
}

/* Clients & Partnerships Page - Part 3 */
.client-sectors-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 32px;
  margin: 40px 0;
}

.client-sector-card {
  padding: 40px;
  background: #ffffff;
  border-radius: 16px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
  text-align: center;
  transition: all 0.3s ease;
}

.client-sector-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 12px 32px rgba(0, 85, 159, 0.25);
}

.sector-icon-large {
  font-size: 72px;
  margin-bottom: 24px;
}

.client-sector-card h3 {
  font-size: 24px;
  font-weight: 700;
  margin: 0 0 16px;
  color: var(--text);
}

.client-sector-card p {
  font-size: 16px;
  line-height: 1.8;
  color: #5a6c7d;
  margin-bottom: 24px;
}

.sector-stats {
  display: flex;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
}

.sector-stats span {
  padding: 8px 16px;
  background: #e4edf7;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 600;
  color: var(--brand-mid);
}

/* Clients & Partnerships Page - Part 5 */
.legacy-testimonials .testimonials-carousel {
  position: relative;
  margin: 40px 0;
  min-height: 300px;
}

.legacy-testimonials .testimonial-card {
  display: none;
  padding: 48px;
  background: #ffffff;
  border-radius: 16px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
  text-align: center;
  animation: fadeIn 0.5s ease;
}

.legacy-testimonials .testimonial-card.active {
  display: block;
}

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}

.legacy-testimonials .testimonial-quote-large {
  font-size: 22px;
  line-height: 1.8;
  color: var(--text);
  font-style: italic;
  margin-bottom: 32px;
  position: relative;
}

.legacy-testimonials .testimonial-quote-large::before {
  content: """;
  font-size: 80px;
  color: var(--brand-mid);
  position: absolute;
  top: -30px;
  left: -20px;
  opacity: 0.15;
}

.legacy-testimonials .testimonial-author-large {
  margin-top: 32px;
}

.legacy-testimonials .author-name-large {
  font-size: 18px;
  font-weight: 700;
  color: var(--text);
  margin-bottom: 8px;
}

.legacy-testimonials .author-company-large {
  font-size: 16px;
  color: #5a6c7d;
}

/* Clients & Partnerships Page - Part 7 */
.legacy-testimonials .testimonial-controls {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 24px;
  margin-top: 32px;
}

.legacy-testimonials .testimonial-prev,
.legacy-testimonials .testimonial-next {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  border: 2px solid var(--brand-mid);
  background: #ffffff;
  color: var(--brand-mid);
  font-size: 24px;
  cursor: pointer;
  transition: all 0.3s ease;
}

.legacy-testimonials .testimonial-prev:hover,
.legacy-testimonials .testimonial-next:hover {
  background: var(--brand-mid);
  color: #ffffff;
  transform: scale(1.1);
}

.legacy-testimonials .testimonial-dots {
  display: flex;
  gap: 12px;
}

.legacy-testimonials .testimonial-dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #e4edf7;
  cursor: pointer;
  transition: all 0.3s ease;
}

.legacy-testimonials .testimonial-dot.active {
  background: var(--brand-mid);
  transform: scale(1.2);
}

.partnership-principles {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 32px;
  margin: 40px 0;
}

/* Clients & Partnerships Page - Part 9 */
.principle-card {
  padding: 32px;
  background: #f7f9fc;
  border-radius: 16px;
  border-left: 4px solid var(--brand-mid);
  transition: all 0.3s ease;
}

.principle-card:hover {
  transform: translateX(8px);
  box-shadow: 0 8px 24px rgba(0, 85, 159, 0.15);
}

.principle-icon {
  font-size: 48px;
  margin-bottom: 16px;
}

.principle-card h3 {
  font-size: 20px;
  font-weight: 700;
  margin: 0 0 12px;
  color: var(--text);
}

.principle-card p {
  font-size: 15px;
  line-height: 1.7;
  color: #5a6c7d;
  margin: 0;
}

/* Clients & Partnerships Page - Part 10 */
.case-studies-preview {
  margin: 40px 0;
}

.case-study-cards-preview {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  margin: 40px 0;
}

.case-preview-card {
  padding: 32px;
  background: #ffffff;
  border-radius: 16px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
}

.case-preview-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 12px 32px rgba(0, 85, 159, 0.25);
}

.case-preview-sector {
  display: inline-block;
  padding: 6px 12px;
  background: var(--brand-mid);
  color: #ffffff;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 600;
  margin-bottom: 16px;
}

.case-preview-card h3 {
  font-size: 20px;
  font-weight: 700;
  margin: 0 0 12px;
  color: var(--text);
}

.case-preview-card p {
  font-size: 15px;
  line-height: 1.7;
  color: #5a6c7d;
  margin-bottom: 24px;
}

@media (max-width: 768px) {
  .trust-metrics,
  .client-sectors-grid,
  .partnership-principles,
  .case-study-cards-preview {
    grid-template-columns: 1fr;
  }
}

/* Careers Page - Part 1 */
.career-value-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  margin: 40px 0;
}

.career-value-card {
  padding: 40px;
  background: #ffffff;
  border-radius: 16px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
  text-align: center;
  transition: all 0.3s ease;
}

.career-value-card:hover {
  transform: translateY(-8px) scale(1.02);
  box-shadow: 0 12px 32px rgba(0, 85, 159, 0.25);
}

.value-icon {
  font-size: 64px;
  margin-bottom: 24px;
}

.career-value-card h3 {
  font-size: 22px;
  font-weight: 700;
  margin: 0 0 16px;
  color: var(--text);
}

.career-value-card p {
  font-size: 16px;
  line-height: 1.8;
  color: #5a6c7d;
  margin: 0;
}

.culture-pillars {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 32px;
  margin: 40px 0;
}

.culture-pillar {
  padding: 32px;
  background: #f7f9fc;
  border-radius: 16px;
  border-left: 4px solid var(--brand-mid);
  transition: all 0.3s ease;
}

.culture-pillar:hover {
  transform: translateX(8px);
  box-shadow: 0 8px 24px rgba(0, 85, 159, 0.15);
}

.culture-pillar h3 {
  font-size: 20px;
  font-weight: 700;
  margin: 0 0 12px;
  color: var(--text);
}

.culture-pillar p {
  font-size: 15px;
  line-height: 1.7;
  color: #5a6c7d;
  margin: 0;
}

.benefits-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  margin: 40px 0;
}

/* Careers Page - Part 4 */
.benefit-item {
  padding: 32px;
  background: #f7f9fc;
  border-radius: 16px;
  text-align: center;
  transition: all 0.3s ease;
}

.benefit-item:hover {
  transform: translateY(-8px);
  box-shadow: 0 8px 24px rgba(0, 85, 159, 0.15);
  background: #ffffff;
}

.benefit-icon {
  font-size: 48px;
  margin-bottom: 16px;
}

.benefit-item h4 {
  font-size: 18px;
  font-weight: 700;
  margin: 0 0 12px;
  color: var(--text);
}

.benefit-item p {
  font-size: 15px;
  line-height: 1.7;
  color: #5a6c7d;
  margin: 0;
}

/* Careers Page - Part 5 */
.job-listings {
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin: 40px 0;
}

.job-card {
  padding: 32px;
  background: #ffffff;
  border-radius: 16px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
}

.job-card:hover {
  transform: translateX(8px);
  box-shadow: 0 8px 24px rgba(0, 85, 159, 0.2);
  border-left: 4px solid var(--brand-mid);
}

.job-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
}

.job-header h3 {
  font-size: 24px;
  font-weight: 700;
  margin: 0;
  color: var(--text);
}

.job-type {
  padding: 6px 12px;
  background: #e4edf7;
  color: var(--brand-mid);
  border-radius: 6px;
  font-size: 13px;
  font-weight: 600;
}

.job-location {
  font-size: 15px;
  color: #5a6c7d;
  margin-bottom: 16px;
}

.job-description {
  font-size: 16px;
  line-height: 1.8;
  color: var(--text);
  margin-bottom: 16px;
}

.job-requirements {
  font-size: 14px;
  line-height: 1.7;
  color: #5a6c7d;
  margin-bottom: 24px;
  padding: 16px;
  background: #f7f9fc;
  border-radius: 8px;
}

/* Careers Page - Part 7 */
.process-steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
  margin: 40px 0;
}

.process-step {
  text-align: center;
  padding: 32px;
  background: #f7f9fc;
  border-radius: 16px;
  position: relative;
  transition: all 0.3s ease;
}

.process-step:hover {
  transform: translateY(-8px);
  box-shadow: 0 8px 24px rgba(0, 85, 159, 0.15);
  background: #ffffff;
}

.step-number {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: var(--brand-mid);
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 32px;
  font-weight: 700;
  margin: 0 auto 24px;
}

.process-step h3 {
  font-size: 18px;
  font-weight: 700;
  margin: 0 0 12px;
  color: var(--text);
}

.process-step p {
  font-size: 15px;
  line-height: 1.7;
  color: #5a6c7d;
  margin: 0;
}

@media (max-width: 768px) {
  .career-value-grid,
  .culture-pillars,
  .benefits-grid,
  .process-steps {
    grid-template-columns: 1fr;
  }
}

/* Testimonial Carousel - Legacy Only (does not apply to JS carousel) */
.legacy-testimonials .testimonial-card {
  display: none !important;
}

.legacy-testimonials .testimonial-card.active {
  display: block !important;
}

.legacy-testimonials .testimonials-carousel {
  min-height: 300px;
  position: relative;
}

.legacy-testimonials .testimonials-carousel .testimonial-card {
  display: none !important;
  opacity: 0 !important;
  transition: opacity 0.5s ease !important;
}

.legacy-testimonials .testimonials-carousel .testimonial-card.active {
  display: block !important;
  opacity: 1 !important;
}

.legacy-testimonials .testimonial-prev,
.legacy-testimonials .testimonial-next {
  cursor: pointer !important;
  z-index: 10 !important;
  position: relative !important;
}

/* Legal Pages Styling */
.hero-legal {
  min-height: 300px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.legal-content {
  max-width: 900px;
  margin: 0 auto;
  line-height: 1.8;
}

.legal-content h2 {
  font-size: 28px;
  font-weight: 700;
  margin: 40px 0 20px;
  color: var(--text);
}

.legal-content h3 {
  font-size: 22px;
  font-weight: 600;
  margin: 30px 0 15px;
  color: var(--text);
}

.legal-content p {
  margin: 15px 0;
  color: #555;
}

.legal-content ul {
  margin: 15px 0 15px 30px;
}

.legal-content li {
  margin: 10px 0;
  color: #555;
}

.legal-content a {
  color: var(--primary);
  text-decoration: underline;
}

.legal-content a:hover {
  color: var(--primary-dark);
}

.legal-intro {
  font-size: 18px;
  color: #666;
  margin-bottom: 30px;
}

/* 404 Page Styling - Part 1 */
.hero-404 {
  min-height: 500px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.hero-404 .hero-title {
  font-size: 120px;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 20px;
  color: var(--primary);
}

/* 404 Page Styling - Part 2 */
.error-content {
  max-width: 700px;
  margin: 0 auto;
  text-align: center;
  padding: 40px 0;
}

.error-content h2 {
  font-size: 32px;
  margin-bottom: 20px;
}

.error-content h3 {
  font-size: 24px;
  margin: 40px 0 20px;
}

/* 404 Page Styling - Part 3 */
.error-links {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
  justify-content: center;
  margin: 30px 0;
}

.error-links a {
  padding: 12px 24px;
  background: var(--primary);
  color: #fff;
  text-decoration: none;
  border-radius: 6px;
  transition: all 0.3s ease;
}

.error-links a:hover {
  background: var(--primary-dark);
  transform: translateY(-2px);
}

/* 404 Page Styling - Part 4 (Mobile) */
@media (max-width: 768px) {
  .hero-404 .hero-title {
    font-size: 80px;
  }
  
  .error-links {
    flex-direction: column;
  }
  
  .error-links a {
    width: 100%;
  }
}

/* Content Protection - CSS (SEO-Friendly) */
body {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
}

/* Allow text selection in input fields and textareas */
input, textarea {
  -webkit-user-select: text;
  -moz-user-select: text;
  -ms-user-select: text;
  user-select: text;
}

/* Allow text selection in specific content areas if needed */
.legal-content, .error-content {
  -webkit-user-select: text;
  -moz-user-select: text;
  -ms-user-select: text;
  user-select: text;
}

/* Fix All-Pages Menu Display */
.all-pages-menu {
  display: none !important;
  position: absolute !important;
  left: 12px !important;
  top: 64px !important;
  background: #ffffff !important;
  border: 1px solid #e0e0e0 !important;
  border-radius: 8px !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1) !important;
  z-index: 2000 !important;
  min-width: 250px !important;
  padding: 8px 0 !important;
}

.all-pages-menu[style*="block"] {
  display: block !important;
}

.nav-all-toggle {
  cursor: pointer !important;
  z-index: 100 !important;
}

/* Increase Gap Between Logo and Nav Links */
.header-inner {
  gap: 0 !important; /* No uniform gap - using individual margins */
}

.logo {
  margin-right: 0 !important;
}

/* Enhanced Logo - Bigger, More Pronounced, Copy-Protected (Hover Effect Preserved) */
.logo img {
  background: #ffffff !important;
  display: block !important;
  mix-blend-mode: multiply !important;
  filter: contrast(1.2) brightness(1.1) !important;
  height: 125px !important;
  max-width: 2000px !important;
  width: auto !important;
  object-fit: contain !important;
  margin-top: -15px !important;
  margin-bottom: -15px !important;
  padding: 0 !important;
  border: none !important;
  box-shadow: none !important;
  pointer-events: none !important;
  user-select: none !important;
  -webkit-user-select: none !important;
  -moz-user-select: none !important;
  -ms-user-select: none !important;
  -webkit-user-drag: none !important;
}

.logo:hover img {
  transform: scale(1.05) !important;
}

.logo a {
  pointer-events: auto !important;
}

/* Case Studies Section - Base Styling (Part 1) */
#casestudies {
  background: linear-gradient(135deg, #f7f9fc 0%, #ffffff 100%) !important;
  padding: 80px 0 !important;
  position: relative !important;
}

/* Case Studies Section - Top Accent Bar (Part 2) */
#casestudies::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--primary) 0%, var(--accent) 100%);
}

/* Case Studies Section - Title & Intro (Part 3) */
#casestudies .section-title {
  font-size: 42px !important;
  font-weight: 700 !important;
  margin-bottom: 24px !important;
  color: var(--text) !important;
}

#casestudies .section-intro {
  font-size: 20px !important;
  line-height: 1.6 !important;
  color: #555 !important;
  margin-bottom: 48px !important;
  max-width: 800px !important;
  margin-left: 24px !important; /* Fixed position, 24px from logo */
  margin-right: auto !important;
}

/* Case Studies Section - Tile Hover Effects (Part 4) */
#casestudies .tile {
  border: 2px solid #e0e7ff !important;
  transition: all 0.3s ease !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.08) !important;
}

#casestudies .tile:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 8px 24px rgba(0,0,0,0.12) !important;
  border-color: var(--primary) !important;
}

#casestudies .tile-label {
  background: var(--primary) !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  padding: 6px 12px !important;
  border-radius: 4px !important;
  display: inline-block !important;
  margin-bottom: 16px !important;
  font-size: 12px !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
}

/* Fix All-Pages Menu Display */
.all-pages-menu {
  display: none !important;
  position: absolute !important;
  left: 12px !important;
  top: 64px !important;
  background: #ffffff !important;
  border: 1px solid #e0e0e0 !important;
  border-radius: 8px !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1) !important;
  z-index: 2000 !important;
  min-width: 250px !important;
  padding: 8px 0 !important;
}

.all-pages-menu[style*="block"] {
  display: block !important;
}

.nav-all-toggle {
  cursor: pointer !important;
  z-index: 100 !important;
}

/* Increase Gap Between Logo and Nav Links */
.header-inner {
  gap: 0 !important; /* No uniform gap - using individual margins */
}

.logo {
  margin-right: 0 !important;
}

/* Enhanced Logo - Bigger, More Pronounced, Copy-Protected (Hover Effect Preserved) */
.logo img {
  background: #ffffff !important;
  display: block !important;
  mix-blend-mode: multiply !important;
  filter: contrast(1.2) brightness(1.1) !important;
  height: 125px !important;
  max-width: 2000px !important;
  width: auto !important;
  object-fit: contain !important;
  margin-top: -15px !important;
  margin-bottom: -15px !important;
  padding: 0 !important;
  border: none !important;
  box-shadow: none !important;
  pointer-events: none !important;
  user-select: none !important;
  -webkit-user-select: none !important;
  -moz-user-select: none !important;
  -ms-user-select: none !important;
  -webkit-user-drag: none !important;
}

.logo:hover img {
  transform: scale(1.05) !important;
}

.logo a {
  pointer-events: auto !important;
}

/* Case Studies Section - Base Styling (Part 1) */
#casestudies {
  background: linear-gradient(135deg, #f7f9fc 0%, #ffffff 100%) !important;
  padding: 80px 0 !important;
  position: relative !important;
}

/* Case Studies Section - Top Accent Bar (Part 2) */
#casestudies::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--primary) 0%, var(--accent) 100%);
}

/* Case Studies Section - Title & Intro (Part 3) */
#casestudies .section-title {
  font-size: 42px !important;
  font-weight: 700 !important;
  margin-bottom: 24px !important;
  color: var(--text) !important;
}

#casestudies .section-intro {
  font-size: 20px !important;
  line-height: 1.6 !important;
  color: #555 !important;
  margin-bottom: 48px !important;
  max-width: 800px !important;
  margin-left: 24px !important; /* Fixed position, 24px from logo */
  margin-right: auto !important;
}

/* Case Studies Section - Tile Hover Effects (Part 4) */
#casestudies .tile {
  border: 2px solid #e0e7ff !important;
  transition: all 0.3s ease !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.08) !important;
}

#casestudies .tile:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 8px 24px rgba(0,0,0,0.12) !important;
  border-color: var(--primary) !important;
}

#casestudies .tile-label {
  background: var(--primary) !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  padding: 6px 12px !important;
  border-radius: 4px !important;
  display: inline-block !important;
  margin-bottom: 16px !important;
  font-size: 12px !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
}

/* Logo Fix - Remove Background, Make Bigger, More Readable */
.logo {
  background: transparent !important;
  padding: 0 !important;
  border: none !important;
  box-shadow: none !important;
}

.logo img {
  background: #ffffff !important;
  display: block !important;
  mix-blend-mode: multiply !important;
  filter: contrast(1.2) brightness(1.1) !important;
  height: 125px !important;
  max-width: 2000px !important;
  width: auto !important;
  object-fit: contain !important;
  margin-top: -15px !important;
  margin-bottom: -15px !important;
  padding: 0 !important;
  border: none !important;
  box-shadow: none !important;
  pointer-events: none !important;
  user-select: none !important;
  -webkit-user-select: none !important;
  -moz-user-select: none !important;
  -ms-user-select: none !important;
  -webkit-user-drag: none !important;
}

.logo a {
  pointer-events: auto !important;
  display: inline-block !important;
}

/* Case Studies Section - 4 Column Grid */
#casestudies .tile-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 0 !important; /* No uniform gap - using individual margins */
}

@media (max-width: 1200px) {
  #casestudies .tile-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 768px) {
  #casestudies .tile-grid {
    grid-template-columns: 1fr !important;
  }
}

/* Enhanced All-Pages Menu - Better Visibility */
.all-pages-menu {
  display: none !important;
  position: absolute !important;
  left: 12px !important;
  top: 70px !important;
  background: #ffffff !important;
  border: 2px solid var(--primary) !important;
  border-radius: 8px !important;
  box-shadow: 0 8px 24px rgba(0,0,0,0.15) !important;
  z-index: 2000 !important;
  min-width: 280px !important;
  padding: 12px 0 !important;
  max-height: 80vh !important;
  overflow-y: auto !important;
}

.all-pages-menu[style*="block"],
.all-pages-menu.open {
  display: block !important;
}

.all-pages-menu a {
  padding: 12px 20px !important;
  font-size: 15px !important;
  border-bottom: 1px solid #f0f0f0 !important;
}

.all-pages-menu a:hover {
  background: #f7f9fc !important;
  color: var(--primary) !important;
}

.nav-all-toggle {
  cursor: pointer !important;
  z-index: 100 !important;
  padding: 10px !important;
  border-radius: 4px !important;
  transition: background 0.2s ease !important;
}

.nav-all-toggle:hover {
  background: #f7f9fc !important;
}

/* Fix Nav Bar - Prevent Item Shifting */
.main-nav {
  /* Desktop-only. Mobile visibility is controlled by the @media (max-width:820px) block. */
  align-items: center !important;
  gap: 18px !important;
  margin-left: 24px !important; /* Fixed position, 24px from logo */
  flex-wrap: nowrap !important;
  flex-shrink: 0 !important;
}

/* Hard safety: never show the full primary nav on mobile (it can appear as a sticky side panel if overridden later). */
@media (max-width: 820px){
  .main-nav{
    display: none !important;
  }
  .all-pages-menu{
    left: auto !important;
    right: 12px !important;
  }
}

.main-nav a {
  flex-shrink: 0 !important;
  white-space: nowrap !important;
  min-width: fit-content !important;
}

.header-inner {
  display: flex !important;
  align-items: center !important;
  gap: 0 !important; /* No uniform gap - using individual margins */
  flex-wrap: nowrap !important;
  overflow: visible !important;
}



/* WIDER HEADER/NAV BAR ONLY - Page content stays 1100px */
.header-inner {
  max-width: 1600px !important;
  margin: 0 auto !important;
}

/* Logo - Transparent Background, Bigger Size */
.logo img {
  background: #ffffff !important;
  display: block !important;
  mix-blend-mode: multiply !important;
  filter: contrast(1.2) brightness(1.1) !important;
  height: 125px !important;
  max-width: 2000px !important;
  width: auto !important;
  object-fit: contain !important;
  margin-top: -15px !important;
  margin-bottom: -15px !important;
  padding: 0 !important;
  border: none !important;
  box-shadow: none !important;
  pointer-events: none !important;
  user-select: none !important;
  -webkit-user-select: none !important;
  -moz-user-select: none !important;
  -ms-user-select: none !important;
  -webkit-user-drag: none !important;
}

.logo {
  background: transparent !important;
  padding: 0 !important;
}

.logo a {
  pointer-events: auto !important;
  display: inline-block !important;
  background: transparent !important;
}

/* Fix TM Nav Item - Prevent Shifting */
.nav-tm {
  flex-shrink: 0 !important;
  white-space: nowrap !important;
  min-width: fit-content !important;
}

.nav-subscribe {
  flex-shrink: 0 !important;
  white-space: nowrap !important;
  min-width: fit-content !important;
}

/* Footer - 5 Column Layout */
.footer-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 2rem;
  padding: 3rem 0;
}

@media (max-width: 1200px) {
  .footer-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 768px) {
  .footer-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
  }
}

@media (max-width: 480px) {
  .footer-grid {
    grid-template-columns: 1fr;
  }
}


/* ========================================
   RESPONSIVE BREAKPOINTS - Logo & Nav
   ======================================== */

/* Tablet (768px - 1024px) */
@media (max-width: 1024px) {
  .header-inner {
    max-width: 1200px !important;
  }
  
  .logo img {
    height: 48px !important;
    max-width: 260px !important;
    width: auto !important;
    display: block !important;
  }
  
  .main-nav {
    gap: 18px !important;
  }
  
  .main-nav a {
    font-size: 12px !important;
  }
}

/* Mobile/Tablet (max 768px) */
@media (max-width: 768px) {
  .header-inner {
    max-width: 100% !important;
    padding: 0 12px !important;
  }
  
  .logo img {
    height: 40px !important;
    max-width: 200px !important;
    width: auto !important;
    display: block !important;
  }
  
  .main-nav {
    gap: 8px !important;
    margin-left: 12px !important;
  }
  
  .main-nav a {
    font-size: 11px !important;
    padding: 2px 0 !important;
  }
  
  /* Hide some TM items on mobile to prevent overflow */
  .nav-tm:nth-child(n+10) {
    display: none !important;
  }
}

/* Small Mobile (max 480px) */
@media (max-width: 480px) {
  .logo img {
    height: 36px !important;
    max-width: 180px !important;
    width: auto !important;
    display: block !important;
  }
  
  .main-nav {
    gap: 6px !important;
    margin-left: 8px !important;
  }
  
  .main-nav a {
    font-size: 10px !important;
  }
  
  /* Hide more items on very small screens */
  .nav-tm {
    display: none !important;
  }
  
  .nav-subscribe {
    padding-left: 15px !important;
  }
}



/* ========================================
   ROI CALCULATOR STYLES
   ======================================== */

.roi-calculator-header {
  text-align: center;
  margin-bottom: 48px;
}

.roi-calculator-wrapper {
  background: #ffffff;
  border-radius: 16px;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08);
  padding: 48px;
  max-width: 1000px;
  margin: 0 auto;
}

/* Step Indicator */
.roi-calculator-steps {
  position: relative;
}

.roi-step-indicator {
  display: flex;
  justify-content: space-between;
  margin-bottom: 48px;
  position: relative;
  padding: 0 20px;
}

.roi-step-indicator::before {
  content: '';
  position: absolute;
  top: 20px;
  left: 10%;
  right: 10%;
  height: 2px;
  background: #e0e0e0;
  z-index: 0;
}

.roi-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  z-index: 1;
  flex: 1;
}

.roi-step-number {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #e0e0e0;
  color: #666;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  font-size: 16px;
  margin-bottom: 8px;
  transition: all 0.3s ease;
}

.roi-step.active .roi-step-number {
  background: var(--brand-mid);
  color: #ffffff;
}

.roi-step-label {
  font-size: 13px;
  color: #666;
  text-align: center;
  font-weight: 500;
}

.roi-step.active .roi-step-label {
  color: var(--brand-dark);
  font-weight: 600;
}

/* Step Content */
.roi-step-content {
  display: none;
  animation: fadeIn 0.3s ease;
}

.roi-step-content.active {
  display: block;
}

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

.roi-step-content h3 {
  font-size: 24px;
  color: var(--brand-dark);
  margin-bottom: 32px;
  text-align: center;
}

/* Form Grid */
.roi-form-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  margin-bottom: 32px;
}

.roi-form-group {
  display: flex;
  flex-direction: column;
}

.roi-form-group label {
  font-weight: 600;
  color: var(--brand-dark);
  margin-bottom: 8px;
  font-size: 14px;
}

.roi-form-group input,
.roi-form-group select {
  padding: 12px 16px;
  border: 2px solid #e0e0e0;
  border-radius: 8px;
  font-size: 16px;
  transition: all 0.3s ease;
  font-family: inherit;
}

.roi-form-group input:focus,
.roi-form-group select:focus {
  outline: none;
  border-color: var(--brand-mid);
  box-shadow: 0 0 0 3px rgba(0, 85, 159, 0.1);
}

.roi-form-group input.error,
.roi-form-group select.error {
  border-color: #dc3545;
  box-shadow: 0 0 0 3px rgba(220, 53, 69, 0.1);
}

.roi-input-hint {
  font-size: 12px;
  color: #666;
  margin-top: 4px;
}

.roi-step-buttons {
  display: flex;
  gap: 16px;
  justify-content: center;
  margin-top: 32px;
}

.roi-next-btn,
.roi-calculate-btn {
  min-width: 200px;
}

/* Results */
.roi-results-summary {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-bottom: 40px;
}

.roi-result-card {
  background: var(--muted);
  border-radius: 12px;
  padding: 32px;
  text-align: center;
  transition: transform 0.3s ease;
}

.roi-result-card:hover {
  transform: translateY(-4px);
}

.roi-result-card.primary {
  background: linear-gradient(135deg, var(--brand-mid) 0%, var(--accent) 100%);
  color: #ffffff;
}

.roi-result-value {
  font-size: 36px;
  font-weight: 700;
  margin-bottom: 8px;
  color: var(--brand-dark);
}

.roi-result-card.primary .roi-result-value {
  color: #ffffff;
}

.roi-result-label {
  font-size: 14px;
  color: #666;
  font-weight: 500;
}

.roi-result-card.primary .roi-result-label {
  color: rgba(255, 255, 255, 0.9);
}

.roi-results-breakdown {
  background: #f8f9fa;
  border-radius: 12px;
  padding: 32px;
  margin-bottom: 40px;
}

.roi-results-breakdown h4 {
  font-size: 20px;
  color: var(--brand-dark);
  margin-bottom: 24px;
  text-align: center;
}

.roi-breakdown-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}

.roi-breakdown-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px;
  background: #ffffff;
  border-radius: 8px;
}

.roi-breakdown-label {
  font-size: 14px;
  color: #666;
  font-weight: 500;
}

.roi-breakdown-value {
  font-size: 20px;
  font-weight: 700;
  color: var(--brand-mid);
}

/* Charts */
.roi-charts-container {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 32px;
  margin-bottom: 40px;
}

.roi-chart-wrapper {
  background: #ffffff;
  border: 1px solid #e0e0e0;
  border-radius: 12px;
  padding: 24px;
}

.roi-chart-wrapper h4 {
  font-size: 16px;
  color: var(--brand-dark);
  margin-bottom: 16px;
  text-align: center;
}

.roi-chart-wrapper canvas {
  max-width: 100%;
  height: auto;
}

/* Email Capture */
.roi-email-capture {
  background: linear-gradient(135deg, var(--muted) 0%, #f0f4f8 100%);
  border-radius: 12px;
  padding: 40px;
  text-align: center;
  margin-bottom: 32px;
}

.roi-email-capture h4 {
  font-size: 22px;
  color: var(--brand-dark);
  margin-bottom: 12px;
}

.roi-email-capture p {
  color: #666;
  margin-bottom: 24px;
  font-size: 15px;
}

.roi-email-form {
  max-width: 600px;
  margin: 0 auto;
}

.roi-email-input-group {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 20px;
}

.roi-email-input-group input {
  padding: 14px 18px;
  border: 2px solid #e0e0e0;
  border-radius: 8px;
  font-size: 16px;
  transition: all 0.3s ease;
}

.roi-email-input-group input:focus {
  outline: none;
  border-color: var(--brand-mid);
  box-shadow: 0 0 0 3px rgba(0, 85, 159, 0.1);
}

.roi-privacy-note {
  font-size: 12px;
  color: #999;
  margin-top: 12px;
}

/* CTA Buttons */
.roi-cta-buttons {
  display: flex;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap;
}

/* Responsive */
@media (max-width: 768px) {
  .roi-calculator-wrapper {
    padding: 24px;
  }

  .roi-step-indicator {
    padding: 0 10px;
  }

  .roi-step-label {
    font-size: 11px;
  }

  .roi-form-grid {
    grid-template-columns: 1fr;
  }

  .roi-results-summary {
    grid-template-columns: 1fr;
  }

  .roi-breakdown-grid {
    grid-template-columns: 1fr;
  }

  .roi-charts-container {
    grid-template-columns: 1fr;
  }

  .roi-cta-buttons {
    flex-direction: column;
  }

  .roi-cta-buttons .btn {
    width: 100%;
  }
}



/* ROI Calculator Thank You Message */
.roi-thank-you {
  background: #e8f5e9;
  border: 2px solid #4caf50;
  border-radius: 8px;
  padding: 20px;
  margin-top: 20px;
  text-align: center;
}

.roi-thank-you h4 {
  color: #2e7d32;
  margin-bottom: 10px;
  font-size: 18px;
}

.roi-thank-you p {
  color: #388e3c;
  margin: 0;
  font-size: 14px;
}

/* ========================================
   CLIENT SUCCESS METRICS SHOWCASE
   ======================================== */

.metrics-showcase {
  background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
  padding: 80px 0 !important;
  position: relative;
  overflow: hidden;
}

.metrics-showcase::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, #00559f 0%, #0066cc 50%, #00559f 100%);
}

.metrics-header {
  text-align: center;
  margin-bottom: 60px;
}

.metrics-header .section-title {
  margin-bottom: 20px;
  color: #1a1a1a;
}

.metrics-header .section-intro {
  max-width: 800px;
  margin: 0 auto;
  font-size: 18px;
  line-height: 1.7;
  color: #555;
}

.metrics-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
  gap: 30px !important;
  margin-bottom: 50px;
}

.metric-card {
  background: #ffffff;
  border-radius: 12px;
  padding: 35px 30px;
  text-align: center;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.07);
  transition: all 0.3s ease;
  border: 2px solid transparent;
  position: relative;
  overflow: hidden;
}

.metric-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: #00559f;
  transform: scaleX(0);
  transition: transform 0.3s ease;
}

.metric-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 12px 24px rgba(0, 85, 159, 0.15);
  border-color: #00559f;
}

.metric-card:hover::before {
  transform: scaleX(1);
}

.metric-card.primary {
  background: linear-gradient(135deg, #00559f 0%, #0066cc 100%) !important;
  color: #ffffff !important;
  border-color: #00559f;
}

.metric-card.primary .metric-value,
.metric-card.primary .metric-label,
.metric-card.primary .metric-description {
  color: #ffffff !important;
}

.metric-card.primary .metric-icon {
  filter: brightness(0) invert(1);
}

/* Preserve fire icon natural colors */
.metric-card.primary .metric-icon:contains("🔥") {
  filter: none !important;
}

.metric-card.highlight {
  background: linear-gradient(135deg, #f0f7ff 0%, #e6f2ff 100%);
  border-color: #00559f;
}

.metrics-showcase .metric-icon {
  font-size: 48px;
  margin-bottom: 20px;
  display: block;
  line-height: 1;
}

.metrics-showcase .metric-value {
  font-size: 48px !important;
  font-weight: 700 !important;
  color: #00559f !important;
  margin-bottom: 12px;
  line-height: 1.2;
  font-variant-numeric: tabular-nums;
}

.metric-card.primary .metric-value {
  color: #ffffff !important;
}

.metrics-showcase .metric-label {
  font-size: 16px;
  font-weight: 600;
  color: #1a1a1a;
  margin-bottom: 8px;
  line-height: 1.4;
}

.metric-card.primary .metric-label {
  color: #ffffff !important;
}

.metrics-showcase .metric-description {
  font-size: 14px;
  color: #666;
  line-height: 1.5;
  margin-top: 8px;
}

.metric-card.primary .metric-description {
  color: rgba(255, 255, 255, 0.9) !important;
}

.metrics-cta {
  text-align: center;
  margin-top: 50px;
  padding-top: 40px;
  border-top: 1px solid #e0e0e0;
}

.metrics-cta-text {
  font-size: 18px;
  color: #333;
  margin-bottom: 25px;
  font-weight: 500;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .metrics-showcase {
    padding: 60px 0 !important;
  }
  
  .metrics-grid {
    grid-template-columns: 1fr !important;
    gap: 25px !important;
  }
  
  .metric-card {
    padding: 30px 25px;
  }
  
  .metrics-showcase .metric-value {
    font-size: 40px !important;
  }
}

/* Progress bars for metrics */
.metric-value-wrapper {
  margin-bottom: 12px;
}

.metric-progress-bar {
  width: 100%;
  height: 4px;
  background: rgba(0, 85, 159, 0.1);
  border-radius: 2px;
  margin-top: 8px;
  overflow: hidden;
}

.metric-progress-fill {
  height: 100%;
  background: linear-gradient(90deg, #00559f 0%, #0066cc 100%);
  border-radius: 2px;
  width: 0%;
  transition: width 2s ease-out;
}

.metric-card.primary .metric-progress-bar {
  background: rgba(255, 255, 255, 0.2);
}

.metric-card.primary .metric-progress-fill {
  background: rgba(255, 255, 255, 0.8);
}

/* Animate progress bars when counter animates */
.metric-card[data-animated="true"] .metric-progress-fill {
  width: var(--progress-width);
}

.metrics-trust-indicator {
  text-align: center;
  margin-bottom: 40px;
}

.trust-badge {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 24px;
  background: #f0f7ff;
  border: 1px solid #00559f;
  border-radius: 50px;
  font-size: 14px;
  color: #00559f;
  font-weight: 500;
}

.trust-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  background: #00559f;
  color: #ffffff;
  border-radius: 50%;
  font-size: 14px;
  font-weight: bold;
}

/* ========================================
   QUICK 4 STATES DIAGNOSTIC TOOL (HOME PAGE)
   ======================================== */

#quick-4states-diagnostic {
  padding: 80px 0;
  background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);
  position: relative;
}

.diagnostic-header {
  text-align: center;
  margin-bottom: 50px;
}

.diagnostic-header .section-title {
  margin-bottom: 20px;
}

.diagnostic-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  background: #e6f2ff;
  border: 1px solid #00559f;
  border-radius: 50px;
  font-size: 14px;
  color: #00559f;
  font-weight: 500;
  margin-top: 15px;
}

.badge-icon {
  font-size: 18px;
}

.quick-diagnostic-wrapper {
  max-width: 900px;
  margin: 0 auto;
}

.quick-diagnostic-form {
  background: #ffffff;
  border-radius: 12px;
  padding: 40px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  margin-bottom: 30px;
}

.form-progress {
  margin-bottom: 30px;
}

.form-step {
  display: none;
}

.form-step.is-active {
  display: block;
}

.infographic-track {
  height: 8px;
  background: #e5e7eb;
  border-radius: 999px;
  overflow: hidden;
  margin-top: 8px;
}

.infographic-fill {
  height: 100%;
  width: 0%;
  background: linear-gradient(90deg, #00559f 0%, #0b78d1 100%);
  border-radius: 999px;
  transition: width 0.6s ease;
}

.engagement-hidden {
  display: none;
}

.progress-bar-bg {
  width: 100%;
  height: 6px;
  background: #e0e0e0;
  border-radius: 3px;
  overflow: hidden;
  margin-bottom: 10px;
}

.progress-bar-fill {
  height: 100%;
  background: linear-gradient(90deg, #00559f 0%, #0066cc 100%);
  border-radius: 3px;
  transition: width 0.3s ease;
}

.progress-text {
  font-size: 14px;
  color: #666;
  text-align: right;
  display: block;
}


/* Fixed Progress Step Markers */
.progress-steps {
  display: flex;
  justify-content: space-between;
  margin: 20px 0 15px;
  position: relative;
  padding-top: 30px;
}

.progress-step {
  flex: 1;
  text-align: center;
  font-size: 11px;
  color: #999;
  font-weight: 600;
  padding: 8px 4px;
  position: relative;
  transition: color 0.3s ease;
}

.progress-step.active {
  color: #00559f;
}

.progress-step::before {
  content: attr(data-step);
  position: absolute;
  top: -25px;
  left: 50%;
  transform: translateX(-50%);
  width: 24px;
  height: 24px;
  background: #e0e0e0;
  color: #666;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 700;
  transition: all 0.3s ease;
  z-index: 2;
}

.progress-step.active::before {
  background: #00559f;
  color: #ffffff;
  width: 28px;
  height: 28px;
  box-shadow: 0 0 0 4px rgba(0, 85, 159, 0.2);
}

.progress-step::after {
  content: '';
  position: absolute;
  top: -13px;
  left: 0;
  right: 0;
  height: 2px;
  background: #e0e0e0;
  z-index: 1;
}

.progress-step:first-child::after {
  left: 50%;
}

.progress-step:last-child::after {
  right: 50%;
}

.progress-step.active ~ .progress-step::after,
.progress-step.active::after {
  background: #00559f;
}

.diagnostic-question {
  margin-bottom: 25px;
  animation: fadeIn 0.3s ease;
}

@keyframes fadeIn {
  from { opacity: 0; transform: translateX(10px); }
  to { opacity: 1; transform: translateX(0); }
}

.question-icon {
  font-size: 32px;
  margin-bottom: 15px;
  display: block;
}

.diagnostic-question label {
  display: block;
  font-size: 18px;
  font-weight: 600;
  color: #1a1a1a;
  margin-bottom: 12px;
  line-height: 1.4;
}

.diagnostic-question select {
  width: 100%;
  padding: 14px 18px;
  font-size: 16px;
  border: 2px solid #e0e0e0;
  border-radius: 8px;
  background: #ffffff;
  color: #333;
  transition: all 0.3s ease;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2300559f' d='M6 9L1 4h10z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 18px center;
  padding-right: 45px;
}

.diagnostic-question select:focus {
  outline: none;
  border-color: #00559f;
  box-shadow: 0 0 0 3px rgba(0, 85, 159, 0.1);
}

.question-hint {
  font-size: 13px;
  color: #666;
  margin-top: 8px;
  font-style: italic;
}

.diagnostic-buttons {
  display: flex;
  gap: 15px;
  margin-top: 30px;
  justify-content: space-between;
}

.diagnostic-buttons .btn {
  flex: 1;
  padding: 14px 28px;
  font-size: 16px;
}

.quick-diagnostic-result {
  background: #ffffff;
  border-radius: 12px;
  padding: 40px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  animation: fadeInUp 0.5s ease;
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.result-state-card {
  text-align: center;
}

.result-state-header {
  margin-bottom: 30px;
}

.result-state-header h3 {
  font-size: 28px;
  color: #1a1a1a;
  margin-bottom: 15px;
}

.result-state-badge {
  display: inline-block;
  padding: 10px 24px;
  border-radius: 50px;
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.result-state-badge.reactive {
  background: #fee;
  color: #c00;
}

.result-state-badge.controlled {
  background: #fff4e6;
  color: #f39c12;
}

.result-state-badge.predictable {
  background: #e6f3ff;
  color: #3498db;
}

.result-state-badge.trusted {
  background: #e8f8f0;
  color: #27ae60;
}

.result-state-visual {
  margin: 30px 0;
}

.result-state-icon {
  font-size: 72px;
  margin-bottom: 20px;
  animation: scaleIn 0.5s ease;
}

@keyframes scaleIn {
  from { transform: scale(0); }
  to { transform: scale(1); }
}

.result-state-name {
  font-size: 36px;
  font-weight: 700;
  color: #1a1a1a;
  margin-bottom: 15px;
}

.result-state-description {
  font-size: 18px;
  color: #666;
  line-height: 1.7;
  max-width: 650px;
  margin: 0 auto 30px;
}

.result-progress-spectrum {
  margin: 40px 0;
  padding: 20px 0;
}

.spectrum-line {
  position: relative;
  height: 8px;
  background: linear-gradient(90deg, #ff4444 0%, #ffaa00 33%, #44aaff 66%, #44ff88 100%);
  border-radius: 4px;
  margin-bottom: 35px;
  margin-top: 20px;
}

.spectrum-marker {
  position: absolute;
  top: -12px;
  width: 24px;
  height: 24px;
  background: #ffffff;
  border: 3px solid #00559f;
  border-radius: 50%;
  transform: translateX(-50%);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
  transition: left 0.8s ease;
  z-index: 10;
}

.spectrum-labels {
  display: flex;
  justify-content: space-between;
  font-size: 12px;
  color: #666;
  font-weight: 500;
  margin-top: 8px;
  padding: 0 12px;
  position: relative;
  z-index: 1;
}

.result-insights {
  text-align: left;
  background: #f8f9fa;
  border-radius: 8px;
  padding: 25px;
  margin: 30px 0;
}

.result-insights h4 {
  font-size: 18px;
  color: #1a1a1a;
  margin-bottom: 15px;
}

.result-insights ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.result-insights li {
  padding: 10px 0 10px 25px;
  position: relative;
  color: #555;
  line-height: 1.6;
}

.result-insights li:before {
  content: '✓';
  position: absolute;
  left: 0;
  color: #00559f;
  font-weight: bold;
}

.result-cta-group {
  margin-top: 40px;
  padding-top: 30px;
  border-top: 1px solid #e0e0e0;
}

.result-cta-group .btn {
  margin-bottom: 15px;
}

.result-disclaimer {
  font-size: 12px;
  color: #999;
  font-style: italic;
  margin: 0;
  line-height: 1.5;
}

/* Responsive */
@media (max-width: 768px) {
  .quick-diagnostic-form,
  .quick-diagnostic-result {
    padding: 30px 20px;
  }
  
  .result-state-icon {
    font-size: 56px;
  }
  
  .result-state-name {
    font-size: 28px;
  }
  
  .diagnostic-buttons {
    flex-direction: column;
  }
  
  .diagnostic-buttons .btn {
    width: 100%;
  }
}

/* ========================================
   ENHANCED RESULT DISPLAY - ALL 4 STATES WITH ANIMATION
   ======================================== */

.result-header-enhanced {
  text-align: center;
  margin-bottom: 40px;
  animation: fadeInDown 0.6s ease;
}

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

.result-header-enhanced h3 {
  font-size: 32px;
  color: #1a1a1a;
  margin-bottom: 10px;
}

.result-subtitle {
  font-size: 18px;
  color: #666;
  margin: 0;
}

.result-states-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 30px;
  margin: 40px 0;
}

.result-states-grid .state-card-enhanced {
  position: relative;
  opacity: 0.5;
  transition: opacity 0.5s ease, transform 0.5s ease;
  animation: fadeInUp 0.6s ease backwards;
}

.result-states-grid .state-card-enhanced:nth-child(1) { animation-delay: 0.1s; }
.result-states-grid .state-card-enhanced:nth-child(2) { animation-delay: 0.2s; }
.result-states-grid .state-card-enhanced:nth-child(3) { animation-delay: 0.3s; }
.result-states-grid .state-card-enhanced:nth-child(4) { animation-delay: 0.4s; }

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 0.5;
    transform: translateY(0);
  }
}

.result-states-grid .state-card-enhanced.result-active {
  opacity: 1 !important;
  transform: scale(1.08);
  z-index: 10;
  box-shadow: 0 20px 60px rgba(0, 85, 159, 0.3);
  border-width: 3px;
  animation: pulseGlow 2s ease-in-out infinite, scaleIn 0.6s ease;
}

@keyframes scaleIn {
  from {
    transform: scale(0.95);
  }
  to {
    transform: scale(1.08);
  }
}

/* Pulsing animation for active state - Generic */
.result-states-grid .state-card-enhanced.result-active {
  animation: pulseGlow 2s ease-in-out infinite, scaleIn 0.6s ease;
}

@keyframes pulseGlow {
  0%, 100% {
    box-shadow: 0 20px 60px rgba(0, 85, 159, 0.3), 0 0 0 0 rgba(0, 212, 255, 0.5);
    transform: scale(1.08);
  }
  50% {
    box-shadow: 0 20px 60px rgba(0, 85, 159, 0.4), 0 0 0 10px rgba(0, 85, 159, 0.1);
    transform: scale(1.12);
  }
}

/* State-specific pulse colors */
.result-states-grid .state-reactive.result-active {
  animation: pulseGlowReactive 2s ease-in-out infinite, scaleIn 0.6s ease;
}

@keyframes pulseGlowReactive {
  0%, 100% {
    box-shadow: 0 20px 60px rgba(231, 76, 60, 0.3), 0 0 0 0 rgba(231, 76, 60, 0.4);
    transform: scale(1.08);
  }
  50% {
    box-shadow: 0 20px 60px rgba(231, 76, 60, 0.4), 0 0 0 10px rgba(231, 76, 60, 0.1);
    transform: scale(1.12);
  }
}

.result-states-grid .state-controlled.result-active {
  animation: pulseGlowControlled 2s ease-in-out infinite, scaleIn 0.6s ease;
}

@keyframes pulseGlowControlled {
  0%, 100% {
    box-shadow: 0 20px 60px rgba(243, 156, 18, 0.3), 0 0 0 0 rgba(243, 156, 18, 0.4);
    transform: scale(1.08);
  }
  50% {
    box-shadow: 0 20px 60px rgba(243, 156, 18, 0.4), 0 0 0 10px rgba(243, 156, 18, 0.1);
    transform: scale(1.12);
  }
}

.result-states-grid .state-predictable.result-active {
  animation: pulseGlowPredictable 2s ease-in-out infinite, scaleIn 0.6s ease;
}

@keyframes pulseGlowPredictable {
  0%, 100% {
    box-shadow: 0 20px 60px rgba(52, 152, 219, 0.3), 0 0 0 0 rgba(52, 152, 219, 0.4);
    transform: scale(1.08);
  }
  50% {
    box-shadow: 0 20px 60px rgba(52, 152, 219, 0.4), 0 0 0 10px rgba(52, 152, 219, 0.1);
    transform: scale(1.12);
  }
}

.result-states-grid .state-trusted.result-active {
  animation: pulseGlowTrusted 2s ease-in-out infinite, scaleIn 0.6s ease;
}

@keyframes pulseGlowTrusted {
  0%, 100% {
    box-shadow: 0 20px 60px rgba(39, 174, 96, 0.3), 0 0 0 0 rgba(39, 174, 96, 0.4);
    transform: scale(1.08);
  }
  50% {
    box-shadow: 0 20px 60px rgba(39, 174, 96, 0.4), 0 0 0 10px rgba(39, 174, 96, 0.1);
    transform: scale(1.12);
  }
}

/* Result indicator badge */
.result-indicator {
  position: absolute;
  top: 20px;
  right: 20px;
  z-index: 20;
}

.result-pulse-ring {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 70px;
  height: 70px;
  border: 3px solid #00559f;
  border-radius: 50%;
  animation: pulseRing 2s ease-out infinite;
}

@keyframes pulseRing {
  0% {
    transform: translate(-50%, -50%) scale(0.8);
    opacity: 1;
  }
  100% {
    transform: translate(-50%, -50%) scale(1.8);
    opacity: 0;
  }
}

.result-badge {
  position: relative;
  background: linear-gradient(135deg, #00559f 0%, #0066cc 100%);
  color: #ffffff;
  padding: 10px 20px;
  border-radius: 50px;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  box-shadow: 0 4px 16px rgba(0, 85, 159, 0.4);
  animation: badgePulse 2s ease-in-out infinite;
  white-space: nowrap;
}

@keyframes badgePulse {
  0%, 100% {
    transform: scale(1);
    box-shadow: 0 4px 16px rgba(0, 85, 159, 0.4);
  }
  50% {
    transform: scale(1.08);
    box-shadow: 0 6px 20px rgba(0, 85, 159, 0.5);
  }
}

/* State-specific badge colors */


.state-reactive .result-pulse-ring {
  border-color: #e74c3c;
}



.state-controlled .result-pulse-ring {
  border-color: #f39c12;
}



.state-predictable .result-pulse-ring {
  border-color: #3498db;
}



.state-trusted .result-pulse-ring {
  border-color: #27ae60;
}

.result-insights-enhanced {
  background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
  border-radius: 12px;
  padding: 35px;
  margin: 40px 0;
  text-align: left;
  border: 2px solid #e0e0e0;
  animation: fadeIn 0.8s ease 0.5s backwards;
}

@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

.result-insights-enhanced h4 {
  font-size: 22px;
  color: #1a1a1a;
  margin-bottom: 25px;
  text-align: center;
  font-weight: 700;
}

.result-insights-enhanced ul {
  list-style: none;
  padding: 0;
  margin: 0;
  max-width: 750px;
  margin: 0 auto;
}

.result-insights-enhanced li {
  padding: 14px 0 14px 35px;
  position: relative;
  color: #555;
  line-height: 1.8;
  font-size: 16px;
  border-bottom: 1px solid #e8e8e8;
  transition: background 0.3s ease;
}

.result-insights-enhanced li:last-child {
  border-bottom: none;
}

.result-insights-enhanced li:hover {
  background: rgba(0, 85, 159, 0.05);
  padding-left: 40px;
}

.result-insights-enhanced li:before {
  content: '✓';
  position: absolute;
  left: 0;
  color: #00559f;
  font-weight: bold;
  font-size: 20px;
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 85, 159, 0.1);
  border-radius: 50%;
}

/* Responsive */
@media (max-width: 768px) {
  .result-states-grid {
    grid-template-columns: 1fr;
    gap: 25px;
  }
  
  .result-states-grid .state-card-enhanced.result-active {
    transform: scale(1.03);
  }
  
  .result-header-enhanced h3 {
    font-size: 24px;
  }
  
  .result-subtitle {
    font-size: 16px;
  }
}


/* ========================================
   METRICS CARDS - UPDATED (No Percentages, Smaller, Better Colors)
   ======================================== */

.metrics-showcase .metric-card {
  padding: 25px 20px !important;
  min-height: auto !important;
}

.metrics-showcase .metric-icon {
  font-size: 40px !important;
  margin-bottom: 15px !important;
}

.metrics-showcase .metric-label {
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #1a1a1a !important;
  margin-bottom: 10px !important;
  line-height: 1.4 !important;
}

.metrics-showcase .metric-description {
  font-size: 13px !important;
  color: #555 !important;
  line-height: 1.5 !important;
  margin-top: 8px !important;
}

.metric-card.primary .metric-label {
  color: #ffffff !important;
}

.metric-card.primary .metric-description {
  color: rgba(255, 255, 255, 0.95) !important;
}



@media (max-width: 768px) {
  .metrics-showcase .metric-card {
    padding: 20px 15px !important;
  }
  
  .metrics-showcase .metric-icon {
    font-size: 36px !important;
  }
  
  .metrics-showcase .metric-label {
    font-size: 14px !important;
  }
  
  .metrics-showcase .metric-description {
    font-size: 12px !important;
  }
}


/* Fire icon in primary card - preserve natural colors */
.metric-card.primary .fire-icon {
  filter: none !important;
}


/* Progress bar for highlight card */





/* Enhanced progress bar for highlight card - better visibility */
.metric-card.highlight .metric-progress-bar {
  background: #e0e8f0 !important;
  height: 6px;
  border-radius: 3px;
  overflow: hidden;
}

.metric-card.highlight .metric-progress-fill {
  background: linear-gradient(90deg, #00559f 0%, #0066cc 100%) !important;
  height: 100%;
  width: 0%;
  border-radius: 3px;
  transition: width 2s ease-out;
  box-shadow: 0 2px 4px rgba(0, 85, 159, 0.3);
}


/* ========================================
   QUICK DIAGNOSTIC RESULT CARDS - UPDATED
   ======================================== */





/* Make status names more pronounced - bouncy and high contrast */
.result-states-grid .state-name {
  font-size: 28px !important;
  font-weight: 800 !important;
  letter-spacing: 0.02em !important;
  text-transform: uppercase !important;
  margin-bottom: 8px !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;
  animation: bounceIn 0.6s ease !important;
}

@keyframes bounceIn {
  0% {
    opacity: 0;
    transform: scale(0.3) translateY(-20px);
  }
  50% {
    opacity: 1;
    transform: scale(1.05) translateY(0);
  }
  70% {
    transform: scale(0.95);
  }
  100% {
    transform: scale(1);
  }
}

/* State-specific colors for status names - high contrast */
.state-reactive .state-name {
  color: #c0392b !important;
  text-shadow: 0 2px 8px rgba(231, 76, 60, 0.3) !important;
}

.state-controlled .state-name {
  color: #d68910 !important;
  text-shadow: 0 2px 8px rgba(243, 156, 18, 0.3) !important;
}

.state-predictable .state-name {
  color: #2874a6 !important;
  text-shadow: 0 2px 8px rgba(52, 152, 219, 0.3) !important;
}

.state-trusted .state-name {
  color: #1e8449 !important;
  text-shadow: 0 2px 8px rgba(39, 174, 96, 0.3) !important;
}

/* Fix "Your State" badge - use state colors, not white */
.result-badge {
  color: #ffffff !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2) !important;
  animation: badgePulse 2s ease-in-out infinite !important;
}

@keyframes badgePulse {
  0%, 100% {
    transform: scale(1);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
  }
  50% {
    transform: scale(1.05);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.3);
  }
}

/* State-specific badge colors (already defined but ensure they're strong) */












/* Keep other elements shadowed but status names prominent */
.result-states-grid .state-status-badge {
  opacity: 0.85;
}

.result-states-grid .state-number-circle {
  opacity: 0.7;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  
  
  .result-states-grid .state-name {
    font-size: 24px !important;
  }
  
  
}


/* Force state-specific badge colors - override any conflicting rules */
.state-reactive .result-badge {
  background: linear-gradient(135deg, #e74c3c 0%, #c0392b 100%) !important;
  background-color: #e74c3c !important;
  color: #ffffff !important;
  box-shadow: 0 4px 16px rgba(231, 76, 60, 0.6) !important;
}

.state-controlled .result-badge {
  background: linear-gradient(135deg, #f39c12 0%, #e67e22 100%) !important;
  background-color: #f39c12 !important;
  color: #ffffff !important;
  box-shadow: 0 4px 16px rgba(243, 156, 18, 0.6) !important;
}

.state-predictable .result-badge {
  background: linear-gradient(135deg, #3498db 0%, #2980b9 100%) !important;
  background-color: #3498db !important;
  color: #ffffff !important;
  box-shadow: 0 4px 16px rgba(52, 152, 219, 0.6) !important;
}

.state-trusted .result-badge {
  background: linear-gradient(135deg, #27ae60 0%, #229954 100%) !important;
  background-color: #27ae60 !important;
  color: #ffffff !important;
  box-shadow: 0 4px 16px rgba(39, 174, 96, 0.6) !important;
}

/* Ensure base badge doesn't override state colors */
.result-badge {
  background: linear-gradient(135deg, #00559f 0%, #0066cc 100%) !important;
}


/* Restore original tile size */




/* Fix "Your State" badge positioning - top-right with proper spacing */
.result-states-grid .state-card-enhanced {
  position: relative !important;
}

.result-states-grid .result-indicator {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  z-index: 20 !important;
}

/* Add padding to state-header to prevent overlap */


/* Restore icon size to original */


/* Restore state-visual container */


/* Keep status names pronounced */
.result-states-grid .state-name {
  font-size: 28px !important;
  font-weight: 800 !important;
  letter-spacing: 0.02em !important;
  text-transform: uppercase !important;
  margin-bottom: 8px !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  
  
  .result-states-grid .state-header {
    padding-right: 100px !important;
  }
  
  .result-states-grid .state-name {
    font-size: 24px !important;
  }
  
  
  
  .result-states-grid .result-indicator {
    top: 10px !important;
    right: 10px !important;
  }
}


/* Reduce tile height - optimize vertical spacing */








.result-states-grid .state-name {
  font-size: 26px !important; /* Slightly reduced from 28px */
  font-weight: 800 !important;
  letter-spacing: 0.02em !important;
  text-transform: uppercase !important;
  margin-bottom: 6px !important; /* Reduced from 8px */
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;
}

.result-states-grid .state-status-badge {
  font-size: 12px !important;
  padding: 4px 10px !important;
  margin-top: 4px !important;
}

.result-states-grid .state-number-circle {
  font-size: 14px !important;
  width: 32px !important; /* Slightly smaller */
  height: 32px !important;
}

/* Reduce gap between cards slightly */


/* Responsive adjustments */
@media (max-width: 768px) {
  
  
  
  
  .result-states-grid .state-name {
    font-size: 22px !important;
  }
  
  
  
  
  
  
}


/* More aggressive tile height reduction - compact but maintains characteristics */
.result-states-grid .state-card-enhanced {
  padding: 20px 25px !important; /* Further reduced */
}

.result-states-grid .state-header {
  position: relative;
  z-index: 10;
  padding-right: 110px !important; /* Slightly reduced */
  margin-bottom: 10px !important; /* Further reduced */
}

.result-states-grid .state-icon {
  font-size: 48px !important; /* Further reduced from 56px */
  margin: 8px 0 !important; /* Further reduced */
}

.result-states-grid .state-visual {
  margin: 8px 0 !important; /* Further reduced */
}

.result-states-grid .state-name {
  font-size: 24px !important; /* Further reduced */
  font-weight: 800 !important;
  letter-spacing: 0.02em !important;
  text-transform: uppercase !important;
  margin-bottom: 4px !important; /* Further reduced */
  line-height: 1.2 !important; /* Tighter line height */
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;
}

.result-states-grid .state-status-badge {
  font-size: 11px !important;
  padding: 3px 8px !important;
  margin-top: 2px !important;
}

.result-states-grid .state-number-circle {
  font-size: 13px !important;
  width: 28px !important;
  height: 28px !important;
  line-height: 28px !important;
}

/* Reduce gap between cards */
.result-states-grid {
  gap: 20px !important; /* Further reduced */
}

/* Ensure badge stays visible and properly sized */
.result-states-grid .result-badge {
  padding: 6px 14px !important;
  font-size: 10px !important;
}

.result-states-grid .result-indicator {
  top: 12px !important;
  right: 12px !important;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .result-states-grid .state-card-enhanced {
    padding: 18px 15px !important;
  }
  
  .result-states-grid .state-header {
    padding-right: 90px !important;
    margin-bottom: 8px !important;
  }
  
  .result-states-grid .state-name {
    font-size: 20px !important;
  }
  
  .result-states-grid .state-icon {
    font-size: 40px !important;
    margin: 6px 0 !important;
  }
  
  .result-states-grid .state-visual {
    margin: 6px 0 !important;
  }
  
  .result-states-grid {
    gap: 15px !important;
  }
}


/* ========================================
   FULL FOUR STATES DIAGNOSTIC TOOL - ENHANCED UX
   ======================================== */

/* Header Enhancements */
.diagnostic-header-enhanced {
  text-align: center;
  margin-bottom: 50px;
  animation: fadeInDown 0.6s ease;
}

.diagnostic-badge-premium {
  display: inline-flex !important;
  align-items: center;
  gap: 10px;
  padding: 12px 24px;
  background: linear-gradient(135deg, #00559f 0%, #003d7a 100%) !important;
  color: #ffffff !important;
  border-radius: 50px;
  font-weight: 600;
  font-size: 15px;
  margin-bottom: 25px;
  box-shadow: 0 4px 15px rgba(0, 85, 159, 0.3);
  animation: pulse 2s ease-in-out infinite;
}

.diagnostic-badge-premium span {
  color: #ffffff !important;
}

.diagnostic-badge-premium .badge-icon {
  font-size: 20px;
  animation: bounce 2s ease-in-out infinite;
}

.section-intro-enhanced {
  font-size: 18px;
  line-height: 1.8;
  color: #5a6c7d;
  max-width: 800px;
  margin: 0 auto 30px;
}

.social-proof-mini {
  display: flex;
  justify-content: center;
  gap: 30px;
  margin-top: 25px;
  flex-wrap: wrap;
}

.proof-item {
  font-size: 14px;
  color: #27ae60;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 5px;
}

/* Form Wrapper */
.full-diagnostic-wrapper {
  max-width: 1000px;
  margin: 0 auto;
}

.full-diagnostic-form {
  background: #ffffff;
  border-radius: 16px;
  padding: 50px;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
  margin-bottom: 30px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.full-diagnostic-form:hover {
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15);
}

/* Enhanced Progress Bar */
.form-progress-enhanced {
  margin-bottom: 50px;
}



.progress-step.active::after {
  background: #00559f;
  width: 12px;
  height: 12px;
  box-shadow: 0 0 0 4px rgba(0, 85, 159, 0.2);
}

/* Question Styling */

/* Fixed Progress Step Markers */
.progress-steps {
  display: flex;
  justify-content: space-between;
  margin: 20px 0 15px;
  position: relative;
  padding-top: 30px;
}

.progress-step {
  flex: 1;
  text-align: center;
  font-size: 11px;
  color: #999;
  font-weight: 600;
  padding: 8px 4px;
  position: relative;
  transition: color 0.3s ease;
}

.progress-step.active {
  color: #00559f;
}

.progress-step::before {
  content: attr(data-step);
  position: absolute;
  top: -25px;
  left: 50%;
  transform: translateX(-50%);
  width: 24px;
  height: 24px;
  background: #e0e0e0;
  color: #666;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 700;
  transition: all 0.3s ease;
  z-index: 2;
}

.progress-step.active::before {
  background: #00559f;
  color: #ffffff;
  width: 28px;
  height: 28px;
  box-shadow: 0 0 0 4px rgba(0, 85, 159, 0.2);
}

.progress-step::after {
  content: '';
  position: absolute;
  top: -13px;
  left: 0;
  right: 0;
  height: 2px;
  background: #e0e0e0;
  z-index: 1;
}

.progress-step:first-child::after {
  left: 50%;
}

.progress-step:last-child::after {
  right: 50%;
}

.progress-step.active ~ .progress-step::after,
.progress-step.active::after {
  background: #00559f;
}

.diagnostic-question {
  animation: slideInRight 0.4s ease;
}

.question-icon-animated {
  font-size: 64px;
  text-align: center;
  margin-bottom: 20px;
  animation: float 3s ease-in-out infinite;
}

.question-title {
  font-size: 28px;
  font-weight: 700;
  color: #1a1a1a;
  margin-bottom: 10px;
  text-align: center;
}

.question-subtitle {
  font-size: 16px;
  color: #666;
  text-align: center;
  margin-bottom: 35px;
  line-height: 1.6;
}

/* Form Elements */
.form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 25px;
  margin-bottom: 25px;
}

.form-group {
  margin-bottom: 30px;
  position: relative;
}

.form-group label {
  display: block;
  font-size: 16px;
  font-weight: 600;
  color: #333;
  margin-bottom: 12px;
}

.form-group input[type="number"],
.form-group input[type="text"],
.form-group input[type="email"],
.form-group select {
  width: 100%;
  padding: 16px 20px;
  font-size: 16px;
  border: 2px solid #e0e0e0;
  border-radius: 10px;
  transition: all 0.3s ease;
  font-family: inherit;
  background: #ffffff;
}

.form-group input:focus,
.form-group select:focus {
  outline: none;
  border-color: #00559f;
  box-shadow: 0 0 0 4px rgba(0, 85, 159, 0.1);
  transform: translateY(-2px);
}

.input-hint {
  display: block;
  font-size: 13px;
  color: #999;
  margin-top: 6px;
  font-style: italic;
}

.input-with-suffix {
  position: relative;
}

.input-with-suffix .input-suffix {
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  color: #666;
  font-weight: 600;
  pointer-events: none;
}

.input-with-suffix input {
  padding-right: 50px;
}

/* Context Hints */
.metric-context {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 10px;
  padding: 12px;
  background: #f0f7ff;
  border-radius: 8px;
  font-size: 14px;
  color: #00559f;
}

.context-icon {
  font-size: 18px;
}

.value-proposition {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 12px;
  padding: 15px;
  background: linear-gradient(135deg, #e8f5e9 0%, #c8e6c9 100%);
  border-radius: 8px;
  border-left: 4px solid #27ae60;
  font-size: 14px;
  color: #2e7d32;
  font-weight: 600;
}

.prop-icon {
  font-size: 20px;
}

.gap-hint {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 12px;
  padding: 12px;
  background: #fff4e6;
  border-radius: 8px;
  font-size: 14px;
  color: #f39c12;
}

.hint-icon {
  font-size: 18px;
}

/* Enhanced Checkboxes */
.checkbox-group-enhanced {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 15px;
  margin-top: 20px;
}

.checkbox-label-enhanced {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px;
  border: 2px solid #e0e0e0;
  border-radius: 10px;
  cursor: pointer;
  transition: all 0.3s ease;
  background: #ffffff;
  position: relative;
}

.checkbox-label-enhanced:hover {
  border-color: #00559f;
  background: #f0f7ff;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 85, 159, 0.15);
}

.checkbox-label-enhanced input[type="checkbox"] {
  display: none;
}

.checkbox-custom {
  width: 24px;
  height: 24px;
  border: 2px solid #ccc;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  flex-shrink: 0;
}

.checkbox-label-enhanced input[type="checkbox"]:checked + .checkbox-custom {
  background: #00559f;
  border-color: #00559f;
}

.checkbox-label-enhanced input[type="checkbox"]:checked + .checkbox-custom::after {
  content: '✓';
  color: #ffffff;
  font-weight: bold;
  font-size: 16px;
}

.checkbox-text {
  font-size: 15px;
  color: #333;
  font-weight: 500;
}

.checkbox-label-enhanced input[type="checkbox"]:checked ~ .checkbox-text {
  color: #00559f;
  font-weight: 600;
}

/* Value Reminder */
.value-reminder {
  margin-top: 30px;
  padding: 25px;
  background: linear-gradient(135deg, #f0f7ff 0%, #e6f3ff 100%);
  border-radius: 12px;
  border: 2px solid #00559f;
}

.reminder-content {
  display: flex;
  gap: 20px;
  align-items: flex-start;
}

.reminder-icon {
  font-size: 32px;
  flex-shrink: 0;
}

.reminder-content strong {
  display: block;
  font-size: 16px;
  color: #00559f;
  margin-bottom: 10px;
}

.reminder-content ul {
  margin: 0;
  padding-left: 20px;
  color: #333;
}

.reminder-content li {
  margin-bottom: 6px;
  font-size: 14px;
}

/* Enhanced Buttons */
.diagnostic-buttons-enhanced {
  display: flex;
  gap: 15px;
  margin-top: 40px;
  justify-content: space-between;
}

.diagnostic-buttons-enhanced .btn {
  flex: 1;
  padding: 16px 32px;
  font-size: 16px;
  font-weight: 600;
  border-radius: 10px;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.btn-pulse {
  animation: pulseButton 2s ease-in-out infinite;
}

.btn-icon {
  font-size: 18px;
}

/* Results Section */
.full-diagnostic-result {
  background: #ffffff;
  border-radius: 16px;
  padding: 50px;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
  animation: fadeInUp 0.8s ease;
}

.result-badge-success {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 24px;
  background: #27ae60;
  color: #ffffff;
  border-radius: 50px;
  font-weight: 600;
  font-size: 14px;
  margin-bottom: 20px;
}

.result-header-enhanced h3 {
  font-size: 36px;
  font-weight: 700;
  color: #1a1a1a;
  margin-bottom: 10px;
}

/* Enhanced Gap Analysis */
.gap-analysis-section-enhanced {
  margin: 60px 0;
  padding: 40px;
  background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
  border-radius: 16px;
  border: 2px solid #e0e0e0;
}

.gap-header {
  text-align: center;
  margin-bottom: 35px;
}

.gap-header h4 {
  font-size: 28px;
  font-weight: 700;
  color: #1a1a1a;
  margin-bottom: 10px;
}

.gap-subtitle {
  font-size: 16px;
  color: #666;
}

.gap-visualization-enhanced {
  margin-top: 30px;
}

.gap-comparison-enhanced {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 40px;
  margin-bottom: 30px;
  flex-wrap: wrap;
}

.gap-item-enhanced {
  flex: 1;
  min-width: 250px;
  padding: 30px;
  background: #ffffff;
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
  text-align: center;
  transition: transform 0.3s ease;
}

.gap-item-enhanced:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
}

.gap-item-enhanced .gap-label {
  font-size: 13px;
  color: #999;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 15px;
}

.gap-item-enhanced .gap-value {
  font-size: 36px;
  font-weight: 700;
  margin-bottom: 10px;
  transition: all 0.3s ease;
}

.gap-item-enhanced .gap-description {
  font-size: 14px;
  color: #666;
  font-style: italic;
}

.gap-arrow-enhanced {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
}

.arrow-line {
  width: 60px;
  height: 3px;
  background: linear-gradient(90deg, #00559f, #3498db);
  border-radius: 2px;
}

.arrow-head {
  font-size: 24px;
  color: #00559f;
  font-weight: 700;
}

.gap-insight-enhanced {
  padding: 25px;
  background: #ffffff;
  border-radius: 12px;
  font-size: 16px;
  line-height: 1.8;
  color: #333;
  border-left: 5px solid #f39c12;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
  animation: slideInLeft 0.5s ease;
}

/* Enhanced Action Plan */
.action-plan-section-enhanced {
  margin: 60px 0;
  padding: 40px;
  background: linear-gradient(135deg, #e8f8f0 0%, #ffffff 100%);
  border-radius: 16px;
  border: 2px solid #27ae60;
}

.action-plan-header {
  text-align: center;
  margin-bottom: 35px;
}

.action-plan-header h4 {
  font-size: 28px;
  font-weight: 700;
  color: #1a1a1a;
  margin-bottom: 10px;
}

.action-plan-subtitle {
  font-size: 16px;
  color: #666;
  max-width: 600px;
  margin: 0 auto;
}

.action-plan-content {
  background: #ffffff;
  padding: 30px;
  border-radius: 12px;
  margin-bottom: 30px;
}

.action-item {
  display: flex;
  gap: 25px;
  padding: 25px;
  margin-bottom: 20px;
  background: #f8f9fa;
  border-radius: 12px;
  border-left: 5px solid #00559f;
  transition: all 0.3s ease;
  animation: fadeInUp 0.5s ease;
  animation-fill-mode: both;
}

.action-item:nth-child(1) { animation-delay: 0.1s; }
.action-item:nth-child(2) { animation-delay: 0.2s; }
.action-item:nth-child(3) { animation-delay: 0.3s; }
.action-item:nth-child(4) { animation-delay: 0.4s; }

.action-item:hover {
  transform: translateX(10px);
  box-shadow: 0 4px 15px rgba(0, 85, 159, 0.2);
  background: #ffffff;
}

.action-number {
  flex-shrink: 0;
  width: 50px;
  height: 50px;
  background: linear-gradient(135deg, #00559f 0%, #003d7a 100%);
  color: #ffffff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 20px;
  box-shadow: 0 4px 10px rgba(0, 85, 159, 0.3);
}

.action-content h5 {
  font-size: 20px;
  font-weight: 700;
  color: #1a1a1a;
  margin-bottom: 10px;
}

.action-content p {
  font-size: 15px;
  color: #666;
  line-height: 1.7;
  margin: 0 0 12px 0;
}

.action-metrics {
  margin-top: 12px;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.action-metric {
  padding: 6px 14px;
  background: #e6f3ff;
  color: #00559f;
  border-radius: 20px;
  font-size: 13px;
  font-weight: 600;
}

.action-plan-cta {
  text-align: center;
  padding: 30px;
  background: #ffffff;
  border-radius: 12px;
  border: 2px dashed #00559f;
}

.cta-text {
  font-size: 16px;
  color: #333;
  margin-bottom: 20px;
  line-height: 1.6;
}

.btn-large {
  padding: 18px 40px;
  font-size: 18px;
  font-weight: 700;
}

/* Enhanced Email Capture */
.diagnostic-email-capture-enhanced {
  margin: 50px 0;
  padding: 40px;
  background: linear-gradient(135deg, #f0f7ff 0%, #e6f3ff 100%);
  border-radius: 16px;
  border: 3px solid #00559f;
  text-align: center;
  box-shadow: 0 8px 25px rgba(0, 85, 159, 0.2);
}

.email-capture-header h4 {
  font-size: 26px;
  font-weight: 700;
  color: #1a1a1a;
  margin-bottom: 12px;
}

.email-capture-header p {
  font-size: 16px;
  color: #666;
  margin-bottom: 30px;
}

.form-row-enhanced {
  display: flex;
  gap: 15px;
  max-width: 600px;
  margin: 0 auto 20px;
}

.form-row-enhanced input[type="email"] {
  flex: 1;
  padding: 18px 24px;
  font-size: 16px;
  border: 2px solid #e0e0e0;
  border-radius: 10px;
  transition: all 0.3s ease;
}

.form-row-enhanced input[type="email"]:focus {
  outline: none;
  border-color: #00559f;
  box-shadow: 0 0 0 4px rgba(0, 85, 159, 0.1);
}

.report-preview {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-top: 20px;
  padding: 15px;
  background: #ffffff;
  border-radius: 8px;
  font-size: 14px;
  color: #666;
}

.preview-icon {
  font-size: 20px;
}

.diagnostic-thank-you {
  background: #e8f5e9;
  border: 2px solid #4caf50;
  border-radius: 12px;
  padding: 25px;
  margin-top: 25px;
  text-align: center;
  animation: scaleIn 0.5s ease;
}

.diagnostic-thank-you h4 {
  color: #2e7d32;
  margin-bottom: 10px;
  font-size: 20px;
}

.diagnostic-thank-you p {
  color: #388e3c;
  margin: 0;
  font-size: 15px;
}

/* Strategic CTA Section */
.result-cta-group-enhanced {
  margin-top: 60px;
  padding: 50px;
  background: linear-gradient(135deg, #00559f 0%, #003d7a 100%);
  border-radius: 16px;
  text-align: center;
  color: #ffffff;
  box-shadow: 0 10px 40px rgba(0, 85, 159, 0.3);
}

.cta-content h4 {
  font-size: 32px;
  font-weight: 700;
  margin-bottom: 15px;
  color: #ffffff;
}

.cta-content > p {
  font-size: 18px;
  margin-bottom: 30px;
  line-height: 1.7;
  opacity: 0.95;
}

.cta-buttons {
  display: flex;
  gap: 20px;
  justify-content: center;
  margin-bottom: 25px;
  flex-wrap: wrap;
}

.cta-disclaimer {
  font-size: 13px;
  opacity: 0.8;
  margin-top: 25px;
  font-style: italic;
}

/* Animations */
@keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translateY(-30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes slideInRight {
  from {
    opacity: 0;
    transform: translateX(30px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes slideInLeft {
  from {
    opacity: 0;
    transform: translateX(-30px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes float {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
}

@keyframes pulse {
  0%, 100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.05);
  }
}

@keyframes bounce {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-5px);
  }
}

@keyframes pulseButton {
  0%, 100% {
    box-shadow: 0 0 0 0 rgba(0, 85, 159, 0.7);
  }
  50% {
    box-shadow: 0 0 0 10px rgba(0, 85, 159, 0);
  }
}

@keyframes scaleIn {
  from {
    opacity: 0;
    transform: scale(0.9);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

/* Responsive Design */
@media (max-width: 768px) {
  .full-diagnostic-form,
  .full-diagnostic-result {
    padding: 30px 20px;
  }
  
  .form-row {
    grid-template-columns: 1fr;
  }
  
  .checkbox-group-enhanced {
    grid-template-columns: 1fr;
  }
  
  .gap-comparison-enhanced {
    flex-direction: column;
  }
  
  .gap-arrow-enhanced {
    transform: rotate(90deg);
  }
  
  .form-row-enhanced {
    flex-direction: column;
  }
  
  .cta-buttons {
    flex-direction: column;
  }
  
  .cta-buttons .btn {
    width: 100%;
  }
  
  .question-icon-animated {
    font-size: 48px;
  }
  
  .question-title {
    font-size: 24px;
  }
}


/* ========================================
   MEMORABLE UX ENHANCEMENTS
   ======================================== */

.celebration-animation {
  animation: celebrate 0.8s ease-out;
}

@keyframes celebrate {
  0% { transform: scale(1) rotate(0deg); }
  25% { transform: scale(1.1) rotate(-5deg); }
  50% { transform: scale(1.15) rotate(5deg); }
  75% { transform: scale(1.1) rotate(-3deg); }
  100% { transform: scale(1) rotate(0deg); }
}

.step-complete {
  position: relative;
  overflow: hidden;
}

.step-complete::after {
  content: '✓';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0);
  font-size: 80px;
  color: #27ae60;
  font-weight: bold;
  animation: checkmarkPop 0.6s ease-out;
  pointer-events: none;
  z-index: 100;
  text-shadow: 0 0 20px rgba(39, 174, 96, 0.8);
}

@keyframes checkmarkPop {
  0% { transform: translate(-50%, -50%) scale(0) rotate(-180deg); opacity: 0; }
  50% { transform: translate(-50%, -50%) scale(1.2) rotate(0deg); opacity: 1; }
  100% { transform: translate(-50%, -50%) scale(1) rotate(0deg); opacity: 0; }
}

.result-reveal {
  animation: resultReveal 1.2s cubic-bezier(0.34, 1.56, 0.64, 1);
}

@keyframes resultReveal {
  0% { opacity: 0; transform: scale(0.8) translateY(50px); filter: blur(10px); }
  60% { opacity: 1; transform: scale(1.05) translateY(-10px); filter: blur(2px); }
  100% { opacity: 1; transform: scale(1) translateY(0); filter: blur(0); }
}

.form-group input:focus,
.form-group select:focus {
  transform: scale(1.02);
  box-shadow: 0 0 0 4px rgba(0, 85, 159, 0.15), 0 8px 25px rgba(0, 85, 159, 0.2);
  transition: all 0.3s ease;
}

.btn-primary:hover {
  transform: translateY(-2px) scale(1.05);
  box-shadow: 0 8px 25px rgba(0, 85, 159, 0.4);
  transition: all 0.3s ease;
}

.input-success {
  border-color: #27ae60 !important;
  box-shadow: 0 0 0 3px rgba(39, 174, 96, 0.2) !important;
}

.input-error {
  border-color: #e74c3c !important;
  box-shadow: 0 0 0 3px rgba(231, 76, 60, 0.2) !important;
  animation: shake 0.5s ease;
}

@keyframes shake {
  0%, 100% { transform: translateX(0); }
  25% { transform: translateX(-10px); }
  75% { transform: translateX(10px); }
}

.achievement-badge {
  display: inline-block;
  padding: 12px 24px;
  background: linear-gradient(135deg, #27ae60 0%, #229954 100%);
  color: white;
  border-radius: 50px;
  font-weight: 700;
  font-size: 16px;
  box-shadow: 0 4px 15px rgba(39, 174, 96, 0.4);
  animation: achievementPop 0.8s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

.achievement-badge::before {
  content: '🏆';
  margin-right: 8px;
}

@keyframes achievementPop {
  0% { transform: scale(0) rotate(-180deg); opacity: 0; }
  60% { transform: scale(1.15) rotate(10deg); opacity: 1; }
  100% { transform: scale(1) rotate(0deg); opacity: 1; }
}

.personalized-message {
  background: linear-gradient(135deg, #f0f7ff 0%, #e6f3ff 100%);
  border-left: 4px solid #00559f;
  padding: 20px;
  border-radius: 8px;
  margin: 20px 0;
  animation: slideInLeft 0.5s ease;
}

.personalized-message strong {
  color: #00559f;
  font-size: 18px;
}


/* ========================================
   ADVANCED UX ENHANCEMENTS - RESEARCH-BASED
   ======================================== */

/* Exit Intent Overlay */
.exit-intent-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.8);
  z-index: 10000;
  display: none;
  align-items: center;
  justify-content: center;
  animation: fadeIn 0.3s ease;
}

.exit-intent-modal {
  background: white;
  border-radius: 16px;
  padding: 40px;
  max-width: 500px;
  text-align: center;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
  animation: scaleIn 0.3s ease;
}

.exit-intent-modal h3 {
  font-size: 24px;
  color: #1a1a1a;
  margin-bottom: 15px;
}

.exit-intent-modal p {
  color: #666;
  margin-bottom: 25px;
  line-height: 1.6;
}

/* Progress Momentum Indicator */
.progress-momentum {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 15px;
  padding: 12px;
  background: #f0f7ff;
  border-radius: 8px;
  font-size: 14px;
  color: #00559f;
  font-weight: 600;
}

.progress-momentum::before {
  content: '⚡';
  font-size: 18px;
}

/* Time Spent Indicator */
.time-spent-indicator {
  position: absolute;
  top: 20px;
  right: 20px;
  padding: 8px 16px;
  background: rgba(0, 85, 159, 0.1);
  border-radius: 20px;
  font-size: 12px;
  color: #00559f;
  font-weight: 600;
}

/* Value Reinforcement Cards */
.value-reinforcement {
  background: linear-gradient(135deg, #e8f5e9 0%, #c8e6c9 100%);
  border-left: 4px solid #27ae60;
  padding: 15px 20px;
  border-radius: 8px;
  margin: 20px 0;
  animation: slideInLeft 0.5s ease;
}

.value-reinforcement strong {
  color: #2e7d32;
  display: block;
  margin-bottom: 5px;
}

/* Trust Signal Badges */
.trust-signal {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  background: #f0f7ff;
  border: 1px solid #00559f;
  border-radius: 20px;
  font-size: 13px;
  color: #00559f;
  font-weight: 600;
  margin: 5px;
}

.trust-signal::before {
  content: '✓';
  font-weight: bold;
  font-size: 16px;
}

/* Completion Celebration Enhanced */
.completion-celebration {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: white;
  padding: 40px;
  border-radius: 16px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
  z-index: 10001;
  text-align: center;
  max-width: 400px;
  animation: celebrationPop 0.6s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  display: none;
}

.completion-celebration.show {
  display: block;
}

@keyframes celebrationPop {
  0% { transform: translate(-50%, -50%) scale(0) rotate(-180deg); opacity: 0; }
  60% { transform: translate(-50%, -50%) scale(1.1) rotate(10deg); opacity: 1; }
  100% { transform: translate(-50%, -50%) scale(1) rotate(0deg); opacity: 1; }
}

.completion-celebration-icon {
  font-size: 64px;
  margin-bottom: 20px;
  animation: bounce 1s ease-in-out;
}

/* Mobile Optimizations */
@media (max-width: 768px) {
  .time-spent-indicator {
    position: relative;
    top: 0;
    right: 0;
    display: inline-block;
    margin-bottom: 15px;
  }
  
  .exit-intent-modal {
    padding: 30px 20px;
    margin: 20px;
  }
  
  .progress-momentum {
    font-size: 12px;
    padding: 10px;
  }
}

/* Accessibility Enhancements */
.diagnostic-question:focus-within {
  outline: 3px solid #00559f;
  outline-offset: 5px;
  border-radius: 8px;
}

.btn:focus {
  outline: 3px solid #00559f;
  outline-offset: 2px;
}

/* Loading States */
.form-loading {
  position: relative;
  pointer-events: none;
  opacity: 0.7;
}

.form-loading::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 40px;
  height: 40px;
  margin: -20px 0 0 -20px;
  border: 4px solid #f3f3f3;
  border-top: 4px solid #00559f;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}


/* FIX: Badge text visibility */
.diagnostic-badge-premium,
.diagnostic-badge-premium *,
.diagnostic-badge-premium span {
  color: #ffffff !important;
}


/* CRITICAL FIX: Badge text must be white */



/* Badge text in blue */
.diagnostic-badge-premium span:not(.badge-icon) {
  color: #00559f !important;
}

/* FM Noise Index Calculator Styles */
.noise-score-display {
  text-align: center;
  padding: 40px 20px;
  background: linear-gradient(135deg, #f7f9fc 0%, #ffffff 100%);
  border-radius: 12px;
  margin: 30px 0;
}

.noise-score-circle {
  width: 200px;
  height: 200px;
  margin: 0 auto 30px;
  position: relative;
}

.noise-score-svg {
  width: 100%;
  height: 100%;
  transform: rotate(-90deg);
}

.noise-score-bg {
  fill: none;
  stroke: #e0e0e0;
  stroke-width: 8;
}

.noise-score-bar {
  fill: none;
  stroke-width: 8;
  stroke-linecap: round;
  transition: stroke-dashoffset 1s ease;
}

.noise-score-value {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 48px;
  font-weight: 700;
  color: #00559f;
}

.noise-score-label {
  text-align: center;
  font-size: 18px;
  color: #666;
  margin-top: 10px;
}

.noise-score-interpretation {
  text-align: center;
  margin-top: 20px;
  padding: 20px;
  background: white;
  border-radius: 8px;
  border-left: 4px solid #00559f;
}

.noise-breakdown-section, .noise-benchmark-section, .noise-recommendations-section {
  margin: 30px 0;
  padding: 30px;
  background: white;
  border-radius: 12px;
  box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}

.noise-breakdown-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 15px;
  margin: 10px 0;
  background: #f7f9fc;
  border-radius: 8px;
}

.noise-breakdown-label {
  font-weight: 600;
  color: #333;
}

.noise-breakdown-value {
  font-size: 20px;
  font-weight: 700;
  color: #00559f;
}

.noise-benchmark-comparison {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 20px;
  margin-top: 20px;
}

.benchmark-item {
  text-align: center;
  padding: 20px;
  background: #f7f9fc;
  border-radius: 8px;
}

.benchmark-label {
  font-size: 14px;
  color: #666;
  margin-bottom: 10px;
}

.benchmark-score {
  font-size: 32px;
  font-weight: 700;
  color: #00559f;
}

.noise-recommendations-list {
  list-style: none;
  padding: 0;
}

.noise-recommendation-item {
  padding: 15px;
  margin: 10px 0;
  background: #f7f9fc;
  border-left: 4px solid #00559f;
  border-radius: 4px;
}




/* AI Feature Enhancements - Animations & Visual Effects */
.ai-feature-teaser {
  animation: fadeInUp 0.6s ease;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.ai-feature-teaser:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0, 85, 159, 0.25);
}

.ai-upgrade-cta {
  animation: fadeInUp 0.8s ease;
  box-shadow: 0 8px 24px rgba(0, 85, 159, 0.2);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  position: relative;
  overflow: hidden;
}

.ai-upgrade-cta::before {
  content: '';
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: linear-gradient(45deg, transparent, rgba(255,255,255,0.1), transparent);
  transform: rotate(45deg);
  animation: shimmer 3s infinite;
}

@keyframes shimmer {
  0% { transform: translateX(-100%) translateY(-100%) rotate(45deg); }
  100% { transform: translateX(100%) translateY(100%) rotate(45deg); }
}

.ai-upgrade-cta:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 32px rgba(0, 85, 159, 0.3);
}

.ai-upgrade-cta:hover::before {
  animation-duration: 1.5s;
}

.ai-upgrade-cta > div[style*="background: rgba"]:hover {
  transform: translateY(-3px);
  background: rgba(255,255,255,0.15) !important;
  transition: all 0.3s ease;
}

@media (max-width: 768px) {
  .ai-upgrade-cta {
    padding: 20px !important;
  }
  
  .ai-upgrade-cta > div[style*="display: grid"] {
    grid-template-columns: 1fr !important;
  }
}

/* Quick Friction Assessment Styles */
#friction-assessment {
  padding: 60px 0;
}

.friction-score-display {
  text-align: center;
  padding: 40px 20px;
  background: linear-gradient(135deg, #f7f9fc 0%, #ffffff 100%);
  border-radius: 12px;
  margin: 30px 0;
}

.friction-score-circle {
  width: 200px;
  height: 200px;
  margin: 0 auto 30px;
  position: relative;
}

.friction-score-svg {
  width: 100%;
  height: 100%;
  transform: rotate(-90deg);
}

.friction-score-bg {
  fill: none;
  stroke: #e0e0e0;
  stroke-width: 8;
}

.friction-score-bar {
  fill: none;
  stroke-width: 8;
  stroke-linecap: round;
  transition: stroke-dashoffset 1s ease;
}

.friction-score-value {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 48px;
  font-weight: 700;
  color: #00559f;
}

.friction-score-label {
  text-align: center;
  font-size: 18px;
  color: #666;
  margin-top: 10px;
}

.friction-score-interpretation {
  text-align: center;
  margin-top: 20px;
  padding: 20px;
  background: white;
  border-radius: 8px;
  border-left: 4px solid #00559f;
}

.friction-breakdown-section, .friction-benchmark-section, .friction-recommendations-section {
  margin: 30px 0;
  padding: 30px;
  background: white;
  border-radius: 12px;
  box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}

.friction-breakdown-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 15px;
  margin: 10px 0;
  background: #f7f9fc;
  border-radius: 8px;
}

.friction-breakdown-label {
  font-weight: 600;
  color: #333;
}

.friction-breakdown-value {
  font-size: 20px;
  font-weight: 700;
  color: #00559f;
}

.friction-benchmark-comparison {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 20px;
  margin-top: 20px;
}

.friction-benchmark-item {
  text-align: center;
  padding: 20px;
  background: #f7f9fc;
  border-radius: 8px;
}

.friction-benchmark-label {
  font-size: 14px;
  color: #666;
  margin-bottom: 10px;
}

.friction-benchmark-score {
  font-size: 32px;
  font-weight: 700;
  color: #00559f;
}

.friction-recommendations-list {
  list-style: none;
  padding: 0;
}

.friction-recommendation-item {
  padding: 15px;
  margin: 10px 0;
  background: #f7f9fc;
  border-left: 4px solid #00559f;
  border-radius: 4px;
}

.input-hint {
  display: block;
  font-size: 12px;
  color: #666;
  margin-top: 5px;
}

@media (max-width: 768px) {
  .friction-score-circle {
    width: 150px;
    height: 150px;
  }
  
  .friction-score-value {
    font-size: 36px;
  }
}


/* ========== TESTIMONY SECTION - FORCE DARK BACKGROUND ========== */
section.testimony-section {
  background: #1a1a1a !important;
  background-color: #1a1a1a !important;
  background-image: none !important;
  color: #ffffff !important;
}

section.testimony-section * {
  color: #ffffff !important;
}

section.testimony-section blockquote {
  color: #ffffff !important;
}

section.testimony-section strong {
  color: #ffffff !important;
  font-weight: 700 !important;
}

section.testimony-section span {
  color: #ffffff !important;
}





/* ========== 2026 AI INNOVATIONS SECTION - Neural Network Gradient ========== */
section.ai-innovations-section,
section.section.ai-innovations-section {
  background: linear-gradient(135deg, #0a0e27 0%, #1a1f3a 30%, #2d3561 60%, #00d4ff 100%) !important;
  background-color: transparent !important;
  background-image: none !important;
}

section.ai-innovations-section h2,
section.ai-innovations-section .section-title {
  color: #00d4ff !important;
  text-shadow: 0 0 20px rgba(0, 212, 255, 0.3) !important;
}

section.ai-innovations-section p.section-intro,
section.ai-innovations-section .section-intro {
  color: #7dd3fc !important;
}


/* ========== WHY UKBPM'S AI SECTION - Neural Network Gradient ========== */
section[style*="linear-gradient(135deg, #0a0e27"] {
  background: linear-gradient(135deg, #0a0e27 0%, #1a1f3a 30%, #2d3561 60%, #00d4ff 100%) !important;
  background-color: transparent !important;
  background-image: none !important;
}

section[style*="linear-gradient(135deg, #0a0e27"] h2.section-title {
  color: #00d4ff !important;
  text-shadow: 0 0 20px rgba(0, 212, 255, 0.3) !important;
}

section[style*="linear-gradient(135deg, #0a0e27"] p.section-intro {
  color: #7dd3fc !important;
}

/* Force tile colors */
.why-ukbpm-ai-card {
  background: rgba(0, 212, 255, 0.12) !important;
  border: 1px solid rgba(0, 212, 255, 0.4) !important;
}

.why-ukbpm-ai-card h3 {
  color: #00d4ff !important;
}

.why-ukbpm-ai-card p {
  color: #7dd3fc !important;
}


/* ========== ONE VIEW DASHBOARD PREVIEW - Phase 1 Enhanced ========== */
.dashboard-preview-wrapper {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.8s cubic-bezier(0.4, 0, 0.2, 1), transform 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}

.dashboard-preview-wrapper.fade-in-on-scroll.visible,
.dashboard-preview-wrapper.fade-in-on-scroll.animated {
  opacity: 1;
  transform: translateY(0);
}

.dashboard-preview-wrapper.wake-up .dashboard-preview-container{
  animation: dashboardWake 0.8s ease;
}

@keyframes dashboardWake{
  0%{transform:translateY(12px) scale(0.98); opacity:0.7;}
  60%{transform:translateY(0) scale(1.01); opacity:1;}
  100%{transform:translateY(0) scale(1); opacity:1;}
}

/* Staggered card animations */
.dashboard-metric-card {
  position: relative;
  overflow: hidden;
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s ease, transform 0.6s ease, all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.dashboard-metric-card.animated {
  opacity: 1;
  transform: translateY(0);
}

.dashboard-metric-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.5), transparent);
  transition: left 0.6s ease;
  z-index: 1;
}

.dashboard-metric-card:hover::before {
  left: 100%;
}

.dashboard-metric-card:hover {
  transform: translateY(-6px) scale(1.03);
  box-shadow: 0 12px 32px rgba(0,0,0,0.15);
  border-left-width: 6px;
  z-index: 2;
}

.dashboard-metric-card .metric-value {
  position: relative;
  z-index: 2;
}

.count-up {
  display: inline-block;
}

/* Enhanced pulse animation */
@keyframes pulse {
  0%, 100% {
    opacity: 1;
    transform: scale(1);
    box-shadow: 0 0 0 0 rgba(39, 174, 96, 0.7);
  }
  50% {
    opacity: 0.8;
    transform: scale(1.15);
    box-shadow: 0 0 0 8px rgba(39, 174, 96, 0);
  }
}

.status-dot {
  animation: pulse 2s ease-in-out infinite;
}

/* Staggered alert animations */
@keyframes slideInLeft {
  from {
    opacity: 0;
    transform: translateX(-30px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

.alert-item {
  opacity: 0;
  transform: translateX(-20px);
  transition: opacity 0.5s ease, transform 0.5s ease, all 0.3s ease;
}

.alert-item.animated {
  opacity: 1;
  transform: translateX(0);
}

.alert-item:hover {
  transform: translateX(4px);
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

/* Chart container enhancements */
.dashboard-chart-section {
  position: relative;
  overflow: hidden;
}

.dashboard-chart-section::before {
  content: "";
  position: absolute;
  top: -50%;
  right: -50%;
  width: 200%;
  height: 200%;
  background: radial-gradient(circle, rgba(0, 85, 159, 0.03) 0%, transparent 70%);
  pointer-events: none;
}

#dashboard-trend-chart,
#dashboard-health-chart {
  max-width: 100%;
  height: auto;
}

/* Health score glow effect */
.dashboard-health-section {
  position: relative;
}

.dashboard-health-section::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 250px;
  height: 250px;
  background: radial-gradient(circle, rgba(39, 174, 96, 0.1) 0%, transparent 70%);
  border-radius: 50%;
  pointer-events: none;
  z-index: 0;
}

.dashboard-health-section > div {
  position: relative;
  z-index: 1;
}

/* Responsive design */
@media (max-width: 768px) {
  .dashboard-metrics-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  
  .dashboard-preview-container {
    padding: 24px !important;
    border-radius: 16px !important;
  }
  
  .dashboard-header {
    flex-direction: column;
    align-items: flex-start !important;
    gap: 16px;
  }
  
  .chart-legend {
    flex-direction: column;
    gap: 8px !important;
    margin-top: 12px;
  }
  
  .dashboard-preview-title {
    font-size: 24px !important;
  }
  
  .dashboard-preview-subtitle {
    font-size: 16px !important;
  }
}

/* Performance optimizations */
.dashboard-metric-card,
.alert-item,
.dashboard-chart-section {
  will-change: transform;
  backface-visibility: hidden;
}

/* Loading state */
.dashboard-preview-wrapper.loading {
  opacity: 0.5;
  pointer-events: none;
}

/* Accessibility enhancements */
.dashboard-metric-card:focus {
  outline: 2px solid #00559f;
  outline-offset: 2px;
}

.dashboard-metric-card:focus:not(:focus-visible) {
  outline: none;
}

/* ========== FM NOISE INDEX DASHBOARD PREVIEW - Phase 2 ========== */
.noise-dashboard-container {
  position: relative;
  overflow: hidden;
}

.noise-dashboard-container::before {
  content: "";
  position: absolute;
  top: -50%;
  right: -50%;
  width: 200%;
  height: 200%;
  background: radial-gradient(circle, rgba(0, 85, 159, 0.02) 0%, transparent 70%);
  pointer-events: none;
  z-index: 0;
}

.noise-dashboard-container > * {
  position: relative;
  z-index: 1;
}

/* Time Period Selector */
.period-btn {
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.period-btn:hover {
  background: rgba(0, 85, 159, 0.1) !important;
  color: #00559f !important;
  transform: translateY(-1px);
}

.period-btn.active {
  box-shadow: 0 2px 8px rgba(0, 85, 159, 0.2);
}

/* Noise Score Circle Animation */
.noise-score-circle-wrapper {
  position: relative;
  z-index: 1;
}

.noise-score-circle-wrapper canvas {
  position: relative;
  z-index: 1;
}

.noise-score-value {
  animation: fadeInUp 0.8s ease;
  display: block;
  margin-bottom: 0 !important;
}

.noise-score-label {
  display: block;
  margin-top: 40px !important;
  clear: both;
  position: relative;
  top: 16px;
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Noise Source Cards */
.noise-source-card {
  position: relative;
  overflow: hidden;
}

.noise-source-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.4), transparent);
  transition: left 0.6s ease;
  z-index: 1;
}

.noise-source-card:hover::before {
  left: 100%;
}

.noise-source-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0,0,0,0.12) !important;
  border-left-width: 6px !important;
}

.noise-source-bar-fill {
  opacity: 0 !important;
  width: 0% !important;
  transition: width 1.5s ease-out, opacity 0.5s ease-out 0.2s !important;
}

.noise-source-bar-fill.animated {
  /* Transition will be applied via inline styles */
}

@keyframes fillBar {
  from {
    width: 0%;
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

/* Filter Buttons */
.filter-btn {
  position: relative;
  overflow: hidden;
}

.filter-btn::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  border-radius: 50%;
  background: rgba(0, 85, 159, 0.1);
  transform: translate(-50%, -50%);
  transition: width 0.6s ease, height 0.6s ease;
}

.filter-btn:hover::before {
  width: 300px;
  height: 300px;
}

.filter-btn:hover {
  border-color: #00559f !important;
  color: #00559f !important;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 85, 159, 0.15);
}

.filter-btn.active {
  box-shadow: 0 2px 8px rgba(0, 85, 159, 0.2);
}

/* Responsive Design */
@media (max-width: 968px) {
  .noise-dashboard-grid {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
  
  .noise-sources-grid {
    grid-template-columns: 1fr !important;
  }
  
  .time-period-selector {
    flex-direction: column;
    width: 100%;
  }
  
  .period-btn {
    width: 100%;
  }
  
  .filter-buttons {
    flex-direction: column;
  }
  
  .filter-btn {
    width: 100%;
  }
}

@media (max-width: 768px) {
  .noise-dashboard-container {
    padding: 24px !important;
    border-radius: 16px !important;
  }
  
  .dashboard-header-row {
    flex-direction: column;
    align-items: flex-start !important;
    gap: 20px;
  }
  
  .time-period-selector {
    width: 100%;
  }
}

/* Animation delays for staggered effect */
.noise-source-card:nth-child(1) {
  animation-delay: 0.1s;
}

.noise-source-card:nth-child(2) {
  animation-delay: 0.2s;
}

.noise-source-card:nth-child(3) {
  animation-delay: 0.3s;
}

/* Performance optimizations */
.noise-source-card,
.filter-btn,
.period-btn {
  will-change: transform;
  backface-visibility: hidden;
}

/* ========== BEFORE/AFTER DASHBOARD COMPARISON - Phase 3 ========== */
.before-after-container {
  position: relative;
  min-height: 600px;
}

.dashboard-view {
  transition: opacity 0.5s ease, transform 0.5s ease;
}

.dashboard-view.active {
  opacity: 1 !important;
  pointer-events: auto !important;
  position: relative !important;
  z-index: 2;
}

.dashboard-view:not(.active) {
  opacity: 0 !important;
  pointer-events: none !important;
  position: absolute !important;
  z-index: 1;
}

/* Toggle Button Styles */
.toggle-btn {
  position: relative;
  overflow: hidden;
}

.toggle-btn::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  border-radius: 50%;
  background: rgba(0, 85, 159, 0.1);
  transform: translate(-50%, -50%);
  transition: width 0.6s ease, height 0.6s ease;
}

.toggle-btn:hover::before {
  width: 300px;
  height: 300px;
}

.toggle-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 85, 159, 0.15);
}

.toggle-btn.active {
  box-shadow: 0 2px 8px rgba(0, 85, 159, 0.2);
}

/* Metric Card Animations */
.metric-card-before,
.metric-card-after {
  position: relative;
  overflow: hidden;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.metric-card-before::before,
.metric-card-after::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.4), transparent);
  transition: left 0.6s ease;
  z-index: 1;
}

.metric-card-before:hover::before,
.metric-card-after:hover::before {
  left: 100%;
}

.metric-card-before:hover,
.metric-card-after:hover {
  transform: translateY(-4px) scale(1.02);
  box-shadow: 0 8px 24px rgba(0,0,0,0.12);
  border-left-width: 6px;
}

/* Improvement Cards */
.improvement-card {
  position: relative;
  overflow: hidden;
  transition: all 0.3s ease;
}

.improvement-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 32px rgba(0,0,0,0.12);
  border-color: #00559f;
}

/* Fade-in animations */
@keyframes fadeInDashboard {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.dashboard-view.active {
  animation: fadeInDashboard 0.6s ease;
}

/* Responsive Design */
@media (max-width: 968px) {
  .dashboard-metrics-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  
  .improvement-highlights > div {
    grid-template-columns: 1fr !important;
  }
  
  .toggle-container {
    flex-direction: column;
    width: 100%;
  }
  
  .toggle-btn {
    width: 100%;
  }
}

@media (max-width: 768px) {
  .dashboard-metrics-grid {
    grid-template-columns: 1fr !important;
  }
  
  .before-after-container {
    min-height: 800px;
  }
}

/* ========== INTERACTIVE FRICTION MAP - Drag and Drop ========== */
.interactive-floor-plan-container {
  position: relative;
}

#floor-plan-canvas {
  user-select: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
}

.friction-point {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.friction-point:hover {
  transform: scale(1.2);
  box-shadow: 0 4px 12px rgba(0,0,0,0.3);
  z-index: 20 !important;
}

.friction-point:active {
  transform: scale(1.1);
  cursor: grabbing !important;
}

.palette-item {
  user-select: none;
  -webkit-user-select: none;
}

.palette-item:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

.palette-item:active {
  transform: translateY(0);
  cursor: grabbing;
}

.palette-item[draggable="true"]:hover {
  border-width: 3px !important;
}

.map-controls .btn {
  transition: all 0.2s ease;
}

.map-controls .btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(0,0,0,0.15);
}

/* What If Scenario Calculator Styles */
.what-if-scenario-section {
  margin-top: 60px;
}

.scenario-input-group input[type="number"] {
  transition: border-color 0.2s ease;
}

.scenario-input-group input[type="number"]:focus {
  border-color: #00559f;
  outline: none;
}

.scenario-input-group input[type="range"] {
  -webkit-appearance: none;
  appearance: none;
  height: 6px;
  background: #e4edf7;
  border-radius: 3px;
  outline: none;
}

.scenario-input-group input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 18px;
  height: 18px;
  background: #00559f;
  border-radius: 50%;
  cursor: pointer;
  transition: all 0.2s ease;
}

.scenario-input-group input[type="range"]::-webkit-slider-thumb:hover {
  transform: scale(1.2);
  background: #004080;
}

.scenario-input-group input[type="range"]::-moz-range-thumb {
  width: 18px;
  height: 18px;
  background: #00559f;
  border-radius: 50%;
  cursor: pointer;
  border: none;
  transition: all 0.2s ease;
}

.scenario-input-group input[type="range"]::-moz-range-thumb:hover {
  transform: scale(1.2);
  background: #004080;
}

.scenario-result-card {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.scenario-result-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0,0,0,0.12);
}

/* Mobile Responsive for New Features */
@media (max-width: 768px) {
  .interactive-floor-plan-container {
    padding: 16px !important;
  }
  
  #floor-plan-canvas {
    min-height: 400px !important;
    height: 400px !important;
  }
  
  .palette-items {
    grid-template-columns: 1fr !important;
  }
  
  .scenario-inputs {
    grid-template-columns: 1fr !important;
  }
  
  .scenario-results {
    grid-template-columns: 1fr !important;
  }
  
  .map-controls {
    flex-direction: column;
  }
  
  .map-controls .btn {
    width: 100%;
  }
}

/* ========== COMPACT FRICTION ANALYSIS DASHBOARD ========== */
#friction-map-analysis {
  scrollbar-width: thin;
  scrollbar-color: #cbd5e0 #f7f9fc;
}

#friction-map-analysis::-webkit-scrollbar {
  width: 6px;
}

#friction-map-analysis::-webkit-scrollbar-track {
  background: #f7f9fc;
  border-radius: 3px;
}

#friction-map-analysis::-webkit-scrollbar-thumb {
  background: #cbd5e0;
  border-radius: 3px;
}

#friction-map-analysis::-webkit-scrollbar-thumb:hover {
  background: #a0aec0;
}

/* Critical friction point pulse animation */
@keyframes criticalPulse {
  0%, 100% {
    box-shadow: 0 4px 12px rgba(255,0,0,0.4), 0 0 0 2px rgba(255,0,0,0.2);
    transform: scale(1);
  }
  50% {
    box-shadow: 0 6px 16px rgba(255,0,0,0.6), 0 0 0 4px rgba(255,0,0,0.3);
    transform: scale(1.05);
  }
}

.friction-point[data-level="critical"] {
  animation: criticalPulse 2s ease-in-out infinite !important;
}

/* Business Critical Systems tile - match Fire Safety format */
.palette-item[data-category="business-critical"] {
  background: linear-gradient(135deg, #fee 0%, #fdd 100%) !important;
  border: 3px solid #cc0000 !important;
}

.palette-item[data-category="business-critical"] div[style*="font-size: 13px"] {
  color: #0b2540 !important;
  font-weight: 600 !important;
}

.palette-item[data-category="business-critical"] div[style*="font-size: 11px"] {
  color: #cc0000 !important;
}

/* Friction Map Analysis Panel - Scroll Behavior */
#friction-map-analysis {
  transition: opacity 0.3s ease, transform 0.3s ease !important;
}

#friction-map-analysis.hidden {
  opacity: 0 !important;
  pointer-events: none !important;
  transform: translateX(20px) !important;
}

/* Responsive: Hide floating panel on mobile, show inline */
@media (max-width: 768px) {
  #friction-map-analysis {
    /* Keep it pinned on mobile too (compact, non-obstructive) */
    position: fixed !important;
    left: 12px !important;
    right: 12px !important;
    top: auto !important;
    bottom: 12px !important;
    width: auto !important;
    max-height: 55vh !important;
    margin-top: 0 !important;
    z-index: 10000 !important;
  }
}

/* ========== WHAT IF CALCULATOR ENHANCEMENTS - Option B ========== */

/* Callout Banner Animation */
@keyframes slideDownFade {
  from {
    opacity: 0;
    transform: translateY(-20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

#what-if-callout-banner {
  animation: slideDownFade 0.5s ease-out;
}

/* What If Section Highlight */
#what-if-scenario-section.highlight {
  animation: pulseHighlight 2s ease-in-out;
}

@keyframes pulseHighlight {
  0%, 100% {
    box-shadow: 0 0 0 0 rgba(0,85,159,0.4);
    border-top-color: #e4edf7;
  }
  50% {
    box-shadow: 0 0 0 8px rgba(0,85,159,0.1);
    border-top-color: #00559f;
  }
}

/* Slider Styling Enhancements */
.scenario-input-group input[type="range"] {
  -webkit-appearance: none;
  appearance: none;
  height: 6px;
  background: #e4edf7;
  border-radius: 3px;
  outline: none;
  transition: background 0.2s ease;
}

.scenario-input-group input[type="range"]:hover {
  background: #cbd5e0;
}

.scenario-input-group input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 20px;
  height: 20px;
  background: #00559f;
  border-radius: 50%;
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: 0 2px 4px rgba(0,0,0,0.2);
}

.scenario-input-group input[type="range"]::-webkit-slider-thumb:hover {
  background: #003d7a;
  transform: scale(1.1);
  box-shadow: 0 3px 6px rgba(0,0,0,0.3);
}

.scenario-input-group input[type="range"]::-moz-range-thumb {
  width: 20px;
  height: 20px;
  background: #00559f;
  border-radius: 50%;
  cursor: pointer;
  border: none;
  transition: all 0.2s ease;
  box-shadow: 0 2px 4px rgba(0,0,0,0.2);
}

.scenario-input-group input[type="range"]::-moz-range-thumb:hover {
  background: #003d7a;
  transform: scale(1.1);
  box-shadow: 0 3px 6px rgba(0,0,0,0.3);
}

/* Result Cards Animation */
.scenario-result-card {
  transition: all 0.3s ease;
}

.scenario-result-card.updated {
  animation: resultPulse 0.6s ease;
}

@keyframes resultPulse {
  0%, 100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.05);
    box-shadow: 0 8px 24px rgba(0,0,0,0.15);
  }
}

/* Example Button Hover Effects */
.what-if-example-btn {
  transition: all 0.2s ease !important;
}

.what-if-example-btn:active {
  transform: scale(0.95);
}

/* Responsive Adjustments */
@media (max-width: 768px) {
  #what-if-callout-banner {
    padding: 16px !important;
  }
  
  #what-if-callout-banner > div {
    flex-direction: column !important;
    align-items: stretch !important;
  }
  
  #scroll-to-what-if-btn {
    width: 100% !important;
    margin-top: 12px;
  }
}


/* ========== METRICS SHOWCASE - COMPREHENSIVE ENHANCEMENTS ========== */

/* Hero Metrics - Above the Fold */
.hero-metrics-container {
  animation: fadeInUp 0.8s ease-out;
}

.hero-metric-item {
  position: relative;
  transition: transform 0.3s ease;
}

.hero-metric-item:hover {
  transform: translateY(-4px);
}

.hero-metric-value {
  position: relative;
  display: inline-block;
}

.hero-metric-value::after {
  content: "";
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 0;
  height: 2px;
  background: linear-gradient(90deg, #ffffff, rgba(255,255,255,0.5));
  transition: width 0.6s ease;
}

.hero-metric-item:hover .hero-metric-value::after {
  width: 100%;
}

.hero-metrics-link {
  position: relative;
  transition: all 0.3s ease;
}

.hero-metrics-link:hover {
  transform: translateY(-2px);
}

/* Industry Filter Tabs - Advanced Styling */
.industry-filter-btn {
  position: relative;
  overflow: hidden;
}

.industry-filter-btn::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
  transition: left 0.5s ease;
}

.industry-filter-btn:hover::before {
  left: 100%;
}

.industry-filter-btn.active {
  box-shadow: 0 4px 12px rgba(0, 85, 159, 0.3);
  transform: translateY(-2px);
}

.industry-filter-btn:not(.active):hover {
  background: #f0f7ff !important;
  border-color: #00559f !important;
  transform: translateY(-2px);
  box-shadow: 0 2px 8px rgba(0, 85, 159, 0.15);
}

/* Industry Metrics Banner */
.industry-metrics-banner {
  animation: slideDownFade 0.5s ease-out;
}

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

/* Enhanced Metric Cards with Glassmorphism */
.metric-card {
  position: relative;
  overflow: hidden;
  backdrop-filter: blur(10px);
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.metric-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, rgba(255,255,255,0.1) 0%, rgba(255,255,255,0.05) 100%);
  opacity: 0;
  transition: opacity 0.4s ease;
  pointer-events: none;
  z-index: 1;
}

.metric-card:hover::before {
  opacity: 1;
}

.metric-card:hover {
  transform: translateY(-8px) scale(1.02);
  box-shadow: 0 12px 32px rgba(0, 85, 159, 0.2);
  border-color: #00559f;
}

.metric-card.primary {
  background: linear-gradient(135deg, #fff5f5 0%, #ffffff 100%);
  border: 2px solid #e74c3c;
}

.metric-card.highlight {
  background: linear-gradient(135deg, #f0fdf4 0%, #ffffff 100%);
  border: 2px solid #27ae60;
}

/* Staggered Animation for Metric Cards */
.metric-card {
  opacity: 0;
  transform: translateY(30px);
  animation: fadeInUpStagger 0.6s ease-out forwards;
}

.metric-card:nth-child(1) { animation-delay: 0.1s; }
.metric-card:nth-child(2) { animation-delay: 0.2s; }
.metric-card:nth-child(3) { animation-delay: 0.3s; }
.metric-card:nth-child(4) { animation-delay: 0.4s; }
.metric-card:nth-child(5) { animation-delay: 0.5s; }
.metric-card:nth-child(6) { animation-delay: 0.6s; }

@keyframes fadeInUpStagger {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Progress Bar Animation Enhancement */
.metric-progress-fill {
  position: relative;
  overflow: hidden;
}

.metric-progress-fill::after {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.4), transparent);
  animation: shimmer 2s infinite;
}

@keyframes shimmer {
  0% { left: -100%; }
  100% { left: 100%; }
}

/* Case Studies Filter Buttons */
.case-study-filter-btn {
  position: relative;
  overflow: hidden;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.case-study-filter-btn::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  border-radius: 50%;
  background: rgba(0, 85, 159, 0.1);
  transform: translate(-50%, -50%);
  transition: width 0.6s ease, height 0.6s ease;
}

.case-study-filter-btn:hover::before {
  width: 300px;
  height: 300px;
}

.case-study-filter-btn.active {
  box-shadow: 0 4px 16px rgba(0, 85, 159, 0.3);
  transform: translateY(-2px);
}

.case-study-filter-btn:not(.active):hover {
  background: #f0f7ff !important;
  border-color: #00559f !important;
  transform: translateY(-2px);
}

/* Case Study Fade Animation */
.case-study-full {
  transition: opacity 0.4s ease, transform 0.4s ease;
}

.case-study-full.filtered-out {
  opacity: 0;
  transform: translateY(-20px) scale(0.98);
  pointer-events: none;
  max-height: 0;
  overflow: hidden;
  margin: 0;
  padding: 0;
  transition: opacity 0.4s ease, transform 0.4s ease, max-height 0.5s ease, margin 0.4s ease, padding 0.4s ease;
}

.case-study-full.filtered-in {
  opacity: 1;
  transform: translateY(0) scale(1);
  max-height: 10000px; /* Large value to allow smooth transition */
  animation: fadeInUp 0.5s ease-out;
  transition: opacity 0.4s ease, transform 0.4s ease, max-height 0.5s ease;
}

/* Case Study Count Text Animation */
#case-studies-count {
  transition: opacity 0.3s ease;
}

#case-studies-count-text {
  transition: opacity 0.3s ease;
}

/* Industry Banner Animation */
.case-studies-industry-banner {
  transition: opacity 0.4s ease, transform 0.4s ease;
}

/* Particle Effect Background (Subtle) */
.metrics-showcase::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: 
    radial-gradient(circle at 20% 50%, rgba(0, 85, 159, 0.03) 0%, transparent 50%),
    radial-gradient(circle at 80% 80%, rgba(39, 174, 96, 0.03) 0%, transparent 50%);
  pointer-events: none;
  z-index: 0;
}

.metrics-showcase > .container {
  position: relative;
  z-index: 1;
}

/* Trust Badge Enhancement */
.trust-badge {
  position: relative;
  padding: 12px 24px;
  background: linear-gradient(135deg, #f0f7ff 0%, #e6f3ff 100%);
  border: 1px solid rgba(0, 85, 159, 0.2);
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  transition: all 0.3s ease;
}

.trust-badge:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 85, 159, 0.15);
  border-color: #00559f;
}

.trust-icon {
  width: 24px;
  height: 24px;
  background: #27ae60;
  color: #ffffff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 14px;
  animation: pulse 2s infinite;
}

/* Comparison Chart Enhancement */
.comparison-chart {
  position: relative;
  background: linear-gradient(135deg, #ffffff 0%, #f7f9fc 100%);
  border-radius: 16px;
  padding: 32px;
  box-shadow: 0 4px 16px rgba(0,0,0,0.08);
  transition: all 0.3s ease;
}

.comparison-chart:hover {
  box-shadow: 0 8px 24px rgba(0,0,0,0.12);
  transform: translateY(-4px);
}

/* Certification Badges */
.cert-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  background: #ffffff;
  border: 1px solid #e4edf7;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 600;
  color: #0b2540;
  transition: all 0.3s ease;
}

.cert-badge:hover {
  background: #f0f7ff;
  border-color: #00559f;
  transform: translateY(-2px);
  box-shadow: 0 2px 8px rgba(0, 85, 159, 0.15);
}

/* Responsive Design */
@media (max-width: 768px) {
  .hero-metrics-row {
    gap: 24px !important;
  }
  
  .hero-metric-value {
    font-size: 32px !important;
  }
  
  .hero-metric-divider {
    display: none;
  }
  
  .industry-filter-btn,
  .case-study-filter-btn {
    padding: 10px 16px !important;
    font-size: 13px !important;
  }
  
  .metrics-grid {
    grid-template-columns: 1fr !important;
  }
}

/* Advanced Hover Effects */
.metric-card::after {
  content: "";
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: radial-gradient(circle, rgba(0, 85, 159, 0.1) 0%, transparent 70%);
  opacity: 0;
  transition: opacity 0.4s ease;
  pointer-events: none;
  z-index: 0;
}

.metric-card:hover::after {
  opacity: 1;
}

.metric-card > * {
  position: relative;
  z-index: 2;
}

/* Gradient Text Effect for Key Metrics */
.metric-value {
  background: linear-gradient(135deg, #0b2540 0%, #00559f 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.metric-card.primary .metric-value {
  background: linear-gradient(135deg, #e74c3c 0%, #c0392b 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.metric-card.highlight .metric-value {
  background: linear-gradient(135deg, #27ae60 0%, #229954 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* Micro-interactions */
.industry-filter-btn:active,
.case-study-filter-btn:active {
  transform: translateY(0) scale(0.98);
}

/* Loading State */
.metrics-grid.loading .metric-card {
  opacity: 0.5;
  pointer-events: none;
}

/* Accessibility */
.industry-filter-btn:focus,
.case-study-filter-btn:focus {
  outline: 3px solid rgba(0, 85, 159, 0.5);
  outline-offset: 2px;
}

/* Print Styles */
@media print {
  .industry-filter-btn,
  .case-study-filter-btn,
  .hero-metrics-container {
    display: none;
  }
}


/* ========== ADVANCED COMPETITIVE FEATURES ========== */

/* Time-to-Value Section Animations */
.time-metric-card {
  position: relative;
  overflow: hidden;
}

.time-metric-card::before {
  content: "";
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: radial-gradient(circle, rgba(0, 212, 255, 0.2) 0%, transparent 70%);
  opacity: 0;
  transition: opacity 0.4s ease;
  pointer-events: none;
}

.time-metric-card:hover::before {
  opacity: 1;
}

.time-metric-card:hover {
  transform: translateY(-8px) scale(1.05);
  border-color: rgba(0, 212, 255, 0.8) !important;
  box-shadow: 0 12px 32px rgba(0, 212, 255, 0.3);
}

@keyframes float {
  0%, 100% {
    transform: translateY(0) translateX(0);
    opacity: 0.3;
  }
  50% {
    transform: translateY(-20px) translateX(10px);
    opacity: 0.6;
  }
}

/* Comparison Metric Cards */
.comparison-metric {
  position: relative;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  overflow: hidden;
}

.comparison-metric::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(39, 174, 96, 0.1), transparent);
  transition: left 0.6s ease;
}

.comparison-metric:hover::before {
  left: 100%;
}

.comparison-metric:hover {
  transform: translateY(-6px);
  box-shadow: 0 8px 24px rgba(39, 174, 96, 0.2);
  border-color: #27ae60;
}

/* Certification Badge Hover Effects */
.cert-badge {
  position: relative;
  overflow: hidden;
}

.cert-badge::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  border-radius: 50%;
  background: rgba(0, 85, 159, 0.1);
  transform: translate(-50%, -50%);
  transition: width 0.4s ease, height 0.4s ease;
}

.cert-badge:hover::after {
  width: 200px;
  height: 200px;
}

.cert-badge:hover {
  transform: translateY(-3px);
  box-shadow: 0 4px 12px rgba(0, 85, 159, 0.2);
}

/* Enhanced Staggered Animations */
.time-metric-card {
  opacity: 0;
  transform: translateY(40px) scale(0.9);
  animation: scaleInUp 0.8s ease-out forwards;
}

.time-metric-card:nth-child(1) { animation-delay: 0.2s; }
.time-metric-card:nth-child(2) { animation-delay: 0.4s; }
.time-metric-card:nth-child(3) { animation-delay: 0.6s; }

@keyframes scaleInUp {
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

.comparison-metric {
  opacity: 0;
  transform: translateX(-30px);
  animation: slideInRight 0.6s ease-out forwards;
}

.comparison-metric:nth-child(1) { animation-delay: 0.1s; }
.comparison-metric:nth-child(2) { animation-delay: 0.2s; }
.comparison-metric:nth-child(3) { animation-delay: 0.3s; }
.comparison-metric:nth-child(4) { animation-delay: 0.4s; }

@keyframes slideInRight {
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

/* Glow Effects */
.time-metric-card .time-count-up {
  position: relative;
  display: inline-block;
}

.time-metric-card:hover .time-count-up {
  animation: pulseGlow 2s infinite;
}

@keyframes pulseGlow {
  0%, 100% {
    text-shadow: 0 0 20px rgba(0, 212, 255, 0.5);
  }
  50% {
    text-shadow: 0 0 30px rgba(0, 212, 255, 0.8), 0 0 40px rgba(0, 212, 255, 0.4);
  }
}

/* Responsive Adjustments */
@media (max-width: 768px) {
  .time-to-value-grid,
  .comparison-metrics-grid {
    grid-template-columns: 1fr !important;
  }
  
  .certification-badges-container {
    flex-direction: column;
    align-items: center;
  }
  
  .time-metric-card {
    padding: 24px !important;
  }
}


/* ========== FINAL ENHANCEMENTS - POLISH & PERFECTION ========== */

/* AI Outcome Cards - Advanced Styling */
.ai-outcome-card {
  position: relative;
  overflow: hidden;
}

.ai-outcome-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, rgba(0, 85, 159, 0.05) 0%, transparent 100%);
  opacity: 0;
  transition: opacity 0.4s ease;
  pointer-events: none;
}

.ai-outcome-card:hover::before {
  opacity: 1;
}

.ai-outcome-card::after {
  content: "";
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: radial-gradient(circle, rgba(0, 85, 159, 0.1) 0%, transparent 70%);
  opacity: 0;
  transition: opacity 0.4s ease;
  pointer-events: none;
}

.ai-outcome-card:hover::after {
  opacity: 1;
}

.ai-outcome-card:hover {
  transform: translateY(-10px) scale(1.03);
  box-shadow: 0 16px 40px rgba(0, 85, 159, 0.25);
  border-color: #00559f;
}

.ai-outcome-card > * {
  position: relative;
  z-index: 2;
}

/* Staggered Animation for AI Cards */
.ai-outcome-card {
  opacity: 0;
  transform: translateY(30px) rotateX(10deg);
  animation: cardFlipIn 0.8s ease-out forwards;
}

.ai-outcome-card:nth-child(1) { animation-delay: 0.1s; }
.ai-outcome-card:nth-child(2) { animation-delay: 0.3s; }
.ai-outcome-card:nth-child(3) { animation-delay: 0.5s; }

@keyframes cardFlipIn {
  to {
    opacity: 1;
    transform: translateY(0) rotateX(0);
  }
}

/* Benchmark Tooltip Styles */
.metric-card {
  position: relative;
}

.metric-card[data-benchmark]::after {
  content: attr(data-benchmark-label);
  position: absolute;
  bottom: -40px;
  left: 50%;
  transform: translateX(-50%);
  background: #0b2540;
  color: #ffffff;
  padding: 8px 12px;
  border-radius: 6px;
  font-size: 11px;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease, transform 0.3s ease;
  z-index: 1000;
  box-shadow: 0 4px 12px rgba(0,0,0,0.2);
}

.metric-card[data-benchmark]:hover::after {
  opacity: 1;
  transform: translateX(-50%) translateY(-4px);
}

.metric-card[data-benchmark]::before {
  content: "";
  position: absolute;
  bottom: -8px;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 6px solid #0b2540;
  opacity: 0;
  transition: opacity 0.3s ease;
  z-index: 1001;
}

.metric-card[data-benchmark]:hover::before {
  opacity: 1;
}

/* Enhanced Progress Bar Glow */
.metric-progress-fill {
  position: relative;
}

.metric-progress-fill[data-width]::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 20px;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.6));
  animation: progressGlow 2s infinite;
}

@keyframes progressGlow {
  0%, 100% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
}

/* Number Animation Enhancement */
.metric-value,
.hero-metric-value,
.time-count-up {
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.02em;
}

/* Section Transitions (JS enabled only; default is visible) */
.js-enabled section.fade-in-on-scroll {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}

.js-enabled section.fade-in-on-scroll.visible {
  opacity: 1;
  transform: translateY(0);
}

/* Enhanced Button Hover States */
.btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0, 85, 159, 0.3);
}

/* Loading Skeleton (for metrics) */
@keyframes skeleton {
  0% {
    background-position: -200px 0;
  }
  100% {
    background-position: calc(200px + 100%) 0;
  }
}

.metric-card.loading {
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 200px 100%;
  animation: skeleton 1.5s infinite;
}

/* Print Optimizations */
@media print {
  .hero-metrics-container,
  .industry-filter-btn,
  .case-study-filter-btn {
    display: none;
  }
  
  .metric-card {
    break-inside: avoid;
    page-break-inside: avoid;
  }
}

/* High Contrast Mode Support */
@media (prefers-contrast: high) {
  .metric-card {
    border-width: 2px;
  }
  
  .industry-filter-btn.active {
    border-width: 3px;
  }
}

/* Reduced Motion Support */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}


/* ========== COMPREHENSIVE FIXES FOR HOMEPAGE ISSUES ========== */

/* Metrics Cards - Ensure Visibility and Styling */
#client-success-metrics .metric-card {
  background: #ffffff !important;
  border: 2px solid #e4edf7 !important;
  border-radius: 12px !important;
  padding: 32px !important;
  box-shadow: 0 4px 16px rgba(0,0,0,0.08) !important;
  min-height: 200px !important;
  display: flex !important;
  flex-direction: column !important;
  position: relative !important;
  overflow: visible !important;
}

#client-success-metrics .metric-card.primary {
  background: linear-gradient(135deg, #fff5f5 0%, #ffffff 100%) !important;
  border: 2px solid #e74c3c !important;
}

#client-success-metrics .metric-card.highlight {
  background: linear-gradient(135deg, #f0fdf4 0%, #ffffff 100%) !important;
  border: 2px solid #27ae60 !important;
}

#client-success-metrics .metric-icon {
  font-size: 32px !important;
  margin-bottom: 16px !important;
  display: block !important;
}

#client-success-metrics .metric-value-wrapper {
  margin-bottom: 16px !important;
  position: relative !important;
}

#client-success-metrics .metric-value {
  font-size: 48px !important;
  font-weight: 700 !important;
  color: #0b2540 !important;
  line-height: 1.2 !important;
  display: block !important;
  margin-bottom: 8px !important;
}

#client-success-metrics .metric-progress-bar {
  width: 100% !important;
  height: 8px !important;
  background: #e4edf7 !important;
  border-radius: 4px !important;
  overflow: hidden !important;
  margin-top: 8px !important;
}

#client-success-metrics .metric-progress-fill {
  height: 100% !important;
  background: linear-gradient(90deg, #00559f 0%, #00a2ff 100%) !important;
  border-radius: 4px !important;
  transition: width 1s ease !important;
}

#client-success-metrics .metric-card.primary .metric-progress-fill {
  background: linear-gradient(90deg, #e74c3c 0%, #c0392b 100%) !important;
}

#client-success-metrics .metric-card.highlight .metric-progress-fill {
  background: linear-gradient(90deg, #27ae60 0%, #229954 100%) !important;
}

#client-success-metrics .metric-label {
  font-size: 18px !important;
  font-weight: 600 !important;
  color: #0b2540 !important;
  margin-top: 12px !important;
  margin-bottom: 8px !important;
  line-height: 1.4 !important;
}

#client-success-metrics .metric-description {
  font-size: 14px !important;
  color: #5a6c7d !important;
  line-height: 1.6 !important;
  margin-top: 8px !important;
}

/* Outcomes Section Tiles - Fix Colors and Shape */
#outcomes .outcomes-metrics {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)) !important;
  gap: 24px !important;
  margin-top: 32px !important;
}

#outcomes .metric-tile {
  background: linear-gradient(135deg, #f7f9fc 0%, #ffffff 100%) !important;
  border: 2px solid #e0e8f0 !important;
  border-radius: 12px !important;
  padding: 24px !important;
  text-align: center !important;
  transition: all 0.3s ease !important;
  cursor: pointer !important;
  min-height: 120px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  position: relative !important;
  overflow: visible !important;
}

/* Specific colors for each outcome tile */
#outcomes .metric-tile:nth-child(1) {
  background: linear-gradient(135deg, #fff5f5 0%, #ffffff 100%) !important;
  border: 2px solid #e74c3c !important;
}

#outcomes .metric-tile:nth-child(1) .metric-value {
  color: #e74c3c !important;
}

#outcomes .metric-tile:nth-child(2) {
  background: linear-gradient(135deg, #f0fdf4 0%, #ffffff 100%) !important;
  border: 2px solid #27ae60 !important;
}

#outcomes .metric-tile:nth-child(2) .metric-value {
  color: #27ae60 !important;
}

#outcomes .metric-tile:nth-child(3) {
  background: linear-gradient(135deg, #e6f3ff 0%, #ffffff 100%) !important;
  border: 2px solid #3498db !important;
}

#outcomes .metric-tile:nth-child(3) .metric-value {
  color: #3498db !important;
}

#outcomes .metric-tile:nth-child(4) {
  background: linear-gradient(135deg, #f0fdf4 0%, #ffffff 100%) !important;
  border: 2px solid #27ae60 !important;
}

#outcomes .metric-tile:nth-child(4) .metric-value {
  color: #27ae60 !important;
}

#outcomes .metric-tile:hover {
  transform: translateY(-8px) scale(1.05) !important;
  box-shadow: 0 12px 32px rgba(0,0,0,0.15) !important;
}

#outcomes .metric-tile .metric-value {
  font-size: 48px !important;
  font-weight: 700 !important;
  margin-bottom: 8px !important;
  line-height: 1.2 !important;
  display: block !important;
}

#outcomes .metric-tile .metric-label {
  font-size: 16px !important;
  font-weight: 600 !important;
  color: #0b2540 !important;
  text-transform: none !important;
  letter-spacing: normal !important;
}

/* Time-to-Value Section - Ensure Background is Visible */
.time-to-value-container {
  background: linear-gradient(135deg, #0a0e27 0%, #1a1f3a 30%, #2d3561 60%, #00559f 100%) !important;
  border-radius: 20px !important;
  padding: 60px 40px !important;
  position: relative !important;
  overflow: hidden !important;
}

.time-to-value-container::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, #0a0e27 0%, #1a1f3a 30%, #2d3561 60%, #00559f 100%);
  z-index: 0;
}

.time-to-value-container > * {
  position: relative;
  z-index: 2;
}

.time-metric-card {
  background: rgba(0, 212, 255, 0.12) !important;
  border: 1px solid rgba(0, 212, 255, 0.4) !important;
  border-radius: 16px !important;
  padding: 32px !important;
  text-align: center !important;
  backdrop-filter: blur(10px) !important;
  transition: all 0.3s ease !important;
}

.time-metric-card:hover {
  transform: translateY(-8px) scale(1.05) !important;
  border-color: rgba(0, 212, 255, 0.8) !important;
  box-shadow: 0 12px 32px rgba(0, 212, 255, 0.3) !important;
}

.time-count-up {
  font-size: 48px !important;
  font-weight: 700 !important;
  color: #00d4ff !important;
  text-shadow: 0 0 20px rgba(0, 212, 255, 0.5) !important;
  display: inline-block !important;
}

/* Dashboard Preview - Ensure All Elements Visible */
.dashboard-preview-wrapper {
  opacity: 1 !important;
  visibility: visible !important;
}

.dashboard-preview-container {
  background: linear-gradient(135deg, #ffffff 0%, #f7f9fc 100%) !important;
  border-radius: 20px !important;
  padding: 40px !important;
  box-shadow: 0 8px 32px rgba(0,0,0,0.1) !important;
  border: 1px solid #e4edf7 !important;
}

.dashboard-metric-card {
  background: #ffffff !important;
  padding: 24px !important;
  border-radius: 12px !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.05) !important;
  transition: all 0.3s ease !important;
  cursor: pointer !important;
}

.dashboard-metric-card:hover {
  transform: translateY(-4px) scale(1.02) !important;
  box-shadow: 0 8px 24px rgba(0,0,0,0.12) !important;
}

.dashboard-metric-card .count-up {
  font-size: 36px !important;
  font-weight: 700 !important;
  color: #0b2540 !important;
  display: inline-block !important;
}

/* Progress Bar Animation */
@keyframes progressFill {
  from {
    width: 0%;
  }
}

.metric-progress-fill {
  animation: progressFill 2s ease-out forwards !important;
}

/* Responsive Fixes */
@media (max-width: 768px) {
  #outcomes .outcomes-metrics {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 16px !important;
  }
  
  #client-success-metrics .metrics-grid {
    grid-template-columns: 1fr !important;
  }
  
  .time-to-value-grid {
    grid-template-columns: 1fr !important;
  }
}


/* OUTCOMES FORCE VISIBLE - MAXIMUM PRIORITY - ULTRA SPECIFIC */
#outcomes .outcomes-metrics .metric-tile .metric-value,
.outcomes-metrics .metric-tile .metric-value,
div.metric-value[style*="color: #e74c3c"],
div.metric-value[style*="color: #27ae60"],
div.metric-value[style*="color: #3498db"] {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  font-size: 48px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-align: center !important;
  margin-bottom: 8px !important;
  -webkit-text-fill-color: inherit !important;
  -webkit-background-clip: unset !important;
  background-clip: unset !important;
}

#outcomes .outcomes-metrics .metric-tile:nth-child(1) .metric-value,
.outcomes-metrics .metric-tile:nth-child(1) .metric-value {
  color: #e74c3c !important;
  -webkit-text-fill-color: #e74c3c !important;
}

#outcomes .outcomes-metrics .metric-tile:nth-child(2) .metric-value,
.outcomes-metrics .metric-tile:nth-child(2) .metric-value {
  color: #27ae60 !important;
  -webkit-text-fill-color: #27ae60 !important;
}

#outcomes .outcomes-metrics .metric-tile:nth-child(3) .metric-value,
.outcomes-metrics .metric-tile:nth-child(3) .metric-value {
  color: #3498db !important;
  -webkit-text-fill-color: #3498db !important;
}

#outcomes .outcomes-metrics .metric-tile:nth-child(4) .metric-value,
.outcomes-metrics .metric-tile:nth-child(4) .metric-value {
  color: #27ae60 !important;
  -webkit-text-fill-color: #27ae60 !important;
}

.outcomes-metrics .metric-tile {
  display: flex !important;
  flex-direction: column !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.outcomes-metrics {
  display: grid !important;
  visibility: visible !important;
  opacity: 1 !important;
}
/* END OUTCOMES FORCE */

/* PROVEN RESULTS - FIX TRANSPARENT TEXT - MAXIMUM PRIORITY */
#client-success-metrics .metric-value,
#client-success-metrics .metrics-grid .metric-value,
#client-success-metrics .metric-card .metric-value,
.metrics-grid .metric-value,
.metric-card .metric-value {
  -webkit-text-fill-color: inherit !important;
  -webkit-background-clip: unset !important;
  background-clip: unset !important;
  background: none !important;
  background-image: none !important;
}

#client-success-metrics .metric-card.primary .metric-value,
.metric-card.primary .metric-value {
  -webkit-text-fill-color: #e74c3c !important;
  color: #e74c3c !important;
  background: none !important;
  background-image: none !important;
  -webkit-background-clip: unset !important;
  background-clip: unset !important;
}

#client-success-metrics .metric-card.highlight .metric-value,
.metric-card.highlight .metric-value {
  -webkit-text-fill-color: inherit !important;
  color: inherit !important;
  background: none !important;
  background-image: none !important;
  -webkit-background-clip: unset !important;
  background-clip: unset !important;
}

#client-success-metrics .metric-card .metric-value,
.metric-card .metric-value {
  -webkit-text-fill-color: inherit !important;
  color: inherit !important;
  background: none !important;
  background-image: none !important;
  -webkit-background-clip: unset !important;
  background-clip: unset !important;
}
/* END PROVEN RESULTS FIX */


/* INSIGHTS PAGE - FIX COUNTERS AND TEXT FILL - MAXIMUM PRIORITY */
.count-up.before-reactive,
.count-up.before-sla,
.count-up.before-workorders,
.count-up.before-health,
.count-up.before-alerts,
.count-up.after-reactive,
.count-up.after-sla,
.count-up.after-workorders,
.count-up.after-health,
.count-up.after-alerts,
.count-up.improvement-1,
.count-up.improvement-2,
.count-up.improvement-3,
.dashboard-view .count-up,
.alert-count-badge .count-up,
.improvement-card .count-up {
  -webkit-text-fill-color: inherit !important;
  -webkit-background-clip: unset !important;
  background-clip: unset !important;
  background: none !important;
  background-image: none !important;
  color: inherit !important;
  display: inline-block !important;
  visibility: visible !important;
  opacity: 1 !important;
  font-size: inherit !important;
  font-weight: inherit !important;
}

/* Force specific colors */
.count-up.before-reactive,
.count-up.before-workorders {
  -webkit-text-fill-color: #e74c3c !important;
  color: #e74c3c !important;
}

.count-up.before-sla,
.count-up.before-health {
  -webkit-text-fill-color: #f39c12 !important;
  color: #f39c12 !important;
}

.count-up.before-alerts,
.count-up.after-alerts {
  -webkit-text-fill-color: #ffffff !important;
  color: #ffffff !important;
}

.count-up.after-reactive,
.count-up.after-sla,
.count-up.after-workorders,
.count-up.after-health,
.count-up.improvement-1,
.count-up.improvement-2,
.count-up.improvement-3 {
  -webkit-text-fill-color: #27ae60 !important;
  color: #27ae60 !important;
}

/* Fix blank space in dashboard views */
.dashboard-view:empty {
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  display: none !important;
}

/* Fix blank space after alerts section */
.dashboard-alerts:empty,
.alerts-list:empty {
  display: none !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Ensure dashboard views have proper height */
.before-after-container {
  min-height: auto !important;
  position: relative !important;
}

.dashboard-view.dashboard-after {
  min-height: auto !important;
}

/* Fix improvement counters */
.improvement-card .count-up {
  -webkit-text-fill-color: #27ae60 !important;
  color: #27ae60 !important;
  -webkit-background-clip: unset !important;
  background-clip: unset !important;
  background: none !important;
  display: inline-block !important;
  visibility: visible !important;
  opacity: 1 !important;
}
/* END INSIGHTS FIX */


/* ========== DASHBOARD COUNTERS - FIX TRANSPARENT TEXT ========== */
.dashboard-preview-wrapper .count-up,
.dashboard-preview-wrapper .dashboard-metric-card .count-up,
.dashboard-metrics-grid .count-up {
  -webkit-text-fill-color: #0b2540 !important;
  -webkit-background-clip: unset !important;
  background-clip: unset !important;
  background: none !important;
  background-image: none !important;
  color: #0b2540 !important;
  visibility: visible !important;
  opacity: 1 !important;
}
/* END DASHBOARD COUNTERS FIX */


/* ========== FRICTION MAP ANALYSIS PANEL - ADAPTIVE ENHANCEMENT ========== */
#friction-map-analysis {
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
}

#friction-map-analysis > div:first-child {
  flex-shrink: 0 !important; /* Header - fixed */
}

#friction-map-analysis > div:nth-child(2) {
  flex: 1 1 auto !important; /* Scrollable content - grows/shrinks */
  min-height: 0 !important; /* Allows flex shrinking */
  overflow-y: auto !important;
}

#friction-map-analysis > div:last-child {
  flex-shrink: 0 !important; /* Footer - fixed at bottom */
}

#analysis-category-breakdown {
  max-height: 150px !important;
  overflow-y: auto !important;
}

#analysis-recommendations {
  max-height: 80px !important;
  overflow-y: auto !important;
}

/* Smooth scrolling for nested scrollable areas */
#friction-map-analysis > div:nth-child(2)::-webkit-scrollbar,
#analysis-category-breakdown::-webkit-scrollbar,
#analysis-recommendations::-webkit-scrollbar {
  width: 6px !important;
}

#friction-map-analysis > div:nth-child(2)::-webkit-scrollbar-thumb,
#analysis-category-breakdown::-webkit-scrollbar-thumb,
#analysis-recommendations::-webkit-scrollbar-thumb {
  background: #cbd5e0 !important;
  border-radius: 3px !important;
}

#friction-map-analysis > div:nth-child(2)::-webkit-scrollbar-thumb:hover,
#analysis-category-breakdown::-webkit-scrollbar-thumb:hover,
#analysis-recommendations::-webkit-scrollbar-thumb:hover {
  background: #a0aec0 !important;
}

/* Mobile responsive */
@media (max-width: 768px) {
  #friction-map-analysis {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    width: 100% !important;
    max-height: 500px !important;
    margin: 20px 0 !important;
  }
}
/* END FRICTION MAP ANALYSIS PANEL ENHANCEMENT */

/* ========================================
   HERO POP + REMOVE FLOATING IN-PAGE MENU
   (Keep "Book FM consultation" unchanged)
   ======================================== */

/* Remove the floating in-page menu (Home page section micro nav) */
.micro-nav{
  display: none !important;
}

/* HERO: brighter + more colour pop (less darkness) */
.hero::before{
  /* lighter overlay so the hero image doesn’t look “night shaded” */
  background:
    radial-gradient(80% 60% at 50% 22%, rgba(0,0,0,0.06) 0%, rgba(0,0,0,0.14) 70%, rgba(0,0,0,0.20) 100%),
    linear-gradient(180deg, rgba(0,0,0,0.03) 0%, rgba(0,0,0,0.16) 100%) !important;
}

/* Override inline brightness filters used on page heroes (e.g. services has brightness(0.55)) */
.hero .hero-bg,
section.hero .hero-bg{
  filter: brightness(0.94) contrast(1.18) saturate(1.28) !important;
}

/* Fix hero subheader lines that were forced dark via inline color (#4a5568) */
.hero .persona-note{
  color: rgba(255,255,255,0.94) !important;
  text-shadow: 0 1px 10px rgba(0,0,0,0.55) !important;
}

.hero .persona-note span{
  display: inline-block;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(0,0,0,0.22);
  border: 1px solid rgba(255,255,255,0.16);
}

.hero .persona-note span + span{
  margin-left: 8px;
}

/* Remove right-hand scrollspy floating in-page content menu */
.journey-breadcrumbs{
  display: none !important;
}
