html {
    scroll-behavior: smooth ; 
}

.section-bg-grey {
  width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  background-color: #f3f3f3;
}

/* Gradient Style 1 - Purple/Blue (Aligned) */
.gradient-style-1 {
  background: linear-gradient(
    135deg,
    rgba(102, 126, 234, 0.15) 0%,
    rgba(102, 126, 234, 0.05) 100%
  );
  border-left: 4px solid #667eea;
}

.gradient-style-1:hover {
  background: linear-gradient(
    135deg,
    rgba(102, 126, 234, 0.22) 0%,
    rgba(102, 126, 234, 0.08) 100%
  );
  border-left-color: #667eea;
  transform: translateX(2px);
}


/* Gradient Style 2 - Blue */
/* Gradient Style 2 - Cyan/Blue (Aligned) */
.gradient-style-2 {
  background: linear-gradient(
    135deg,
    rgba(102, 126, 234, 0.15) 0%,
    rgba(102, 126, 234, 0.05) 100%
  );
  border-left: 4px solid #4facfe;
}

.gradient-style-2:hover {
  background: linear-gradient(
    135deg,
    rgba(102, 126, 234, 0.22) 0%,
    rgba(102, 126, 234, 0.08) 100%
  );
  border-left-color: #4facfe;
  transform: translateX(2px);
}


/* Gradient Style 3 - Green/Mint (Aligned) */
.gradient-style-3 {
  background: linear-gradient(
    135deg,
    rgba(102, 126, 234, 0.15) 0%,
    rgba(102, 126, 234, 0.05) 100%
  );
  border-left: 4px solid #43e97b;
}

.gradient-style-3:hover {
  background: linear-gradient(
    135deg,
    rgba(102, 126, 234, 0.22) 0%,
    rgba(102, 126, 234, 0.08) 100%
  );
  border-left-color: #43e97b;
  transform: translateX(2px);
}

/* Gradient Style 4 - Green/Mint with Teal Border */
.gradient-style-4 {
  background: linear-gradient(
    135deg,
    rgba(102, 126, 234, 0.15) 0%,
    rgba(102, 126, 234, 0.05) 100%
  );
  border-left: 4px solid #38f9d7;
}

.gradient-style-4:hover {
  background: linear-gradient(
    135deg,
    rgba(102, 126, 234, 0.22) 0%,
    rgba(102, 126, 234, 0.08) 100%
  );
  border-left-color: #38f9d7;
  transform: translateX(2px);
}


.principle-badge {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  font-weight: bold;
  font-size: 1.5rem;
  flex-shrink: 0;
}

/* Base: #667eea (indigo / authority) */
.principle-badge--primary {
  background: linear-gradient(
    135deg,
    rgba(102, 126, 234, 1) 0%,
    rgba(102, 126, 234, 0.78) 100%
  );
}

/* Base: #4facfe (blue / innovation) */
.principle-badge--innovation {
  background: linear-gradient(
    135deg,
    rgba(79, 172, 254, 1) 0%,
    rgba(79, 172, 254, 0.75) 100%
  );
}

/* Base: #43e97b (green / growth) */
.principle-badge--reputation {
  background: linear-gradient(
    135deg,
    rgba(67, 233, 123, 1) 0%,
    rgba(67, 233, 123, 0.78) 100%
  );
}

.principle-badge--culture {
  background: linear-gradient(
    135deg,
    rgba(56, 249, 215, 0.85) 0%,
    rgba(56, 249, 215, 0.65) 100%
  );
}

.nav-fs {
  font-size: 0.76rem;
}

/* Gradient heading classes */
.gradient-heading-1 {
    background: linear-gradient(90deg, #00e9ff, #00cbff); /* warm sunset */
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.gradient-heading-2 {
    background: linear-gradient(90deg, #017eff, #501afe); /* violet-blue */
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.gradient-heading-3 {
    background: linear-gradient(90deg, #c800ff, #9700ff); /* green to blue */
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.gradient-heading-4 {
    background: linear-gradient(90deg, #ff00b7, #ff008d); /* orange-yellow */
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.gradient-heading-5 {
    background: linear-gradient(90deg, #ff699a, #ff0a5d); /* orange-yellow */
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.gradient-heading-6 {
    background: linear-gradient(135deg, #3b9ae1 0%, #00d9e6 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.gradient-heading-7 {
    background: linear-gradient(135deg, #5a8ed8 0%, #30e0bf 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.gradient-heading-8 {
    background: linear-gradient(135deg, #3b9ae1 0%, #00d9e6 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}


/* Strategic Card — Blue */
.strategic-card--blue {
  background: linear-gradient(
    135deg,
    rgba(102, 126, 234, 0.15) 0%,
    rgba(102, 126, 234, 0.05) 100%
  );
}

/* Strategic Card — Cyan */
.strategic-card--cyan {
  background: linear-gradient(
    135deg,
    rgba(79, 172, 254, 0.15) 0%,
    rgba(0, 242, 254, 0.05) 100%
  );
}

/* Strategic Card — Green */
.strategic-card--green {
  background: linear-gradient(
    135deg,
    rgba(67, 233, 123, 0.15) 0%,
    rgba(56, 249, 215, 0.05) 100%
  );
}

.strategic-card {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
    padding: 1.5rem;
  height: 100%;
  border-radius: 12px;
  display: flex;
  flex-direction: column;
}

.strategic-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.06);
}

/* Editorial Insight Callout */
.editorial-callout {
  padding: 1.5rem;                 /* p-4 */
  margin: 1.5rem 0;                /* my-4 */
  border-radius: 12px;
  background: linear-gradient(
    135deg,
    rgba(102, 126, 234, 0.15) 0%,
    rgba(56, 249, 215, 0.08) 100%
  );
  overflow: hidden;                /* protects inner margins */
}

/* Editorial Conclusion */
.editorial-conclusion {
  padding: 3rem;                  /* p-5 */
  margin: 1.5rem 0;               /* my-4 */
  text-align: center;
  border-radius: 12px;
  background: linear-gradient(
    135deg,
    #667eea 0%,
    #38f9d7 100%
  );
  overflow: hidden;
}

/* Strategic Concept Tile */
.concept-tile {
  padding: 1.5rem;               /* p-4 */
  text-align: center;
  border-radius: 12px;
  background: linear-gradient(
    135deg,
    #667eea 0%,
    #38f9d7 100%
  );
  overflow: hidden;
}

/* Icon inside concept tile */
.concept-tile__icon {
  font-size: 3rem;
  color: #ffffff;
}

/* Title inside concept tile */
.concept-tile h6 {
  margin-top: 1rem;              /* mt-3 */
  margin-bottom: 0.5rem;         /* mb-2 */
  color: #ffffff;
}

/* Text inside concept tile */
.concept-tile p {
  margin-bottom: 0;
  color: #ffffff;
}



.infographic_text {
    font-size: 10px;
    line-height: 14px;
    padding-bottom: 4px;
}

/* Keep logo centered during sticky transition */
#header .header-logo {
  display: flex;
  align-items: center;
  justify-content: center;
}

#header .header-logo img {
  max-height: 100%;
  width: auto;
}

/* Maintain centering when header shrinks */
#header.header-effect-shrink.sticky-active .header-logo {
  display: flex;
  align-items: center;
  justify-content: center;
}

#header.header-effect-shrink.sticky-active .header-logo img {
  transition: all 0.3s ease;
}

#navbar-spy .nav-link {
    padding: 0.5rem 1rem;
    color: #666;
    transition: all 0.3s ease;
}

#navbar-spy .nav-link:hover {
    color: #333;
    background-color: #f8f9fa;
}

#navbar-spy .nav-link.active {
    color: #007bff;
    font-weight: 600;
    border-left: 3px solid #007bff;
    background-color: #f8f9fa;
}

/* Heatmap Table Styles */
/* Heatmap Table Styles */
.heatmap-table thead {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}

.heatmap-table thead tr {
    color: white;
}

.heatmap-table .row-purple {
    background: linear-gradient(135deg, rgba(102, 126, 234, 0.15) 0%, rgba(102, 126, 234, 0.08) 100%);
}

.heatmap-table .row-cyan {
    background: linear-gradient(135deg, rgba(79, 172, 254, 0.2) 0%, rgba(0, 242, 254, 0.1) 100%);
}

.heatmap-table .row-green {
    background: linear-gradient(135deg, rgba(67, 233, 123, 0.15) 0%, rgba(56, 249, 215, 0.08) 100%);
}

.heatmap-table .row-mixed {
    background: linear-gradient(135deg, rgba(102, 126, 234, 0.1) 0%, rgba(56, 249, 215, 0.05) 100%);
}

.badge-purple {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
}

.badge-purple-light {
    background: linear-gradient(135deg, #5a67d8 0%, #6b7fd8 100%);
    color: white;
}

.badge-cyan {
    background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);
    color: white;
}

.badge-cyan-dark {
    background: linear-gradient(135deg, #3b9ae1 0%, #00d9e6 100%);
    color: white;
}

.badge-green {
    background: linear-gradient(135deg, #43e97b 0%, #38f9d7 100%);
    color: white;
}

.badge-green-dark {
    background: linear-gradient(135deg, #3dd167 0%, #30e0bf 100%);
    color: white;
}

.badge-mixed {
    background: linear-gradient(135deg, #667eea 0%, #38f9d7 100%);
    color: white;
}

.badge-mixed-light {
    background: linear-gradient(135deg, #5a8ed8 0%, #30e0bf 100%);
    color: white;
}

.btn-gradient {
    --hover: var(--gradient-blue--200);
    background: var(--gradient-blue);
    border-color: var(--blue-base) var(--blue-base) var(--blue-300);
    color: var(--primary-inverse);
}

.btn-gradient:hover, .btn-gradient.hover {
    border-color: var(--blue--200) var(--blue--200) var(--blue-base);
    color: var(--primary-inverse);
}

.btn-gradient:hover:not(.bg-transparent), .btn-gradient.hover:not(.bg-transparent) {
    background: var(--gradient-blue--200);
}

.btn-gradient:focus, .btn-gradient.focus {
    border-color: var(--blue-300) var(--blue-300) var(--blue-300);
    color: var(--primary-inverse);
    box-shadow: 0 0 0 3px var(--blue-rgba-50);
}

.btn-gradient:focus:not(.bg-transparent), .btn-gradient.focus:not(.bg-transparent) {
    background: var(--gradient-blue-100);
}

.btn-gradient.disabled, .btn-gradient:disabled {
    border-color: var(--blue-base) var(--blue-base) var(--blue-300);
    opacity: 0.6;
}

.btn-gradient.disabled:not(.bg-transparent), .btn-gradient:disabled:not(.bg-transparent) {
    background: var(--gradient-blue);
}

.btn-gradient:active, .btn-gradient.active {
    border-color: var(--blue-300) var(--blue-300) var(--blue-300) !important;
}

.btn-gradient:active:not(.bg-transparent), .btn-gradient.active:not(.bg-transparent) {
    background: var(--gradient-blue-100) !important;
    background-image: none !important;
}

.text-gray {
  color: #3c3c3c;
}

.hero-subtitle--meta {
  font-size: 0.5em;            /* relative to parent (H1 / H2) */
  font-weight: 300;
  letter-spacing: 0.5px;
  line-height: 1.4;
  opacity: 0.75;
  display: block;
}

/* Tablet */
@media (max-width: 992px) {
  .hero-subtitle--meta {
    font-size: 0.55em;
    letter-spacing: 0.4px;
  }
}

/* Mobile */
@media (max-width: 576px) {
  .hero-subtitle--meta {
    font-size: 0.6em;
    letter-spacing: 0.3px;
  }
}

.price {
  display: flex;
  align-items: baseline;
  gap: 6px;
}

.price-prefix {
  font-size: 0.6em;
  font-weight: 500;
  text-transform: lowercase;
}
