/* Theme base styles */

/* Tools
Any animations, or functions used throughout the project.
Note: _macros.css needs to be imported into each stylesheet where macros are used and not included here
*/

/* Generic
This is where reset, normalize & box-sizing styles go.
*/

*, *:before, *:after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
   ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */

html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */

/**
 * Remove the margin in all browsers.
 */

body {
  margin: 0;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */

/**
 * Add the correct box sizing in Firefox.
 */

hr {
  box-sizing: content-box;
  height: 0;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, Opera, and Safari.
 */

abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Forms
   ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Remove the inheritance of text transform in Edge and Firefox.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button,
select { /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * Remove the padding so developers are not caught out when they zero out `fieldset` elements in all browsers.
 */

legend {
  padding: 0;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
  vertical-align: baseline;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */

[type="search"] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */

/*
 * Add the correct display in Edge and Firefox.
 */

details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
  display: list-item;
}

/* Objects
Non-cosmetic design patterns including grid and layout classes)
*/



/* CSS variables */

:root {
  --column-gap: 2.13%;
  --column-width-multiplier: 8.333;
}

/* Mobile layout */

.row-fluid {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}


  .row-fluid .span1,
  .row-fluid .span2,
  .row-fluid .span3,
  .row-fluid .span4,
  .row-fluid .span5,
  .row-fluid .span6,
  .row-fluid .span7,
  .row-fluid .span8,
  .row-fluid .span9,
  .row-fluid .span10,
  .row-fluid .span11,
  .row-fluid .span12{
  min-height: 1px;
  width: 100%;
}

/* Desktop layout */

@media (min-width: 768px) {
  .row-fluid {
    flex-wrap: nowrap;
    justify-content: space-between;
  }

  
    .row-fluid .span1 {
      width: calc(var(--column-width-multiplier) * 1% * 1 - var(--column-gap) * (11 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span2 {
      width: calc(var(--column-width-multiplier) * 1% * 2 - var(--column-gap) * (10 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span3 {
      width: calc(var(--column-width-multiplier) * 1% * 3 - var(--column-gap) * (9 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span4 {
      width: calc(var(--column-width-multiplier) * 1% * 4 - var(--column-gap) * (8 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span5 {
      width: calc(var(--column-width-multiplier) * 1% * 5 - var(--column-gap) * (7 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span6 {
      width: calc(var(--column-width-multiplier) * 1% * 6 - var(--column-gap) * (6 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span7 {
      width: calc(var(--column-width-multiplier) * 1% * 7 - var(--column-gap) * (5 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span8 {
      width: calc(var(--column-width-multiplier) * 1% * 8 - var(--column-gap) * (4 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span9 {
      width: calc(var(--column-width-multiplier) * 1% * 9 - var(--column-gap) * (3 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span10 {
      width: calc(var(--column-width-multiplier) * 1% * 10 - var(--column-gap) * (2 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span11 {
      width: calc(var(--column-width-multiplier) * 1% * 11 - var(--column-gap) * (1 * var(--column-width-multiplier) / 100));
    }
  
}
.content-wrapper {
  margin: 0 auto;
  padding: 0 1rem;
}

@media screen and (min-width: 1380px) {
  .content-wrapper {
    padding: 0;
  }
}

.dnd-section > .row-fluid {
  margin: 0 auto;
  max-width: 100%;
}

.dnd-section .dnd-column {
  padding: 0 1rem;
}

@media (max-width: 767px) {
  .dnd-section .dnd-column {
    padding: 0;
  }
}

/* Fonts */
/* ---- ACTUAL ARCALEA FONTS (from CDN) ---- */
@font-face {
  font-family: 'Gilroy';
  font-weight: 400;
  font-style: normal;
  src: url('https://4644889.fs1.hubspotusercontent-na1.net/hubfs/4644889/raw_assets/public/arcalea-theme/fonts/gilory/gilroy-regular-webfont.woff2') format('woff2'),
       url('https://4644889.fs1.hubspotusercontent-na1.net/hubfs/4644889/raw_assets/public/arcalea-theme/fonts/gilory/gilroy-regular-webfont.woff') format('woff');
  font-display: swap;
}
@font-face {
  font-family: 'Gilroy';
  font-weight: 500;
  font-style: normal;
  src: url('https://4644889.fs1.hubspotusercontent-na1.net/hubfs/4644889/raw_assets/public/arcalea-theme/fonts/gilory/gilroy-medium-webfont.woff2') format('woff2'),
       url('https://4644889.fs1.hubspotusercontent-na1.net/hubfs/4644889/raw_assets/public/arcalea-theme/fonts/gilory/gilroy-medium-webfont.woff') format('woff');
  font-display: swap;
}
@font-face {
  font-family: 'Gilroy';
  font-weight: 600;
  font-style: normal;
  src: url('https://4644889.fs1.hubspotusercontent-na1.net/hubfs/4644889/raw_assets/public/arcalea-theme/fonts/gilory/gilroy-semibold-webfont.woff2') format('woff2'),
       url('https://4644889.fs1.hubspotusercontent-na1.net/hubfs/4644889/raw_assets/public/arcalea-theme/fonts/gilory/gilroy-semibold-webfont.woff') format('woff');
  font-display: swap;
}
@font-face {
  font-family: 'Gilroy';
  font-weight: 700;
  font-style: normal;
  src: url('https://4644889.fs1.hubspotusercontent-na1.net/hubfs/4644889/raw_assets/public/arcalea-theme/fonts/gilory/gilroy-bold-webfont.woff2') format('woff2'),
       url('https://4644889.fs1.hubspotusercontent-na1.net/hubfs/4644889/raw_assets/public/arcalea-theme/fonts/gilory/gilroy-bold-webfont.woff') format('woff');
  font-display: swap;
}
@font-face {
  font-family: 'Gilroy';
  font-weight: 800;
  font-style: normal;
  src: url('https://4644889.fs1.hubspotusercontent-na1.net/hubfs/4644889/raw_assets/public/arcalea-theme/fonts/gilory/gilroy-extrabold-webfont.woff2') format('woff2'),
       url('https://4644889.fs1.hubspotusercontent-na1.net/hubfs/4644889/raw_assets/public/arcalea-theme/fonts/gilory/gilroy-extrabold-webfont.woff') format('woff');
  font-display: swap;
}
@font-face {
  font-family: 'Gilroy';
  font-weight: 900;
  font-style: normal;
  src: url('https://4644889.fs1.hubspotusercontent-na1.net/hubfs/4644889/raw_assets/public/arcalea-theme/fonts/gilory/gilroy-black-webfont.woff2') format('woff2'),
       url('https://4644889.fs1.hubspotusercontent-na1.net/hubfs/4644889/raw_assets/public/arcalea-theme/fonts/gilory/gilroy-black-webfont.woff') format('woff');
  font-display: swap;
}
@font-face {
  font-family: 'Avenir LT Std';
  font-weight: 400;
  font-style: normal;
  src: url('https://4644889.fs1.hubspotusercontent-na1.net/hubfs/4644889/raw_assets/public/arcalea-theme/fonts/avenir-lt-std/avenir_lt_std_45_book-webfont.woff2') format('woff2'),
       url('https://4644889.fs1.hubspotusercontent-na1.net/hubfs/4644889/raw_assets/public/arcalea-theme/fonts/avenir-lt-std/avenir_lt_std_45_book-webfont.woff') format('woff');
  font-display: swap;
}
@font-face {
  font-family: 'Avenir LT Std';
  font-weight: 500;
  font-style: normal;
  src: url('https://4644889.fs1.hubspotusercontent-na1.net/hubfs/4644889/raw_assets/public/arcalea-theme/fonts/avenir-lt-std/avenir_lt_std_65_medium-webfont.woff2') format('woff2'),
       url('https://4644889.fs1.hubspotusercontent-na1.net/hubfs/4644889/raw_assets/public/arcalea-theme/fonts/avenir-lt-std/avenir_lt_std_65_medium-webfont.woff') format('woff');
  font-display: swap;
}

/* Elements
Base HTML elements are styled in this section (<body>, <h1>, <a>, <p>, <button> etc.)
*/

/* ── Animate ── */
.animate {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.65s cubic-bezier(0.16, 1, 0.3, 1),
    transform 0.65s cubic-bezier(0.16, 1, 0.3, 1);
}
.animate.visible {
  opacity: 1;
  transform: translateY(0);
}
.d1 {
  transition-delay: 100ms;
}
.d2 {
  transition-delay: 200ms;
}
.d3 {
  transition-delay: 300ms;
}
.d4 { 
  transition-delay: 400ms; 
}
.d5 {
  transition-delay: 500ms;
}
@keyframes btn-shimmer {
  0%   { 
    transform: translateX(-180%); 
  }
  100% { 
    transform: translateX(180%); 
  }
}
/* === Design tokens === */
:root {
  --navy-500: #273673;
  --navy-600: #233169;
  --navy-700: #1c2752;
  --navy-800: #151e3f;
  --navy-900: #101730;
  --orange-300: #efb774;
  --orange-400: #eca959;
  --orange-500: #e79430;
  --orange-600: #d2872c;
  --orange-700: #a46922;
  --grey: #f3f4f6;
  --grey-50: #f6f6f6;
  --grey-100: #e9e9e9;
  --grey-200: #bababa;
  --grey-300: #989898;
  --grey-400: #6a6a6a;
  --grey-500: #4d4d4d;
  --grey-600: #374151;
  --grey-900: #202020;
  --white: #ffffff;
  --blue-500: #56aee3;
  --blue-600: #4a9fd4;
  --blue-700: #2a6fa0;
  --teal-500: #1a7a6e;
  --teal-600: #156159;
  --purple-500: #6b4fbb;
  --purple-600: #5a40a0;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 90px;
  font-size: 16px;
}
body {
  font-family: "Avenir LT Std", "Avenir", -apple-system, sans-serif;
  background: var(--white);
  color: var(--grey-900);
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

/* Anchors */
a {
  cursor: pointer;
}

/* Paragraph */
p {
  margin: 0 0 1.25rem;
}
p:last-child {
  margin: 0;
}

/* Headings */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Gilroy", sans-serif;
  margin-top: 0;
}

/* Lists */
ul,
ol {
  margin: 0 0 1.4rem;
}

ul ul,
ol ul,
ul ol,
ol ol {
  margin: 0;
}

ul.no-list {
  list-style: none;
  margin: 0;
  padding-left: 0;
}

/* Code blocks */
pre {
  overflow: auto;
}

code {
  vertical-align: bottom;
}

/* Blockquotes */
blockquote {
  margin-bottom: 1.25rem;
  font-style: italic;
}

/* Horizontal rules */
hr {
  border: none;
  border-bottom: 1px solid var(--grey-100);
}

/* Image alt text */
img {
  max-width: 100%;
  height: auto;
}

/* Container */
.container {
  max-width: 1140px;
  margin: 0 auto;
  width: 100%;
}
[class*=full-width-section] > .row-fluid {
  padding: 0;
}
[class*=full-width-section] > .row-fluid .dnd-column {
  padding: 0;
}

/* Common style for all Sections */
.section-label {
  font-family: "Gilroy", sans-serif;
  font-size: 0.72rem;
  color: var(--orange-400);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-weight: 700;
  margin-bottom: 0.75rem;
  display: block;
}
.section-heading {
  font-size: clamp(1.75rem, 3.5vw, 2.5rem);
  font-weight: 800;
  color: var(--navy-500);
  line-height: 1.2;
  letter-spacing: -0.02em;
  margin-bottom: 0.75rem;
}
.section-heading::after {
  content: "";
  display: block;
  width: 60px;
  height: 3px;
  margin-top: 0.75rem;
  background: repeating-linear-gradient(
    90deg,
    var(--orange-500),
    var(--orange-500) 6px,
    transparent 6px,
    transparent 10px
  );
  margin-bottom: 1.5rem;
}
.section-heading.center {
  text-align: center;
}
.section-heading.center::after {
  margin-left: auto;
  margin-right: auto;
}
.section-heading span {
  background: linear-gradient(90deg, var(--orange-400) 0%, #f5c46a 60%, var(--orange-400) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.section-sub {
  font-size: 1.05rem;
  color: var(--grey-400);
  max-width: 680px;
  line-height: 1.75;
  margin-bottom: 3rem;
}
.section-sub.center {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

/* Skip link */
.skip-link {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 9999;
  background: #273673;
  color: #fff;
  padding: 0.75rem 1.25rem;
  border-radius: 0 0 6px 0;
  text-decoration: none;
  font-weight: 600;
  font-size: 0.9rem;
}
.skip-link:focus {
  left: 0;
  outline: 3px solid #f59e0b;
  outline-offset: 2px;
}

/* Related Reading (shared across blog posts and service/platform pages) */
.section-related {
  background: var(--white);
  padding: 4.5rem 2rem;
}
.section-related .inner {
  max-width: 1100px;
  margin: 0 auto;
}
.section-related h2 {
  font-family: "Gilroy", sans-serif;
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  font-weight: 800;
  color: var(--navy-500);
  letter-spacing: -0.02em;
  margin-bottom: 0.5rem;
}
.section-related .related-sub {
  font-size: 0.95rem;
  color: var(--grey-400);
  line-height: 1.6;
  margin-bottom: 0;
}
.related-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
  margin-top: 2.5rem;
}
@media (max-width: 1023px) {
  .related-grid {
    grid-template-columns: 1fr;
  }
}
.related-card {
  border: 1px solid var(--grey-100);
  background-color: var(--white);
  border-radius: 8px;
  padding: 1.75rem;
  transition: all 0.3s;
}
.related-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.07);
}
a.related-card {
  text-decoration: none;
  color: inherit;
  display: block;
}
a.related-card:hover {
  text-decoration: none;
}
.related-tag {
  font-family: "Gilroy", sans-serif;
  font-size: 0.66rem;
  font-weight: 700;
  color: var(--orange-400);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-bottom: 0.6rem;
}
.related-card h3 {
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--navy-500);
  margin-bottom: 0.6rem;
  line-height: 1.4;
}
.related-card .hs_cos_wrapper_type_module h3 {
  display: none;
}
.related-card p {
  font-size: 0.82rem;
  color: var(--grey-400);
  line-height: 1.65;
  margin-bottom: 1.1rem;
}
.related-read {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  color: var(--orange-500);
  font-family: "Gilroy", sans-serif;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  margin-top: 0.2rem;
}
@media (max-width: 900px) {
  .related-grid {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 600px) {
  .related-grid {
    grid-template-columns: 1fr;
  }
}
/* === Buttons / CTAs === */
button, .button, .hs-button {
  cursor: pointer;
  display: inline-block;
  text-align: center;
  white-space: normal;
}

button:disabled, .button:disabled, .hs-button:disabled {
  background-color: #D0D0D0;
  border-color: #D0D0D0;
  color: #E6E6E6;
}

.cta-pair {
  display: flex;
  justify-content: center;
  gap: 1rem;
  flex-wrap: wrap;
}

.cta-primary {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  background: var(--orange-500);
  color: var(--white);
  text-decoration: none;
  font-family: "Gilroy", sans-serif;
  font-size: 0.9rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 1rem 2.25rem;
  border-radius: 4px;
  transition: background 0.2s, transform 0.2s;
  position: relative; 
  overflow: hidden;
}
.cta-primary:hover {
  background: var(--orange-600);
  transform: translateY(-2px);
}
.cta-primary::before {
  content: '';
  position: absolute;
  top: 0; left: 0; bottom: 0;
  width: 50%;
  background: linear-gradient(105deg, transparent, rgba(255,255,255,0.18), transparent);
  transform: translateX(-180%);
  animation: btn-shimmer 3.2s ease-in-out infinite;
  pointer-events: none;
  z-index: 1;
}

/* secondary button */
.cta-secondary {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  background: transparent;
  color: var(--white);
  text-decoration: none;
  font-family: "Gilroy", sans-serif;
  font-size: 0.9rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 1rem 2rem;
  border-radius: 4px;
  border: 2px solid rgba(255, 255, 255, 0.25);
  transition: border-color 0.2s, color 0.2s;
}
.cta-secondary:hover {
  border-color: var(--orange-400);
  color: var(--orange-400);
}

.cta-tertiary {
  display: inline-flex;
  align-items: center;
  background: transparent;
  color: var(--navy-500);
  text-decoration: none;
  padding: 0.8rem 2rem;
  border-radius: 4px; 
  border: 1.5px solid rgba(10,22,40,0.2);
  font-family: 'Gilroy', sans-serif;
  font-size: 0.85rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  transition: all 0.2s;
}
.cta-tertiary:hover {
  border-color: var(--navy-500); 
  background: rgba(10,22,40,0.04);
}

.cta-blue {
  display: inline-flex;
  background: #273673;
  color: #fff;
  padding: 0.75rem 1.75rem;
  border-radius: 4px;
  font-family: 'Gilroy',sans-serif;
  font-weight: 700;
  font-size: 0.82rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-decoration: none;
  white-space: nowrap;
}
/* Fields */

.hs-form-field {
  margin-bottom: 1.2rem;
}

/* Labels */

form label {
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--navy-500);
  letter-spacing: 0.02em;
}

/* Form Title */
.form-title {
  margin-bottom: 0;
}

/* Help text */

form legend {
  font-size: 0.875rem;
}

/* Inputs */
form input[type=text],
form input[type=search],
form input[type=email],
form input[type=password],
form input[type=tel],
form input[type=number],
form input[type=file],
form select,
form textarea {
  padding: 0.75rem 1rem;
  border: 1.5px solid var(--grey-200);
  border-radius: 6px;
  font-family: 'Avenir LT Std', 'Avenir', -apple-system, sans-serif;
  font-size: 0.9rem;
  color: var(--grey-600);
  background: var(--white);
  transition: border-color 0.2s, box-shadow 0.2s;
  outline: none;
  appearance: none;
  width: 100% !important;
}

form input[type=text]::placeholder,
form input[type=search]::placeholder,
form input[type=email]::placeholder,
form input[type=password]::placeholder,
form input[type=tel]::placeholder,
form input[type=number]::placeholder,
form input[type=file]::placeholder,
form select::placeholder,
form textarea::placeholder {
  color: var(--grey-300);
}

form input[type=text]::focus,
form input[type=search]::focus,
form input[type=email]::focus,
form input[type=password]::focus,
form input[type=tel]::focus,
form input[type=number]::focus,
form input[type=file]::focus,
form select::focus,
form textarea::focus {
  border-color: var(--blue-500);
  box-shadow: 0 0 0 3px rgba(86,174,227,0.12);
}

form textarea {
  resize: vertical;
  min-height: 110px;
  line-height: 1.55;
}

form select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236b7280' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1rem center;
  padding-right: 2.5rem;
  cursor: pointer;
}

form fieldset {
  max-width: 100% !important;
}

/* Inputs - checkbox/radio */
form .inputs-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

form .inputs-list > li {
  display: block;
  margin: 0 0 0.7rem;
}

form .inputs-list input,
form .inputs-list span {
  vertical-align: middle;
}

form input[type=checkbox],
form input[type=radio] {
  cursor: pointer;
  margin-right: 0.35rem;
}

/* Inputs - date picker */
.hs-dateinput {
  position: relative;
}

.hs-dateinput:before {
  content:'\01F4C5';
  position: absolute;
  right: 10%;
  top: 50%;
  transform: translateY(-50%);
}

.fn-date-picker .pika-table thead th {
  color: #FFF;
}

.fn-date-picker td.is-selected .pika-button {
  border-radius: 0;
  box-shadow: none;
}

.fn-date-picker td .pika-button:hover,
.fn-date-picker td .pika-button:focus {
  border-radius: 0 !important;
  color: #FFF;
}

/* Inputs - file picker */
form input[type=file] {
  background-color: transparent;
  border: initial;
  padding: initial;
}

/* Headings and text */
form .hs-richtext,
form .hs-richtext p {
  font-size: 0.75rem;
  color: var(--grey-300);
  line-height: 1.5;
  margin: 0 0 1.2rem;
}

form .hs-richtext a,
form .hs-richtext p a {
  color: var(--grey-400);
  text-decoration: underline;
}

form .hs-richtext img {
  max-width: 100% !important;
}

/* GDPR */
.legal-consent-container .hs-form-booleancheckbox-display > span,
.legal-consent-container .hs-form-booleancheckbox-display > span p {
  margin-left: 1rem !important;
}

/* Validation */
.hs-form-required {
  color: var(--orange-500);
  margin-left: 2px;
}

.hs-input.invalid.error {
  border-color: var(--orange-500);
}

.hs-error-msg {
  color: var(--orange-500);
  margin-top: 0.35rem;
  font-size: 0.7rem;
}

/* Submit button */
form input[type=submit],
form .hs-button {
  font-family: 'Gilroy', sans-serif;
  font-size: 0.88rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 0.9rem 2.25rem;
  background: var(--orange-500);
  color: var(--white);
  border: none;
  border-radius: 5px;
  cursor: pointer;
  transition: background 0.2s, transform 0.15s;
  position: relative;
  overflow: hidden;
}

form input[type=submit]:hover,
form .hs-button:hover {
  background: var(--orange-600);
  transform: translateY(-1px);
}

fieldset.form-columns-2 .input {
  margin-right: 20px !important;
}

/* Captcha */
.grecaptcha-badge {
  margin: 0 auto;
}


/* === Global Table Standards ===
 * th:  navy-500 bg, white text — always, regardless of section background
 * td:  explicit white bg (odd rows) so tables read on both white AND grey sections
 * even rows: #f7f9fc (blue-tinted) — creates stripe contrast against white odd rows
 * hover: #e8f0fa — visible over both stripe colors
 * No per-page overrides needed; explicit backgrounds handle the grey-section exception.
 */
/* Responsive table wrapper — prevents horizontal overflow on mobile */
.table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  width: 100%;
}
table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.84rem;
  min-width: 600px;
}
@media (max-width: 680px) {
  table {
    font-size: 0.78rem;
  }
  table th,
  table td {
    padding: 0.65rem 0.75rem;
  }
}
table th {
  background: var(--navy-500);
  color: var(--white);
  font-family: "Gilroy", sans-serif;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 0.75rem 1rem;
  text-align: left;
}
table td {
  padding: 1rem;
  border-bottom: 1px solid var(--grey-100);
  color: var(--grey-500);
  vertical-align: top;
  background: var(--white);
}
table tr:last-child td {
  border-bottom: none;
}
table tr:nth-child(even) td {
  background: #f7f9fc;
}
table tr:hover td {
  background: #e8f0fa;
}

/* Components
Specific pieces of UI that are stylized. Typically used for global partial styling
*/

/* === Main Nav === */
.nav {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  padding: 1rem 3rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: rgba(255, 255, 255, 0.97);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  transition: all 0.3s ease;
  height: 68px; 
  padding-top: 0; 
  padding-bottom: 0; 
  transition: box-shadow 0.3s ease, background 0.3s ease;
}
.nav.scrolled {
  padding: 0.6rem 3rem;
  box-shadow: 0 2px 20px rgba(0, 0, 0, 0.08);
  height: 56px;
}
.nav-logo {
  line-height: 0;
}
.nav-logo img {
  height: 32px;
}
.nav-links {
  display: flex;
  gap: 2.25rem;
  align-items: center;
}
.nav-links a {
  color: var(--grey-500);
  text-decoration: none;
  font-size: 0.85rem;
  line-height: 1;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  transition: color 0.2s;
  font-family: "Gilroy", sans-serif;
  position: relative;
}
.nav-links a:hover {
  color: var(--navy-500);
}
.nav-links a::after {
  content: "";
  position: absolute;
  bottom: -4px;
  left: 0;
  height: 2px;
  width: 0;
  background: var(--orange-500);
  transition: width 0.25s;
}
.nav-active {
  color: var(--orange-500) !important;
}
.nav-active::after {
  width: 100% !important;
}

.nav-cta {
  background: var(--orange-500);
  color: var(--white) !important;
  line-height: 1.2;
  padding: 0.65rem 1.75rem;
  border-radius: 4px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 0.8rem;
  font-weight: 700;
  transition: all 0.2s;
}
.nav-cta:hover {
  background: var(--orange-600);
  transform: translateY(-1px);
}
.nav-cta::after {
  display: none;
}
.nav-dropdown {
  position: relative;
}
.nav-dropdown-trigger {
  background: none;
  border: none;
  cursor: pointer;
  color: var(--grey-500);
  font-size: 0.85rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-family: "Gilroy", sans-serif;
  padding: 0;
  display: flex;
  align-items: center;
  gap: 0.28rem;
  transition: color 0.2s;
}
.nav-dropdown-trigger:hover {
  color: var(--navy-500);
}
.nav-dropdown-trigger.active {
  color: var(--orange-500);
}
.nav-caret {
  font-size: 0.58em;
  transition: transform 0.2s ease;
  display: inline-block;
  line-height: 1;
}
.nav-dropdown:hover .nav-caret,
.nav-dropdown:focus-within .nav-caret {
  transform: rotate(180deg);
}
.nav-dropdown-menu {
  position: absolute;
  top: calc(100% + 0.9rem);
  left: -1rem;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.12);
  padding: 0.4rem;
  min-width: 168px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px);
  transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s;
  z-index: 200;
}
.nav-dropdown:hover .nav-dropdown-menu,
.nav-dropdown:focus-within .nav-dropdown-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.nav-dropdown-menu a {
  display: block;
  padding: 0.55rem 1rem;
  border-radius: 5px;
  color: var(--navy-500);
  font-family: "Gilroy", sans-serif;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-decoration: none;
  white-space: nowrap;
  transition: background 0.15s, color 0.15s;
}
.nav-dropdown-menu a:hover {
  background: var(--grey-50);
  color: var(--orange-500);
}
.nav-dropdown-menu a.active {
  background: var(--grey-50);
  color: var(--orange-500);
}

/* ---- HAMBURGER + MOBILE NAV ---- */
.nav-hamburger {
  display: none;
  flex-direction: column;
  gap: 5px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0.25rem;
}
.nav-hamburger span {
  display: block;
  width: 24px;
  height: 2px;
  background: var(--grey-500);
  border-radius: 2px;
  transition: all 0.3s;
}
.mobile-nav {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  inset: 0;
  background: var(--navy-900);
  z-index: 200;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 6rem 2rem;
  overflow-y: auto;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s ease;
}
.mobile-nav.open {
  opacity: 1;
  pointer-events: all;
  transform: translateX(0);
}
.mobile-nav-close {
  position: absolute;
  top: 1.5rem;
  right: 1.75rem;
  background: none;
  border: none;
  color: rgba(255,255,255,0.5);
  font-size: 1.75rem;
  cursor: pointer;
  line-height: 1;
  transition: color 0.2s;
  align-self: flex-end;
  margin-bottom: 1.5rem;
}
.mobile-nav-close:hover {
  color: var(--white);
}
.mobile-nav-links {
  display: flex;
  flex-direction: column;
  gap: 0;
  align-items: stretch;
  max-width: 280px;
  margin: 0 auto;
  width: 100%;
}
.mobile-nav-group {
  margin-bottom: 1.75rem;
}
.mobile-nav-group:last-child {
  margin-bottom: 0.75rem;
}
.mobile-group-label {
  font-family: "Gilroy", sans-serif;
  font-size: 0.62rem;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.3);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  display: block;
  margin-bottom: 0.4rem;
  padding-bottom: 0.4rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.mobile-nav-links a,
.mobile-sub {
  display: block;
  padding: 0.55rem 0;
  font-family: "Gilroy", sans-serif;
  font-size: 0.95rem;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.8);
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.mobile-nav-links a:hover {
  color: var(--white);
}
.mobile-nav-links .mobile-cta {
  display: block;
  margin-top: 1rem;
  background: var(--orange-500);
  color: var(--white);
  padding: 0.85rem 2rem;
  border-radius: 4px;
  font-size: 0.82rem;
  letter-spacing: 0.08em;
  text-align: center;
  border-bottom: none;
  transition: background 0.2s;
  text-transform: uppercase;
}
.mobile-nav-links .mobile-cta:hover {
  background: var(--orange-600);
}

/* === Global Mobile Nav === */
@media (max-width: 1199px) {
  .nav-links {
    display: none;
  }
  .nav-hamburger {
    display: flex;
  }
}

/* === Global Tablet (≤ 900px) === */
@media (max-width: 900px) {
  .nav {
    padding: 0.9rem 1.5rem;
  }
  .nav.scrolled {
    padding: 0.6rem 1.5rem;
  }
}

/* === Global Phone (≤ 480px) === */
@media (max-width: 480px) {
  .nav {
    padding: 0.75rem 1rem;
  }
  .nav.scrolled {
    padding: 0.5rem 1rem;
  }
}
/* ---- HERO ---- */
.hero {
  min-height: 100vh;
  display: flex;
  align-items: center;
  padding: 9rem 2rem 5rem;
  position: relative;
  overflow: hidden;
  background: linear-gradient(
    135deg,
    #0c1428 0%,
    var(--navy-800) 60%,
    #1a2a5e 100%
  );
}
@media(max-width: 480px) {
  .hero { 
    padding: 7rem 1.25rem 3rem; 
    min-height: auto; 
  }
} 
.hero-inner {
  max-width: 1140px;
  margin: 0 auto;
  width: 100%;
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 4rem;
  align-items: center;
}
@media(max-width: 1023px) {
  .hero-inner {
    grid-template-columns: 1fr; 
    gap: 2.5rem;
  }
}
.hero-content {
  position: relative;
  z-index: 1;
}
.hero h1 {
  font-size: clamp(2.4rem, 4.8vw, 3.5rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.12;
  margin-bottom: 1.5rem;
  color: var(--white);
}
@media (max-width: 480px) {
  .hero h1 { 
    font-size: 1.85rem; 
  }
}
.hero h1 span {
  background: linear-gradient(
    90deg,
    var(--orange-300) 0%,
    #ffd98a 50%,
    var(--orange-400) 100%
  );
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.hero-sub {
  font-size: clamp(1rem, 1.5vw, 1.1rem);
  color: rgba(255, 255, 255, 0.72);
  max-width: 520px;
  line-height: 1.8;
  font-weight: 400;
  margin-bottom: 2rem;
}
@media (max-width: 480px) {
  .hero-sub { 
    font-size: 0.95rem;
  }
}
.hero .cta-pair {
  margin-bottom: 2rem;
  justify-content: flex-start;
}
.hero-proof {
  font-size: 0.72rem;
  color: rgba(255, 255, 255, 0.38);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-weight: 600;
}

/* Hero right — three buyer signal cards */
.hero-buyers {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
@media(max-width: 1023px) {
  .hero-buyers {
    flex-direction: row; 
    flex-wrap: wrap;
  }
}
@media(max-width: 767px) {
  .hero-buyers {
    flex-direction: column;
  }
}
.buyer-card {
  background: rgba(255, 255, 255, 0.06);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 10px;
  padding: 1.35rem 1.5rem;
  transition: all 0.3s;
  position: relative;
  overflow: hidden;
}
@media(max-width: 1023px) {
  .buyer-card {
    flex: 1; 
    min-width: 200px;
  }
}
@media(max-width: 480px) {
  .hero-buyers {
    min-width: 0;
  }
}
.buyer-card:hover {
  background: rgba(255, 255, 255, 0.1);
  transform: translateX(4px);
}
.buyer-card::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background: var(--orange-500);
}
.buyer-card-label {
  font-family: "Gilroy", sans-serif;
  font-size: 0.65rem;
  color: var(--blue-500);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-weight: 700;
  margin-bottom: 0.3rem;
}
.buyer-card h3 {
  font-family: "Gilroy", sans-serif;
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--white);
  margin-bottom: 0.25rem;
  line-height: 1.3;
}
.buyer-card p {
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.5);
  line-height: 1.55;
}
.buyer-card .buyer-titles {
  font-size: 0.68rem;
  color: rgba(255, 255, 255, 0.3);
  font-family: "Gilroy", sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-top: 0.5rem;
  font-weight: 600;
}
/* ---- HERO COMMON ---- */
.hero-common {
  min-height: 70vh;
  display: flex;
  align-items: center;
  padding: 9rem 2rem 6rem;
  background: linear-gradient(
    135deg,
    #0c1428 0%,
    var(--navy-800) 60%,
    #1a2a5e 100%
  );
  position: relative;
  overflow: hidden;
}
@media(max-width: 1023px) {
  .hero-common {
    padding-bottom: 4rem;
  }
}

.hero-common .hero-grid {
  display: grid;
  gap: 4rem;
  align-items: center;
  position: relative;
  z-index: 2;
}
.hero-common .hero-grid.has-image {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media(max-width: 1023px) {
  .hero-common .hero-grid.has-image {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}
.hero-common .hero-grid.no-image {
  grid-template-columns: 1fr;
}
.hero-eyebrow {
  font-family: "Gilroy", sans-serif;
  font-size: 0.78rem;
  color: var(--orange-400);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-weight: 700;
  margin-bottom: 1.25rem;
}
.hero-common h1 {
  font-size: clamp(2.5rem, 5vw, 3.75rem);
  font-weight: 800;
  color: var(--white);
  line-height: 1.1;
  letter-spacing: -0.02em;
  max-width: 820px;
  margin-bottom: 1.75rem;
}
.hero-common h1 span {
  background: linear-gradient(
    90deg,
    var(--orange-300),
    #ffd98a,
    var(--orange-400)
  );
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.hero-common .hero-sub {
  max-width: 620px;
}
.hero-common .cta-pair {
  margin-bottom: 2rem;
  justify-content: flex-start;
}
.hero-signals {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 2rem;
}
.hero-signal {
  font-size: 0.75rem;
  color: rgba(255, 255, 255, 0.38);
  letter-spacing: 0.05em;
  font-weight: 600;
  font-family: "Gilroy", sans-serif;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.hero-signal::before {
  content: "";
  display: inline-block;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--orange-400);
  flex-shrink: 0;
}

.hero-stats {
  display: flex;
  gap: 2.5rem;
  flex-wrap: wrap;
}
.hero-stat {
  display: flex;
  flex-direction: column;
  max-width: 165px;
}
.hero-stat-num {
  font-family: "Gilroy", sans-serif;
  font-size: 1.6rem;
  font-weight: 800;
  color: var(--white);
  line-height: 1;
  margin-bottom: 5px;
}
.hero-stat-label {
  font-size: 0.78rem;
  color: rgba(255, 255, 255, 0.45);
  margin-top: 0.3rem;
}


.platform-badges {
  display: flex;
  gap: 0.6rem;
  flex-wrap: wrap;
  margin-top: 2rem;
}
.platform-badges .badges {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  background: rgba(255,255,255,0.07);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 4px;
  padding: 0.4rem 0.8rem;
  font-family: 'Gilroy', sans-serif;
  font-size: 0.72rem;
  font-weight: 700;
  color: rgba(255,255,255,0.6);
  letter-spacing: 0.04em;
}
.platform-badges .dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
}
/* ---- HERO Small ---- */
.hero-small {
  background: linear-gradient(
    135deg,
    var(--navy-900) 0%,
    var(--navy-800) 60%,
    #1a2d5e 100%
  );
  padding: 7rem 2rem 4.5rem;
  text-align: center;
  position: relative;
  overflow: hidden;
}
@media(max-width: 767px) {
  .hero-small {
    padding: 6rem 1.5rem 3rem;
  }
}
.hero-small::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(
    ellipse at 60% 40%,
    rgba(231, 148, 48, 0.08) 0%,
    transparent 70%
  );
  pointer-events: none;
}
.hero-small-inner {
  max-width: 680px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
.hero-small .section-label {
  font-family: "Gilroy", sans-serif;
  font-size: 0.72rem;
  color: var(--orange-400);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-weight: 700;
  margin-bottom: 1rem;
}
.hero-small h1 {
  font-size: clamp(2.1rem, 4vw, 3.1rem);
  font-weight: 900;
  color: var(--white);
  line-height: 1.15;
  letter-spacing: -0.02em;
  margin-bottom: 1.25rem;
}
.hero-small .section-sub {
  color: rgba(255, 255, 255, 0.5);
  max-width: 540px;
  margin: 0 auto;
}
/* ---- PROFILE HERO ---- */
.hero-profile {
  padding: 9rem 2rem 5.5rem;
  background: linear-gradient(
    135deg,
    #0c1428 0%,
    var(--navy-800) 60%,
    #1a2a5e 100%
  );
  position: relative;
  overflow: hidden;
}
.hero-profile::after {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0.02;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
  background-size: 200px 200px;
  pointer-events: none;
}
.hero-profile-inner {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 4rem;
  align-items: center;
}
@media (max-width: 1023px) {
  .hero-profile-inner { 
    grid-template-columns: 1fr; 
    gap: 2rem; 
  }
}
/* Photo */
.hero-profile .author-photo {
  width: 180px;
  height: 180px;
  border-radius: 50%;
  overflow: hidden;
  border: 3px solid rgba(255, 255, 255, 0.12);
  box-shadow: 0 0 0 8px rgba(255, 255, 255, 0.04);
  background: var(--navy-700);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
@media (max-width: 1023px) {
  .hero-profile .author-photo { 
    width: 120px; 
    height: 120px;
  }
}
.hero-profile .author-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.hero-profile .author-photo-fallback {
  font-family: "Gilroy", sans-serif;
  font-size: 3rem;
  font-weight: 800;
  color: rgba(255, 255, 255, 0.3);
}

/* Hero copy */
.hero-profile .author-name {
  font-size: clamp(2.2rem, 4.5vw, 3.4rem);
  font-weight: 800;
  color: var(--white);
  line-height: 1.08;
  letter-spacing: -0.03em;
  margin-bottom: 0.4rem;
}
.hero-profile .author-title {
  font-family: "Gilroy", sans-serif;
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--orange-400);
  margin-bottom: 1.5rem;
}
.hero-profile .author-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 1.75rem;
}
.hero-profile .author-tag {
  font-family: "Gilroy", sans-serif;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 0.3rem 0.75rem;
  border-radius: 20px;
  border: 1px solid rgba(255, 255, 255, 0.15);
  color: rgba(255, 255, 255, 0.55);
}
.hero-profile .author-tag.highlight {
  border-color: rgba(236, 169, 89, 0.45);
  color: var(--orange-300);
}
.hero-profile .author-social {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}
.hero-profile .author-social a {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-family: "Gilroy", sans-serif;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: rgba(255, 255, 255, 0.45);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 4px;
  padding: 0.45rem 0.9rem;
  transition: all 0.2s;
}
.hero-profile .author-social a:hover {
  color: var(--white);
  border-color: rgba(255, 255, 255, 0.3);
}
/* ---- HERO integrations ---- */
.hero-integrations {
  background: var(--navy-900);
  padding: 8rem 2rem 3.5rem;
}
.hero-integrations .hero-text {
  max-width: 780px;
  margin: 0 auto;
  text-align: center;
  padding-bottom: 3.5rem;
}
.hero-integrations .hero-label {
  font-family: "Gilroy", sans-serif;
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--orange-400);
  letter-spacing: 0.2em;
  text-transform: uppercase;
  margin-bottom: 1rem;
}
.hero-integrations .hero-h1 {
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 900;
  color: var(--white);
  line-height: 1.15;
  margin-bottom: 1.25rem; 
}
.hero-integrations .hero-h1 span {
  color: var(--orange-400);
}
.hero-integrations .hero-sub {
  font-size: 1.05rem;
  color: rgba(255, 255, 255, 0.6);
  margin: 0 auto 2rem;
  max-width: 100%;
}


/* ---- PIPELINE DIAGRAM ---- */
.pipeline-wrap {
  max-width: 1140px;
  margin: 0 auto;
  position: relative;
}
.pipeline {
  display: grid;
  grid-template-columns: 1fr auto 1.15fr auto 1fr;
  align-items: stretch;
  gap: 0;
  position: relative;
}
@media(max-width: 1023px) {
  .pipeline {
    grid-template-columns: 1fr;
  }
}
.pipeline-col {
  background: #fff;
  border-radius: 16px 16px 0 0;
  padding: 2rem 1.75rem 2.25rem;
  display: flex;
  flex-direction: column;
  gap: 0;
}
.pipeline-col.sources {
  border-top: 3px solid #56aee3;
}
.pipeline-col.database {
  border-top: 3px solid var(--orange-500);
  background: var(--navy-800);
  border-radius: 16px 16px 0 0;
  border-left: 1px solid rgba(255, 255, 255, 0.12);
  border-right: 1px solid rgba(255, 255, 255, 0.12);
}
.pipeline-col.crm {
  border-top: 3px solid #27a86b;
}
.pipeline-stage-label {
  font-family: "Gilroy", sans-serif;
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  margin-bottom: 1.25rem;
}
.pipeline-col.sources .pipeline-stage-label {
  color: #56aee3;
}
.pipeline-col.database .pipeline-stage-label {
  color: var(--orange-400);
}
.pipeline-col.crm .pipeline-stage-label {
  color: #27a86b;
}
.pipeline-heading {
  font-family: "Gilroy", sans-serif;
  font-weight: 900;
  margin-bottom: 0.5rem;
}
.pipeline-col.sources .pipeline-heading {
  font-size: 1.1rem;
  color: var(--navy-500);
}
.pipeline-col.database .pipeline-heading {
  font-size: 1.25rem;
  color: var(--white);
}
.pipeline-col.crm .pipeline-heading {
  font-size: 1.1rem;
  color: var(--navy-500);
}
.pipeline-sub {
  font-size: 0.82rem;
  line-height: 1.55;
  margin-bottom: 1.5rem;
}
.pipeline-col.sources .pipeline-sub {
  color: var(--grey-400);
}
.pipeline-col.database .pipeline-sub {
  color: rgba(255, 255, 255, 0.5);
}
.pipeline-col.crm .pipeline-sub {
  color: var(--grey-400);
}
.pipeline-items {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  flex: 1;
}
.pipeline-item {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.6rem 0.85rem;
  border-radius: 8px;
  font-family: "Gilroy", sans-serif;
  font-size: 0.82rem;
  font-weight: 700;
}
.pipeline-col.sources .pipeline-item {
  background: rgba(86, 174, 227, 0.07);
  color: #1e6a99;
}
.pipeline-col.database .pipeline-item {
  background: rgba(255, 255, 255, 0.07);
  color: rgba(255, 255, 255, 0.85);
}
.pipeline-col.database .pipeline-item.excluded {
  background: rgba(204, 68, 68, 0.12);
  color: rgba(255, 255, 255, 0.4);
  text-decoration: line-through;
}
.pipeline-col.crm .pipeline-item {
  background: rgba(39, 168, 107, 0.07);
  color: #1e7a4f;
}
.pipeline-item-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  flex-shrink: 0;
}
.pipeline-col.sources .pipeline-item-dot {
  background: #56aee3;
}
.pipeline-col.database .pipeline-item-dot {
  background: var(--orange-400);
}
.pipeline-col.database .pipeline-item.excluded .pipeline-item-dot {
  background: #cc4444;
}
.pipeline-col.crm .pipeline-item-dot {
  background: #27a86b;
}
.pipeline-divider {
  border: none;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  margin: 1.25rem 0 1rem;
}
.pipeline-no-label {
  font-family: "Gilroy", sans-serif;
  font-size: 0.7rem;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.25);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 0.6rem;
}

/* Connector arrows between columns */
.pipeline-arrow {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 0 0.5rem;
  padding-top: 3px;
}
@media(max-width: 1023px) {
  .pipeline-arrow {
    flex-direction: row;
    padding: 0.5rem 0;
    justify-content: flex-start;
  }
}
.pipeline-arrow-line {
  width: 40px;
  height: 2px;
  background: rgba(255, 255, 255, 0.35);
  position: relative;
}
@media(max-width: 1023px) {
  .pipeline-arrow-line {
    width: 2px;
    height: 28px;
  }
}
.pipeline-arrow-line::after {
  content: "";
  position: absolute;
  right: -1px;
  top: -5px;
  width: 0;
  height: 0;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 8px solid rgba(255, 255, 255, 0.45);
}
@media(max-width: 1023px) {
   .pipeline-arrow-line::after {
    right: -5px;
    top: auto;
    bottom: -1px;
    border-top: 8px solid rgba(255,255,255,0.2);
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-bottom: none;
  }
}
.pipeline-arrow-label {
  font-family: "Gilroy", sans-serif;
  font-size: 0.6rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.4);
  margin-top: 0.5rem;
  white-space: nowrap;
}
@media(max-width: 1023px) {
  .pipeline-arrow-label {
    padding-left: 10px;
  }
}
/* ---- HERO Kellogg ---- */
.hero-kellogg {
  background: linear-gradient(
    135deg,
    #0c1428 0%,
    var(--navy-800) 60%,
    #162050 100%
  );
  color: var(--white);
  padding: 8rem 2rem 5.5rem;
  position: relative;
  overflow: hidden;
}
.hero-kellogg::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");
  opacity: 0.025;
  pointer-events: none;
}
.hero-badges {
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
  margin-bottom: 2rem;
}
.badge {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.35rem 0.9rem;
  border-radius: 4px;
  font-family: "Gilroy", sans-serif;
  font-size: 0.7rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.12em;
}
.badge-hbp {
  background: rgba(166, 28, 0, 0.25);
  color: #f0a090;
  border: 1px solid rgba(166, 28, 0, 0.4);
}
.badge-kellogg {
  background: rgba(75, 50, 130, 0.25);
  color: #b8a8e8;
  border: 1px solid rgba(75, 50, 130, 0.4);
}
.badge-galileo {
  background: rgba(86, 174, 227, 0.15);
  color: var(--blue-500);
  border: 1px solid rgba(86, 174, 227, 0.3);
}

.hero-kellogg h1 {
  font-family: "Gilroy", sans-serif;
  font-size: clamp(1.85rem, 3.5vw, 2.85rem);
  font-weight: 800;
  color: var(--white);
  line-height: 1.2;
  margin-bottom: 1.5rem;
  max-width: 820px;
}
.hero-subhead {
  font-size: 1.05rem;
  color: rgba(255, 255, 255, 0.62);
  line-height: 1.75;
  max-width: 700px;
  margin-bottom: 3.5rem;
}
.hero-credential-row {
  display: flex;
  gap: 3rem;
  flex-wrap: wrap;
  padding-top: 2rem;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}
.hero-credential {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}
.hero-credential-label {
  font-family: "Gilroy", sans-serif;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--orange-500);
}
.hero-credential-value {
  font-size: 0.95rem;
  color: rgba(255, 255, 255, 0.8);
  font-weight: 500;
}
/* ---- HERO OVERVIEW ---- */
.hero-overview {
  padding: 9rem 2rem 5rem;
  background: linear-gradient(
    135deg,
    #0c1428 0%,
    var(--navy-800) 60%,
    #1a2a5e 100%
  );
}
@media(max-width: 1023px) {
  .hero-overview {
    padding-bottom: 4rem;
  }
}
.hero-overview h1 {
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 800;
  color: var(--white);
  line-height: 1.15;
  letter-spacing: -0.02em;
  max-width: 700px;
  margin-bottom: 1.25rem;
}
.hero-overview h1 span {
  background: linear-gradient(
    90deg,
    var(--orange-300) 0%,
    #ffd98a 50%,
    var(--orange-400) 100%
  );
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.hero-overview .hero-sub {
  font-size: 1.05rem;
  color: rgba(255, 255, 255, 0.65);
  max-width: 600px;
  margin-bottom: 2.5rem;
}
.hero-overview .hero-visual {
  margin-top: 2.25rem;
}
.hero-overview .hero-visual img {
  width: 100%;
}
.hero-overview-jump {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}
.jump-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.7rem 1.75rem;
  border-radius: 4px;
  text-decoration: none;
  font-family: "Gilroy", sans-serif;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  transition: all 0.25s;
  background: rgba(255,255,255,0.07);
  border: 2px solid rgba(255, 255, 255, 0.15);
  color: rgba(255, 255, 255, 0.6);
}
.jump-btn.rounded {
  border-radius: 40px;
}
.jump-btn.prove {
  background: transparent;
  border-color: rgba(86, 174, 227, 0.5);
  color: var(--blue-500);
}
.jump-btn.prove:hover {
  background: rgba(86, 174, 227, 0.1);
  border-color: var(--blue-500);
}
.jump-btn.grow {
  background: transparent;
  border-color: rgba(129, 140, 248, 0.5);
  color: #818cf8;
}
.jump-btn.grow:hover {
  background: rgba(129, 140, 248, 0.1);
  border-color: #818cf8;
}
.jump-btn.scale {
  background: transparent;
  border-color: rgba(16, 185, 129, 0.5);
  color: #6ee7b7;
}
.jump-btn.scale:hover {
  background: rgba(16, 185, 129, 0.1);
  border-color: #6ee7b7;
}
.jump-btn.aistack {
  background: transparent;
  border-color: rgba(231, 148, 48, 0.5);
  color: #efb774;
}
.jump-btn.aistack:hover {
  background: rgba(231, 148, 48, 0.1);
  border-color: #eca959;
}
.chip-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
  background: #bababa;
}
.chip-dot.prove {
  background: var(--blue-500);
}
.chip-dot.grow {
  background: #818cf8;
}
.chip-dot.scale {
  background: var(--teal-500);
}
.chip-dot.aistack {
  background: var(--orange-500);
}
/* ---- HERO FORM ---- */
.lp-hero {
  background: var(--navy-900);
  padding: 8rem 2rem 6rem;
  position: relative;
  overflow: hidden;
}
@media(max-width: 1023px) {
  .lp-hero {
    padding: 5.5rem 2rem 3rem;
  }
}
.lp-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(
    ellipse at 70% 50%,
    rgba(39, 54, 115, 0.45) 0%,
    transparent 65%
  );
  pointer-events: none;
}
.lp-hero::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(231, 148, 48, 0.3),
    transparent
  );
}
.lp-hero-inner {
  display: grid;
  grid-template-columns: 1fr 440px;
  gap: 4rem;
  align-items: start;
  position: relative;
}
@media(max-width: 1023px) {
  .lp-hero-inner {
    grid-template-columns: 1fr;
    gap: 3rem;
  }
}
.lp-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  background: rgba(231, 148, 48, 0.15);
  border: 1px solid rgba(231, 148, 48, 0.3);
  border-radius: 100px;
  padding: 0.35rem 1rem;
  margin-bottom: 1.5rem;
}
.lp-badge-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--orange-400);
}
.lp-badge span {
  font-family: "Gilroy", sans-serif;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--orange-400);
}
.lp-hero h1 {
  font-family: "Gilroy", sans-serif;
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 900;
  color: #fff;
  line-height: 1.15;
  margin-bottom: 1.25rem;
}
.lp-hero h1 span {
  color: var(--orange-400);
}
.lp-hero-sub {
  font-size: 1.1rem;
  color: rgba(255, 255, 255, 0.7);
  line-height: 1.65;
  margin-bottom: 2rem;
  max-width: 520px;
}
.lp-trust-row {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  flex-wrap: wrap;
}
.lp-trust-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-family: "Gilroy", sans-serif;
  font-size: 0.78rem;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.5);
  letter-spacing: 0.04em;
}
.lp-trust-icon {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: var(--teal-500);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 0.55rem;
  font-weight: 900;
  flex-shrink: 0;
}

/* ---- HERO FORM CARD ---- */
.lp-form-card {
  background: #fff;
  border-radius: 12px;
  padding: 2rem;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.35);
  align-self: start;
}
@media(max-width: 767px) {
  .lp-form-card {
    padding: 2rem 1.5rem;
  }
}
.lp-form-card-label {
  font-family: "Gilroy", sans-serif;
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--orange-500);
  margin-bottom: 0.5rem;
}
.lp-form-card h2 {
  font-family: "Gilroy", sans-serif;
  font-size: 1.25rem;
  font-weight: 800;
  color: var(--navy-900);
  margin-bottom: 0.5rem;
  line-height: 1.3;
}
.lp-form-card .text {
  font-size: 0.85rem;
  color: var(--grey-400);
  margin-bottom: 1.5rem;
  line-height: 1.5;
}
.lp-form {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}
.lp-form-card form .hs-richtext p {
  margin: 0.75rem 0 0;
}
.lp-form-card form .hs-button {
  width: 100%;
}


.lp-form-success {
  text-align: center;
  padding: 1rem 0;
}
.lp-form-success-icon {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: var(--teal-500);
  color: #fff;
  font-size: 1.4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 1rem;
}
.lp-form-success h3 {
  font-family: "Gilroy", sans-serif;
  font-size: 1.2rem;
  font-weight: 800;
  color: var(--navy-900);
  margin-bottom: 0.5rem;
}
.lp-form-success p {
  font-size: 0.88rem;
  color: var(--grey-500);
  margin-bottom: 1.25rem;
  line-height: 1.6;
}
.lp-form-success a {
  display: inline-block;
  background: var(--orange-500);
  color: #fff;
  font-family: "Gilroy", sans-serif;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-decoration: none;
  padding: 0.8rem 1.75rem;
  border-radius: 4px;
  transition: background 0.2s;
}
.lp-form-success a:hover {
  background: var(--orange-600);
}
/* HERO RESEARCH */
.research-hero {
  padding: 9rem 2rem 5.5rem;
  background: linear-gradient(
    135deg,
    #0a1220 0%,
    var(--navy-800) 55%,
    #1a2560 100%
  );
  position: relative;
  overflow: hidden;
}
.research-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: radial-gradient(
    ellipse at 70% 50%,
    rgba(231, 148, 48, 0.06) 0%,
    transparent 70%
  );
  pointer-events: none;
}
.research-hero-inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 4rem;
  align-items: center;
}
@media(max-width: 1023px) {
  .research-hero-inner {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}
.research-eyebrow {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 1.25rem;
}
@media(max-width: 767px) {
  .research-eyebrow {
    flex-wrap: wrap;
  }
}
.research-tag {
  font-family: "Gilroy", sans-serif;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--orange-400);
  background: rgba(231, 148, 48, 0.12);
  border: 1px solid rgba(231, 148, 48, 0.25);
  padding: 0.3rem 0.75rem;
  border-radius: 3px;
}
.research-series {
  font-family: "Gilroy", sans-serif;
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.35);
}
.research-hero h1 {
  font-size: clamp(2rem, 3.5vw, 2.9rem);
  font-weight: 900;
  color: var(--white);
  line-height: 1.12;
  letter-spacing: -0.025em;
  margin-bottom: 1.25rem;
}
.research-hero h1 span {
  font-style: normal;
  color: var(--orange-400);
}
.research-subhead {
  font-size: 1rem;
  color: rgba(255, 255, 255, 0.58);
  line-height: 1.75;
  max-width: 540px;
  margin-bottom: 2rem;
}
.research-meta {
  display: flex;
  gap: 1.5rem;
  flex-wrap: wrap;
  margin-bottom: 2.25rem;
}
.research-meta-item {
  font-size: 0.75rem;
  color: rgba(255, 255, 255, 0.35);
  font-weight: 500;
  letter-spacing: 0.03em;
}
.research-meta-item strong {
  color: rgba(255, 255, 255, 0.6);
  font-weight: 600;
}
.hero-cta-row {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}
.btn-primary {
  display: inline-block;
  background: var(--orange-500);
  color: var(--white);
  padding: 0.85rem 2rem;
  border-radius: 4px;
  font-family: "Gilroy", sans-serif;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-decoration: none;
  transition: all 0.2s;
  border: none;
  cursor: pointer;
}
.btn-primary:hover {
  background: var(--orange-600);
  transform: translateY(-1px);
}
.btn-ghost {
  display: inline-block;
  background: transparent;
  color: rgba(255, 255, 255, 0.65);
  padding: 0.85rem 2rem;
  border-radius: 4px;
  font-family: "Gilroy", sans-serif;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-decoration: none;
  border: 1px solid rgba(255, 255, 255, 0.18);
  transition: all 0.2s;
  cursor: pointer;
}
.btn-ghost:hover {
  border-color: rgba(255, 255, 255, 0.4);
  color: var(--white);
}
.hero-stat-card {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 10px;
  padding: 2rem;
}
.hero-stat-card .stat-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.25rem;
}
@media(max-width: 480px) {
  .hero-stat-card .stat-row {
    grid-template-columns: 1fr;
  }
}
.hero-stat-card .hero-stat {
  text-align: center;
  padding: 1rem;
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 6px;
  display: block;
  max-width: 100%;
}
.hero-stat-card .hero-stat-num {
  font-family: "Gilroy", sans-serif;
  font-size: 1.8rem;
  font-weight: 900;
  color: var(--orange-400);
  line-height: 1;
  margin-bottom: 0.3rem;
}
.hero-stat-card .hero-stat-label {
  font-size: 0.7rem;
  color: rgba(255, 255, 255, 0.65);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  line-height: 1.4;
}
/* ---- TRUST STRIP ---- */
.trust-strip {
  background: var(--white);
  padding: 2.25rem 2rem;
  border-bottom: 1px solid var(--grey-100);
}
.trust-inner {
  max-width: 1140px;
  margin: 0 auto;
}
.trust-row {
  margin-bottom: 0;
  padding: 1.35rem 0;
  border-bottom: 1px solid var(--grey-100);
}
.trust-row:last-child {
  border-bottom: none;
  padding-bottom: 0;
}
.trust-row:first-child {
  padding-top: 0;
}
.trust-row-label {
  display: block;
  text-align: center;
  font-family: "Gilroy", sans-serif;
  font-size: 0.68rem;
  color: var(--grey-300);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-weight: 700;
  margin-bottom: 1rem;
}
.trust-awards {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 2.75rem;
  flex-wrap: wrap;
}
.trust-awards img {
  height: 46px;
  opacity: 0.5;
  filter: grayscale(100%);
  transition: all 0.3s;
}
.trust-awards img:hover {
  opacity: 1;
  filter: grayscale(0%);
}
.trust-logos {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 2.75rem;
  flex-wrap: wrap;
}
.trust-logos img {
  height: 36px !important;
  width: auto;
  max-width: 130px !important;
  opacity: 0.4;
  filter: grayscale(100%);
  transition: all 0.3s;
  object-fit: contain;
}
.trust-logos img:hover {
  opacity: 1;
  filter: grayscale(0%);
}


/* ── v2: linked credentials strip ── */
.trust-credentials {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0;
  flex-wrap: wrap;
}
.trust-credential-link {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.6rem 1.3rem;
  font-family: "Gilroy", sans-serif;
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--grey-300);
  letter-spacing: 0.04em;
  text-decoration: none;
  border-right: 1px solid var(--grey-100);
  transition: color 0.2s;
  white-space: nowrap;
}
.trust-credential-link:last-child {
  border-right: none;
}
.trust-credential-link:hover {
  color: var(--navy-500);
}
.trust-credential-link .tcl-source {
  font-size: 0.65rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--grey-200);
  border: 1px solid var(--grey-100);
  border-radius: 3px;
  padding: 0.1rem 0.35rem;
  white-space: nowrap;
}
.trust-credential-link:hover .tcl-source {
  border-color: var(--blue-500);
  color: var(--blue-500);
}
@media (max-width: 768px) {
  .trust-credentials {
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
  }
  .trust-credential-link {
    border-right: none;
    border-bottom: 1px solid var(--grey-100);
    width: 100%;
  }
  .trust-credential-link:last-child {
    border-bottom: none;
  }
}
/* ---- THREE LANES ---- */
.lanes-section {
  background: var(--grey-50);
  padding: 6rem 2rem;
}
.section-header {
  text-align: center;
  margin-bottom: 1rem;
}
.lanes-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}
@media (max-width: 1023px) {
  .lanes-grid { 
    grid-template-columns: 1fr; 
  }
}

.lanes-grid .lane:nth-child(2) { 
  transition-delay: 130ms; 
}
.lanes-grid .lane:nth-child(3) { 
  transition-delay: 260ms; 
}

.lane {
  background: var(--white);
  border: 1px solid var(--grey-100);
  border-radius: 8px;
  padding: 2.25rem;
  transition: all 0.3s;
  position: relative;
  overflow: hidden;
}
.lane:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.08);
}
.lane::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: var(--navy-500);
}
.lane-bucket {
  font-family: "Gilroy", sans-serif;
  font-size: 0.72rem;
  color: var(--blue-500);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-weight: 700;
  margin-bottom: 0.75rem;
}
.lane-icon {
  width: 48px;
  height: 48px;
  border-radius: 8px;
  background: rgba(39, 54, 115, 0.08);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1.25rem;
  color: var(--navy-500);
}
.lane h3 {
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--navy-500);
  margin-bottom: 0.6rem;
}
.lane p {
  font-size: 0.88rem;
  color: var(--grey-400);
  line-height: 1.7;
  margin-bottom: 1.25rem;
}
.lane-stats {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  margin-bottom: 1.25rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--grey-100);
}
.lane-stat {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
}
.lane-stat-num {
  font-family: "Gilroy", sans-serif;
  font-size: 0.85rem;
  color: var(--orange-500);
  font-weight: 700;
  white-space: nowrap;
}
.lane-stat-label {
  font-size: 0.78rem;
  color: var(--grey-300);
}
.lane-buyers {
  font-size: 0.68rem;
  color: var(--grey-300);
  font-family: "Gilroy", sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-weight: 600;
  margin-bottom: 1rem;
}
.lane-cta {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  color: var(--blue-500);
  font-size: 0.82rem;
  font-weight: 700;
  text-decoration: none;
  font-family: "Gilroy", sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  transition: gap 0.2s;
}
.lane-cta::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
}
.lane-cta:hover {
  gap: 0.7rem;
}
.lane {
  cursor: pointer;
}


/* ---- LANE CARD DIFFERENTIATION ---- */
/* PROVE = light blue, GROW = navy, SCALE = teal */
.lane:nth-child(1)::before {
  background: var(--blue-500);
}
.lane:nth-child(2)::before {
  background: var(--navy-500);
}
.lane:nth-child(3)::before {
  background: #1a7a6e;
}
.lane:nth-child(1) .lane-icon {
  background: rgba(86, 174, 227, 0.1);
  color: var(--blue-500);
}
.lane:nth-child(2) .lane-icon {
  background: rgba(39, 54, 115, 0.08);
  color: var(--navy-500);
}
.lane:nth-child(3) .lane-icon {
  background: rgba(26, 122, 110, 0.1);
  color: #1a7a6e;
}
.lane:nth-child(1) .lane-bucket {
  color: var(--blue-500);
}
.lane:nth-child(2) .lane-bucket {
  color: var(--navy-500);
}
.lane:nth-child(3) .lane-bucket {
  color: #1a7a6e;
}
.lane:nth-child(1) .lane-cta {
  color: var(--blue-500);
}
.lane:nth-child(2) .lane-cta {
  color: var(--navy-500);
}
.lane:nth-child(3) .lane-cta {
  color: #1a7a6e;
}
.lane:nth-child(1):hover {
  box-shadow: 0 12px 32px rgba(86, 174, 227, 0.12);
}
.lane:nth-child(2):hover {
  box-shadow: 0 12px 32px rgba(39, 54, 115, 0.12);
}
.lane:nth-child(3):hover {
  box-shadow: 0 12px 32px rgba(26, 122, 110, 0.12);
}
/* ---- CAPABILITIES ---- */
.cap-section {
  padding: 5.5rem 2rem;
  scroll-margin-top: 80px;
}
@media(max-width: 1023px) {
  .cap-section {
    padding: 4rem 2rem;
  }
}
.cap-section.light {
  background: var(--grey-50);
}
.cap-section.dark {
  background: linear-gradient(
    135deg,
    #0c1428 0%,
    var(--navy-800) 60%,
    #162050 100%
  );
  position: relative;
  overflow: hidden;
}
.cap-section.dark::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  opacity: 0.025;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
  background-size: 200px 200px;
}
.cap-section.dark .cap-inner {
  position: relative;
  z-index: 1;
}
.cap-inner {
  max-width: 1140px;
  margin: 0 auto;
}

.cap-intro-grid {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 4.5rem;
  align-items: center;
  margin-bottom: 3.5rem;
}
@media(max-width: 1023px) {
  .cap-intro-grid {
    grid-template-columns: 1fr; 
    gap: 2.5rem;
  }
}
.cap-intro-grid.left {
  grid-template-columns: 0.9fr 1.1fr;
}
@media(max-width: 1023px) {
  .cap-intro-grid.left {
    grid-template-columns: 1fr; 
    gap: 2.5rem;
  }
}
@media(min-width: 1024px) {
  .cap-intro-grid.left > div:first-child {
    order: 2;
  }
  .cap-intro-grid.left > div:last-child {
    order: 1;
  }
}

/* Copy side */
.cap-lane-label {
  font-family: "Gilroy", sans-serif;
  font-size: 0.72rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-weight: 700;
  margin-bottom: 0.75rem;
  display: flex;
  align-items: center;
  gap: 0.6rem;
}
.cap-lane-label .lbl-bar {
  display: inline-block;
  width: 24px;
  height: 3px;
  border-radius: 2px;
  flex-shrink: 0;
}
.cap-lane-label.prove {
  color: var(--blue-500);
}
.cap-lane-label.prove .lbl-bar {
  background: var(--blue-500);
}
.cap-lane-label.grow {
  color: #818cf8;
}
.cap-lane-label.grow .lbl-bar {
  background: #818cf8;
}
.cap-lane-label.scale {
  color: #6ee7b7;
}
.cap-lane-label.scale .lbl-bar {
  background: #6ee7b7;
}

.cap-heading {
  font-size: clamp(1.65rem, 2.8vw, 2.25rem);
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: -0.02em;
  margin-bottom: 1.1rem;
  color: var(--navy-500);
}
.cap-section.dark .cap-heading {
  color: var(--white);
}
.cap-heading span {
  background: linear-gradient(
    90deg,
    var(--orange-300) 0%,
    #ffd98a 50%,
    var(--orange-400) 100%
  );
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.cap-body {
  font-size: 1rem;
  line-height: 1.85;
  color: var(--grey-400);
  margin-bottom: 1.25rem;
}
.cap-section.dark .cap-body {
  color: rgba(255, 255, 255, 0.6);
}
.cap-who {
  font-family: "Gilroy", sans-serif;
  font-size: 0.7rem;
  color: var(--grey-300);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-weight: 700;
  margin-bottom: 1.75rem;
}
.cap-section.dark .cap-who {
  color: rgba(255, 255, 255, 0.28);
}
.cap-cta {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-family: "Gilroy", sans-serif;
  font-size: 0.82rem;
  font-weight: 700;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  border-bottom: 2px solid transparent;
  padding-bottom: 0.2rem;
  transition: all 0.2s;
}
.cap-cta.prove {
  color: var(--blue-500);
  border-color: rgba(86, 174, 227, 0.3);
}
.cap-cta.prove:hover {
  border-color: var(--blue-500);
  gap: 0.7rem;
}
.cap-cta.grow {
  color: #818cf8;
  border-color: rgba(141, 160, 224, 0.3);
}
.cap-cta.grow:hover {
  border-color: #818cf8;
  gap: 0.7rem;
}
.cap-cta.scale {
  color: #6ee7b7;
  border-color: rgba(110, 231, 183, 0.3);
}
.cap-cta.scale:hover {
  border-color: #6ee7b7;
  gap: 0.7rem;
}

/* Visual side */
.product-frame {
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.14);
  position: relative;
}
.product-frame.dark {
  background: var(--navy-900);
  padding: 1rem 1rem 0;
  border: 1px solid rgba(255, 255, 255, 0.06);
}
.product-frame.dark::before {
  content: "";
  display: flex;
  align-items: center;
  height: 28px;
  background: var(--navy-800);
  border-radius: 6px 6px 0 0;
  margin: -1rem -1rem 0.75rem;
  padding: 0 0.75rem;
  background-image: radial-gradient(
      circle,
      rgba(255, 255, 255, 0.25) 4px,
      transparent 4px
    ),
    radial-gradient(circle, rgba(255, 255, 255, 0.25) 4px, transparent 4px),
    radial-gradient(circle, rgba(255, 255, 255, 0.25) 4px, transparent 4px);
  background-repeat: no-repeat;
  background-size: 12px 12px;
  background-position: 10px center, 26px center, 42px center;
}
.product-frame img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 4px;
}
.product-frame.light {
  background: var(--grey-50);
  padding: 0;
  border: 1px solid var(--grey-100);
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.08);
}
.platform-badge {
  margin-top: 1.25rem;
  display: flex;
  align-items: center;
  gap: 0.85rem;
  padding: 0.85rem 1.1rem;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.1);
  margin-top: 1rem;
}
.platform-badge.light {
  background: var(--white);
  border-color: var(--grey-100);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}
.platform-badge-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  flex-shrink: 0;
}
.platform-badge-dot.prove {
  background: var(--blue-500);
}
.platform-badge-dot.grow {
  background: #818cf8;
}
.platform-badge-dot.scale {
  background: #6ee7b7;
}
.platform-badge-dot.aistack {
  background: var(--orange-500);
}
.platform-badge-text {
  font-family: "Gilroy", sans-serif;
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--navy-500);
  letter-spacing: 0.02em;
}
.cap-section.dark .platform-badge-text, .plat-section.dark .platform-badge-text {
  color: rgba(255, 255, 255, 0.7);
}
.platform-badge-sub {
  font-size: 0.82rem;
  color: var(--grey-300);
  margin-top: 0.1rem;
}
.cap-section.dark .platform-badge-sub {
  color: rgba(255, 255, 255, 0.35);
}
.platform-badge-link {
  margin-left: auto;
  font-family: "Gilroy", sans-serif;
  font-size: 0.7rem;
  font-weight: 700;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--navy-500);
  white-space: nowrap;
  transition: color 0.2s;
}
.cap-section.dark .platform-badge-link {
  color: var(--orange-400);
}
.platform-badge-link:hover {
  color: var(--orange-500);
}



/* Stats strip */
.cap-stats-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  border: 1px solid var(--grey-100);
  border-radius: 8px;
  overflow: hidden;
  margin-bottom: 2.5rem;
}
@media(max-width: 1023px) {
  .cap-stats-strip {
    grid-template-columns: repeat(2,1fr);
  }
}
@media(max-width: 767px) {
  .cap-stats-strip {
    grid-template-columns: 1fr 1fr;
  }
}
.cap-section.dark .cap-stats-strip {
  border-color: rgba(255, 255, 255, 0.08);
}
.cap-stat {
  padding: 1.75rem 2rem;
  border-right: 1px solid var(--grey-100);
  position: relative;
}
@media(max-width: 767px) {
  .cap-stat {
    padding: 1.75rem 1.5rem;
  }
}
.cap-section.dark .cap-stat {
  border-right-color: rgba(255, 255, 255, 0.07);
}
.cap-stat:last-child {
  border-right: none;
}
.cap-stat::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
}
.cap-stat.prove::before {
  background: var(--blue-500);
}
.cap-stat.grow::before {
  background: #818cf8;
}
.cap-stat.scale::before {
  background: var(--teal-500);
}
.cap-stat-num {
  font-family: "Gilroy", sans-serif;
  font-size: 1.9rem;
  font-weight: 900;
  color: var(--navy-500);
  line-height: 1.1;
  letter-spacing: -0.02em;
}
@media(max-width: 767px) {
  .cap-stat-num {
    font-size: 1.8rem;
  }
}
.cap-section.dark .cap-stat-num {
  color: var(--white);
}
.cap-stat-label {
  font-size: 0.78rem;
  color: var(--grey-500);
  margin-top: 0.3rem;
  line-height: 1.4;
}
.cap-section.dark .cap-stat-label {
  color: rgba(255, 255, 255, 0.65);
}


/* service grid */
.service-grid-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}
@media(max-width: 1023px) {
  .service-grid-3 { 
    grid-template-columns: repeat(2, 1fr); 
  }
}
@media(max-width: 767px) {
  .service-grid-3 { 
    grid-template-columns: 1fr;
  }
}
.service-card {
  background: var(--white);
  border: 1px solid var(--grey-100);
  border-radius: 6px;
  padding: 1.35rem 1.5rem;
  transition: all 0.25s;
  position: relative;
  overflow: hidden;
}
.service-card:hover {
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.07);
  transform: translateY(-2px);
}
.service-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 3px;
  height: 100%;
}
.service-card.prove::before {
  background: var(--blue-500);
}
.service-card.grow::before {
  background: #818cf8;
}
.service-card.scale::before {
  background: var(--teal-500);
}
.cap-section.dark .service-card {
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(255, 255, 255, 0.07);
}
.cap-section.dark .service-card:hover {
  background: rgba(255, 255, 255, 0.09);
  transform: translateY(-2px);
}
.service-card h4 {
  font-family: "Gilroy", sans-serif;
  font-size: 0.92rem;
  font-weight: 700;
  color: var(--navy-500);
  margin-bottom: 0.35rem;
  line-height: 1.35;
}
.cap-section.dark .service-card h4 {
  color: var(--white);
}
.service-card p {
  font-size: 0.8rem;
  color: var(--grey-300);
  line-height: 1.6;
}
.cap-section.dark .service-card p {
  color: rgba(255, 255, 255, 0.38);
}


/* lane overview table */
.aeo-table-holder {
  margin-top: 2rem;
  overflow-x: auto;
}


/* research callout */
.aeo-research-callout {
  margin-top: 2.5rem;
  background: linear-gradient(135deg, #f0f6ff 0%, #e8f2fb 100%);
  border: 1px solid rgba(86,174,227,0.18);
  border-left: 4px solid var(--blue-500);
  border-radius: 10px;
  padding: 2rem 2.5rem;
  display: flex;
  align-items: center;
  gap: 2.5rem;
  flex-wrap: wrap;
}
@media(max-width: 767px) {
  .aeo-research-callout {
    padding: 2rem 1.5rem;
  }
}
.research {
  flex: 1;
  min-width: 260px;
}
@media(max-width: 767px) {
  .research {
    min-width: auto;
    flex: auto;
  }
}
.research .title {
  font-family: 'Gilroy', sans-serif;
  font-size: 0.68rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--blue-500);
  margin-bottom: 0.5rem;
}
.research h4 {
  font-family: 'Gilroy', sans-serif;
  font-size: 1.15rem;
  font-weight: 800;
  color: var(--navy-500);
  margin: 0 0 0.5rem;
  line-height: 1.3;
}
.research .text {
  font-size: 0.92rem;
  color: var(--grey-400);
  line-height: 1.7;
  margin: 0;
}
.callouts {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  flex-shrink: 0;
}
@media(max-width: 767px) {
  .callouts {
    flex-shrink: inherit;
  }
}
.callouts a {
  font-family: 'Gilroy', sans-serif;
  font-size: 0.8rem;
  font-weight: 700;
  color: var(--navy-500);
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 0.4rem;
}
.callouts a:last-child {
  font-family: 'Gilroy', sans-serif;
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--blue-500);
  text-decoration: none;
  margin-top: 0.25rem;
  border-bottom: 1px solid rgba(86,174,227,0.3);
  padding-bottom: 0.1rem;
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
}
/* ── Intelligence Platform section ── */
.platform-section {
  background: var(--navy-500);
  padding: 4rem 2rem;
}
@media(min-width: 1023px) {
  .platform-section {
    padding: 6rem 2rem;
  }
}
.platform-intro {
  max-width: 640px;
}
.platform-intro .section-label {
  color: var(--orange-500);
}
.platform-intro .section-heading {
  color: white;
}
.platform-intro .section-heading::after {
  background: repeating-linear-gradient(
    90deg,
    var(--orange-500),
    var(--orange-500) 6px,
    transparent 6px,
    transparent 10px
  );
}
.platform-intro .section-sub {
  color: rgba(255, 255, 255, 0.55);
}
.platform-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.25rem;
}
.platform-card {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: 14px;
  padding: 2rem 1.75rem 1.75rem;
  display: flex;
  flex-direction: column;
  transition: background 0.25s, transform 0.25s, border-color 0.25s;
  cursor: default;
}
.platform-card:hover {
  background: rgba(255, 255, 255, 0.09);
  border-color: rgba(236, 169, 89, 0.35);
  transform: translateY(-4px);
}
.platform-card-eyebrow {
  font-family: "Gilroy", sans-serif;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--orange-500);
  margin-bottom: 0.6rem;
}
.platform-card-name {
  font-family: "Gilroy", sans-serif;
  font-size: 1.65rem;
  font-weight: 900;
  color: white;
  line-height: 1;
  margin-bottom: 0;
}
.platform-card-divider {
  width: 28px;
  height: 2px;
  background: var(--orange-500);
  opacity: 0.5;
  margin: 1rem 0;
  flex-shrink: 0;
}
.platform-card-desc {
  font-size: 0.88rem;
  color: rgba(255, 255, 255, 0.55);
  line-height: 1.7;
  flex-grow: 1;
  margin-bottom: 1.5rem;
}
.platform-card-proof {
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  padding-top: 1.25rem;
  margin-top: auto;
}
.platform-card-stat {
  font-family: "Gilroy", sans-serif;
  font-size: 1.4rem;
  font-weight: 900;
  color: var(--orange-500);
  line-height: 1;
  margin-bottom: 0.25rem;
}
.platform-card-stat-label {
  font-size: 0.73rem;
  color: rgba(255, 255, 255, 0.35);
  line-height: 1.4;
  margin-bottom: 1.25rem;
}
.platform-card-cta {
  font-family: "Gilroy", sans-serif;
  font-size: 0.82rem;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.6);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  transition: color 0.2s, gap 0.2s;
}
.platform-card-cta:hover {
  color: white;
  gap: 0.55rem;
}
.platform-bottom {
  margin-top: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
.platform-bottom-note {
  font-size: 0.82rem;
  color: rgba(255, 255, 255, 0.3);
}
.platform-all-cta {
  font-family: "Gilroy", sans-serif;
  font-size: 0.88rem;
  font-weight: 700;
  color: var(--orange-500);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  border: 1px solid rgba(236, 169, 89, 0.4);
  border-radius: 6px;
  padding: 0.6rem 1.1rem;
  transition: background 0.2s, border-color 0.2s;
  white-space: nowrap;
}
.platform-all-cta:hover {
  background: rgba(236, 169, 89, 0.1);
  border-color: var(--orange-500);
}
@media (max-width: 1023px) {
  .platform-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 767px) {
  .platform-grid {
    grid-template-columns: 1fr;
  }
  .platform-bottom {
    flex-direction: column;
    align-items: flex-start;
  }
  .platform-bottom .platform-all-cta:last-child {
    margin: 0 !important;
  }
}


.platform-section.light {
  background: var(--grey-50);
}
.platform-section.light .platform-intro .section-heading {
  color: var(--navy-500);
}
.platform-section.light .platform-intro .section-sub, .platform-section.light .platform-card-desc, .platform-section.light .platform-card-stat-label, .platform-section.light .platform-bottom-note {
  color: var(--grey-400);
}
.platform-section.light .platform-card {
  background: var(--white);
  border-color: var(--grey-100);
}
.platform-section.light .platform-card-name {
  color: var(--navy-500);
}
.platform-section.light .platform-card-cta {
  color: var(--orange-500);
}


.platform-card.prove .platform-card-eyebrow, .platform-card.prove .platform-card-stat, .platform-card.prove .platform-card-cta {
  color: var(--blue-600);
}
.platform-card.scale .platform-card-eyebrow, .platform-card.scale .platform-card-stat, .platform-card.scale .platform-card-cta {
  color: var(--teal-500);
}
.platform-card.aistack .platform-card-eyebrow, .platform-card.aistack .platform-card-stat, .platform-card.aistack .platform-card-cta {
  color: var(--orange-600);
}
.platform-card.grow .platform-card-eyebrow, .platform-card.grow .platform-card-stat, .platform-card.grow .platform-card-cta {
  color: var(--purple-500);
}
/* ---- INTELLIGENCE PLATFORMS ---- */
.platforms-02 {
  background: var(--white);
  padding: 6rem 2rem;
}
@media(max-width: 1023px) {
  .platforms-02 {
    padding: 4rem 2rem;
  }
}
.platforms-02 .section-sub {
  max-width: 960px;
}
.platforms-02-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}
@media (max-width: 1023px) {
  .platforms-02-grid { 
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 767px) {
  .platforms-02-grid { 
    grid-template-columns: 1fr; 
  }
}
.platform-02-card {
  background: var(--grey-50);
  border: 1px solid var(--grey-100);
  border-radius: 8px;
  padding: 2.25rem;
  position: relative;
  overflow: hidden;
  transition: all 0.3s;
}
.platform-02-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 4px;
  background: var(--navy-500);
  transition: background 0.3s;
}
.platform-02-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.08);
}
.platform-02-card:hover::before {
  background: var(--orange-500);
}
.platform-02-icon {
  width: 44px;
  height: 44px;
  border-radius: 8px;
  background: rgba(39, 54, 115, 0.08);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1.25rem;
  color: var(--navy-500);
}
.platform-02-name {
  font-family: "Gilroy", sans-serif;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--orange-400);
  margin-bottom: 0.4rem;
}
.platform-02-card h3 {
  font-family: "Gilroy", sans-serif;
  font-size: 1.1rem;
  font-weight: 800;
  color: var(--navy-500);
  margin-bottom: 0.75rem;
  line-height: 1.25;
}
.platform-02-card p {
  font-size: 0.88rem;
  color: var(--grey-400);
  line-height: 1.75;
  margin-bottom: 1rem;
}
.platform-02-fact {
  font-family: "Gilroy", sans-serif;
  font-size: 0.78rem;
  color: var(--grey-500);
  font-weight: 600;
  padding-top: 1rem;
  border-top: 1px solid var(--grey-100);
}
.platform-02-fact strong {
  color: var(--navy-500);
}
.platforms-02-cta {
  margin-top: 2rem;
  text-align: center;
}
.platforms-02-cta a {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-family: "Gilroy", sans-serif;
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--navy-500);
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  transition: gap 0.2s, color 0.2s;
}
.platforms-02-cta a:hover {
  gap: 0.85rem;
  color: var(--orange-500);
}
/* platforms */
.plat-section {
  padding: 5.5rem 2rem;
}
@media(max-width: 1023px) {
  .plat-section {
    padding: 4rem 2rem;
  }
}
.plat-section.light {
  background: var(--grey-50);
}
.plat-section.dark {
  background: linear-gradient(
    135deg,
    #0c1428 0%,
    var(--navy-800) 60%,
    #162050 100%
  );
  position: relative;
  overflow: hidden;
}
.plat-section--dark::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  opacity: 0.025;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
  background-size: 200px 200px;
}
.plat-section--dark .plat-inner {
  position: relative;
  z-index: 1;
}
.plat-inner {
  max-width: 1140px;
  margin: 0 auto;
}

/* Layer 1 — 2-col intro */
.plat-intro-grid {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 4.5rem;
  align-items: center;
  margin-bottom: 3.5rem;
}
@media(max-width: 1023px) {
  .plat-intro-grid {
    grid-template-columns: 1fr; 
    gap: 2.5rem;
  }
}
.plat-intro-grid.left {
  grid-template-columns: 0.9fr 1.1fr;
}
@media(max-width: 1023px) {
  .plat-intro-grid.left {
    grid-template-columns: 1fr; 
    gap: 2.5rem;
  }
}
@media(min-width: 1024px) {
  .plat-intro-grid.left > div:first-child {
    order: 2;
  }
  .plat-intro-grid.left > div:last-child {
    order: 1;
  }
}

/* Copy side */
.plat-label {
  font-family: "Gilroy", sans-serif;
  font-size: 0.72rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-weight: 700;
  margin-bottom: 0.75rem;
  display: flex;
  align-items: center;
  gap: 0.6rem;
}
.plat-label .lbl-bar {
  display: inline-block;
  width: 24px;
  height: 3px;
  border-radius: 2px;
  flex-shrink: 0;
}
.plat-label.prove {
  color: var(--blue-500);
}
.plat-label.prove .lbl-bar {
  background: var(--blue-500);
}
.plat-label.scale {
  color: #5cc4b8;
}
.plat-label.scale .lbl-bar {
  background: #5cc4b8;
}
.plat-label.aistack {
  color: var(--orange-400);
}
.plat-label.aistack .lbl-bar {
  background: var(--orange-500);
}

.plat-heading {
  font-size: clamp(1.65rem, 2.8vw, 2.25rem);
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: -0.02em;
  margin-bottom: 1.1rem;
  color: var(--navy-500);
}
.plat-section.dark .plat-heading {
  color: var(--white);
}
.plat-heading span {
  background: linear-gradient(
    90deg,
    var(--orange-300) 0%,
    #ffd98a 50%,
    var(--orange-400) 100%
  );
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.plat-body {
  font-size: 1rem;
  line-height: 1.85;
  color: var(--grey-400);
  margin-bottom: 1.5rem;
}
.plat-section.dark .plat-body {
  color: rgba(255, 255, 255, 0.6);
}
/* Check list */
.plat-body ul {
  list-style: none;
  margin-bottom: 1.75rem;
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
}
.plat-body ul li {
  display: flex;
  align-items: flex-start;
  gap: 0.35rem;
  font-size: 0.9rem;
  color: var(--grey-400);
  line-height: 1.55;
}
.plat-section.dark .plat-body ul li {
  color: rgba(255, 255, 255, 0.6);
}
.plat-body ul li::before {
  content: "✓";
  width: 16px;
  height: 16px;
  border-radius: 50%;
  flex-shrink: 0;
  margin-top: 2px;
  background-size: contain;
  background-repeat: no-repeat;
  color: var(--blue-500);
}
.plat-body.prove ul li::before {
  color: var(--blue-500);
}
.plat-body.scale ul li::before {
  color: var(--teal-500);
}
.plat-body.aistack ul li::before {
  color: var(--orange-500);
}


/* Platform name pill */
.plat-name-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.45rem 1.1rem;
  border-radius: 30px;
  font-family: "Gilroy", sans-serif;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  margin-bottom: 1.5rem;
}
.plat-name-pill.prove {
  background: rgba(86, 174, 227, 0.1);
  color: var(--blue-500);
  border: 1px solid rgba(86, 174, 227, 0.25);
}
.plat-name-pill.scale {
  background: rgba(26, 122, 110, 0.1);
  color: var(--teal-500);
  border: 1px solid rgba(26, 122, 110, 0.25);
}
.plat-name-pill.aistack {
  background: rgba(231,148,48,0.12);
  color: var(--orange-700);
  border: 1px solid rgba(231,148,48,0.25);
}

.plat-cta {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-family: "Gilroy", sans-serif;
  font-size: 0.82rem;
  font-weight: 700;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  border-bottom: 2px solid transparent;
  padding-bottom: 0.2rem;
  transition: all 0.2s;
}
.plat-cta.prove {
  color: var(--blue-500);
  border-color: rgba(86, 174, 227, 0.3);
}
.plat-cta.prove:hover {
  border-color: var(--blue-500);
  gap: 0.7rem;
}
.plat-cta.scale {
  color: #5cc4b8;
  border-color: rgba(92, 196, 184, 0.3);
}
.plat-cta.scale:hover {
  border-color: #5cc4b8;
  gap: 0.7rem;
}
.plat-cta.aistack {
  color: var(--orange-500);
  border-color: rgba(231, 148, 48, 0.3);
}
.plat-cta.aistack:hover {
  border-color: var(--orange-500);
  gap: 0.7rem;
}
/* Filled CTA button variants */
.plat-cta.filled {
  padding: 0.55rem 1.25rem;
  border-radius: 4px;
  border-bottom-width: 2px;
  margin-left: 1.5rem;
}
.plat-cta.prove.filled {
  background: var(--blue-500);
  color: var(--white);
  border-color: var(--blue-500);
}
.plat-cta.prove.filled:hover {
  background: #3b9ed0;
  border-color: #3b9ed0;
  gap: 0.4rem;
}
.plat-cta.scale.filled {
  background: #5cc4b8;
  color: var(--navy-900);
  border-color: #5cc4b8;
}
.plat-cta.scale.filled:hover {
  background: #4ab0a4;
  border-color: #4ab0a4;
  gap: 0.4rem;
}
.plat-cta.aistack.filled {
  background: var(--orange-500);
  color: var(--white);
  border-color: var(--orange-500);
}
.plat-cta.aistack.filled:hover {
  background: var(--orange-600);
  border-color: var(--orange-600);
  gap: 0.4rem;
}


/* Feature strip */
.plat-feature-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
  margin-bottom: 2.5rem;
}
@media(max-width: 1023px) {
  .plat-feature-strip {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media(max-width: 767px) {
  .plat-feature-strip {
    grid-template-columns: 1fr;
  }
}
.feat-card {
  background: var(--white);
  border: 1px solid var(--grey-100);
  border-radius: 8px;
  padding: 1.5rem;
  position: relative;
  overflow: hidden;
  transition: all 0.25s;
}
.feat-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.08);
}
.feat-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
}
.feat-card.prove::before {
  background: var(--blue-500);
}
.feat-card.scale::before {
  background: var(--teal-500);
}
.feat-card.aistack::before {
  background: var(--orange-500);
}
.plat-section.dark .feat-card {
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(255, 255, 255, 0.08);
}
.plat-section.dark .feat-card:hover {
  background: rgba(255, 255, 255, 0.09);
}
.feat-icon {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1rem;
  color: var(--navy-500);
}
.feat-icon.prove {
  background: rgba(86, 174, 227, 0.12);
  color: #56aee3;
}
.feat-icon.scale {
  background: rgba(26, 122, 110, 0.12);
  color: #1a7a6e;
}
.feat-icon.aistack {
  background: rgba(231, 148, 48, 0.12);
  color: #e79430;
}
.feat-card h4 {
  font-family: "Gilroy", sans-serif;
  font-size: 0.9rem;
  font-weight: 700;
  color: var(--navy-500);
  margin-bottom: 0.4rem;
}
.plat-section.dark .feat-card h4 {
  color: var(--white);
}
.feat-card p {
  font-size: 0.78rem;
  color: var(--grey-300);
  line-height: 1.65;
}
.plat-section.dark .feat-card p {
  color: rgba(255, 255, 255, 0.4);
}


/* Stats row */
.plat-stats-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  border: 1px solid var(--grey-100);
  border-radius: 8px;
  overflow: hidden;
}
@media(max-width: 1023px) {
  .plat-stats-row { 
    grid-template-columns: repeat(2, 1fr); 
  }
}
@media(max-width: 767px) {
  .plat-stats-row { 
    grid-template-columns: 1fr 1fr;
  }
}
.plat-section.dark .plat-stats-row {
  border-color: rgba(255, 255, 255, 0.08);
}
.plat-stat {
  padding: 1.75rem 2rem;
  border-right: 1px solid var(--grey-100);
  position: relative;
}
.plat-section.dark .plat-stat {
  border-right-color: rgba(255, 255, 255, 0.07);
}
.plat-stat:last-child {
  border-right: none;
}
.plat-stat::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
}
.plat-stat.prove::before {
  background: var(--blue-500);
}
.plat-stat.scale::before {
  background: var(--teal-500);
}
.plat-stat.aistack::before {
  background: var(--orange-500);
}
.plat-stat-num {
  font-family: "Gilroy", sans-serif;
  font-size: 1.9rem;
  font-weight: 900;
  color: var(--navy-500);
  line-height: 1.1;
  letter-spacing: -0.02em;
}
.plat-section.dark .plat-stat-num {
  color: var(--white);
}
.plat-stat-label {
  font-size: 0.78rem;
  color: var(--grey-500);
  margin-top: 0.3rem;
  line-height: 1.4;
}
.plat-section.dark .plat-stat-label {
  color: rgba(255, 255, 255, 0.65);
}


/* AI Stack cards */
.ai-stack-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  margin-bottom: 2.5rem;
}
@media(max-width: 1023px) {
  .ai-stack-grid {
    grid-template-columns: 1fr;
  }
}
.ai-stack-card {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 8px;
  padding: 1.5rem;
  transition: all 0.25s;
}
.ai-stack-card:hover {
  background: rgba(255, 255, 255, 0.07);
  transform: translateY(-2px);
}
.ai-stack-tier {
  font-family: "Gilroy", sans-serif;
  font-size: 0.65rem;
  color: var(--orange-400);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-weight: 700;
  margin-bottom: 0.5rem;
}
.ai-stack-card h4 {
  font-family: "Gilroy", sans-serif;
  font-size: 0.92rem;
  font-weight: 700;
  color: var(--white);
  margin-bottom: 0.75rem;
}
.ai-stack-tools {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}
.ai-tool-tag {
  display: inline-block;
  padding: 0.28rem 0.7rem;
  border-radius: 3px;
  font-family: "Gilroy", sans-serif;
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  background: rgba(255, 255, 255, 0.07);
  color: rgba(255, 255, 255, 0.55);
  border: 1px solid rgba(255, 255, 255, 0.1);
}
.ai-tool-tag.prove {
  background: rgba(86, 174, 227, 0.15);
  color: #7ec8e8;
  border: 1px solid rgba(86, 174, 227, 0.2);
}
.ai-tool-tag.scale {
  background: rgba(26, 122, 110, 0.15);
  color: #5cc4b8;
  border: 1px solid rgba(26, 122, 110, 0.2);
}
.ai-tool-tag.aistack {
  background: rgba(231, 148, 48, 0.12);
  color: var(--orange-300);
  border: 1px solid rgba(231, 148, 48, 0.2);
}
.ai-tool-tag.grow {
  background: rgba(129, 140, 248, 0.12);
  color: #818cf8;
  border: 1px solid rgba(129, 140, 248, 0.2);
}
/* ---- GALILEO DASHBOARD STANDALONE SECTION ---- */
.galileo-preview-section {
  background: linear-gradient(
    160deg,
    #080f22 0%,
    var(--navy-800) 55%,
    #162050 100%
  );
  padding: 6rem 2rem;
}
@media(max-width: 1023px) {
  .galileo-preview-section {
    padding: 4rem 2rem;
  }
}
.galileo-preview-inner {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 5rem;
  align-items: center;
}
.galileo-preview-text .section-label {
  color: var(--orange-400);
}
.galileo-preview-text .section-heading {
  color: var(--white);
}
.galileo-preview-text .section-heading::after {
  background: repeating-linear-gradient(
    90deg,
    var(--orange-500),
    var(--orange-500) 6px,
    transparent 6px,
    transparent 10px
  );
}
.galileo-preview-text .section-sub {
  color: rgba(255, 255, 255, 0.5);
  margin-bottom: 2rem;
  max-width: 440px;
}
.galileo-preview-stats {
  display: flex;
  gap: 2rem;
  margin-bottom: 2rem;
  padding-bottom: 2rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.galileo-preview-stat {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}
.galileo-preview-stat-num {
  font-family: "Gilroy", sans-serif;
  font-size: 1.6rem;
  font-weight: 900;
  color: var(--orange-400);
  line-height: 1;
  letter-spacing: -0.02em;
}
.galileo-preview-stat-label {
  font-family: "Gilroy", sans-serif;
  font-size: 0.62rem;
  color: rgba(255, 255, 255, 0.3);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 700;
}
.galileo-preview-cta {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  color: var(--orange-400);
  font-family: "Gilroy", sans-serif;
  font-size: 0.82rem;
  font-weight: 700;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  border: 1px solid rgba(236, 169, 89, 0.35);
  border-radius: 6px;
  padding: 0.6rem 1.1rem;
  transition: background 0.2s, border-color 0.2s;
}
.galileo-preview-cta:hover {
  background: rgba(236, 169, 89, 0.08);
  border-color: var(--orange-400);
}
.galileo-preview-visual {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}
.galileo-preview-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  background: rgba(8, 15, 34, 0.7);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 100px;
  padding: 0.3rem 0.85rem;
  align-self: flex-start;
}
.galileo-preview-badge-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #22c55e;
  box-shadow: 0 0 8px rgba(34, 197, 94, 0.9);
  animation: pulse-dot 2s ease-in-out infinite;
}
@keyframes pulse-dot {
  0%,
  100% {
    opacity: 1;
  }
  50% {
    opacity: 0.35;
  }
}
.galileo-preview-badge-label {
  font-family: "Gilroy", sans-serif;
  font-size: 0.62rem;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.75);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.galileo-preview-frame {
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 28px 70px rgba(0, 0, 0, 0.55),
    0 0 0 1px rgba(255, 255, 255, 0.08);
}
.galileo-preview-frame img {
  width: 100%;
  display: block;
  border-radius: 10px;
}
@media (max-width: 960px) {
  .galileo-preview-inner {
    grid-template-columns: 1fr;
    gap: 3rem;
  }
  .galileo-preview-body {
    max-width: 100%;
  }
}
@media (max-width: 600px) {
  .galileo-preview-stats {
    flex-wrap: wrap;
    gap: 1.25rem;
  }
}
/* ---- RESULTS SPOTLIGHT ---- */
.results-section {
  background: var(--white);
  padding: 6rem 2rem;
}
@media(max-width: 1023px) {
  .results-section {
    padding: 4rem 2rem;
  }
}
.results-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
  margin-top: 2.5rem;
}
@media (max-width: 1023px) {
  .results-grid { 
    grid-template-columns: 1fr; 
  }
}
.result-card {
  background: var(--grey-50);
  border: 1px solid var(--grey-100);
  border-radius: 8px;
  padding: 2rem;
  transition: all 0.3s;
  display: flex;
  flex-direction: column;
}
.result-card:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
}
/* Top zone: tag left, number right — anchored by orange hairline */
.result-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  padding-bottom: 1.1rem;
  border-bottom: 2px solid rgba(231, 148, 48, 0.22);
  margin-bottom: 1.25rem;
  gap: 1rem;
}
.result-tag {
  font-family: "Gilroy", sans-serif;
  font-size: 0.72rem;
  color: var(--orange-500);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-weight: 700;
  line-height: 1.4;
  flex-shrink: 0;
  max-width: 40%;
  padding-bottom: 0.15rem;
}
.result-number {
  font-family: "Gilroy", sans-serif;
  font-size: 3.1rem;
  font-weight: 900;
  color: var(--navy-500);
  line-height: 1;
  letter-spacing: -0.025em;
  text-align: right;
  white-space: nowrap;
}
@media(max-width: 767px) {
  .result-number {
    font-size: 2.2rem;
    white-space: wrap;
  }
}
/* Bottom zone: headline + description */
.result-body {
  flex: 1;
}
.result-headline {
  font-family: "Gilroy", sans-serif;
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--grey-500);
  margin-bottom: 0.5rem;
}
.result-desc {
  font-size: 0.85rem;
  color: var(--grey-400);
  line-height: 1.65;
}
/* ---- AGGREGATE RESULTS ---- */
.aggregate-section {
  background: var(--grey-50);
  padding: 5.5rem 2rem;
  border-top: 1px solid var(--grey-100);
}
@media(max-width: 1023px) {
  .aggregate-section {
    padding: 4rem 2rem;
  }
}
.aggregate-section .section-sub {
  margin-left: auto;
  margin-right: auto;
}
.aggregate-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}
@media(max-width: 1023px) {
  .aggregate-grid { 
    grid-template-columns: repeat(2, 1fr);
  }
}
@media(max-width: 767px) {
  .aggregate-grid { 
    grid-template-columns: 1fr;
  }
}
.aggregate-card {
  background: var(--white);
  border: 1px solid var(--grey-100);
  border-radius: 10px;
  padding: 2rem 1.75rem;
  text-align: center;
  transition: all 0.25s;
}
.aggregate-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.07);
}
.aggregate-num {
  font-family: "Gilroy", sans-serif;
  font-size: 2.4rem;
  font-weight: 900;
  color: var(--orange-500);
  line-height: 1.1;
  letter-spacing: -0.02em;
}
.aggregate-num span {
  color: var(--navy-500);
}
.aggregate-label {
  font-size: 0.88rem;
  color: var(--grey-400);
  margin-top: 0.5rem;
  line-height: 1.55;
}
.aggregate-sector {
  display: inline-block;
  margin-top: 1rem;
  font-family: "Gilroy", sans-serif;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--grey-300);
}
/* Industry verticals grid (inside results section) */
.verticals-wrap {
  
}
.verticals-wrap .holder {
  border-top: 1px solid var(--grey-100);
  padding: 3rem 2rem;
}
.verticals-header {
  text-align: center;
  margin-bottom: 2rem;
}
.verticals-header h3 {
  font-family: "Gilroy", sans-serif;
  font-size: 1.25rem;
  font-weight: 800;
  color: var(--navy-500);
  margin-bottom: 0.35rem;
}
.verticals-header p {
  color: var(--grey-300);
  font-size: 0.9rem;
}
.verticals {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 2rem;
}
@media (max-width: 1023px) {
  .verticals { 
    grid-template-columns: repeat(3, 1fr); 
  }
}
@media (max-width: 767px) {
  .verticals { 
    grid-template-columns: repeat(2, 1fr); 
    gap: 1.5rem;
  }
}
@media (max-width: 480px) {
  .verticals { 
    grid-template-columns: 1fr; 
  }
}
.vertical h4 {
  font-family: "Gilroy", sans-serif;
  font-size: 0.74rem;
  color: var(--orange-500);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-bottom: 0.75rem;
  font-weight: 700;
}
.vertical ul {
  list-style: none;
}
.vertical li {
  font-size: 0.85rem;
  color: var(--grey-400);
  padding: 0.3rem 0;
  border-bottom: 1px solid var(--grey-100);
}
.vertical li:last-child {
  border-bottom: none;
}
/* ---- STANDALONE PARTNER DIVIDER ---- */
.partner-divider {
  background: var(--grey-50);
  border-top: 1px solid var(--grey-100);
  border-bottom: 1px solid var(--grey-100);
  padding: 2rem 2rem;
}
.partner-divider-inner {
  max-width: 1140px;
  margin: 0 auto;
}
.partner-divider-label {
  display: block;
  text-align: center;
  font-family: "Gilroy", sans-serif;
  font-size: 0.68rem;
  color: var(--grey-300);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-weight: 700;
  margin-bottom: 1.25rem;
}
.partner-badges {
  display: flex;
  gap: 2.25rem;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}
@media (max-width: 767px) {
  .partner-badges { 
    gap: 1rem; 
  }
}
.partner-img {
  filter: grayscale(1) opacity(0.45);
  transition: filter 0.25s ease;
  object-fit: contain;
  cursor: default;
}
.partner-img:hover {
  filter: grayscale(0) opacity(1);
}


/* ---- CLIENT LOGOS ---- */
.clients-strip {
  padding: 3rem 2rem 2.75rem;
  background: var(--white);
  border-bottom: 1px solid var(--grey-100);
  scroll-margin-top: 80px;
}
.clients-strip-inner {
  max-width: 1140px;
  margin: 0 auto;
}
.clients-strip-label {
  text-align: center;
  font-family: "Gilroy", sans-serif;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: var(--grey-200);
  margin-bottom: 2rem;
}
.clients-logos {
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  gap: 1px;
  background: var(--grey-100);
  border: 1px solid var(--grey-100);
  border-radius: 10px;
  overflow: hidden;
}
@media (max-width: 1023px) {
  .clients-logos {
    grid-template-columns: repeat(6, 1fr);
  }
}
@media (max-width: 767px) {
  .clients-logos {
    grid-template-columns: repeat(3, 1fr);
  }
}
.client-logo-cell {
  background: var(--white);
  padding: 1.25rem 1.1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 84px;
  transition: background 0.2s;
}
@media (max-width: 767px) {
  .client-logo-cell {
    min-height: 68px;
    padding: 0.9rem 0.75rem;
  }
}
.client-logo-cell:hover {
  background: var(--grey-50);
}
.client-logo-cell img {
  max-width: 100%;
  max-height: 40px;
  width: auto;
  height: auto;
  object-fit: contain;
  filter: grayscale(100%) opacity(0.45);
  transition: filter 0.25s ease;
}
@media (max-width: 767px) {
  .client-logo-cell img {
    max-height: 30px;
  }
}
.client-logo-cell:hover img {
  filter: grayscale(0%) opacity(0.9);
}

/* Per-brand color overrides on hover */
.client-logo-cell--gordon:hover img {
  filter: brightness(0) saturate(100%) invert(27%) sepia(95%) saturate(1200%)
    hue-rotate(183deg) brightness(92%) opacity(0.9);
}
/* ---- POINT OF VIEW SECTION ---- */
.pov-section {
  background: var(--white);
  border-top: 1px solid var(--grey-100);
  border-bottom: 1px solid var(--grey-100);
  padding: 5rem 2rem;
}
.pov-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 5rem;
  align-items: center;
}
.pov-section .section-heading {
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  line-height: 1.15;
}
.pov-section .section-sub {
  color: var(--grey-500);
  line-height: 1.8;
  margin-bottom: 2rem;
}
.pov-cta {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  color: var(--blue-500);
  font-size: 0.85rem;
  font-weight: 700;
  font-family: "Gilroy", sans-serif;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  border-bottom: 2px solid rgba(86, 174, 227, 0.3);
  padding-bottom: 0.2rem;
  transition: border-color 0.2s;
}
.pov-cta:hover {
  border-color: var(--blue-500);
}
.pov-stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
}
.pov-stat {
  border-left: 3px solid var(--orange-500);
  padding-left: 1.25rem;
}
.pov-stat-num {
  font-size: 2.25rem;
  font-weight: 800;
  color: var(--orange-500);
  line-height: 1.1;
  font-family: "Gilroy", sans-serif;
}
.pov-stat-label {
  font-size: 0.78rem;
  color: var(--grey-400);
  margin-top: 0.3rem;
  line-height: 1.4;
}
@media (max-width: 1023px) {
  .pov-grid {
    grid-template-columns: 1fr;
    gap: 3rem;
  }
  .pov-stats {
    grid-template-columns: 1fr 1fr;
  }
}
/* ---- WHY ARCALEA (Pattern + Team Delta + Expert Witness merged) ---- */
.why-section {
  background: var(--grey-50);
  padding: 4rem 2rem;
}
@media(min-width: 1023px) {
  .why-section {
    padding: 6rem 2rem;
  }
}
.why-grid {
  margin-top: 2rem;
}
.timeline {
  display: flex;
  gap: 0;
  margin-top: 2.5rem;
  position: relative;
}
@media (max-width: 1023px) {
  .timeline {
    flex-direction: column;
    gap: 2rem;
  }
}
.timeline::before {
  content: "";
  position: absolute;
  top: 28px;
  left: 0;
  right: 0;
  height: 2px;
  background: var(--grey-200);
}
@media (max-width: 1023px) {
  .timeline::before {
    left: 8px;
    right: auto;
    width: 2px;
    height: 100%;
  }
}
.timeline-item {
  flex: 1;
  position: relative;
  padding-top: 3.5rem;
  padding-right: 1.5rem;
}
@media (max-width: 1023px) {
  .timeline-item {
    padding-top: 0;
    padding-left: 2.5rem;
  }
}
.timeline-dot {
  position: absolute;
  top: 20px;
  left: 0;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--grey-50);
  border: 3px solid var(--navy-500);
  z-index: 1;
}
.timeline-item.active .timeline-dot {
  background: var(--orange-500);
  border-color: var(--orange-500);
  box-shadow: 0 0 0 4px rgba(231, 148, 48, 0.3);
}
.timeline-year {
  font-family: "Gilroy", sans-serif;
  font-size: 0.72rem;
  color: var(--blue-500);
  margin-bottom: 0.35rem;
  font-weight: 700;
}
.timeline-title {
  font-size: 0.92rem;
  font-weight: 700;
  color: var(--navy-500);
  margin-bottom: 0.3rem;
  font-family: "Gilroy", sans-serif;
}
.timeline-desc {
  font-size: 0.8rem;
  color: var(--grey-400);
  line-height: 1.55;
}


.ai-stack-note {
  margin-top: 2.5rem;
  padding-top: 2rem;
  border-top: 1px solid var(--grey-100);
  text-align: center;
  font-size: 0.82rem;
  color: var(--grey-300);
  line-height: 1.6;
}
.ai-stack-note strong {
  color: var(--grey-400);
  font-weight: 600;
  font-family: "Gilroy", sans-serif;
}
.ai-stack-note .model-names {
  color: var(--orange-500);
  font-weight: 700;
  font-family: "Gilroy", sans-serif;
  font-size: 0.78rem;
  letter-spacing: 0.04em;
}
/* ---- TEAM DELTA SECTION ---- */
.team-delta-section {
  background: var(--navy-500);
  padding: 4rem 2rem;
  position: relative;
  overflow: hidden;
}
@media(min-width: 1023px) {
  .team-delta-section {
    padding: 6rem 2rem;
  }
}
.team-delta-section::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  opacity: 0.025;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
  background-size: 200px 200px;
}
.team-delta-symbol {
  position: absolute;
  right: -4rem;
  top: 50%;
  transform: translateY(-50%);
  font-size: 36rem;
  font-weight: 900;
  font-family: "Gilroy", sans-serif;
  color: rgba(255, 255, 255, 0.034);
  line-height: 1;
  pointer-events: none;
  user-select: none;
  z-index: 0;
  letter-spacing: -0.05em;
}
.delta-inner {
  position: relative;
  z-index: 1;
}
.delta-header {
  max-width: 680px;
  margin-bottom: 2.5rem;
}
.delta-header .section-heading {
  color: var(--white);
  margin-bottom: 0.75rem;
}
.delta-header .section-sub {
  color: rgba(255, 255, 255, 0.6);
}
.delta-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
  margin-bottom: 2.5rem;
}
.delta-stat-item {
  border-left: 3px solid var(--orange-500);
  padding-left: 1.25rem;
}
.delta-stat-num {
  font-family: "Gilroy", sans-serif;
  font-size: 2rem;
  font-weight: 800;
  color: var(--white);
  line-height: 1.1;
}
.delta-stat-label {
  font-size: 0.78rem;
  color: rgba(255, 255, 255, 0.4);
  margin-top: 0.3rem;
  line-height: 1.4;
}
.delta-skills {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 2.5rem;
}
.delta-skill {
  font-family: "Gilroy", sans-serif;
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--orange-400);
  background: rgba(231, 148, 48, 0.1);
  border: 1px solid rgba(231, 148, 48, 0.25);
  padding: 0.3rem 0.85rem;
  border-radius: 20px;
  letter-spacing: 0.01em;
}
.delta-quote {
  border-left: 3px solid var(--orange-500);
  padding: 1.25rem 1.75rem;
  background: rgba(255, 255, 255, 0.05);
  border-radius: 0 6px 6px 0;
  max-width: 760px;
}
.delta-quote p {
  font-size: 0.95rem;
  font-style: italic;
  color: rgba(255, 255, 255, 0.8);
  line-height: 1.75;
  margin-bottom: 0.5rem;
}
.delta-quote .attribution {
  font-size: 0.7rem;
  color: rgba(255, 255, 255, 0.35);
  font-family: "Gilroy", sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
@media (max-width: 767px) {
  .delta-stats {
    grid-template-columns: repeat(2, 1fr);
  }
  .team-delta-symbol {
    font-size: 18rem;
    right: -2rem;
  }
}
/* ---- TESTIMONIALS ---- */
.testimonials-section {
  background: var(--white);
  padding: 6rem 2rem;
}
@media(max-width: 1023px) {
  .testimonials-section {
    padding: 4rem 2rem;
  }
}
.testimonials-grid {
  display: grid;
  grid-template-columns: 1fr; 
  gap: 1.5rem;
  margin-top: 2.5rem;
}
.testimonials-grid.three {
  grid-template-columns: repeat(3, 1fr);
}
.testimonials-grid.two {
  grid-template-columns: repeat(2, 1fr);
}
@media (max-width: 1023px) {
  .testimonials-grid, .testimonials-grid.two, .testimonials-grid.three { 
    grid-template-columns: 1fr; 
  }
}
.testimonial {
  background: var(--grey-50);
  border-radius: 8px;
  padding: 2rem;
  transition: all 0.3s;
  border-left: 4px solid var(--orange-500);
}
.testimonial:hover {
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
}
.testimonial blockquote {
  font-size: 0.93rem;
  color: var(--grey-400);
  line-height: 1.7;
  margin-bottom: 1.25rem;
  font-style: italic;
}
.testimonial-byline {
  display: flex;
  align-items: center;
  gap: 0.85rem;
}
.testimonial-avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--navy-700);
  color: var(--white);
  font-family: "Gilroy", sans-serif;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  border: 2px solid var(--orange-500);
  overflow: hidden;
}
.testimonial-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.testimonial-author {
  font-family: "Gilroy", sans-serif;
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--navy-500);
}
.testimonial-role {
  font-size: 0.78rem;
  color: var(--grey-300);
  margin-top: 0.1rem;
}
.testimonial-quote-mark {
  font-family: 'Gilroy', sans-serif;
  font-size: 3rem;
  color: var(--orange-500);
  line-height: 1;
  margin-bottom: 0.75rem;
  opacity: 0.6;
}

.testimonials-section.center .section-label, .testimonials-section.center .section-heading {
  text-align: center;
}
.testimonials-section.dark {
  background: linear-gradient(135deg, #0c1428 0%, var(--navy-800) 60%, #162050 100%);
}
.testimonials-section.dark:before {
  content: '';
  position: absolute;
  inset: 0;
  opacity: 0.025;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
  background-size: 200px 200px;
  pointer-events: none;
}
.testimonials-section.dark .section-heading {
  color: var(--white);
}
.testimonials-section.dark .section-heading:after {
  margin-left: auto;
  margin-right: auto;
}
.testimonials-section .testimonial.style_two {
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 10px;
}
.testimonials-section .testimonial.style_two blockquote {
  font-size: 0.9rem;
  color: rgba(255,255,255,0.65);
  line-height: 1.8;
  margin-bottom: 1.5rem;
}
.testimonials-section .testimonial.style_two .testimonial-byline {
  border-top: 1px solid rgba(255,255,255,0.08);
  padding-top: 1.1rem;
}
.testimonials-section .testimonial.style_two .testimonial-author {
  color: var(--white);
}
.testimonials-section .testimonial.style_two .testimonial-role {
  color: rgba(255,255,255,0.35);
  margin-top: 0.15rem;
}
/* ---- PROCESS + CTA (combined close) ---- */
.process-strip {
  padding: 4rem 2rem 3.5rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  background: linear-gradient(
    160deg,
    var(--navy-900) 0%,
    #0e1635 60%,
    #1a1a2e 100%
  );
  border-top: 3px solid var(--orange-500);
}
.process-inner {
  max-width: 900px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
  text-align: center;
  position: relative;
}
@media (max-width: 767px) {
  .process-inner { 
    grid-template-columns: 1fr; 
    gap: 2rem; 
  }
}
.process-inner::before {
  content: "";
  position: absolute;
  top: 32px;
  left: 15%;
  right: 15%;
  height: 2px;
  background: rgba(255, 255, 255, 0.08);
}
@media (max-width: 767px) {
  .process-inner::before { 
    display: none;
  }
}
.process-step {
  position: relative;
  z-index: 1;
}
.process-num {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: var(--orange-500);
  color: var(--white);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Gilroy", sans-serif;
  font-size: 1.1rem;
  font-weight: 800;
  margin: 0 auto 1rem;
}
.process-step h4 {
  font-family: "Gilroy", sans-serif;
  font-size: 1rem;
  font-weight: 700;
  color: var(--white);
  margin-bottom: 0.35rem;
}
.process-step p {
  font-size: 0.82rem;
  color: rgba(255, 255, 255, 0.45);
  line-height: 1.6;
}
.process-label {
  text-align: center;
  margin-bottom: 2rem;
}
.process-label span {
  font-family: "Gilroy", sans-serif;
  font-size: 0.72rem;
  color: var(--blue-500);
  letter-spacing: 0.15em;
  text-transform: uppercase;
  font-weight: 700;
}



/* ---- HOW WE WORK ---- */
.how-section {
  background: var(--white);
  padding: 4rem 2rem;
}
@media(min-width: 1023px) {
  .how-section {
    padding: 6rem 2rem;
  }
}
.how-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
  margin-top: 3rem;
}
@media (max-width: 1023px) {
  .how-grid { 
    grid-template-columns: repeat(2, 1fr); 
  }
}
@media (max-width: 767px) {
  .how-grid { 
    grid-template-columns: 1fr;
  }
}
.how-grid.one {
  grid-template-columns: 1fr;
}
.how-grid.two {
  grid-template-columns: repeat(2, 1fr); 
}
.how-card {
  background: var(--grey-50);
  border: 1px solid var(--grey-100);
  border-radius: 8px;
  padding: 2.25rem;
  position: relative;
  overflow: hidden;
  transition: all 0.3s;
  height: 100%;
}
.how-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--navy-500);
  transition: background 0.3s;
}
.how-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.07);
}
.how-card:hover::before {
  background: var(--orange-500);
}
.how-card-num {
  font-family: "Gilroy", sans-serif;
  font-size: 2.5rem;
  font-weight: 900;
  color: rgba(39, 54, 115, 0.08);
  line-height: 1;
  margin-bottom: 1.25rem;
  letter-spacing: -0.04em;
}
.how-card h3 {
  font-family: "Gilroy", sans-serif;
  font-size: 1.1rem;
  font-weight: 800;
  color: var(--navy-500);
  margin-bottom: 0.75rem;
  line-height: 1.25;
}
.how-card p {
  font-size: 0.92rem;
  color: var(--grey-400);
  line-height: 1.8;
}
.how-section-cta {
  margin-top: 2rem;
  text-align: center;
}
.how-section-cta a {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-family: "Gilroy", sans-serif;
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--orange-400);
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  transition: gap 0.2s, color 0.2s;
}


.how-section.center .section-label, .how-section.center .section-heading, .how-section.center .section-sub {
  text-align: center;
}
.how-section.center .section-sub {
  max-width: 620px;
  margin-left: auto;
  margin-right: auto;
}
.how-section.center .section-heading::after {
  margin-left: auto;
  margin-right: auto;
}

.how-section.style_three {
  background: var(--navy-900);
}
.how-section.style_three .section-heading {
  color: var(--white);
}
.how-section.style_three .section-sub {
  color: rgba(255,255,255,0.55);
}
.how-section.style_three .how-card {
  background: rgba(255,255,255,0.05);
  color: rgba(255,255,255,0.5);
  border-color: rgba(255,255,255,0.1);
}
.how-section.style_three .how-card::before {
  background: var(--blue-500);
}
.how-section.style_three .how-card-title {
  font-family: 'Gilroy',sans-serif;
  font-size: 0.7rem;
  font-weight: 700;
  color: var(--blue-500);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  margin-bottom: 1rem;
  display: block;
}
.how-section.style_three .how-card h3 {
  font-size: 1.25rem;
  line-height: 1.5;
  font-weight: 700;
  color: var(--white);
}
.how-section.style_three .how-card p {
  color: rgba(255,255,255,0.5);
}
.how-section.style_three .how-card ul {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.how-section.style_three .how-card ul li {
  display: flex;
  gap: 0.6rem;
  align-items: flex-start;
  font-size: 0.85rem;
  color: rgba(255,255,255,0.45);
}
.how-section.style_three .how-card ul li::before {
  content: "→";
  color: var(--blue-500);
  font-weight: 700;
  flex-shrink: 0;
}
.how-section.style_three .how-card:nth-child(3n + 2)::before, .how-section.style_three .how-card:nth-child(3n + 2):hover::before {
  background: var(--teal-500);
}
.how-section.style_three .how-card:nth-child(3n + 2) .how-card-title {
  color: var(--teal-500);
}
.how-section.style_three .how-card:nth-child(3n + 2) ul li::before {
  color: var(--teal-500);
}
.how-section.style_three .how-card:nth-child(3n + 3)::before, .how-section.style_three .how-card:nth-child(3n + 3):hover::before {
  background: var(--orange-500);
}
.how-section.style_three .how-card:nth-child(3n + 3) .how-card-title {
  color: var(--orange-500);
}
.how-section.style_three .how-card:nth-child(3n + 3) ul li::before {
  color: var(--orange-500);
}
/* ---- INSIGHTS ---- */
.blog-recent-post {
  background: var(--grey-50);
  padding: 4rem 2rem;
}
@media(min-width: 1023px) {
  .blog-recent-post {
    padding: 6rem 2rem;
  }
}
.blog-recent-post .article-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;
  margin-top: 2.5rem;
}
@media(max-width: 1023px) {
  .blog-recent-post .article-grid {
    grid-template-columns: 1fr;
  }
}
.article-card {
  background: var(--white);
  border: 1px solid var(--grey-100);
  border-radius: 8px;
  padding: 2rem;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  transition: all 0.3s ease;
  position: relative;
  text-decoration: none;
}
.article-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
}
.article-card-tag {
  font-family: "Gilroy", sans-serif;
  font-size: 0.72rem;
  color: var(--blue-500);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-weight: 700;
}
.article-card h3 {
  font-family: "Gilroy", sans-serif;
  font-size: 1.2rem;
  font-weight: 800;
  color: var(--navy-500);
  line-height: 1.4;
  margin: 0;
}
.article-card-excerpt {
  font-size: 0.9rem;
  color: var(--grey-500);
  line-height: 1.55;
  flex-grow: 1;
  margin: 0;
}
.article-card-footer {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  padding-top: 1rem;
  border-top: 1px solid var(--grey-100);
}
.article-card-meta {
  font-size: 0.8rem;
  color: var(--grey-400);
}
.article-card-link {
  color: var(--orange-500);
  text-decoration: none;
  font-weight: 600;
  transition: color 0.3s ease;
}
.article-card-link::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  border-radius: 8px;
}
.article-card-link:hover {
  color: var(--orange-600);
}
.insights-view-all {
  text-align: center;
  margin-top: 2.5rem;
}
.insights-view-all a {
  font-family: "Gilroy", sans-serif;
  font-weight: 700;
  color: var(--orange-500);
  text-decoration: none;
  letter-spacing: 0.04em;
}
.insights-view-all a:hover {
  color: var(--orange-600);
}
/* ---- QUESTIONS ---- */
.common-questions {
  background: var(--grey-50); 
  padding: 5.5rem 2rem;
}
@media(max-width: 1023px) {
  .common-questions {
    padding: 4rem 2rem;
  }
}
.common-questions .section-header {
  margin-bottom: 2rem;
}
.questions-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  border: 1px solid var(--grey-100);
  border-radius: 10px;
  overflow: hidden;
  background: white;
}
@media(max-width: 767px) {
  .questions-grid {
    grid-template-columns: 1fr;
  }
}
.question-box {
  padding: 1.75rem 2rem;
  border-bottom: 1px solid var(--grey-100);
  border-right: 1px solid var(--grey-100);
}
.question-box .title {
  font-family: "Gilroy", sans-serif;
  font-size: 0.88rem;
  font-weight: 700;
  color: var(--navy-500);
  margin-bottom: 0.5rem;
}
.question-box .text {
  font-size: 0.8rem;
  color: var(--grey-500);
  line-height: 1.7;
}


.common-questions.white {
  background: var(--white);
}
.common-questions.white .question-box {
  background: var(--grey-50);
}
.common-questions.dark {
  background: linear-gradient(135deg, #0c1428 0%, var(--navy-800) 60%, #162050 100%);
}
.common-questions.dark:before {
  content: '';
  position: absolute;
  inset: 0;
  opacity: 0.025;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
  background-size: 200px 200px;
  pointer-events: none;
}
.common-questions.dark .section-heading {
  color: var(--white);
}
.common-questions.dark .questions-grid {
  background: transparent;
  border: 1px solid rgba(255,255,255,0.08);
}
.common-questions.dark .question-box {
  border-bottom: 1px solid rgba(255,255,255,0.07);
  border-right: 1px solid rgba(255,255,255,0.07);
}
.common-questions.dark .question-box .title {
  color: var(--white);
}
.common-questions.dark .question-box .text {
  color: rgba(255,255,255,0.42);
}
/* ── FAQ  ── */
.section-faq {
  background: linear-gradient(
    135deg,
    #0c1428 0%,
    var(--navy-800) 60%,
    #162050 100%
  );
  padding: 5rem 2rem;
  color: rgba(255, 255, 255, 0.85);
}
@media(max-width: 1023px) {
  .section-faq {
    padding: 4rem 2rem;
  }
}
.section-faq .container {
  max-width: 860px;
  margin: 0 auto;
}
.section-faq .section-label {
  color: var(--orange-400);
}
.section-faq .section-heading {
  color: var(--white);
}
.section-faq .section-sub {
  color: rgba(255, 255, 255, 0.5);
  max-width: 100%;
}
.faq-accordion {
  display: flex;
  flex-direction: column;
  gap: 0;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 10px;
  overflow: hidden;
}
.faq-item {
  border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}
.faq-item:last-child {
  border-bottom: none;
}
.faq-question {
  width: 100%;
  background: none;
  border: none;
  padding: 1.4rem 1.75rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1.5rem;
  cursor: pointer;
  text-align: left;
  transition: background 0.2s;
  color: rgba(255, 255, 255, 0.9);
  outline: none;
  user-select: none;
  -webkit-user-select: none;
  -webkit-tap-highlight-color: transparent;
}
.faq-question:focus {
  outline: none;
}
.faq-question:focus-visible {
  outline: 2px solid rgba(231, 148, 48, 0.5);
  outline-offset: -2px;
}
.faq-question:hover {
  background: rgba(255, 255, 255, 0.04);
}
.faq-question[aria-expanded="true"] {
  background: rgba(255, 255, 255, 0.05);
}
.faq-q-text {
  font-family: "Gilroy", sans-serif;
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--white);
  line-height: 1.4;
}
.faq-icon {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: all 0.25s;
}
.faq-icon svg {
  width: 10px;
  height: 10px;
  fill: none;
  stroke: rgba(255, 255, 255, 0.5);
  stroke-width: 2;
  transition: transform 0.25s;
}
.faq-question[aria-expanded="true"] .faq-icon {
  border-color: var(--orange-400);
  background: rgba(236, 169, 89, 0.15);
}
.faq-question[aria-expanded="true"] .faq-icon svg {
  stroke: var(--orange-400);
  transform: rotate(180deg);
}
.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.35s ease;
}
.faq-answer.open {
  max-height: 400px;
}
.faq-answer-inner {
  padding: 1.75rem 1.4rem;
  font-size: 0.88rem;
  color: rgba(255, 255, 255, 0.5);
  line-height: 1.8;
}



.section-faq.light {
  background: var(--grey-50);
}
.section-faq.light .section-heading {
 color: var(--navy-500);
}
.section-faq.light .faq-accordion {
  border-color: #e2e2e2;
  background: var(--white);
}
.section-faq.light .faq-item {
  border-color: #e9e9e9;
}
.section-faq.light .faq-q-text {
  color: #1B2A4A;
}
.section-faq.light .faq-answer-inner {
  color: #555;
}
.section-faq.light .faq-icon {
  border-color: #ccc;
}
.section-faq.light .faq-icon svg {
  stroke: #888;
}
/* FAQ topics */
.faq-topics {
  max-width: 1140px;
  margin: 0 auto;
  padding: 4rem 2rem 5rem;
  display: grid;
  grid-template-columns: 230px 1fr;
  gap: 4rem;
  align-items: start;
}
@media(max-width: 1023px){ 
  .faq-topics { 
    grid-template-columns: 1fr; 
    gap: 2rem 
  }
}

/* SIDEBAR */
.faq-sidebar {
  position: sticky;
  top: 90px;
}
@media(max-width: 900px ){ 
  .faq-sidebar{ 
    position: static; 
    display: none;
  } 
}
.faq-sidebar-title {
  font-family: "Gilroy", sans-serif;
  font-size: 0.68rem;
  color: var(--orange-400);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-weight: 700;
  margin-bottom: 1rem;
}
.faq-nav {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}
.faq-nav a {
  display: block;
  padding: 0.45rem 0.75rem;
  font-family: "Gilroy", sans-serif;
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--grey-400);
  text-decoration: none;
  border-radius: 5px;
  border-left: 2px solid transparent;
  transition: all 0.2s;
  letter-spacing: 0.01em;
}
.faq-nav a:hover {
  color: var(--navy-500);
  background: var(--grey-50);
  border-left-color: var(--orange-400);
}
.faq-nav a.active {
  color: var(--navy-500);
  background: var(--grey-50);
  border-left-color: var(--orange-500);
  font-weight: 700;
}

/* FAQ SECTIONS */
.faq-content {
  min-width: 0;
}
.faq-topic {
  margin-bottom: 3.5rem;
  scroll-margin-top: 90px;
}
.faq-topic:last-child {
  margin-bottom: 0;
}
.faq-topic-heading {
  font-size: 1.05rem;
  font-weight: 800;
  color: var(--navy-500);
  letter-spacing: -0.01em;
  margin-bottom: 1.25rem;
  padding-bottom: 0.75rem;
  border-bottom: 2px solid var(--grey-100);
  display: flex;
  align-items: center;
  gap: 0.6rem;
}
.faq-topic-heading::before {
  content: "";
  display: inline-block;
  width: 3px;
  height: 1.1em;
  background: var(--orange-500);
  border-radius: 2px;
  flex-shrink: 0;
}

/* ACCORDION */
.faq-topic-item {
  border: 1px solid var(--grey-100);
  border-radius: 7px;
  margin-bottom: 0.6rem;
  overflow: hidden;
  transition: box-shadow 0.2s;
}
.faq-topic-item:hover {
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
}
.faq-topic-item.open {
  border-color: rgba(39, 54, 115, 0.18);
  box-shadow: 0 2px 16px rgba(39, 54, 115, 0.08);
}
.faq-topic-question {
  width: 100%;
  background: none;
  border: none;
  padding: 1.1rem 1.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  cursor: pointer;
  text-align: left;
  transition: background 0.15s;
}
.faq-topic-question:hover {
  background: var(--grey-50);
}
.faq-topic-question-text {
  font-family: "Gilroy", sans-serif;
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--navy-500);
  line-height: 1.4;
}
.faq-topic-icon {
  flex-shrink: 0;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  border: 1.5px solid var(--grey-200);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.25s;
}
.faq-topic-icon svg {
  transition: transform 0.25s;
}
.faq-topic-item.open .faq-icon {
  background: var(--navy-500);
  border-color: var(--navy-500);
}
.faq-topic-item.open .faq-icon svg {
  transform: rotate(45deg);
}
.faq-topic-item.open .faq-icon svg path {
  stroke: white;
}
.faq-topic-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}
.faq-topic-answer.open {
  max-height: 400px;
  background: rgba(39, 54, 115, 0.03);
}
.faq-topic-answer-inner {
  padding: 1.5rem 1.25rem;
  font-size: 0.95rem;
  color: var(--grey-500);
  line-height: 1.85;
}
.faq-topic-answer-inner a {
  color: var(--navy-500);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.faq-topic-answer-inner a:hover {
  color: var(--orange-500);
}
.faq-topic-answer-inner code {
  font-family: monospace;
  font-size: 0.88em;
  background: var(--grey-50);
  padding: 0.1em 0.35em;
  border-radius: 3px;
  color: var(--navy-500);
}
/* ── Call to Action ── */
.close-section {
/*   background: linear-gradient( 160deg, var(--navy-900) 0%, #0e1635 60%, #1a1a2e 100% ); */
  background: linear-gradient(135deg, var(--navy-800) 0%, var(--navy-600) 100%);
  position: relative;
  overflow: hidden;
  padding: 4rem 2rem;
  text-align: center;
}
.close-section .container {
  max-width: 820px;
  position: relative;
  z-index: 2;
}
.close-section h2 {
  font-family: "Gilroy", sans-serif;
  font-size: clamp(1.75rem, 3.5vw, 2.4rem);
  font-weight: 800;
  color: var(--white);
  margin-bottom: 1.2rem;
  line-height: 1.2; 
}
.close-section h2 span {
  color: var(--orange-400);
}
.close-section .subtitle {
  color: rgba(255, 255, 255, 0.5);
  font-size: 1.05rem;
  margin-bottom: 2.5rem;
}


/* light version  */
.close-section.light {
  background: var(--grey-50);
}
.close-section.light h2 {
  color: var(--navy-500);
}
.close-section.light .subtitle {
  color: var(--grey-400);
}

/* white version  */
.close-section.white {
  background: var(--white);
}
.close-section.white h2 {
  color: var(--navy-500);
}
.close-section.white .subtitle {
  color: var(--grey-400);
}
/* ── v2: HBP academic callout ── */
.hbp-callout {
  background: #ffffff;
  border-top: 1px solid var(--grey-100);
  border-bottom: 1px solid var(--grey-100);
  padding: 0;
}
.hbp-callout-inner {
  max-width: 1140px;
  margin: 0 auto;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 2.5rem;
  padding: 2.25rem 2rem;
}
.hbp-shield {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.3rem;
  flex-shrink: 0;
}
.hbp-shield svg {
  display: block;
}
.hbp-shield-label {
  font-family: "Gilroy", sans-serif;
  font-size: 0.58rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--grey-300);
  text-align: center;
  line-height: 1.3;
}
.hbp-divider {
  width: 1px;
  height: 48px;
  background: var(--grey-100);
  flex-shrink: 0;
}
.hbp-body {
  flex: 1;
}
.hbp-eyebrow {
  font-family: "Gilroy", sans-serif;
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--blue-500);
  margin-bottom: 0.35rem;
}
.hbp-headline {
  font-family: "Gilroy", sans-serif;
  font-size: 0.98rem;
  font-weight: 800;
  color: var(--navy-500);
  line-height: 1.35;
  margin: 0 0 0.3rem;
}
.hbp-sub {
  font-size: 0.82rem;
  color: var(--grey-500);
  line-height: 1.6;
  margin: 0;
}
.hbp-cta-wrap {
  flex-shrink: 0;
}
.hbp-cta {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-family: "Gilroy", sans-serif;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--navy-500);
  text-decoration: none;
  border: 1.5px solid var(--grey-100);
  border-radius: 4px;
  padding: 0.6rem 1.1rem;
  transition: all 0.2s;
  white-space: nowrap;
}
.hbp-cta:hover {
  border-color: var(--navy-500);
  color: var(--navy-500);
  gap: 0.65rem;
}
@media (max-width: 767px) {
  .hbp-callout-inner {
    flex-direction: column;
    gap: 1.25rem;
  }
  .hbp-shield {
    flex-direction: row;
    justify-content: flex-start;
  }
  .hbp-divider {
    display: none;
  }
  .hbp-cta-wrap {
    align-self: flex-start;
  }
}
/* Newsletter Section */
.newsletter-section {
  background: var(--navy-800);
  color: var(--white);
  padding: 4rem 2rem;
  text-align: center;
  margin: 0;
}
.newsletter-section .inner {
  max-width: 600px; 
  margin: 0 auto;
}
.newsletter-title {
  font-family: 'Gilroy', sans-serif;
  font-size: 1.8rem;
  font-weight: 800;
  margin-bottom: 0.5rem;
}
.newsletter-subtitle {
  font-size: 1rem;
  color: var(--grey-200);
  margin-bottom: 2rem;
}
.newsletter-form form {
  max-width: 500px;
  margin: 0 auto;
}
@media(min-width: 480px) {
  .newsletter-form form { 
    display: flex;
    gap: 1rem;
  }
}
.newsletter-form form .hs-form-field {
  flex: 1;
}
@media(min-width: 480px) {
  .newsletter-form form .hs-form-field {
    margin: 0;
  }
}
.newsletter-form form input {
  padding: 1rem;
  border: none;
  border-radius: 4px;
  font-family: 'Avenir LT Std', sans-serif;
  font-size: 0.95rem;
  color: var(--grey-600);
}
.newsletter-form form .hs-button {
  padding: 1rem 2rem;
  background: var(--orange-500);
  color: var(--white);
  border: none;
  border-radius: 4px;
  font-family: 'Avenir LT Std', sans-serif;
  font-size: 0.95rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.3s ease;
  text-transform: none;
  letter-spacing: 0;
}
.newsletter-form form .hs-button:hover {
  background: var(--orange-600);
}
.newsletter-form form .hs-error-msgs {
  text-align: left;
}
/* Featured Article */
.featured-article {
  background: var(--navy-800);
  color: var(--white);
  padding: 4rem 3rem;
  margin: 3rem auto 2rem;
  max-width: 1140px;
  border-radius: 8px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  align-items: center;
  animation: fadeIn 0.6s ease-out;
}
@media (max-width: 1023px) {
  .featured-article { 
    grid-template-columns: 1fr; 
  }
}
@media (max-width: 767px) {
  .featured-article {
    padding: 2rem;
    margin: 2rem;
  }
}
@media (max-width: 480px) {
  .featured-article {
    padding: 1.5rem; 
    margin: 1.25rem;
  }
}
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.featured-article-content {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.article-category {
  display: inline-block;
  background: var(--orange-500);
  color: var(--white);
  padding: 0.5rem 1rem;
  border-radius: 4px;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  width: fit-content;
}
.featured-article h2 {
  font-family: "Gilroy", sans-serif;
  font-size: 2rem;
  font-weight: 800;
  line-height: 1.3;
}
.featured-article-excerpt {
  font-size: 1.05rem;
  line-height: 1.8;
  color: var(--grey-100);
}
.article-meta {
  display: flex;
  align-items: center;
  gap: 1rem;
  font-size: 0.9rem;
  color: var(--grey-200);
  padding-top: 1rem;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}
.article-meta span {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.read-link {
  color: var(--orange-400);
  text-decoration: none;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  transition: gap 0.3s ease;
}
.read-link:hover {
  gap: 0.75rem;
}
.featured-visual {
  width: 100%;
  height: 400px;
  background: #080e20;
  border-radius: 8px;
  overflow: hidden;
}
.featured-visual::before,
.featured-visual::after {
  display: none;
}
.featured-visual svg {
  width: 100%;
  height: 100%;
  display: block;
}
/* ---- OPEN ROLES ---- */
.roles-section {
  background: var(--grey-50);
  padding: 6rem 2rem;
  border-top: 1px solid var(--grey-100);
  border-bottom: 1px solid var(--grey-100);
  padding: 6rem 2rem;
}
@media(max-width: 1023px) {
  .roles-section {
    padding: 4rem 2rem;
  }
}
.roles-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5rem;
  align-items: start;
  margin-top: 2rem;
}
@media (max-width: 1023px) {
  .roles-layout { 
    grid-template-columns: 1fr; gap: 3rem; 
  }
}
.roles-copy p {
  font-size: 1rem;
  color: var(--grey-400);
  line-height: 1.9;
  margin-bottom: 1.25rem;
}
.roles-copy p:last-child {
  margin-bottom: 0;
}
.roles-copy strong {
  color: var(--navy-500);
  font-weight: 600;
}
.email-cta {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  margin-top: 1.75rem;
  background: var(--navy-500);
  color: var(--white);
  padding: 0.85rem 2rem;
  border-radius: 4px;
  text-decoration: none;
  font-family: "Gilroy", sans-serif;
  font-size: 0.82rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  transition: all 0.2s;
}
.email-cta:hover {
  background: var(--navy-600);
  transform: translateY(-1px);
}
.roles-types {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.role-type {
  padding: 1.5rem 0;
  border-bottom: 1px solid var(--grey-100);
}
.role-type:first-child {
  padding-top: 0;
}
.role-type:last-child {
  border-bottom: none;
}
.role-type-label {
  font-family: "Gilroy", sans-serif;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--orange-400);
  margin-bottom: 0.35rem;
}
.role-type h4 {
  font-family: "Gilroy", sans-serif;
  font-size: 1rem;
  font-weight: 800;
  color: var(--navy-500);
  margin-bottom: 0.4rem;
}
.role-type p {
  font-size: 0.88rem;
  color: var(--grey-400);
  line-height: 1.7;
  margin: 0;
}
.no-roles-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  background: var(--white);
  border: 1px solid var(--grey-100);
  border-radius: 20px;
  padding: 0.4rem 1rem;
  font-family: "Gilroy", sans-serif;
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--grey-400);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  margin-bottom: 2rem;
}
.no-roles-badge::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--orange-400);
  flex-shrink: 0;
}
.page-hero {
  background: linear-gradient(
    135deg,
    #0c1428 0%,
    var(--navy-800) 60%,
    #162050 100%
  );
  padding: 8rem 2rem 4rem;
  position: relative;
  overflow: hidden;
}
@media (max-width: 480px) {
  .page-hero {
    padding: 6rem 1.25rem 2.5rem;
  }
}
.page-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(
    ellipse at 70% 50%,
    rgba(39, 54, 115, 0.35) 0%,
    transparent 70%
  );
  pointer-events: none;
}
.page-hero-inner {
  max-width: 800px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
@media (max-width: 480px) {
  .page-hero-inner {
    max-width: 100%;
  }
}
.page-category {
  display: inline-block;
  background: rgba(231, 148, 48, 0.15);
  border: 1px solid rgba(231, 148, 48, 0.3);
  color: var(--orange-400);
  font-family: "Gilroy", sans-serif;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  padding: 0.3rem 0.8rem;
  border-radius: 3px;
  margin-bottom: 1.25rem;
}
.page-hero h1 {
  font-size: clamp(1.9rem, 4vw, 2.8rem);
  font-weight: 800;
  color: var(--white);
  line-height: 1.18;
  letter-spacing: -0.02em;
  margin: 0 0 1rem;
}
@media (max-width: 480px) {
  .page-hero h1 {
    font-size: 1.85rem;
  }
}
.page-hero h1 span {
  background: linear-gradient(
    90deg,
    var(--orange-300) 0%,
    #ffd98a 50%,
    var(--orange-400) 100%
  );
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.page-hero-meta {
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.38);
  font-family: "Gilroy", sans-serif;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
@media (max-width: 480px) {
  .page-hero-meta {
    font-size: 0.75rem;
  }
}
.breadcrumb {
  display: flex;
  gap: 0.5rem;
  align-items: center;
  margin-bottom: 1.5rem;
}
.breadcrumb a {
  color: rgba(255, 255, 255, 0.45);
  text-decoration: none;
  font-size: 0.78rem;
  font-family: "Gilroy", sans-serif;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  transition: color 0.2s;
}
.breadcrumb a:hover {
  color: var(--orange-400);
}
.breadcrumb span {
  color: rgba(255, 255, 255, 0.5);
  font-size: 0.78rem;
}
/* ---- ABOUT US ---- */
.about-section {
  background: var(--white);
  padding: 4rem 2rem;
}
@media(min-width: 1023px) {
  .about-section {
    padding: 6rem 2rem;
  }
}

.about-grid {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 6rem;
  align-items: start;
}
@media (max-width: 1023px) {
  .about-grid { 
    grid-template-columns: 1fr; 
    gap: 3rem; 
  }
}
.about-section .section-sub {
  margin: 0;
}
.about-section .section-sub strong {
  color: var(--navy-500);
  font-weight: 600;
}
.about-stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
  position: sticky;
  top: 6rem;
}
@media (max-width: 1023px) {
  .about-stats {
    position: static;
  }
}
@media (max-width: 767px) {
  .about-stats {
    grid-template-columns: 1fr;
  }
}
.about-stat {
  background: var(--grey-50);
  border: 1px solid var(--grey-100);
  border-radius: 8px;
  padding: 1.75rem;
  position: relative;
  overflow: hidden;
}
.about-stat::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--orange-500);
}
.about-stat-num {
  font-family: "Gilroy", sans-serif;
  font-size: 2.25rem;
  font-weight: 900;
  color: var(--navy-500);
  line-height: 1;
  margin-bottom: 0.35rem;
  letter-spacing: -0.02em;
}
.about-stat-label {
  font-size: 0.8rem;
  color: var(--grey-400);
  line-height: 1.5;
}
.about-stat-note {
  font-size: 0.72rem;
  color: var(--orange-500);
  font-family: "Gilroy", sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-top: 0.5rem;
}


.about-section.dark {
  background: linear-gradient(135deg, #0c1428 0%, var(--navy-800) 60%, #162050 100%);
}
.about-section.dark:before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 70% 50%, rgba(231,148,48,0.06) 0%, transparent 65%);
  pointer-events: none;
}
.about-section.dark .section-heading {
  color: var(--white);
}
.about-section.dark .section-sub {
  color: rgba(255,255,255,0.6);
}
.about-section.dark .section-sub strong {
  color: var(--orange-300);
}
.about-section.dark .about-stat {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
}
.about-section.dark .about-stat:before {
  height: 2px;
  background: linear-gradient(90deg, var(--orange-400), transparent);
}
.about-section.dark .about-stat-num {
  color: var(--orange-300);
}
.about-section.dark .about-stat-label {
  color: rgba(255,255,255,0.4);
}
/* ── ABOUT US 02─ */
.about-us-02 {
  background: var(--grey-50);
  border-top: 1px solid var(--grey-100);
  padding: 3.5rem 2rem;
}
.about-us-02-inner {
  max-width: 900px;
  margin: 0 auto;
}
.about-us-02 .section-label {
  color: var(--grey-300);
  margin-bottom: 1.5rem;
}
.about-us-02-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.25rem;
}
@media (max-width: 767px) {
  .about-us-02-grid {
    grid-template-columns: 1fr;
  }
}
.about-card {
  background: var(--white);
  border: 1px solid var(--grey-100);
  border-radius: 6px;
  padding: 1.5rem 1.75rem;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  transition: border-color 0.2s, box-shadow 0.2s;
}
.about-card:hover {
  border-color: var(--navy-500);
  box-shadow: 0 4px 16px rgba(39, 54, 115, 0.08);
}
.about-card-name {
  font-family: "Gilroy", sans-serif;
  font-size: 1rem;
  font-weight: 800;
  color: var(--navy-500);
}
.about-card-desc {
  font-size: 0.88rem;
  color: var(--grey-400);
  line-height: 1.5;
}
.about-card-arrow {
  font-size: 0.8rem;
  color: var(--orange-500);
  font-weight: 700;
  margin-top: 0.5rem;
}
/* ── BIO Section ── */
.bio-section {
  background: var(--grey-50);
  padding: 5.5rem 2rem;
}
@media(max-width: 1023px) {
  .bio-section {
    padding: 4rem 2rem;
  }
}
.bio-grid {
  display: grid;
  grid-template-columns: 1fr 360px; 
  gap: 5rem;
  align-items: start;
}
@media (max-width: 1023px) {
  .bio-grid { 
    grid-template-columns: 1fr;
    gap: 3rem; 
  }
}
.bio-body .section-sub {
  margin: 0;
}
/* Sidebar cards */
.bio-sidebar {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
.bio-card {
  background: var(--white);
  border: 1px solid var(--grey-100);
  border-radius: 10px;
  padding: 1.5rem;
}
.bio-card-label {
  font-family: "Gilroy", sans-serif;
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--grey-300);
  margin-bottom: 1rem;
  display: block;
}
.cred-list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}
.cred-list li {
  font-size: 0.87rem;
  color: var(--grey-400);
  line-height: 1.5;
  display: flex;
  gap: 0.55rem;
  align-items: flex-start;
}
.cred-list li::before {
  content: "";
  display: inline-block;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--orange-500);
  margin-top: 0.5rem;
  flex-shrink: 0;
}
.cred-list strong {
  font-family: "Gilroy", sans-serif;
  font-weight: 700;
  color: var(--navy-500);
}
.tag-cloud {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}
.tag-cloud .tag {
  font-family: "Gilroy", sans-serif;
  font-size: 0.7rem;
  font-weight: 700;
  padding: 0.3rem 0.65rem;
  border-radius: 4px;
  background: var(--grey-50);
  border: 1px solid var(--grey-100);
  color: var(--navy-500);
  letter-spacing: 0.02em;
}
/* Contact */
.contact-section {
  max-width: 1100px;
  margin: 0 auto;
  padding: 5rem 2rem 6rem;
  display: grid;
  grid-template-columns: 1fr 400px;
  gap: 5rem;
  align-items: start;
}
@media (max-width: 1023px) {
  .contact-section { 
    grid-template-columns: 1fr; 
    gap: 3rem; 
  }
}
@media (max-width: 767px) {
  .contact-main { 
    padding: 3.5rem 1.25rem 6rem; 
    gap: 2rem; 
  }
}

/* form styling */
.contact-form .section-heading {
  font-size: clamp(1.6rem, 3vw, 2rem);
}
.contact-form .section-sub {
  font-size: 0.95rem;
  margin-bottom: 2rem;
}

.contact-form .submitted-message {
  padding: 2.5rem;
  background: rgba(26,122,110,0.07);
  border: 1px solid rgba(26,122,110,0.2);
  border-radius: 10px;
  text-align: center;
}
.contact-form .submitted-message h3 {
  font-family: 'Gilroy', sans-serif;
  font-size: 1.4rem;
  font-weight: 800;
  color: var(--navy-500);
  margin-bottom: 0.5rem;
}
.contact-form .submitted-message p {
  font-size: 0.92rem;
  color: var(--grey-400);
  line-height: 1.6;
}


.contact-sidebar {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.sidebar-card {
  background: var(--grey);
  border-radius: 10px;
  padding: 1.75rem 1.5rem;
}
.sidebar-card.dark {
  background: var(--navy-800);
  color: var(--white);
}
.sidebar-card-label {
  font-family: "Gilroy", sans-serif;
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--orange-500);
  margin-bottom: 0.75rem;
  display: block;
}
.sidebar-card h3 {
  font-family: "Gilroy", sans-serif;
  font-size: 1.05rem;
  font-weight: 800;
  color: var(--navy-500);
  line-height: 1.3;
  margin-bottom: 0.6rem;
}
.sidebar-card.dark h3 {
  color: var(--white);
}
.sidebar-card p {
  font-size: 0.85rem;
  color: var(--grey-400);
  line-height: 1.6;
  margin-bottom: 1rem;
}
.sidebar-card.dark p {
  color: rgba(255, 255, 255, 0.45);
}

/* Contact details */
.contact-details {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin: 0;
}
.contact-details li {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  font-size: 0.87rem;
  color: var(--grey-600);
}
.contact-details .icon {
  width: 18px;
  height: 18px;
  color: var(--orange-500);
  flex-shrink: 0;
  margin-top: 1px;
}
.contact-details a {
  color: var(--grey-600);
  text-decoration: none;
  transition: color 0.2s;
}
.contact-details a:hover {
  color: var(--orange-500);
}

/* What to expect steps */
.expect-steps {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.expect-step {
  display: flex;
  gap: 0.85rem;
  align-items: flex-start;
}
.expect-num {
  width: 24px;
  height: 24px;
  background: var(--orange-500);
  color: var(--white);
  border-radius: 50%;
  font-family: "Gilroy", sans-serif;
  font-size: 0.7rem;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-top: 1px;
}
.expect-step-body {
  min-width: 0;
  overflow-wrap: break-word;
}
.expect-step-title {
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--navy-500);
  margin-bottom: 0.15rem;
}
.sidebar-card.dark .expect-step-title {
  color: var(--white);
}
.expect-step-desc {
  font-size: 0.8rem;
  color: var(--grey-400);
  line-height: 1.5;
}
.sidebar-card.dark .expect-step-desc {
  color: rgba(255, 255, 255, 0.4);
}

/* Testimonial card */
.sidebar-testimonial {
  background: var(--navy-700);
  border-radius: 10px;
  padding: 1.75rem 1.5rem;
  position: relative;
}
.sidebar-testimonial::before {
  content: "\201C";
  font-family: Georgia, serif;
  font-size: 5rem;
  line-height: 0.8;
  color: rgba(231, 148, 48, 0.2);
  position: absolute;
  top: 1rem;
  left: 1.25rem;
}
.sidebar-testimonial blockquote {
  font-size: 0.88rem;
  color: rgba(255, 255, 255, 0.75);
  line-height: 1.65;
  font-style: italic;
  padding-top: 1.5rem;
  position: relative;
  z-index: 1;
}
.sidebar-testimonial cite {
  display: block;
  font-size: 0.76rem;
  font-style: normal;
  color: rgba(255, 255, 255, 0.35);
  margin-top: 1rem;
}
.sidebar-testimonial cite strong {
  color: rgba(255, 255, 255, 0.6);
  font-weight: 600;
}


.offices-strip {
  background: var(--grey-100);
  border-top: 1px solid var(--grey-200);
  border-bottom: 1px solid var(--grey-200);
  padding: 3rem 2rem;
}
.offices-inner {
  max-width: 1100px; margin: 0 auto;
  display: flex; align-items: center; gap: 4rem; flex-wrap: wrap;
  justify-content: center;
}
.offices-label {
  font-family: 'Gilroy', sans-serif;
  font-size: 0.68rem; font-weight: 700;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--grey-300);
  white-space: nowrap;
}
.offices-list {
  display: flex; gap: 4rem; flex-wrap: wrap; align-items: flex-start;
}
.office-item { font-size: 0.82rem; color: var(--grey-400); line-height: 1.6; }
.office-item strong {
  display: block;
  font-family: 'Gilroy', sans-serif;
  font-size: 0.82rem; font-weight: 700;
  color: var(--navy-500);
  margin-bottom: 0.2rem;
}
/* stats STRIP */
.stats {
  padding: 1rem 2rem;
}
.stats-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border: 1px solid var(--grey-100);
  border-radius: 8px;
  overflow: hidden;
}
@media(max-width: 767px) {
  .stats-strip { 
    grid-template-columns: repeat(2,1fr);
  } 
}
.stats-cell {
  padding: 1.1rem 1.4rem;
  border-right: 1px solid var(--grey-100);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
@media(max-width: 767px) {
  .stats-cell:nth-child(2){ 
    border-right: none;
  }
}
.stats-cell:last-child {
  border-right: none;
}
.stats-cell-num {
  font-family: "Gilroy", sans-serif;
  font-size: 1.65rem;
  font-weight: 900;
  color: var(--orange-500);
  line-height: 1.1;
  letter-spacing: -0.02em;
}
.stats-cell-label {
  font-size: 0.78rem;
  color: var(--grey-300);
  margin-top: 0.2rem;
  line-height: 1.4;
}


.stats.dark {
  background: var(--navy-800);
}
.stats.dark .stats-strip {
  border-color: rgba(255,255,255,0.08);
}
.stats.dark .stats-cell {
  border-right-color: rgba(255,255,255,0.08);
}
.stats.dark .stats-cell-num {
  color: var(--orange-500);
}
.stats.dark .stats-cell-label {
  color: rgba(255,255,255,0.72);
}



.stats-02 {
  
}
.stats-02 .stat-strip {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--grey-100);
  border-bottom: 1px solid var(--grey-100);
}
@media(max-width: 767px) {
  .stats-02 .stat-strip { 
    grid-template-columns: 1fr;
  } 
}
.stats-02 .stat-cell {
  padding: 2.5rem 2rem;
  text-align: center;
  border-right: 1px solid var(--grey-100);
}
.stats-02 .stat-cell:last-child {
  border-right: none;
}
.stats-02 .stat-num {
  font-family: 'Gilroy', sans-serif;
  font-size: 2.4rem;
  font-weight: 900;
  color: var(--navy-500);
  line-height: 1;
  margin-bottom: 0.4rem;
}
.stats-02 .stat-num span {
  color: var(--orange-500);
}
.stats-02 .stat-desc {
  font-size: 0.88rem;
  color: var(--grey-400);
  line-height: 1.4;
}
/* HOW IT WORKS — Agency vs Delta */
.working-model {
  padding: 5.5rem 2rem;
}
@media(max-width: 1023px) {
  .working-model {
    padding: 4rem 2rem;
  }
}
.working-model .section-header {
  max-width: 680px;
  margin: 0 auto 3.5rem;
}

.compare-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
}
@media (max-width: 1023px) {
  .compare-grid { 
    grid-template-columns: 1fr; 
  }
}
.compare-col {
}
.compare-col-header {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 1.5rem;
  padding-bottom: 1rem;
  border-bottom: 2px solid var(--grey-100);
}
.compare-col-header.delta {
  border-bottom-color: var(--orange-500);
}
.compare-badge {
  font-family: "Gilroy", sans-serif;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 0.3rem 0.85rem;
  border-radius: 30px;
}
.compare-badge.typical {
  background: var(--grey-100);
  color: var(--grey-400);
}
.compare-badge.delta {
  background: rgba(231, 148, 48, 0.12);
  color: var(--orange-600);
  border: 1px solid rgba(231, 148, 48, 0.25);
}
.compare-col-title {
  font-family: "Gilroy", sans-serif;
  font-size: 1rem;
  font-weight: 700;
  color: var(--grey-500);
}
.compare-col-title.delta {
  color: var(--navy-500);
}
.compare-row {
  display: flex;
  gap: 0.75rem;
  align-items: flex-start;
  margin-bottom: 1.1rem;
}
.compare-icon {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.7rem;
  margin-top: 1px;
}
.compare-icon.x {
  background: rgba(200, 60, 60, 0.1);
  color: #c83c3c;
}
.compare-icon.check {
  background: rgba(231, 148, 48, 0.12);
  color: var(--orange-600);
}
.compare-text {
  font-size: 0.88rem;
  color: var(--grey-400);
  line-height: 1.55;
}
.compare-text.delta {
  color: var(--grey-500);
}


.working-model.style_two {
  background: var(--grey-50);
}
.working-model.style_two {
  background: var(--grey-50);
}
.working-model.style_two .compare-col-header {
  border-bottom: 1px solid var(--grey-100);
}
.working-model.style_two .compare-row {
  background: var(--white);
  border: 1px solid var(--grey-100);
  border-radius: 8px;
  padding: 1.1rem 1.25rem;
  margin-bottom: 0.75rem;
  transition: all 0.2s;
  display: block;
}
.working-model.style_two .compare-row.delta {
  border-left: 3px solid var(--orange-500);
}
.working-model.style_two .compare-title {
  font-family: 'Gilroy', sans-serif;
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--navy-500);
  margin-bottom: 0.25rem;
}
.working-model.style_two .compare-text {
  color: var(--grey-300);
}
/* ---- LEADERSHIP ---- */
.leadership-section {
  background: var(--white);
  padding: 4rem 2rem;
}
@media(min-width: 1023px) {
  .leadership-section {
    padding: 6rem 2rem;
  }
}
.leadership-section .section-header {
  max-width: 640px;
  margin-bottom: 3rem;
  text-align: left;
}
.leaders-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}
@media (max-width: 1023px) {
  .leaders-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 767px) {
  .leaders-grid {
    grid-template-columns: 1fr;
  }
}
.leader-card {
  background: var(--grey-50);
  border: 1px solid var(--grey-100);
  border-radius: 8px;
  overflow: hidden;
  transition: all 0.3s;
}
.leader-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
}
.leader-photo {
  background: #000;
  height: 180px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.leader-photo-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.leader-photo-placeholder {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.12);
  border: 2px solid rgba(255, 255, 255, 0.2);
  display: flex;
  align-items: center;
  justify-content: center;
}
.leader-photo-placeholder svg {
  opacity: 0.4;
}
.leader-info {
  padding: 1.5rem;
}
.leader-name {
  font-family: "Gilroy", sans-serif;
  font-size: 1.05rem;
  font-weight: 800;
  color: var(--navy-500);
  margin-bottom: 0.2rem;
}
.leader-name a {
  text-decoration: none;
  color: inherit;
}
.leader-creds {
  font-family: "Gilroy", sans-serif;
  font-size: 0.72rem;
  color: var(--grey-300);
  letter-spacing: 0.05em;
  margin-bottom: 0.2rem;
}
.leader-title {
  font-family: "Gilroy", sans-serif;
  font-size: 0.72rem;
  color: var(--orange-400);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-weight: 700;
  margin-bottom: 0.75rem;
}
.leader-bio {
  font-size: 0.83rem;
  color: var(--grey-400);
  line-height: 1.65;
}
.leader-tag {
  display: inline-block;
  margin-top: 0.75rem;
  font-family: "Gilroy", sans-serif;
  font-size: 0.68rem;
  color: var(--navy-500);
  background: rgba(39, 54, 115, 0.08);
  padding: 0.2rem 0.6rem;
  border-radius: 20px;
  font-weight: 600;
}



/* ---- TEAM STRIP ---- */
.strip-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: var(--grey-100);
  border: 1px solid var(--grey-100);
  border-radius: 8px;
  overflow: hidden;
}
@media(max-width: 1023px) { 
  .strip-grid { 
    grid-template-columns: repeat(2, 1fr); 
  } 
}
@media(max-width: 767px) { 
  .strip-grid { grid-template-columns: 1fr; 
  } 
}
.strip-card {
  background: var(--white);
  padding: 1.25rem 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  transition: background 0.2s;
  text-decoration: none;
}
.strip-card:hover {
  background: var(--grey-50);
}
.strip-name {
  font-family: "Gilroy", sans-serif;
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--navy-900);
}
.strip-creds {
  font-family: "Avenir LT Std", sans-serif;
  font-size: 0.68rem;
  color: var(--grey-300);
  letter-spacing: 0.04em;
}
.strip-title {
  font-family: "Avenir LT Std", sans-serif;
  font-size: 0.78rem;
  color: var(--grey-400);
}
.strip-cta {
  text-align: center;
  margin-top: 2rem;
}
.strip-cta a {
  font-family: "Gilroy", sans-serif;
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--orange-500);
  text-decoration: none;
  letter-spacing: 0.04em;
  border-bottom: 1px solid var(--orange-300);
  padding-bottom: 1px;
  transition: color 0.2s, border-color 0.2s;
}
.strip-cta a:hover {
  color: var(--orange-600);
  border-color: var(--orange-500);
}




.leadership-section.style_two .section-header {
  max-width: 560px;
  margin: 0 auto 2.5rem;
  text-align: center;
}
/* ENGAGEMENT MODELS */
.engagement {
  padding: 4rem 2rem;
}
@media(min-width: 1023px) {
  .engagement {
    padding: 5.5rem 2rem;
  }
}
.engagement .section-header {
  max-width: 680px; 
  margin: 0 auto 3rem;
}
.engagement-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
}
@media (max-width: 1023px) {
  .engagement-grid { 
    grid-template-columns: 1fr; 
  }
}
.engagement-card {
  background: var(--white);
  border: 1px solid var(--grey-100);
  border-radius: 10px;
  padding: 2rem 1.75rem;
  position: relative;
  overflow: hidden;
  transition: all 0.25s;
}
.engagement-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.1);
}
.engagement-card.featured {
  border-color: var(--orange-400);
}
.engagement-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: var(--grey-100);
}
.engagement-card.featured::before {
  background: var(--orange-500);
}
.engagement-icon {
  font-size: 2rem;
  margin-bottom: 1.25rem;
}
.engagement-card h3 {
  font-size: 1.15rem;
  font-weight: 800;
  color: var(--navy-500);
  margin-bottom: 0.5rem;
}
.engagement-card .engagement-tagline {
  font-size: 0.82rem;
  color: var(--orange-500);
  font-weight: 600;
  font-family: "Gilroy", sans-serif;
  margin-bottom: 1rem;
}
.engagement-card p {
  font-size: 0.85rem;
  color: var(--grey-400);
  line-height: 1.7;
  margin-bottom: 1.5rem;
}
.engagement-card ul {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin-bottom: 1.75rem;
}
.engagement-card ul li {
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
  font-size: 0.8rem;
  color: var(--grey-400);
  line-height: 1.5;
}
.engagement-card ul li::before {
  content: "→";
  color: var(--orange-500);
  font-family: "Gilroy", sans-serif;
  font-weight: 700;
  flex-shrink: 0;
}
.engagement-cta {
  display: block;
  text-align: center;
  padding: 0.75rem;
  border-radius: 4px;
  text-decoration: none;
  font-family: "Gilroy", sans-serif;
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  transition: all 0.2s;
  border: 2px solid var(--grey-100);
  color: var(--grey-500);
}
.engagement-cta:hover {
  border-color: var(--orange-500);
  color: var(--orange-500);
}
.engagement-card.featured .engagement-cta {
  background: var(--orange-500);
  color: var(--white);
  border-color: var(--orange-500);
}
.engagement-card.featured .engagement-cta:hover {
  background: var(--orange-600);
  border-color: var(--orange-600);
}
/* ---- HBP FEATURE ---- */
.publication-featured {
  padding: 6rem 2rem;
}
@media(max-width: 1023px) {
  .publication-featured {
    padding: 4rem 2rem;
  }
}
.hbp-feature-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5rem;
  align-items: center;
}
@media(max-width: 1023px) {
  .hbp-feature-grid { 
    grid-template-columns: 1fr; 
    gap: 3rem; 
  }
}
.hbp-shield-row {
  display: flex;
  align-items: center;
  gap: 0.9rem;
  margin-bottom: 1.5rem;
}
.hbp-shield-row .hbp-shield {
  width: 48px;
  height: 56px;
  background: #a51c30;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.hbp-shield-row .hbp-shield span {
  font-family: Georgia, serif;
  font-size: 1.5rem;
  font-weight: bold;
  color: white;
}
.hbp-shield-row .hbp-pub-source {
  font-family: "Gilroy", sans-serif;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #a51c30;
}
.hbp-shield-row .hbp-pub-series {
  font-family: "Gilroy", sans-serif;
  font-size: 0.88rem;
  font-weight: 700;
  color: var(--navy-500);
  margin-top: 0.15rem;
}
.hbp-feature-heading {
  font-size: clamp(1.35rem, 2.2vw, 1.8rem);
  font-weight: 800;
  color: var(--navy-500);
  line-height: 1.2;
  letter-spacing: -0.02em;
  margin-bottom: 1rem;
}
.hbp-feature-body {
  font-size: 0.95rem;
  line-height: 1.85;
  color: var(--grey-400);
  margin-bottom: 1.5rem;
}
.hbp-feature-body strong {
  color: var(--navy-500);
  font-family: "Gilroy", sans-serif;
  font-weight: 700;
}
.inline-link {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-family: "Gilroy", sans-serif;
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--orange-500);
  border-bottom: 2px solid rgba(231, 148, 48, 0.3);
  padding-bottom: 0.15rem;
  transition: all 0.2s;
  text-decoration: none;
}
.inline-link:hover {
  gap: 0.65rem;
  border-color: var(--orange-500);
}

/* Case cards */
.case-cards {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.featured-case-card {
  background: var(--white);
  border: 1px solid var(--grey-100);
  border-left: 3px solid #a51c30;
  border-radius: 6px;
  padding: 1.25rem 1.5rem;
}
.featured-case-card .case-card-part {
  font-family: "Gilroy", sans-serif;
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #a51c30;
  margin-bottom: 0.3rem;
}
.featured-case-card .case-card-title {
  font-family: "Gilroy", sans-serif;
  font-size: 0.9rem;
  font-weight: 800;
  color: var(--navy-500);
  line-height: 1.3;
  margin-bottom: 0.25rem;
}
.featured-case-card .case-card-desc {
  font-size: 0.8rem;
  color: var(--grey-300);
  line-height: 1.5;
}
/* ---- MEDIA + PUBLICATIONS ---- */
.publications {
  background: var(--grey-50);
  padding: 6rem 2rem;
}
@media(max-width: 1023px) {
  .publications {
    padding: 4rem 2rem;
  }
}
.media-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5rem;
  align-items: start;
}
@media (max-width: 1023px) {
  .media-grid {
    grid-template-columns: 1fr;
    gap: 3rem;
  }
}
.publications .section-heading {
  font-size: 1.5rem;
}
.publications .section-heading:after {
  display: none;
}
.media-logos-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 1.5rem;
}
.media-badge {
  font-family: "Gilroy", sans-serif;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: var(--grey-400);
  background: var(--white);
  border: 1px solid var(--grey-100);
  border-radius: 4px;
  padding: 0.35rem 0.85rem;
}
.pub-list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0;
}
.pub-link {
  display: block;
  padding: 0.85rem 0;
  border-bottom: 1px solid var(--grey-100);
  text-decoration: none;
  transition: all 0.2s;
}
.pub-list li:first-child .pub-link {
  border-top: 1px solid var(--grey-100);
}
.pub-link:hover {
  padding-left: 0.5rem;
}
.pub-title {
  font-family: "Gilroy", sans-serif;
  font-size: 0.88rem;
  font-weight: 700;
  color: var(--navy-500);
  line-height: 1.4;
  margin-bottom: 0.2rem;
  transition: color 0.2s;
}
.pub-link:hover .pub-title {
  color: var(--orange-500);
}
.pub-meta {
  font-size: 0.72rem;
  color: var(--grey-300);
  font-family: "Gilroy", sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-weight: 600;
}
/* ---- AWARDS ---- */
.awards-section {
  background: var(--grey-50);
  padding: 6rem 2rem;
}
@media(max-width: 1023px) {
  .awards-section {
    padding: 4rem 2rem;
  }
}
.awards-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: var(--grey-100);
  border: 1px solid var(--grey-100);
  border-radius: 10px;
  overflow: hidden;
  margin-top: 2.5rem;
}
@media (max-width: 1023px) { 
  .awards-grid { 
    grid-template-columns: repeat(2, 1fr); 
  }
}
@media (max-width: 767px) { 
  .awards-grid { 
    grid-template-columns: 1fr;
  }
}
.award-cell {
  background: var(--white);
  padding: 1.75rem 1.5rem;
}
.award-year {
  font-family: "Gilroy", sans-serif;
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--orange-400);
  margin-bottom: 0.4rem;
}
.award-name {
  font-family: "Gilroy", sans-serif;
  font-size: 0.88rem;
  font-weight: 800;
  color: var(--navy-500);
  line-height: 1.3;
  margin-bottom: 0.3rem;
}
.award-source {
  font-size: 0.75rem;
  color: var(--grey-300);
}
/* ---- ORIGIN TIMELINE ---- */
.origin-section {
  background: var(--grey-50);
  padding: 6rem 2rem;
  border-top: 1px solid var(--grey-100);
  border-bottom: 1px solid var(--grey-100);
}
@media(max-width: 1023px) {
  .origin-section {
    padding: 4rem 2rem;
  }
}
.origin-section .section-sub {
  max-width: 660px;
  margin-bottom: 0.5rem;
}
.origin-timeline {
  margin-top: 3rem;
  display: flex;
  flex-direction: column;
  gap: 0;
}
.origin-item {
  display: grid;
  grid-template-columns: 160px 1fr;
  gap: 3rem;
  padding: 2.5rem 0;
  border-bottom: 1px solid var(--grey-100);
  position: relative;
}
@media (max-width: 1023px) {
  .origin-item { 
    grid-template-columns: 1fr; 
    gap: 0.75rem; 
  }
}
.origin-item:first-child {
  padding-top: 0;
}
.origin-item:last-child {
  border-bottom: none;
}
.origin-year-block {
  text-align: right;
  padding-top: 0.25rem;
}
@media (max-width: 1023px) {
  .origin-year-block { 
    text-align: left;
  }
}
.origin-year {
  font-family: "Gilroy", sans-serif;
  font-size: 1rem;
  font-weight: 800;
  color: var(--orange-500);
  line-height: 1;
  margin-bottom: 0.35rem;
}
.origin-era {
  font-size: 0.72rem;
  color: var(--grey-300);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-weight: 600;
}
.origin-connector {
  position: absolute;
  left: 160px;
  top: 0;
  bottom: 0;
  width: 3rem;
  display: flex;
  align-items: flex-start;
  padding-top: 0.6rem;
  justify-content: center;
}
.origin-connector-dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--navy-500);
  border: 3px solid var(--grey-50);
  box-shadow: 0 0 0 3px var(--navy-500);
  flex-shrink: 0;
}
.origin-item.milestone .origin-connector-dot {
  background: var(--orange-500);
  box-shadow: 0 0 0 3px var(--orange-500), 0 0 0 6px rgba(231, 148, 48, 0.15);
}
.origin-content {
  padding-left: 1.5rem;
}
@media(max-width: 767px) {
  .origin-content {
    padding-left: 1rem;
  }
}
.origin-tag {
  font-family: "Gilroy", sans-serif;
  font-size: 0.68rem;
  color: var(--orange-400);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-weight: 700;
  margin-bottom: 0.5rem;
}
.origin-content h3 {
  font-family: "Gilroy", sans-serif;
  font-size: 1.25rem;
  font-weight: 800;
  color: var(--navy-500);
  margin-bottom: 0.6rem;
  line-height: 1.25;
}
.origin-content p {
  font-size: 0.92rem;
  color: var(--grey-400);
  line-height: 1.8;
}
.origin-content .origin-callout {
  background: var(--white);
  border: 1px solid var(--grey-100);
  border-left: 3px solid var(--orange-500);
  border-radius: 0 6px 6px 0;
  padding: 0.75rem 1rem;
  margin-top: 1rem;
  font-size: 0.85rem;
  color: var(--grey-500);
  font-style: italic;
}
/* ---- LOCATION ---- */
.location-section {
  background: var(--grey-50);
  padding: 6rem 2rem;
}
@media(max-width: 1023px) {
  .location-section {
    padding: 4rem 2rem;
  }
}
.location-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  align-items: start;
  margin-top: 2rem;
}
@media (max-width: 1023px) {
  .location-grid {
    grid-template-columns: 1fr; 
    gap: 2rem;
  }
}
.location-grid .text {
  font-size: 0.88rem;
  color: var(--grey-400);
  line-height: 1.8;
  margin-top: 1.5rem;
}
.location-block h3 {
  font-family: "Gilroy", sans-serif;
  font-size: 1.25rem;
  font-weight: 800;
  color: var(--navy-500);
  margin-bottom: 0.75rem;
}
.location-block p {
  font-size: 0.92rem;
  color: var(--grey-400);
  line-height: 1.8;
  margin-bottom: 1.25rem;
}
.location-card {
  background: var(--white);
  border: 1px solid var(--grey-100);
  border-radius: 8px;
  padding: 2rem;
  position: relative;
  overflow: hidden;
}
.location-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--orange-500);
}
.location-city {
  font-family: "Gilroy", sans-serif;
  font-size: 0.72rem;
  color: var(--orange-400);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-weight: 700;
  margin-bottom: 0.5rem;
}
.location-card h4 {
  font-family: "Gilroy", sans-serif;
  font-size: 1rem;
  font-weight: 800;
  color: var(--navy-500);
  margin-bottom: 0.75rem;
}
.location-detail {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  font-size: 0.85rem;
  color: var(--grey-400);
  line-height: 1.6;
  margin-bottom: 0.5rem;
}
.location-detail svg {
  flex-shrink: 0;
  margin-top: 0.2rem;
  color: var(--orange-500);
}
.location-detail a {
  color: var(--grey-400);
  text-decoration: none;
  transition: color 0.2s;
}
.location-detail a:hover {
  color: var(--orange-500);
}
.national-reach {
  background: var(--white);
  border: 1px solid var(--grey-100);
  border-radius: 8px;
  padding: 2rem;
}
.national-reach .section-label {
  margin-bottom: 0.5rem;
}
.national-reach h3 {
  font-family: 'Gilroy',sans-serif;
  font-size: 1.1rem;
  font-weight: 800;
  color: var(--navy-500);
  margin-bottom: 0.75rem;
}
.national-reach p {
  font-size: 0.88rem;
  color: var(--grey-400);
  line-height: 1.75;
  margin-bottom: 1.25rem;
}
.national-reach ul {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  list-style: none;
  margin: 0;
}
.national-reach ul li {
  font-family: "Gilroy", sans-serif;
  font-size: 0.72rem;
  color: var(--navy-500);
  background: rgba(39, 54, 115, 0.08);
  padding: 0.3rem 0.75rem;
  border-radius: 20px;
  font-weight: 600;
}

.federal-info {
  background: var(--white);
  border: 1px solid var(--grey-100);
  border-radius: 8px;
  padding: 2rem;
  margin-top: 1.5rem;
}
.federal-info .section-label {
  margin-bottom: 0.5rem;
}
.federal-info h3 {
  font-family: 'Gilroy',sans-serif;
  font-size: 1.1rem;
  font-weight: 800;
  color: var(--navy-500);
  margin-bottom: 0.75rem;
}
.federal-info p {
  font-size: 0.85rem;
  color: var(--grey-400);
}
/* ---- SPEAKING ---- */
.speaking-section {
  padding: 6rem 2rem;
}
@media(max-width: 1023px) {
  .speaking-section {
    padding: 4rem 2rem;
  }
}
.speaking-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5rem;
  align-items: start;
}
@media(max-width: 1023px) {
  .speaking-grid { 
    grid-template-columns: 1fr; 
    gap: 3rem; 
  }
}
.keynote-name {
  font-family: "Gilroy", sans-serif;
  font-size: 1.1rem;
  font-weight: 800;
  color: var(--navy-500);
  line-height: 1.35;
  margin-bottom: 0.4rem;
}
.keynote-note {
  font-size: 0.87rem;
  color: var(--grey-300);
  font-style: italic;
  margin-bottom: 2rem;
}
.venue-list {
  display: flex;
  flex-direction: column;
}
.venue-row {
  display: grid;
  grid-template-columns: 80px 1fr;
  gap: 1rem;
  padding: 0.95rem 0;
  border-bottom: 1px solid var(--grey-100);
  align-items: start;
}
.venue-row:last-child {
  border-bottom: none;
}
.venue-year {
  font-family: "Gilroy", sans-serif;
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--orange-500);
  padding-top: 0.15rem;
}
.venue-name {
  font-family: "Gilroy", sans-serif;
  font-size: 0.9rem;
  font-weight: 700;
  color: var(--navy-500);
  line-height: 1.3;
}
.venue-detail {
  font-size: 0.78rem;
  color: var(--grey-300);
  margin-top: 0.15rem;
}

/* Expert witness aside */
.expert-aside {
  background: var(--navy-800);
  border-radius: 10px;
  padding: 2rem;
  position: relative;
  overflow: hidden;
}
.expert-aside::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0.03;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
  background-size: 200px 200px;
  pointer-events: none;
}
.expert-aside-inner {
  position: relative;
  z-index: 1;
}
.expert-aside .section-label {
  color: var(--orange-400);
}
.expert-aside h3 {
  font-size: 1.1rem;
  font-weight: 800;
  color: var(--white);
  line-height: 1.3;
  margin-bottom: 0.75rem;
  letter-spacing: -0.01em;
}
.expert-aside p {
  font-size: 0.87rem;
  color: rgba(255, 255, 255, 0.5);
  line-height: 1.8;
  margin-bottom: 1.25rem;
}
.expert-aside a {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-family: "Gilroy", sans-serif;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--orange-400);
  border: 1px solid rgba(236, 169, 89, 0.3);
  border-radius: 4px;
  padding: 0.55rem 1.1rem;
  transition: all 0.2s;
  text-decoration: none;
}
.expert-aside a:hover {
  border-color: var(--orange-400);
  color: var(--orange-300);
}
/* ---- TEAM DELTA CALLOUT ---- */
.delta-callout {
  background: linear-gradient(
    135deg,
    #0c1428 0%,
    var(--navy-800) 50%,
    #162050 100%
  );
  padding: 5rem 2rem;
  position: relative;
  overflow: hidden;
}
@media(max-width: 1023px) {
  .delta-callout {
    padding: 4rem 2rem;
  }
}
.delta-callout::before {
  content: "Δ";
  position: absolute;
  right: -2rem;
  top: 50%;
  transform: translateY(-50%);
  font-size: 30rem;
  font-weight: 900;
  font-family: "Gilroy", sans-serif;
  color: rgba(255, 255, 255, 0.03);
  line-height: 1;
  pointer-events: none;
  user-select: none;
}
.delta-callout-inner {
  max-width: 1140px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5rem;
  align-items: center;
  position: relative;
  z-index: 1;
}
@media (max-width: 1023px) {
  .delta-callout-inner {
    grid-template-columns: 1fr; 
    gap: 2.5rem;
  }
}
.delta-callout .section-heading {
  font-size: clamp(1.75rem, 3vw, 2.25rem);
  color: var(--white);
  line-height: 1.2;
  margin-bottom: 1rem;
}
.delta-callout .section-sub {
  font-size: 0.95rem;
  color: rgba(255, 255, 255, 0.6);
  margin-bottom: 1.5rem;
}
.delta-callout-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--orange-400);
  font-family: "Gilroy", sans-serif;
  font-size: 0.82rem;
  font-weight: 700;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  transition: gap 0.2s;
}
.delta-callout-link:hover {
  gap: 0.85rem;
}
.delta-skills-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.delta-skill-item {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
}
.delta-skill-icon {
  width: 36px;
  height: 36px;
  border-radius: 6px;
  background: rgba(231, 148, 48, 0.15);
  border: 1px solid rgba(231, 148, 48, 0.25);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: var(--orange-400);
}
.delta-skill-text h4 {
  font-family: "Gilroy", sans-serif;
  font-size: 0.88rem;
  font-weight: 700;
  color: var(--white);
  margin-bottom: 0.2rem;
}
.delta-skill-text p {
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.45);
  line-height: 1.5;
  margin-bottom: 0;
}
/* Glossary */
.glossary-section {
  padding: 0 2rem;
}
.glossary-section .breadcrumb {
  padding: 0.75rem 2rem;
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  gap: 0.5rem;
  align-items: center;
}
.glossary-section .breadcrumb a {
  color: var(--grey-400);
  text-transform: inherit;
}
.glossary-section .breadcrumb span {
  color: var(--grey-400);
  font-size: 0.8rem;
}

.glossary-body {
  max-width: 1200px;
  margin: 0 auto;
  padding: 2rem 0 5rem;
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: 3rem;
  align-items: start;
}

/* SIDEBAR */
.glossary-sidebar {
  position: sticky;
  top: 90px;
}
.sidebar-label {
  font-family: "Gilroy", sans-serif;
  font-size: 0.7rem;
  font-weight: 700;
  color: var(--grey-300);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  margin-bottom: 1rem;
}
.alpha-nav {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}
.alpha-nav a {
  font-family: "Gilroy", sans-serif;
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--grey-400);
  text-decoration: none;
  padding: 0.3rem 0.75rem;
  border-radius: 4px;
  border-left: 2px solid transparent;
  transition: all 0.2s;
}
.alpha-nav a:hover {
  color: var(--navy-500);
  background: var(--grey-50);
  border-left-color: var(--grey-200);
}
.alpha-nav a.active {
  color: var(--orange-600);
  background: rgba(231, 148, 48, 0.07);
  border-left-color: var(--orange-500);
  font-weight: 700;
}
.sidebar-divider {
  height: 1px;
  background: var(--grey-100);
  margin: 1rem 0;
}
.sidebar-cta {
  padding: 1rem;
  background: var(--grey-50);
  border-radius: 8px;
  margin-top: 0.5rem;
}
.sidebar-cta p {
  font-size: 0.78rem;
  color: var(--grey-500);
  line-height: 1.6;
  margin-bottom: 0.75rem;
}
.sidebar-cta a {
  font-family: "Gilroy", sans-serif;
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--orange-600);
  text-decoration: none;
}
.sidebar-cta a:hover {
  color: var(--orange-700);
}

/* CATEGORY FILTER */
.filter-bar {
  display: flex;
  gap: 0.6rem;
  flex-wrap: wrap;
  margin-bottom: 2.5rem;
}
.filter-btn {
  font-family: "Gilroy", sans-serif;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 0.45rem 1rem;
  border-radius: 20px;
  border: 1px solid var(--grey-200);
  background: var(--white);
  color: var(--grey-400);
  cursor: pointer;
  transition: all 0.2s;
}
.filter-btn:hover {
  border-color: var(--navy-500);
  color: var(--navy-500);
}
.filter-btn.active {
  background: var(--navy-500);
  border-color: var(--navy-500);
  color: var(--white);
}

/* LETTER GROUP */
.letter-group {
  margin-bottom: 3.5rem;
  scroll-margin-top: 100px;
}
.letter-heading {
  font-family: "Gilroy", sans-serif;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--white);
  background: var(--navy-800);
  display: inline-block;
  padding: 0.3rem 0.85rem;
  border-radius: 3px;
  line-height: 1.6;
  margin-bottom: 1.75rem;
}

/* TERM CARD */
.term-card {
  padding: 1.75rem 0;
  border-bottom: 1px solid var(--grey-100);
  display: grid;
  gap: 0.6rem;
}
.term-card:last-child {
  border-bottom: none;
}
.term-header {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  flex-wrap: wrap;
}
.term-name {
  font-family: "Gilroy", sans-serif;
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--navy-800);
  line-height: 1.2;
}
.term-badges {
  display: flex;
  gap: 0.4rem;
  flex-wrap: wrap;
  align-items: center;
}
.term-badge {
  font-family: "Gilroy", sans-serif;
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 0.2rem 0.6rem;
  border-radius: 3px;
}
.badge-aeo {
  background: rgba(231, 148, 48, 0.1);
  color: var(--orange-700);
}
.badge-attribution {
  background: rgba(39, 54, 115, 0.08);
  color: var(--navy-600);
}
.badge-seo {
  background: rgba(26, 122, 110, 0.1);
  color: var(--teal-500);
}
.badge-paid {
  background: rgba(86, 174, 227, 0.1);
  color: var(--blue-500);
}
.badge-platform {
  background: rgba(32, 32, 32, 0.06);
  color: var(--grey-500);
}
.term-definition {
  font-size: 0.98rem;
  color: var(--grey-500);
  line-height: 1.8;
  max-width: 720px;
}
.term-related {
  display: flex;
  gap: 0.5rem;
  align-items: center;
  flex-wrap: wrap;
  margin-top: 0.25rem;
}
.term-related-label {
  font-size: 0.72rem;
  color: var(--grey-300);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.term-related a {
  font-size: 0.8rem;
  color: var(--navy-500);
  text-decoration: none;
  background: var(--grey-50);
  border: 1px solid var(--grey-100);
  padding: 0.2rem 0.6rem;
  border-radius: 4px;
  transition: all 0.15s;
}
.term-related a:hover {
  background: var(--navy-500);
  color: var(--white);
  border-color: var(--navy-500);
}
.term-card.hidden {
  display: none;
}
/* principles */
.principles-section {
  background: var(--grey-50);
  padding: 5rem 2rem;
}
@media(max-width: 1023px) {
  .principles-section {
    padding: 4rem 2rem;
  }
}
.principles-section .container {
  max-width: 820px;
}
.principles-section .section-sub {
  margin-bottom: 1.25rem;
  color: var(--grey-500);
}
/* Pull quote */
.pull-quote {
  border-left: 4px solid var(--orange-500);
  padding: 1.25rem 1.75rem;
  margin: 1.75rem 0;
  background: rgba(231, 148, 48, 0.04);
  border-radius: 0 8px 8px 0;
}
.pull-quote p {
  font-family: "Gilroy", sans-serif;
  font-size: 1.3rem;
  font-weight: 700;
  color: var(--navy-500);
  line-height: 1.45;
  font-style: italic;
}
/* Phase sections */
.phase-section {
  padding: 5rem 2rem;
}
.phase-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5rem;
  align-items: start;
}
@media(max-width: 1023px) {
  .phase-inner {
    grid-template-columns: 1fr; 
    gap: 2.5rem;
  }
}
.phase-inner.reverse {
  direction: rtl;
}
@media(max-width: 1023px) {
  .phase-inner.reverse { 
    direction: ltr; 
  }
}
.phase-inner.reverse > * {
  direction: ltr;
}
.phase-section .section-label {
  color: var(--navy-500);
}
.phase-section .section-heading {
  font-size: clamp(1.6rem, 2.5vw, 2.2rem);
  font-weight: 900;
  margin-bottom: 1rem;
}
.phase-section .section-heading:after {
  display: none;
}
.phase-section .section-sub {
  font-size: 1rem;
  color: var(--grey-500);
  line-height: 1.75;
  margin-bottom: 1.5rem;
}
.phase-detail {
  font-size: 0.9rem;
  color: var(--grey-500);
  line-height: 1.75;
  margin-bottom: 2rem;
}
.phase-list {
  list-style: none;
  margin-bottom: 2rem;
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}
.phase-list li {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  font-size: 0.88rem;
  color: var(--grey-500);
  line-height: 1.5;
}
.phase-check {
  background: var(--navy-500);
  width: 18px;
  height: 18px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-top: 1px;
  font-size: 0.65rem;
  color: white;
  font-weight: 700;
}
.phase-link {
  font-family: "Gilroy", sans-serif;
  color: var(--navy-500);
  font-size: 0.8rem;
  font-weight: 700;
  text-decoration: none;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  transition: gap 0.2s;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}
.phase-link:hover {
  gap: 0.6rem;
}


.phase-section.green .section-label, .phase-section.green .phase-link {
  color: var(--teal-500);
}
.phase-section.green .phase-check {
  background-color: var(--teal-500);
}

.phase-section.orange .section-label, .phase-section.orange .phase-link {
  color: var(--orange-500);
}
.phase-section.orange .phase-check {
  background-color: var(--orange-500);
}

.phase-section.light_blue .section-label, .phase-section.light_blue .phase-link {
  color: var(--blue-500);
}
.phase-section.light_blue .phase-check {
  background-color: var(--blue-500);
}
/* Entry points */
.entry-section {
  padding: 5rem 2rem;
  background: var(--white);
}
@media(max-width: 1023px) {
  .entry-section {
    padding: 4rem 2rem;
  }
}
.entry-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.25rem;
  margin-top: 2.5rem;
}
@media(max-width: 767px) { 
  .entry-grid { 
    grid-template-columns: 1fr; 
  }
}
.entry-section .section-heading span {
  background: linear-gradient(90deg,var(--orange-300) 0%,#ffd98a 50%,var(--orange-400) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.entry-card {
  border: 1px solid var(--grey-100);
  border-radius: 10px;
  padding: 1.75rem;
  transition: all 0.2s;
  position: relative;
  overflow: hidden;
}
.entry-card.ec-qma {
  background: rgba(39, 54, 115, 0.03);
}
.entry-card.ec-compass {
  background: rgba(26, 122, 110, 0.03);
}
.entry-card.ec-aeo {
  background: rgba(231, 148, 48, 0.03);
}
.entry-card.ec-galileo {
  background: rgba(86, 174, 227, 0.04);
}
.entry-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.07);
}
.entry-card-top {
  background: var(--navy-500);
  height: 4px;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}
.entry-card.ec-compass .entry-card-top {
  background: var(--teal-500);
}
.entry-card.ec-aeo .entry-card-top {
  background: var(--orange-500);
}
.entry-card.ec-galileo .entry-card-top {
  background: var(--blue-500);
}
.entry-scenario {
  font-family: "Gilroy", sans-serif;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  margin-bottom: 0.5rem;
  color: var(--navy-500);
}
.entry-card.ec-compass .entry-scenario {
  color: var(--teal-500);
}
.entry-card.ec-aeo .entry-scenario {
  color: var(--orange-500);
}
.entry-card.ec-galileo .entry-scenario {
  color: var(--blue-500);
}
.entry-title {
  font-family: "Gilroy", sans-serif;
  font-size: 1rem;
  font-weight: 800;
  color: var(--navy-500);
  margin-bottom: 0.6rem;
}
.entry-desc { 
  font-size: 0.85rem;
  color: var(--grey-500);
  line-height: 1.65;
  margin-bottom: 1rem;
}
.entry-start {
  font-family: "Gilroy", sans-serif;
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--grey-400);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 0.25rem;
}
.entry-platform {
  font-family: "Gilroy", sans-serif;
  font-size: 0.85rem;
  font-weight: 800;
  color: var(--navy-500);
}
.entry-card.ec-compass .entry-platform {
  color: var(--teal-500);
}
.entry-card.ec-aeo .entry-platform {
  color: var(--orange-500);
}
.entry-card.ec-galileo .entry-platform {
  color: var(--blue-500);
}
/* How they connect - dark section */
.connect-section {
  background: var(--navy-900);
  padding: 5rem 2rem;
}
.connect-inner {
  max-width: 900px;
  margin: 0 auto;
  text-align: center;
}
.connect-section .section-label {
  color: var(--orange-400);
}
.connect-section .section-heading {
  color: var(--white);
}
.connect-section .section-heading:after {
  display: none;
}
.connect-section .section-heading span {
  background: linear-gradient(
    90deg,
    var(--orange-300) 0%,
    #ffd98a 50%,
    var(--orange-400) 100%
  );
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.connect-sub {
  font-size: 1.05rem;
  color: rgba(255, 255, 255, 0.6);
  line-height: 1.75;
  margin-bottom: 3rem;
  max-width: 680px;
  margin-left: auto;
  margin-right: auto;
}
.flow-diagram {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  flex-wrap: wrap;
  margin-bottom: 3rem;
}
@media(max-width: 767px) {
  .flow-diagram { 
    gap: 0.5rem; 
  }
}
.flow-node {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 10px;
  padding: 1.25rem 1rem;
  text-align: center;
  flex: 1;
  max-width: 180px;
  position: relative;
  width: 100%
}
@media(max-width: 767px) {
  .flow-node {
    flex: inherit;
    max-width: 100%;
  }
}
.flow-node-num {
  font-family: "Gilroy", sans-serif;
  font-size: 0.6rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  margin-bottom: 0.35rem;
  opacity: 0.5;
}
.flow-node-name {
  font-family: "Gilroy", sans-serif;
  font-size: 0.88rem;
  font-weight: 800;
  color: var(--white);
  margin-bottom: 0.3rem;
}
.flow-node-role {
  font-size: 0.7rem;
  color: rgba(255, 255, 255, 0.4);
  line-height: 1.4;
}
.flow-arrow {
  color: rgba(255, 255, 255, 0.2);
  font-size: 1.2rem;
  padding: 0 0.5rem;
  flex-shrink: 0;
}
@media (max-width: 767px) {
  .flow-arrow {
    display: none;
  }
}
.flow-node.qma-node {
  border-color: rgba(39, 54, 115, 0.6);
}
.flow-node.qma-node .flow-node-num {
  color: var(--orange-300);
  opacity: 1;
}
.flow-node.compass-node {
  border-color: rgba(26, 122, 110, 0.5);
}
.flow-node.compass-node .flow-node-num {
  color: var(--teal-500);
  opacity: 1;
}
.flow-node.aeo-node {
  border-color: rgba(231, 148, 48, 0.4);
}
.flow-node.aeo-node .flow-node-num {
  color: var(--orange-400);
  opacity: 1;
}
.flow-node.galileo-node {
  border-color: rgba(86, 174, 227, 0.4);
}
.flow-node.galileo-node .flow-node-num {
  color: var(--blue-500);
  opacity: 1;
}
.connect-truth {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 10px;
  overflow: hidden;
}
@media(max-width: 767px) {
  .connect-truth {
    grid-template-columns: 1fr;
  }
}
.connect-truth-cell {
  background: rgba(255, 255, 255, 0.03);
  padding: 1.5rem 1.5rem 1.5rem 1.75rem;
  text-align: left;
  border-left: 4px solid transparent;
}
.connect-truth-cell.ct-qma {
  border-left-color: var(--navy-500);
}
.connect-truth-cell.ct-compass {
  border-left-color: var(--teal-500);
}
.connect-truth-cell.ct-galileo {
  border-left-color: var(--orange-500);
}
.connect-truth-cell.ct-exec {
  border-left-color: var(--blue-500);
}
.connect-truth-q {
  font-family: "Gilroy", sans-serif;
  font-size: 0.82rem;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.85);
  margin-bottom: 0.4rem;
}
.connect-truth-a {
  font-size: 0.78rem;
  color: rgba(255, 255, 255, 0.45);
  line-height: 1.55;
}
/* ---- CRM SECTION ---- */
.crm-section {
  padding: 5rem 2rem;
  background: var(--grey-50);
}
@media(max-width: 1023px) {
  .crm-section {
    padding: 4rem 2rem;
  }
}
.crm-inner {
  max-width: 1140px;
  margin: 0 auto;
}
.crm-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.25rem;
  margin-top: 3rem;
}
@media(max-width: 1023px) {
  .crm-grid {
    grid-template-columns: 1fr 1fr;
  }
}
@media(max-width: 600px) {
  .crm-grid {
    grid-template-columns: 1fr;
  }
}
.crm-card {
  background: var(--white);
  border: 1px solid var(--grey-100);
  border-radius: 10px;
  padding: 1.75rem 1.5rem;
  transition: box-shadow 0.2s, transform 0.2s;
}
.crm-card:hover {
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.07);
  transform: translateY(-2px);
}
.crm-card:last-child {
  background: rgba(246,246,246,0.5);
  border: 1.5px dashed var(--grey-200);
}
.crm-card:last-child .crm-icon {
  color: var(--grey-400);
}
.crm-card.custom {
  border: 1.5px dashed var(--grey-200);
  background: rgba(246, 246, 246, 0.5);
}
.crm-icon {
  width: 40px;
  height: 40px;
  border-radius: 8px;
  margin-bottom: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Gilroy", sans-serif;
  color: var(--white);
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.crm-name {
  font-family: "Gilroy", sans-serif;
  font-size: 1.05rem;
  font-weight: 800;
  color: var(--navy-500);
  margin-bottom: 0.3rem;
}
.crm-type {
  font-family: "Gilroy", sans-serif;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--grey-300);
  margin-bottom: 0.75rem;
}
.crm-desc {
  font-size: 0.85rem;
  color: var(--grey-400);
  line-height: 1.55;
}
/* ---- INTERLUDE ---- */
.interlude {
  background: var(--navy-900);
  padding: 4.5rem 2rem;
  text-align: center;
}
.interlude-inner {
  max-width: 860px;
  margin: 0 auto;
}
.interlude h2 {
  font-size: clamp(1.5rem, 2.8vw, 2.1rem);
  font-weight: 800;
  color: var(--white);
  line-height: 1.3;
  margin-bottom: 1.1rem;
}
.interlude h2 strong {
  color: var(--orange-400);
}
.interlude p {
  font-size: 1.05rem;
  color: rgba(255, 255, 255, 0.55);
  line-height: 1.75;
}
/* ---- TIMELINE ---- */
.timeline-section {
  padding: 5rem 2rem;
  background: var(--grey-50);
}
@media(max-width: 1023px) {
  .timeline-section {
    padding: 4rem 2rem;
  }
}
.timeline-steps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
  margin-top: 3rem;
}
@media(max-width: 1023px) {
  .timeline-steps {
    grid-template-columns: 1fr;
  }
}
.timeline-steps.one {
  grid-template-columns: 1fr;
}
.timeline-steps.two {
  grid-template-columns: repeat(2, 1fr); 
}
.timeline-step {
  background: var(--white);
  border: 1px solid var(--grey-100);
  border-radius: 10px;
  padding: 2rem 1.75rem;
  position: relative;
  overflow: hidden;
}
.timeline-step::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--orange-500);
}
.timeline-day {
  font-family: "Gilroy", sans-serif;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--orange-500);
  margin-bottom: 0.6rem;
}
.timeline-title {
  font-family: "Gilroy", sans-serif;
  font-size: 1.15rem;
  font-weight: 800;
  color: var(--navy-500);
  margin-bottom: 0.6rem;
}
.timeline-body {
  font-size: 0.88rem;
  color: var(--grey-400);
  line-height: 1.6;
}
/* Differences */
.differences {
  padding: 5rem 2rem;
}
@media(max-width: 1023px) {
  .differences { 
    padding: 4rem 2rem;
  }
}

/* Contrast table */
.contrast-table {
  border: 1px solid var(--grey-100);
  border-radius: 10px;
  overflow: hidden;
}
.contrast-header {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.contrast-col-head {
  padding: 0.85rem 1.25rem;
  font-family: "Gilroy", sans-serif;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.contrast-col-head.theirs {
  background: var(--grey-50);
  color: var(--grey-400);
  border-right: 1px solid var(--grey-100);
}
.contrast-col-head.ours {
  background: var(--navy-500);
  color: rgba(255, 255, 255, 0.7);
}
.contrast-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-top: 1px solid var(--grey-100);
}
.contrast-cell {
  padding: 0.9rem 1.25rem;
  font-size: 0.84rem;
  line-height: 1.5;
}
.contrast-cell.theirs {
  color: var(--grey-400);
  background: var(--white);
  border-right: 1px solid var(--grey-100);
}
.contrast-cell.ours {
  color: var(--navy-500);
  background: rgba(39, 54, 115, 0.03);
  font-weight: 600;
}
/* DIFFERENCE */
.difference-02 {
  padding: 5.5rem 2rem;
}
@media(max-width: 1023px) {
  .difference-02 {
    padding: 4rem 2rem;
  }
}
.difference-02.light {
  background: var(--grey-50);
}
.difference-02.dark {
  background: linear-gradient(135deg, #0c1428 0%, var(--navy-800) 60%, #162050 100%);
}
.difference-02.dark .section-heading {
  color: var(--white);
}
.difference-02.dark .section-sub {
  color: rgba(255,255,255,0.55);
}
.difference-02.dark .principle-num {
  background: var(--orange-500);
}
.difference-02.dark .principle-body h4 {
  color: var(--white);
}
.difference-02.dark .principle-body p {
  color: rgba(255,255,255,0.55);
}
/* ---- FIRST-PARTY SECTION ---- */
.fp-section {
  padding: 5rem 2rem;
}
.fp-section .section-heading:after {
  display: none;
}
.fp-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5rem;
  align-items: center;
  margin-top: 3.5rem;
}
@media(max-width: 1023px) {
  .fp-grid { 
    grid-template-columns: 1fr; 
    gap: 3rem;
  }
}
.fp-pillar-list {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
.fp-pillar {
  display: flex;
  gap: 1.25rem;
  align-items: flex-start;
}
.fp-pillar-icon {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  background: rgba(231, 148, 48, 0.1);
  border: 1px solid rgba(231, 148, 48, 0.25);
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 0.15rem;
}
.fp-pillar-icon svg {
  width: 18px;
  height: 18px;
}
.fp-pillar-title {
  font-family: "Gilroy", sans-serif;
  font-size: 1rem;
  font-weight: 800;
  color: var(--navy-500);
  margin-bottom: 0.35rem;
}
.fp-pillar-body {
  font-size: 0.9rem;
  color: var(--grey-400);
  line-height: 1.65;
}
/* ---- CASE STUDIES GRID ---- */
.cases-section {
  padding: 5rem 2rem;
}
@media(max-width: 1023px) {
  .cases-section {
    padding: 4rem 2rem;
  }
}

/* Featured case study — full width */
.case-featured {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  background: var(--navy-900);
  border-radius: 12px;
  overflow: hidden;
  margin-bottom: 2rem;
}
@media(max-width: 1023px) {
  .case-featured { 
    grid-template-columns: 1fr; 
  }
}
.case-featured-img {
  background: linear-gradient(135deg, #0e1830 0%, #1e2d5a 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 380px;
  position: relative;
  overflow: hidden;
}
@media(max-width: 1023px) {
  .case-featured { 
    min-height: 200px;
  }
}
.case-featured-img::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent 60%, var(--navy-900) 100%);
}
.case-img-placeholder {
  display: none;
}
.case-featured-body {
  padding: 3.5rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.case-sector-tag {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-family: "Gilroy", sans-serif;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--orange-400);
  margin-bottom: 1.25rem;
}
.case-sector-tag::before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--orange-500);
}
.case-featured-body h2 {
  font-size: clamp(1.4rem, 2.5vw, 1.9rem);
  font-weight: 800;
  color: var(--white);
  line-height: 1.25;
  margin-bottom: 1rem;
  letter-spacing: -0.01em;
}
.case-featured-body .case-context {
  font-size: 0.88rem;
  color: rgba(255, 255, 255, 0.5);
  line-height: 1.75;
  margin-bottom: 2rem;
}
.case-results-row {
  display: flex;
  gap: 2rem;
  margin-bottom: 2rem;
}
.case-result-item {
}
.case-result-num {
  font-family: "Gilroy", sans-serif;
  font-size: 1.7rem;
  font-weight: 900;
  color: var(--orange-400);
  line-height: 1;
}
.case-result-label {
  font-size: 0.72rem;
  color: rgba(255, 255, 255, 0.35);
  margin-top: 0.25rem;
  line-height: 1.4;
}
.case-lanes {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  margin-bottom: 2rem;
}
.case-lane-tag {
  display: inline-block;
  padding: 0.25rem 0.7rem;
  border-radius: 3px;
  font-family: "Gilroy", sans-serif;
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.case-lane-tag.prove {
  background: rgba(86, 174, 227, 0.18);
  color: #273673;
}
.case-lane-tag.grow {
  background: rgba(39, 54, 115, 0.15);
  color: #273673;
}
.case-lane-tag.scale {
  background: rgba(26, 122, 110, 0.15);
  color: #1a7a6e;
}
/* Over dark featured case — solid brand color + white text */
.case-featured .case-lane-tag.prove {
  background: #56aee3;
  color: #fff;
}
.case-featured .case-lane-tag.grow {
  background: #273673;
  color: #fff;
}
.case-featured .case-lane-tag.scale {
  background: #1a7a6e;
  color: #fff;
}
.case-read-more {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-family: "Gilroy", sans-serif;
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--orange-400);
  text-decoration: none;
  border-bottom: 2px solid rgba(231, 148, 48, 0.3);
  padding-bottom: 0.2rem;
  transition: all 0.2s;
}
.case-read-more:hover {
  border-color: var(--orange-400);
  gap: 0.7rem;
}

/* Regular case study cards — 2-col grid */
.cases-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;
  margin-bottom: 2rem;
}
@media(max-width: 960px) {
  .cases-grid { 
    grid-template-columns: 1fr; 
  }
}
.case-card {
  background: var(--white);
  border: 1px solid var(--grey-100);
  border-radius: 10px;
  overflow: hidden;
  transition: all 0.25s;
  padding: 0;
}
.case-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.1);
}
.case-card-header {
  height: 180px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
}
.case-card-header img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 25%;
  opacity: 0.55;
}
.case-featured-img img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100% !important;
  object-fit: cover;
  object-position: center;
  opacity: 0.65;
}
.case-card-header.automotive {
  background: linear-gradient(135deg, #0a1020, #1a2545);
}
.case-card-header.transport {
  background: linear-gradient(135deg, #0e1f1c, #1a3830);
}
.case-card-header.education {
  background: linear-gradient(135deg, #1a1020, #362050);
}
.case-card-header.surrogacy {
  background: linear-gradient(135deg, #1a0e18, #3a1e38);
}
.case-card-header.b2b {
  background: linear-gradient(135deg, #0d1a1f, #0e2d3a);
}
.case-card-header.cpg {
  background: linear-gradient(135deg, #0f1a0e, #1a3020);
}
.case-card-header.cannabis {
  background: linear-gradient(135deg, #0d1a10, #0e3020);
}
.case-card-header.sports {
  background: linear-gradient(135deg, #0a1520, #0e2540);
}
.case-card-header.fashion {
  background: linear-gradient(135deg, #16101a, #2a1840);
}
.case-card-header.industrial {
  background: linear-gradient(135deg, #101520, #182038);
}
.case-card-header.legal {
  background: linear-gradient(135deg, #0e1a18, #102e28);
}
.case-card-header.academic {
  background: linear-gradient(135deg, #0e1a18, #0e302a);
}
.case-card-header.healthcare {
  background: linear-gradient(135deg, #1a0e18 0%, #2e1040 100%);
}
.case-card-body {
  padding: 1.75rem;
}
.case-card-body .case-sector-tag {
  margin-bottom: 0.75rem;
}
.case-card-body h3 {
  font-size: 1.1rem;
  font-weight: 800;
  color: var(--navy-500);
  line-height: 1.3;
  margin-bottom: 0.75rem;
}
.case-card-body p {
  font-size: 0.85rem;
  color: var(--grey-400);
  line-height: 1.7;
  margin-bottom: 1.25rem;
}
.case-mini-stats {
  display: flex;
  gap: 1.5rem;
  border-top: 1px solid var(--grey-100);
  padding-top: 1.25rem;
  margin-top: 0.25rem;
}
.case-mini-stat-num {
  font-family: "Gilroy", sans-serif;
  font-size: 1.25rem;
  font-weight: 900;
  color: var(--orange-500);
  line-height: 1;
}
.case-mini-stat-label {
  font-size: 0.72rem;
  color: var(--grey-300);
  margin-top: 0.2rem;
  line-height: 1.4;
}
/* ---- PEDAGOGY SECTION ---- */
.pedagogy-section {
  padding: 5.5rem 2rem;
  background: var(--grey-50);
}
@media(max-width: 1023px) {
  .pedagogy-section {
    padding: 4rem 2rem;
  }
}
.pedagogy-section .section-heading {
  font-size: clamp(1.4rem, 2.2vw, 1.85rem);
  margin-bottom: 1.25rem;
}
.pedagogy-section .section-sub {
  max-width: 100%;
}

.pedagogy-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}
@media(max-width: 1023px) {
  .pedagogy-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media(max-width: 767px) {
  .pedagogy-grid {
    grid-template-columns: 1fr;
  }
}
.pedagogy-card {
  background: var(--white);
  border-radius: 8px;
  padding: 2rem;
  border: 1px solid var(--grey-100);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}
.pedagogy-icon {
  width: 42px;
  height: 42px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1rem;
  background: rgba(39, 54, 115, 0.07);
  color: var(--navy-500);
}
.pedagogy-icon.teal {
  background: rgba(26, 122, 110, 0.1);
  color: var(--teal-500);
}
.pedagogy-icon.orange {
  background: rgba(231, 148, 48, 0.1);
  color: var(--orange-500);
}
.pedagogy-card h3 {
  font-family: "Gilroy", sans-serif;
  font-weight: 800;
  font-size: 0.97rem;
  color: var(--navy-500);
  margin-bottom: 0.6rem;
  line-height: 1.35;
}
.pedagogy-card p {
  font-size: 0.875rem;
  color: var(--grey-400);
  line-height: 1.65;
}
/* ---- AUTHORSHIP SECTION ---- */
.authorship-section {
  padding: 5.5rem 2rem;
  background: linear-gradient(
    135deg,
    #0c1428 0%,
    var(--navy-800) 60%,
    #162050 100%
  );
  position: relative;
  overflow: hidden;
}
@media(max-width: 1023px) {
  .authorship-section {
    padding: 4rem 2rem;
  }
}
.authorship-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");
  opacity: 0.025;
  pointer-events: none;
}
.authorship-section .section-eyebrow {
  color: var(--orange-400);
}
.authorship-section .section-heading {
  color: var(--white);
  font-size: clamp(1.4rem, 2.2vw, 1.85rem);
  margin-bottom: 1.25rem;
}
.authorship-section .section-sub {
  max-width: 100%;
  color: rgba(255,255,255,0.6);
}

.author-cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
}
@media(max-width: 767px) {
  .author-cards {
    grid-template-columns: 1fr;
  }
}
.author-card {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 10px;
  padding: 2.25rem;
}
.author-card-institution {
  font-family: "Gilroy", sans-serif;
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.35);
  margin-bottom: 0.35rem;
}
.author-card h3 {
  font-family: "Gilroy", sans-serif;
  font-weight: 800;
  font-size: 1.2rem;
  color: rgba(255, 255, 255, 0.92);
  margin-bottom: 0.25rem;
}
.author-card .author-title {
  font-size: 0.85rem;
  color: var(--orange-400);
  margin-bottom: 1.25rem;
  font-weight: 500;
}
.author-card p {
  font-size: 0.875rem;
  color: rgba(255, 255, 255, 0.5);
  line-height: 1.7;
}

.author-cards .author-card:first-child {
  border-top: 3px solid rgba(86, 174, 227, 0.45);
}
.author-cards .author-card:last-child {
  border-top: 3px solid rgba(231, 148, 48, 0.45);
}
/* ---- THE PROBLEM SECTION ---- */
.problem-section {
  padding: 5rem 2rem;
  background: var(--white);
}
@media(max-width: 1023px) {
  .problem-section {
    padding: 4rem 2rem;
  }
}
.problem-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5rem;
  align-items: start;
}
@media(max-width: 1023px) {
  .problem-inner { 
    grid-template-columns: 1fr; 
    gap: 3rem; 
  }
}
.problem-text .section-heading {
  font-size: clamp(2rem, 2.2vw, 1.85rem);
  margin-bottom: 1.5rem;
}
.problem-text .section-sub {
  font-size: 0.98rem;
  color: var(--grey-500);
  margin: 0;
  max-width: 100%;
}

.problem-stat-stack {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.problem-stat-card {
  background: var(--grey-50);
  border-radius: 8px;
  padding: 1.75rem 2rem;
  border-left: 4px solid var(--blue-500);
}
.problem-stat-card:nth-child(3n + 2) {
  border-left-color: var(--orange-500);
}
.problem-stat-card:nth-child(3n) {
  border-left-color: var(--teal-500);
}
.problem-stat-card h3 {
  font-family: "Gilroy", sans-serif;
  font-weight: 800;
  font-size: 1rem;
  color: var(--navy-500);
  margin-bottom: 0.5rem;
}
.problem-stat-card p {
  font-size: 0.9rem;
  color: var(--grey-400);
  line-height: 1.65;
}
/* ---- CASE FRAMEWORK SECTION (dark) ---- */
.framework-section {
  background: linear-gradient(
    135deg,
    #0c1428 0%,
    var(--navy-800) 60%,
    #162050 100%
  );
  padding: 5.5rem 2rem;
  position: relative;
  overflow: hidden;
}
@media(max-width: 1023px) {
  .framework-section {
    padding: 4rem 2rem;
  }
}
.framework-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");
  opacity: 0.025;
  pointer-events: none;
}
.framework-section .section-heading {
  color: var(--white);
  font-size: clamp(1.4rem, 2.2vw, 1.85rem);
  margin-bottom: 1.25rem;
}
.framework-section .section-sub {
  color: rgba(255, 255, 255, 0.6);
  margin-bottom: 3rem;
  max-width: 100%;
}

/* Phase diagram SVG container */
.phase-diagram-wrap {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  padding: 2.5rem;
  margin-bottom: 3rem;
}
@media(max-width: 767px) {
  .phase-diagram-wrap {
    padding: 1rem;
  }
}
.phase-diagram-wrap svg {
  width: 100%;
  height: auto;
  display: block;
}

/* Phase cards below diagram */
.phase-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  margin-top: 2rem;
}
@media(max-width: 1023px) {
  .phase-cards { 
    grid-template-columns: 1fr; 
  }
}
.phase-card {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 8px;
  padding: 1.75rem;
  border-top: 3px solid transparent;
}
.phase-card.phase-a {
  border-top-color: var(--blue-500);
}
.phase-card.phase-b {
  border-top-color: var(--orange-500);
}
.phase-card.phase-c {
  border-top-color: var(--teal-500);
}
.phase-label {
  font-family: "Gilroy", sans-serif;
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-bottom: 0.5rem;
}
.phase-a .phase-label {
  color: var(--blue-500);
}
.phase-b .phase-label {
  color: var(--orange-400);
}
.phase-c .phase-label {
  color: #5ecfbe;
}
.phase-card h3 {
  font-family: "Gilroy", sans-serif;
  font-weight: 800;
  font-size: 0.95rem;
  color: rgba(255, 255, 255, 0.9);
  margin-bottom: 0.75rem;
  line-height: 1.35;
}
.phase-card p {
  font-size: 0.875rem;
  color: rgba(255, 255, 255, 0.5);
  line-height: 1.65;
}
.phase-card .phase-data-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-top: 1rem;
}
.phase-data-tag {
  font-family: "Gilroy", sans-serif;
  font-size: 0.65rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 0.2rem 0.55rem;
  border-radius: 3px;
  background: rgba(255, 255, 255, 0.07);
  color: rgba(255, 255, 255, 0.55);
}
/* ---- INSTRUMENT ---- */
.instrument-section {
  padding: 5.5rem 2rem;
  background: var(--grey-50);
}
@media(max-width: 1023px) {
  .instrument-section {
    padding: 4rem 2rem;
  }
}
.instrument-section .section-heading {
  font-size: clamp(1.4rem, 2.2vw, 1.85rem);
  margin-bottom: 1.5rem;
}
.instrument-section .section-sub {
  margin-bottom: 2.5rem;
  max-width: 100%;
}

.models-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1.25rem;
  margin-bottom: 3rem;
}
@media(max-width: 1023px) {
  .models-grid { 
    grid-template-columns: repeat(3, 1fr); 
  }
}
@media(max-width: 767px) {
  .models-grid { 
    grid-template-columns: 1fr 1fr;
  }
}
.model-card {
  background: var(--white);
  border-radius: 8px;
  padding: 1.5rem 1.25rem;
  border: 1px solid var(--grey-100);
  text-align: center;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}
.model-icon {
  width: 40px;
  height: 40px;
  border-radius: 8px;
  background: rgba(39, 54, 115, 0.07);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 0.85rem;
  color: var(--navy-500);
}
.model-card h4 {
  font-family: "Gilroy", sans-serif;
  font-weight: 800;
  font-size: 0.82rem;
  color: var(--navy-500);
  margin-bottom: 0.45rem;
  line-height: 1.35;
}
.model-card p {
  font-size: 0.8rem;
  color: var(--grey-400);
  line-height: 1.55;
}

.instrument-callout {
  background: var(--navy-800);
  border-radius: 10px;
  padding: 2.5rem 3rem;
  border-left: 4px solid var(--blue-500);
}
.instrument-callout p {
  color: rgba(255, 255, 255, 0.75);
  font-size: 1.05rem;
  line-height: 1.75;
  font-style: italic;
  max-width: none;
}
.instrument-callout cite {
  display: block;
  margin-top: 1rem;
  font-size: 0.82rem;
  color: rgba(255, 255, 255, 0.4);
  font-style: normal;
  font-family: "Gilroy", sans-serif;
  font-weight: 600;
  letter-spacing: 0.04em;
}


/* ---- DATA LAYERS FLOW ---- */
.data-layers-flow {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0;
  background: var(--white);
  border: 1px solid var(--grey-100);
  border-radius: 10px;
  padding: 1.75rem 2rem;
  margin-bottom: 2.5rem;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);
}
.data-layer {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  flex: 1;
  min-width: 90px;
  padding: 0.5rem;
}
.data-layer-final .data-layer-icon {
  background: rgba(26, 122, 110, 0.1);
  color: var(--teal-500);
}
.data-layer-icon {
  width: 40px;
  height: 40px;
  border-radius: 8px;
  background: rgba(86, 174, 227, 0.12);
  color: var(--blue-600);
  display: flex;
  align-items: center;
  justify-content: center;
}
.data-layer-label {
  font-family: "Gilroy", sans-serif;
  font-size: 0.78rem;
  font-weight: 800;
  color: var(--navy-700);
  text-align: center;
}
.data-layer-sub {
  font-size: 0.7rem;
  color: var(--grey-400);
  text-align: center;
  line-height: 1.3;
}
.data-layer-arrow {
  color: var(--grey-200);
  font-size: 1.2rem;
  flex-shrink: 0;
  padding: 0 0.25rem;
  padding-bottom: 1.5rem;
}
@media (max-width: 767px) {
  .data-layers-flow {
    flex-direction: column;
  }
  .data-layer-arrow {
    transform: rotate(90deg);
    padding: 0;
  }
}


/* ---- PULL QUOTE ---- */
.pullquote {
  background: var(--navy-800);
  border-radius: 10px;
  padding: 2.75rem 3rem;
  position: relative;
  overflow: hidden;
}
@media(max-width: 600px) {
  .pullquote {
    padding: 2.75rem 1rem;
  }
}
.pullquote::before {
  content: "C";
  position: absolute;
  top: -1rem;
  left: 1.75rem;
  font-size: 8rem;
  font-family: Georgia, serif;
  color: rgba(86, 174, 227, 0.1);
  line-height: 1;
  pointer-events: none;
}
.pullquote blockquote {
  font-size: 1.08rem;
  color: rgba(255, 255, 255, 0.82);
  line-height: 1.8;
  font-style: italic;
  position: relative;
  z-index: 1;
  border-left: 3px solid var(--blue-500);
  padding-left: 1.75rem;
  margin: 0;
}
@media(max-width: 600px) {
  .pullquote blockquote {
    padding-left: 1.25rem;
  }
}
.pullquote cite {
  display: block;
  margin-top: 1.1rem;
  padding-left: 1.75rem;
  font-size: 0.78rem;
  color: rgba(255, 255, 255, 0.38);
  font-style: normal;
  font-family: "Gilroy", sans-serif;
  font-weight: 600;
  letter-spacing: 0.04em;
}
/* ---- CHANNELS SECTION ---- */
.channels-section {
  padding: 5rem 2rem;
  background: var(--white);
}
@media(max-width: 1023px) {
  .channels-section {
    padding: 4rem 2rem;
  }
}
.channels-section .section-heading {
  font-size: clamp(1.3rem, 2vw, 1.7rem);
  margin-bottom: 1rem;
}
.channels-section .section-sub {
  margin-bottom: 2.5rem;
  max-width: 100%;
}

.channels-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  align-items: start;
}
@media(max-width: 767px) {
  .channels-layout {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}
.channel-list {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.channel-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.85rem 0;
  border-bottom: 1px solid var(--grey-100);
  font-size: 0.9rem;
}
.channel-row:last-child {
  border-bottom: none;
}
.channel-name {
  color: var(--grey-500);
  font-weight: 500;
}
.channel-budget {
  font-family: "Gilroy", sans-serif;
  font-weight: 800;
  font-size: 0.85rem;
  color: var(--navy-500);
}
.channel-bar-wrap {
  margin: 0.35rem 1rem 0;
  height: 3px;
  background: var(--grey-100);
  border-radius: 2px;
  flex: 1;
  max-width: 120px;
}
.channel-bar {
  height: 100%;
  border-radius: 2px;
  background: var(--blue-500);
}

.channels-context-col {
  padding-top: 0.5rem;
}
.channels-context-col .section-eyebrow {
  margin-bottom: 1rem;
}
.context-stat {
  margin-bottom: 2rem;
}
.context-stat .stat-num {
  font-family: "Gilroy", sans-serif;
  font-size: 2.2rem;
  font-weight: 900;
  color: var(--navy-500);
  line-height: 1;
  margin-bottom: 0.3rem;
}
.context-stat .stat-label {
  font-size: 0.88rem;
  color: var(--grey-400);
  line-height: 1.55;
}
/* ── HOW TO APPLY SECTION ── */
.section-apply {
  background: var(--grey-50);
  border-top: 1px solid var(--grey-100);
  border-bottom: 1px solid var(--grey-100);
  padding: 5rem 2rem;
}
@media(max-width: 1023px) {
  .section-apply {
    padding: 4rem 2rem;
  }
}
.section-apply .section-sub {
  max-width: 620px;
  line-height: 1.8;
}
.apply-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;
}
@media(max-width: 1023px) {
  .apply-grid {
    grid-template-columns: 1fr;
  }
}
.apply-card {
  background: var(--white);
  border: 1px solid var(--grey-100);
  border-radius: 8px;
  padding: 2rem;
  position: relative;
  overflow: hidden;
  transition: all 0.3s;
}
.apply-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.07);
}
.apply-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--orange-500);
}
.apply-industry {
  font-family: "Gilroy", sans-serif;
  font-size: 0.68rem;
  font-weight: 700;
  color: var(--orange-400);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-bottom: 0.6rem;
}
.apply-card h3 {
  font-size: 1.05rem;
  font-weight: 800;
  color: var(--navy-500);
  margin-bottom: 0.75rem;
  line-height: 1.3;
}
.apply-card p {
  font-size: 0.88rem;
  color: var(--grey-400);
  line-height: 1.75;
  margin-bottom: 1rem;
}
.apply-focus {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.apply-focus-item {
  display: flex;
  gap: 0.65rem;
  align-items: flex-start;
}
@media(max-width: 600px) {
  .apply-focus-item {
    display: block;
  }
}
.afc-label {
  font-family: "Gilroy", sans-serif;
  font-size: 0.66rem;
  font-weight: 700;
  color: var(--white);
  background: var(--navy-500);
  padding: 0.15rem 0.5rem;
  border-radius: 3px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  flex-shrink: 0;
  line-height: 1.6;
}
.afc-text {
  font-size: 0.82rem;
  color: var(--grey-500);
  line-height: 1.6;
}
@media(max-width: 600px) {
  .afc-text {
    display: block;
    margin-top: 10px;
  }
}
/* ── MIX SECTION ── */
.section-mix {
  background: var(--grey-50);
  border-top: 1px solid var(--grey-100);
  border-bottom: 1px solid var(--grey-100);
  padding: 5rem 2rem;
}
.mix-ratio-bar {
  margin: 2.5rem 0;
}
.mix-bar-track {
  height: 14px;
  border-radius: 7px;
  overflow: hidden;
  display: flex;
  margin-bottom: 0.85rem;
}
.mix-bar-ev {
  background: var(--teal-500);
  flex: 7;
  transition: flex 0.5s ease;
}
.mix-bar-sea {
  background: var(--orange-400);
  flex: 3;
}
.mix-bar-labels {
  display: flex;
  justify-content: space-between;
}
.mix-bar-label {
  font-family: "Gilroy", sans-serif;
  font-size: 0.76rem;
  font-weight: 700;
}
.mix-bar-label.ev {
  color: var(--teal-500);
}
.mix-bar-label.sea {
  color: var(--orange-600);
}
.mix-examples {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
  margin-top: 2rem;
}
@media(max-width: 1023px) {
  .mix-examples {
    grid-template-columns: 1fr;
  }
}
.mix-col:nth-child(2n) {
  .mix-col-badge {
    background: rgba(231, 148, 48, 0.12);
    color: var(--orange-600);
  }
  .mix-col-header {
    border-color: var(--orange-400);
  }
}
.mix-col-header {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  margin-bottom: 1.1rem;
  padding-bottom: 0.75rem;
  border-bottom: 2px solid;
}
.mix-col-header {
  border-color: var(--teal-500);
}
.mix-col-title {
  font-family: "Gilroy", sans-serif;
  font-size: 1rem;
  font-weight: 800;
  color: var(--navy-500);
}
.mix-col-badge {
  font-family: "Gilroy", sans-serif;
  font-size: 0.64rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 0.2rem 0.6rem;
  border-radius: 3px;
}
.mix-col-badge {
  background: rgba(26, 122, 110, 0.12);
  color: var(--teal-500);
}
.mix-list {
  list-style: none;
  padding: 0;
}
.mix-list li {
  font-size: 0.88rem;
  color: var(--grey-500);
  line-height: 1.7;
  margin-bottom: 0.5rem;
  padding-left: 1rem;
  position: relative;
}
.mix-list li::before {
  content: "·";
  position: absolute;
  left: 0;
  font-size: 1.2rem;
  color: var(--grey-300);
  top: -0.1rem;
}
/* ---- STICKY IN-PAGE NAV ---- */
.caps-nav-bar {
  position: sticky;
  top: 64px;
  z-index: 90;
  background: var(--white);
  border-bottom: 2px solid var(--grey-100);
}
.caps-nav-inner {
  max-width: 1140px;
  margin: 0 auto;
  padding: 0 2rem;
  display: flex;
  flex-wrap: wrap;
}
@media(min-width: 767px) {
  .caps-nav-inner {
    flex-wrap: wrap;
    padding: 0;
  }
}
.caps-tab {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 1rem 1.75rem;
  font-family: "Gilroy", sans-serif;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--grey-400);
  border-bottom: 3px solid transparent;
  margin-bottom: -2px;
  transition: all 0.2s;
  white-space: nowrap;
}
@media(min-width: 767px) {
  .caps-tab {
    padding: 0.8rem 1.45rem;
  }
}
.caps-tab:hover {
  border-bottom-color: var(--grey-400);
}

.caps-tab.prove {
  color: var(--blue-500);
}
.caps-tab.prove:hover {
  border-bottom-color: var(--blue-500);
}
.caps-tab.grow {
  color: #818cf8;
}
.caps-tab.grow:hover {
  border-bottom-color: #818cf8;
}
.caps-tab.scale {
  color: var(--teal-500);
}
.caps-tab.scale:hover {
  border-bottom-color: var(--teal-500);
}
.caps-tab.aistack {
  color: var(--orange-500);
}
.caps-tab.aistack:hover {
  border-bottom-color: var(--orange-500);
}
.caps-tab .tab-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
  background: var(--grey-300);
}
.caps-tab.prove .tab-dot {
  background: var(--blue-500);
}
.caps-tab.grow .tab-dot {
  background: #818cf8;
}
.caps-tab.scale .tab-dot {
  background: var(--teal-500);
}
.caps-tab.aistack .tab-dot {
  background: var(--orange-500);
}
/* Callout Services */
.callout-services {
  background: #f6f6f6;
  padding: 2.5rem 2rem;
  border-top: 1px solid #e9e9e9;
}
.callout-services .container {
  max-width: 1000px;
}
.callout-services .title {
  font-family: 'Gilroy',sans-serif;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #e79430;
  margin-bottom: 0.4rem;
}
.callout-services .heading {
  font-family: 'Gilroy',sans-serif;
  font-size: 1.1rem;
  font-weight: 800;
  color: #273673;
  margin-bottom: 0.3rem;
}
.callout-services .text {
  font-size: 0.88rem;
  color: #6a6a6a;
  line-height: 1.6;
}
.callout-services .cta-blue {
  margin-top: 25px;
}
/* ── QMA bridge */
.qma-bridge {
  background: #fff;
  border-top: 1px solid var(--grey-100);
  padding: 4.5rem 2rem;
}
@media(max-width: 1023px) {
  .qma-bridge {
    padding: 4rem 2rem;
  }
}
.qma-bridge-inner {
  max-width: 1140px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4.5rem;
  align-items: center;
}
@media (max-width: 1023px) {
  .qma-bridge-inner {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }
}
@media (max-width: 767px) {
  .qma-bridge-inner {
    gap: 1.5rem;
  }
}
.qma-bridge-label {
  font-family: "Gilroy", sans-serif;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #8b6ddb;
  margin-bottom: 0.75rem;
}
.qma-bridge h2 {
  font-family: "Gilroy", sans-serif;
  font-size: clamp(1.5rem, 2.5vw, 2.1rem);
  font-weight: 900;
  color: var(--navy-500);
  line-height: 1.15;
  letter-spacing: -0.02em;
  margin-bottom: 1rem;
}
.qma-bridge-body {
  font-size: 0.95rem;
  color: var(--grey-400);
  line-height: 1.8;
  margin-bottom: 1.75rem;
}
.qma-bridge-cta {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-family: "Gilroy", sans-serif;
  font-size: 0.82rem;
  font-weight: 700;
  text-decoration: none;
  color: #8b6ddb;
  border-bottom: 2px solid rgba(139, 109, 219, 0.3);
  padding-bottom: 0.2rem;
  transition: border-color 0.2s, gap 0.2s;
}
.qma-bridge-cta:hover {
  border-color: #8b6ddb;
  gap: 0.65rem;
}
.qma-phases {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.qma-phase {
  display: flex;
  align-items: flex-start;
  gap: 1.25rem;
  padding: 1.25rem 0;
  border-bottom: 1px solid var(--grey-100);
}
.qma-phase:last-child {
  border-bottom: none;
}
.qma-phase-num {
  font-family: "Gilroy", sans-serif;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  color: rgba(139, 109, 219, 0.5);
  min-width: 20px;
  padding-top: 0.1rem;
}
.qma-phase-name {
  font-family: "Gilroy", sans-serif;
  font-size: 0.88rem;
  font-weight: 800;
  color: var(--navy-500);
  margin-bottom: 0.2rem;
}
.qma-phase-desc {
  font-size: 0.82rem;
  color: var(--grey-400);
  line-height: 1.65;
}
/* Product */
.product-section {
  padding: 6rem 2rem;
}
@media(max-width: 1023px) {
  .product-section {
    padding: 4rem 2rem;
  }
}
.product-section.light {
  background: var(--grey-50);
}
.product-section.dark {
  background: linear-gradient(
    135deg,
    #0c1428 0%,
    var(--navy-800) 60%,
    #162050 100%
  );
}
.product-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5rem;
  align-items: center;
}
@media(max-width: 1023px) {
  .product-inner {
    grid-template-columns: 1fr; 
    gap: 3rem;
  }
}
.product-inner.reverse {
  direction: rtl;
}
.product-inner.reverse > * {
  direction: ltr;
}
.product-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.4rem 1rem;
  border-radius: 20px;
  font-family: "Gilroy", sans-serif;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-bottom: 1.25rem;
}
.product-pill.prove {
  background: rgba(86, 174, 227, 0.12);
  color: var(--blue-600);
  border: 1px solid rgba(86, 174, 227, 0.25);
}
.product-pill.scale {
  background: rgba(26, 122, 110, 0.1);
  color: var(--teal-500);
  border: 1px solid rgba(26, 122, 110, 0.2);
}
.product-pill.aistack {
  background: rgba(231, 148, 48, 0.1);
  color: var(--orange-700);
  border: 1px solid rgba(231, 148, 48, 0.22);
}
.product-pill.grow {
  background: rgba(107, 79, 187, 0.1);
  color: var(--purple-500);
  border: 1px solid rgba(107, 79, 187, 0.2);
}
.product-pill-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
}
.product-pill-dot.prove {
  background: var(--blue-500);
}
.product-pill-dot.scale {
  background: var(--teal-500);
}
.product-pill-dot.aistack {
  background: var(--orange-500);
}
.product-pill-dot.grow {
  background: var(--purple-500);
}
.product-heading {
  font-size: clamp(1.75rem, 2.8vw, 2.5rem);
  font-weight: 900;
  line-height: 1.12;
  letter-spacing: -0.025em;
  margin-bottom: 1.25rem;
  color: var(--navy-500);
}
.product-section.dark .product-heading {
  color: var(--white);
}
.product-heading span {
  display: block;
}
.product-heading.prove span {
  color: var(--blue-500);
}
.product-heading.scale span {
  color: var(--teal-500);
}
.product-heading.aistack span {
  color: var(--orange-500);
}
.product-heading.grow span {
  color: var(--purple-500);
}
.product-body {
  font-size: 0.97rem;
  line-height: 1.85;
  margin-bottom: 1.25rem;
}
.product-body {
  color: var(--grey-400);
}
.product-section.dark .product-body {
  color: rgba(255, 255, 255, 0.55);
}
.product-body ul {
  list-style: none;
  margin: 1.5rem 0 2rem;
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
}
.product-body ul li {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  font-size: 0.92rem;
  color: var(--grey-500);
}
.product-section.dark .product-body ul li {
  color: rgba(255, 255, 255, 0.6);
}
.product-body ul li:before {
  content: '✓';
  width: 18px;
  height: 18px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-top: 0.15rem;
  font-size: 0.6rem;
  font-weight: 900;
  background: rgba(86, 174, 227, 0.15);
  color: var(--blue-500);
}
.product-body.prove ul li:before {
  background: rgba(86, 174, 227, 0.15);
  color: var(--blue-500);
}
.product-body.scale ul li:before {
  background: rgba(26, 122, 110, 0.15);
  color: var(--teal-500);
}
.product-body.aistack ul li:before {
  background: rgba(231, 148, 48, 0.15);
  color: var(--orange-600);
}
.product-body.grow ul li:before {
  background: rgba(107, 79, 187, 0.15);
  color: var(--purple-500);
}

.product-stats {
  display: flex;
  gap: 2.5rem;
  margin: 2rem 0;
  flex-wrap: wrap;
}
.product-stat {
}
.product-stat-n {
  font-family: "Gilroy", sans-serif;
  font-size: 2rem;
  font-weight: 900;
  line-height: 1;
  margin-bottom: 0.2rem;
}
.product-stat-n.prove {
  color: var(--blue-500);
}
.product-stat-n.scale {
  color: var(--teal-500);
}
.product-stat-n.aistack {
  color: var(--orange-500);
}
.product-stat-n.grow {
  color: var(--purple-500);
}
.product-stat-label {
  font-size: 0.75rem;
  color: var(--grey-500);
  line-height: 1.4;
  max-width: 120px;
}
.product-section.dark .product-stat-label {
  color: rgba(255, 255, 255, 0.65);
}
.product-cta {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  text-decoration: none;
  font-family: "Gilroy", sans-serif;
  font-size: 0.88rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  padding: 0.75rem 1.75rem;
  border-radius: 4px;
  transition: all 0.2s;
  margin-top: 0.5rem;
}
.product-cta.prove {
  background: var(--blue-500);
  color: var(--white);
}
.product-cta.prove:hover {
  background: var(--blue-600);
  transform: translateY(-2px);
}
.product-cta.scale {
  background: var(--teal-500);
  color: var(--white);
}
.product-cta.scale:hover {
  background: var(--teal-600);
  transform: translateY(-2px);
}
.product-cta.aistack {
  background: var(--orange-500);
  color: var(--white);
}
.product-cta.aistack:hover {
  background: var(--orange-600);
  transform: translateY(-2px);
}
.product-cta.grow {
  background: var(--purple-500);
  color: var(--white);
}
.product-cta.grow:hover {
  background: var(--purple-600);
  transform: translateY(-2px);
}
.product-cta-ghost {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  text-decoration: none;
  font-family: "Gilroy", sans-serif;
  font-size: 0.84rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  padding: 0.75rem 1.5rem;
  border-radius: 4px;
  transition: all 0.2s;
  margin-top: 0.5rem;
  margin-left: 0.75rem;
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: rgba(255, 255, 255, 0.6);
}
.product-cta-ghost:hover {
  border-color: rgba(255, 255, 255, 0.5);
  color: var(--white);
}

.visual-panel {
  border-radius: 16px;
  overflow: hidden;
  position: relative;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.16);
}
.visual-panel-header {
  padding: 0.8rem 1.25rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.visual-panel-header.prove {
  background: var(--blue-700);
}
.visual-panel-header.scale {
  background: var(--teal-600);
}
.visual-panel-header.aistack {
  background: var(--navy-800);
}
.visual-panel-header.grow {
  background: #1a1035;
}
.vph-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
}
.vph-title {
  font-family: "Gilroy", sans-serif;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.7);
  margin-left: auto;
}
@media(max-width: 1023px) {
  .vph-title {
    font-size: 0.55rem;
  }
}
.visual-panel-body {
  padding: 1.5rem;
}
.visual-panel-body.dark-body {
  background: #1a1a2e;
}
.visual-panel-body.navy-body {
  background: #0f1828;
}
.visual-panel-body.grey-body {
  background: #0d1220;
}
.visual-panel-body.light-body {
  background: #f8f9fb;
}
/* EXECUTION SERVICES */
.services-section {
  padding: 5.5rem 2rem;  
}
@media(max-width: 1023px) {
  .services-section {
    padding: 4rem 2rem;  
  }
}
.services-section .section-heading:after {
  display: none;
}
.services-section .section-heading span {
  background: linear-gradient(90deg, var(--orange-300) 0%, #ffd98a 50%, var(--orange-400) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.services-section .section-sub {
  font-size: 1rem;
  max-width: 620px;
  line-height: 1.8;
}
.services-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
}
.services-grid.two {
  grid-template-columns: 1fr 1fr;
}
.services-grid.three {
  grid-template-columns: repeat(3, 1fr);
}
@media(max-width: 1023px) {
  .services-grid.three {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media(max-width: 767px) {
  .services-grid.two, .services-grid.three {
    grid-template-columns: 1fr;
  }
}
.services-card {
  display: block;
  background: var(--white);
  border: 1px solid rgba(255,255,255,0.1);
  border-top: 3px solid var(--orange-400);
  border-radius: 8px;
  padding: 1.75rem;
  text-decoration: none;
  color: inherit;
  transition: box-shadow 0.25s, transform 0.25s;
}
.services-card.left {
  border-top: 0;
  border-left: 3px solid var(--orange-400);
}
.services-card:hover {
  box-shadow: 0 8px 24px rgba(0,0,0,0.07);
}
.services-card .title {
  font-family: 'Gilroy',sans-serif;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--orange-500);
  margin-bottom: 0.5rem;
}
.services-card .heading {
  font-family: 'Gilroy', sans-serif;
  font-size: 1.25rem;
  font-weight: 800;
  color: var(--navy-500);
  margin-bottom: 0.75rem;
  line-height: 1.3;
}
.services-card .text {
  font-size: 0.95rem;
  color: var(--grey-400);
  line-height: 1.7;
  margin-bottom: 1.5rem;
}
.services-card .link {
  color: var(--orange-500);
  text-decoration: none;
  font-family: 'Gilroy', sans-serif;
  font-size: 0.85rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  transition: color 0.2s;
  display: inline-block;
}
.compare-table-wrap {
  margin-top: 3rem;
}

.services-section.light {
  background: var(--grey-50);
  border-top: 1px solid var(--grey-100);
}
.services-section.dark {
  background: linear-gradient(135deg, #0c1428 0%, var(--navy-800) 60%, #162050 100%);
}
.services-section.dark .section-heading, .services-section.dark .services-card .heading {
  color: var(--white);
}
.services-section.dark .section-sub, .services-section.dark .services-card .text {
  color: rgba(255,255,255,0.55);
}
.services-section.dark .services-card {
  background: transparent;
}
/* Architecture connector */
.architecture {
  padding: 5rem 2rem;
}
@media(max-width: 1023px) {
  .architecture {
    padding: 4rem 2rem;
  }
}
.architecture.light {
  background: var(--grey-50);
}
.architecture.dark {
  background: var(--navy-800);
}
.architecture .section-heading {
  font-size: clamp(1.6rem, 2.5vw, 2.2rem);
  font-weight: 900;
  letter-spacing: -0.025em;
  margin-bottom: 0.75rem;
}
.architecture.dark .section-heading {
  color: var(--white);
}
.architecture .section-sub {
  font-size: 0.97rem;
  max-width: 560px;
  line-height: 1.8;
  margin-bottom: 3rem;
}
.architecture.dark .section-sub {
  color: rgba(255, 255, 255, 0.45);
}
.arch-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
}
@media(max-width: 1023px) {
  .arch-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media(max-width: 767px) {
  .arch-grid {
    grid-template-columns: 1fr;
  }
}
.arch-cell {
  background: rgba(255, 255, 255, 1);
  padding: 2rem 1.75rem;
}
.architecture.dark .arch-cell {
  background: rgba(255, 255, 255, 0.08);
}
.arch-cell-num {
  font-family: "Gilroy", sans-serif;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin-bottom: 0.6rem;
}
.arch-cell-num.prove {
  color: var(--blue-500);
}
.arch-cell-num.scale {
  color: var(--teal-500);
}
.arch-cell-num.aistack {
  color: var(--orange-400);
}
.arch-cell-num.grow {
  color: #a580e8;
}
.arch-cell-name {
  font-family: "Gilroy", sans-serif;
  font-size: 1.1rem;
  font-weight: 900;
  color: var(--navy-500);
  margin-bottom: 0.5rem;
}
.architecture.dark .arch-cell-name {
  color: var(--white);
}
.arch-cell-desc {
  font-size: 0.82rem;
  line-height: 1.65;
}
.architecture.dark {
  color: rgba(255, 255, 255, 0.38);
}
.arch-connector {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 2.5rem 0;
}
.arch-connector-line {
  flex: 1;
  height: 1px;
  background: rgba(255, 255, 255, 0.1);
}
.arch-connector-label {
  font-family: "Gilroy", sans-serif;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.3);
  padding: 0 1.25rem;
  white-space: nowrap;
}
.arch-cell-link {
  font-size: 0.78rem;
  color: var(--orange-500);
  font-weight: 700;
  margin-top: 0.4rem;
  text-decoration: none;
}
/* DEPLOYMENT */
.deployment-section {
  padding: 5.5rem 2rem;
}
@media(max-width: 1023px) {
  .deployment {
    padding: 4rem 2rem;
  }
}
.deploy-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
  margin-top: 3rem;
}
@media(max-width: 1023px) {
  .deploy-grid {
    grid-template-columns: 1fr;
  }
}
.deploy-card {
  border: 1px solid var(--grey-100);
  border-radius: 10px;
  padding: 2.5rem;
}
@media(max-width: 767px) {
  .deploy-card {
    padding: 2rem 1.5rem;
  }
}
.deploy-card.featured {
  background: var(--navy-500);
  border-color: var(--navy-500);
}
.deploy-tag {
  font-family: "Gilroy", sans-serif;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  margin-bottom: 1.25rem;
  color: var(--orange-500);
}
.deploy-card h3 {
  font-size: 1.2rem;
  font-weight: 800;
  margin-bottom: 0.75rem;
  font-family: "Gilroy", sans-serif;
  color: var(--navy-500);
}
.deploy-card.featured h3 {
  color: var(--white);
}
.deploy-card p {
  font-size: 0.88rem;
  line-height: 1.75;
  margin-bottom: 1.5rem;
  color: var(--grey-400);
}
.deploy-card.featured p {
  color: rgba(255, 255, 255, 0.6);
}
.deploy-card ul {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  margin: 0;
}
.deploy-card ul li {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  font-size: 0.84rem;
  color: var(--grey-500);
}
.deploy-card.featured ul li {
  color: rgba(255, 255, 255, 0.75);
}
.deploy-card ul li:before {
  content: '✓';
  width: 18px;
  height: 18px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.62rem;
  font-weight: 900;
  flex-shrink: 0;
  background: rgba(231, 148, 48, 0.15);
  color: var(--orange-500);
}
.deploy-card.featured ul li:before {
  background: rgba(26, 122, 110, 0.2);
  color: var(--white);
}
/* Problem section */
.problems-section {
  background: var(--grey-50);
  border-top: 1px solid var(--grey-100);
  border-bottom: 1px solid var(--grey-100);
  padding: 5.5rem 2rem;
}
@media(max-width: 1023px) {
  .problems-section {
    padding: 4rem 2rem;
  }
}
.comparison-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 1.5rem;
  margin-top: 3rem;
}
@media(max-width: 1023px) {
  .comparison-grid {
    grid-template-columns: 1fr 1fr;
  }
}
@media(max-width: 767px) {
  .comparison-grid {
    grid-template-columns: 1fr;
  }
}
.comp-card {
  border-radius: 8px;
  padding: 2rem;
  border: 1px solid var(--grey-100);
}
.comp-card--negative {
  background: #fafafa;
}
.comp-card--positive {
  background: var(--navy-500);
  border-color: var(--navy-500);
}
.comp-card-label {
  font-family: "Gilroy", sans-serif;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  margin-bottom: 1rem;
}
.comp-card--negative .comp-card-label {
  color: var(--grey-300);
}
.comp-card--positive .comp-card-label {
  color: var(--orange-500);
}
.comp-card-title {
  font-size: 1.05rem;
  font-weight: 800;
  margin-bottom: 1.25rem;
  font-family: "Gilroy", sans-serif;
}
.comp-card--negative .comp-card-title {
  color: var(--navy-500);
}
.comp-card--positive .comp-card-title {
  color: var(--white);
}
.comp-item {
  display: flex;
  align-items: flex-start;
  gap: 0.7rem;
  margin-bottom: 0.85rem;
  font-size: 0.85rem;
  line-height: 1.55;
}
.comp-card--negative .comp-item {
  color: var(--grey-400);
}
.comp-card--positive .comp-item {
  color: rgba(255, 255, 255, 0.8);
}
.comp-icon {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-top: 2px;
  font-size: 0.65rem;
  font-weight: 900;
}
.comp-icon--no {
  background: rgba(200, 50, 50, 0.12);
  color: #c83232;
}
.comp-icon--yes {
  background: rgba(26, 122, 110, 0.2);
  color: var(--orange-500);
}
.approach-section {
  padding: 5.5rem 2rem;
}
@media(max-width: 1023px) {
  .approach-section {
    padding: 4rem 2rem;
  }
}
.approach-section .section-heading {
  margin-bottom: 1rem;
}
.approach-section .section-heading:after {
  display: none;
}
.approach-section .section-heading span {
  background: linear-gradient(90deg, var(--orange-300) 0%, #ffd98a 50%, var(--orange-400) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.approach-section .how-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5rem;
  align-items: center;
}
@media(max-width: 1023px) {
  .approach-section .how-grid {
    grid-template-columns: 1fr; 
    gap: 2.5rem;
  }
}
@media(min-width: 1024px) {
  .how-visual {
    order: 0;
  }
  .how-copy {
    order: 1;
  }
}
.how-visual {
  text-align: center;
}
.principle-list {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
.principle-item {
  display: flex;
  gap: 1.1rem;
  align-items: flex-start;
}
.principle-num {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--navy-500);
  color: var(--white);
  font-family: "Gilroy", sans-serif;
  font-size: 0.8rem;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-top: 2px;
}
.principle-body h4 {
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--navy-500);
  margin-bottom: 0.3rem;
  font-family: "Gilroy", sans-serif;
}
.principle-body p {
  font-size: 0.85rem;
  color: var(--grey-400);
  line-height: 1.65;
}
.integration-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  margin-top: 2rem;
  margin-bottom: 2.5rem;
}
.integration-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  background: var(--white);
  border: 1px solid var(--grey-100);
  border-radius: 4px;
  padding: 0.45rem 0.9rem;
  font-family: 'Gilroy', sans-serif;
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--navy-500);
  letter-spacing: 0.04em;
}
.integration-badge .dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #22c55e;
}
/* DASHBOARD SUITE */
.dashboard-suite {
  background: var(--grey-50);
  border-top: 1px solid var(--grey-100);
  border-bottom: 1px solid var(--grey-100);
  padding: 5.5rem 2rem;
}
@media(max-width: 1023px) {
  .dashboard-suite {
    padding: 4rem 2rem;
  }
}
.dashboard-suite .section-heading:after {
  display: none;
}
.dashboard-suite .section-sub {
  padding-top: 1.5rem;
  margin: 0;
}
@media(max-width: 1023px) {
  .dashboard-suite .section-sub {
    padding: 0;
  }
}
.dashboards-header {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  margin-bottom: 3rem;
  align-items: start;
}
@media(max-width: 1023px) {
  .dashboards-header {
    grid-template-columns: 1fr;
    gap: 0;
  }
}
.dashboards-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
}
@media(max-width: 1023px) {
  .dashboards-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media(max-width: 767px) {
  .dashboards-grid {
    grid-template-columns: 1fr;
  }
}
.dashboard-card {
  background: var(--white);
  border: 1px solid var(--grey-100);
  border-radius: 8px;
  padding: 1.75rem;
  transition: all 0.3s;
  position: relative;
  overflow: hidden;
}
.dashboard-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--navy-500);
}
.dashboard-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.08);
  border-color: var(--orange-400);
}
.dashboard-card:hover::before {
  background: var(--orange-500);
}
.dashboard-num {
  font-family: "Gilroy", sans-serif;
  font-size: 0.65rem;
  font-weight: 700;
  color: var(--orange-500);
  letter-spacing: 0.15em;
  text-transform: uppercase;
  margin-bottom: 0.75rem;
}
.dashboard-card h3 {
  font-size: 0.95rem;
  font-weight: 800;
  color: var(--navy-500);
  margin-bottom: 0.6rem;
  font-family: "Gilroy", sans-serif;
  line-height: 1.3;
}
.dashboard-card p {
  font-size: 0.82rem;
  color: var(--grey-400);
  line-height: 1.65;
}
.dashboard-seventh {
  grid-column: auto;
}
.custom-config-note {
  margin-top: 2rem;
  display: flex;
  align-items: flex-start;
  gap: 1.25rem;
  background: var(--grey-50);
  border: 1px solid var(--grey-100);
  border-radius: 8px;
  padding: 1.5rem 1.75rem;
}
.custom-config-icon {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(231, 148, 48, 0.1);
  border: 1px solid rgba(231, 148, 48, 0.22);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 1rem;
}
.custom-config-heading {
  font-family: "Gilroy", sans-serif;
  font-size: 0.88rem;
  font-weight: 800;
  color: var(--navy-500);
  margin-bottom: 0.3rem;
}
.custom-config-body {
  font-size: 0.82rem;
  color: var(--grey-400);
  line-height: 1.65;
}
.custom-config-body a {
  color: var(--orange-600);
  text-decoration: none;
  font-weight: 600;
}
.custom-config-body a:hover {
  text-decoration: underline;
}
/* USE CASES */
.use-cases {
  padding: 5.5rem 2rem;
}
@media(max-width: 1023px) {
  .use-cases {
    padding: 4rem 2rem;
  }
}
.use-cases.light {
  background: var(--grey-50);
}
.use-cases.dark {
  background: linear-gradient(135deg, #0c1428 0%, var(--navy-800) 60%, #162050 100%);
}
.use-cases .section-heading:after {
  display: none;
}
.use-cases.dark .section-heading {
  color: var(--white);
}
.roles-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
  margin-top: 3rem;
}
@media(max-width: 1023px) {
  .roles-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media(max-width: 767px) {
  .roles-grid {
    grid-template-columns: 1fr;
  }
}
.role-card {
  border-radius: 8px;
  padding: 2rem;
  background: var(--white);
  border: 1px solid var(--grey-100);
}
.use-cases.dark .role-card {
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: transparent;
}
.role-icon {
  width: 44px;
  height: 44px;
  border-radius: 8px;
  background: rgba(236, 169, 89, 0.12);
  border: 1px solid rgba(236, 169, 89, 0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1.25rem;
}
.role-title {
  font-family: "Gilroy", sans-serif;
  font-size: 0.95rem;
  font-weight: 800;
  color: var(--navy-500);
  margin-bottom: 0.5rem;
}
.use-cases.dark .role-title {
  color: var(--white);
}
.role-question {
  font-size: 0.82rem;
  color: var(--grey-400);
  font-style: italic;
  margin-bottom: 0.85rem;
  line-height: 1.5;
}
.use-cases.dark .role-question {
  color: var(--orange-300);
}
.role-answer {
  font-size: 0.82rem;
  color: var(--grey-400);
  line-height: 1.65;
}
.use-cases.dark .role-answer {
  color: rgba(255, 255, 255, 0.5);
}
/* DNA bar */
.dna-bar {
  background: var(--navy-700);
  padding: 1.5rem 2rem;
  text-align: center;
}
.dna-bar p {
  font-family: "Gilroy", sans-serif;
  font-size: 0.88rem;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.55);
  letter-spacing: 0.06em;
}
.dna-bar span {
  color: var(--orange-400);
}
/* 5 ATTRIBUTION MODELS */
.attribution-models {
  background: var(--grey-50);
  border-top: 1px solid var(--grey-100);
  border-bottom: 1px solid var(--grey-100);
  padding: 5.5rem 2rem;
}
@media(max-width: 1023px) {
  .attribution-models {
    padding: 4rem 2rem;
  }
}
.attribution-models .section-sub {
  padding-top: 1.5rem;
  margin: 0;
  font-size: 1rem;
  color: var(--grey-400);
  line-height: 1.8;
}
@media(max-width: 1023px) {
  .attribution-models .section-sub {
    padding-top: 0;
  }
}
.attribution-models .section-sub p {
  margin-bottom: 1.25rem;
}
.models-intro {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  align-items: start;
  margin-bottom: 3rem;
}
@media(max-width: 1023px) {
  .models-intro {
    grid-template-columns: 1fr;
    gap: 0;
    margin-bottom: 1.5rem;
  }
}
.attribution-models .models-wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  align-items: start;
}
@media(max-width: 1023px) {
  .attribution-models .models-wrapper {
    grid-template-columns: 1fr;
    gap: 0;
  }
}
.attribution-models img {
  width: 100%;
}
.attribution-models .models-grid {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.models-right-panel {
  position: sticky;
  top: 6rem;
}
.models-explainer {
  background: var(--navy-500);
  border-radius: 10px;
  padding: 2.25rem;
  color: var(--white);
}
@media(max-width: 767px) {
  .models-explainer {
    padding: 2.25rem 1.5rem;
  }
}
.models-explainer h3 {
  font-size: 1.15rem;
  font-weight: 800;
  margin-bottom: 1rem;
}
.models-explainer p {
  font-size: 0.85rem;
  color: rgba(255, 255, 255, 0.65);
  line-height: 1.75;
  margin-bottom: 1rem;
}
.models-explainer p:last-child {
  margin-bottom: 0;
}
.models-journey {
  margin-top: 2rem;
}
.journey-label {
  font-family: "Gilroy", sans-serif;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--orange-400);
  margin-bottom: 1rem;
}
.journey-nodes {
  display: flex;
  align-items: center;
  gap: 0;
}
.journey-node {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: 1;
}
.journey-dot {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.65rem;
  font-weight: 800;
  font-family: "Gilroy", sans-serif;
  color: var(--white);
  position: relative;
  z-index: 1;
}
.journey-dot--t1 {
  background: var(--blue-500);
}
.journey-dot--t2 {
  background: var(--grey-400);
}
.journey-dot--t3 {
  background: var(--grey-400);
}
.journey-dot--t4 {
  background: var(--orange-500);
}
.journey-line {
  flex: 1;
  height: 2px;
  background: rgba(255, 255, 255, 0.15);
  margin-top: 0;
  transform: translateY(-16px);
}
.journey-node-label {
  font-size: 0.62rem;
  color: rgba(255, 255, 255, 0.45);
  margin-top: 0.5rem;
  text-align: center;
  font-family: "Gilroy", sans-serif;
  font-weight: 600;
  letter-spacing: 0.05em;
}
.roas-chart-wrap {
  margin-top: 3rem;
}
/* PREDICTIVE MEDIA MIX */
.predictive-media {
  padding: 5.5rem 2rem;
}
@media(max-width: 1023px) {
  .predictive-media {
    padding: 4rem 2rem;
  }
}
.predictive-media .section-sub {
  padding-top: 1.5rem;
  margin: 0;
  font-size: 1rem;
  color: var(--grey-400);
  line-height: 1.8;
}
@media(max-width: 1023px) {
  .predictive-media .section-sub {
    padding-top: 0;
  }
}
.predictive-media .section-sub p {
  margin-bottom: 1.25rem;
}
.mix-intro {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  align-items: start;
  margin-bottom: 3rem;
}
@media(max-width: 1023px) {
  .mix-intro {
    grid-template-columns: 1fr;
    gap: 0;
    margin-bottom: 1.5rem;
  }
}
.mix-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  align-items: start;
}
@media(max-width: 1023px) {
  .mix-layout {
    grid-template-columns: 1fr;
    gap: 0;
  }
}
.mix-layout img {
  width: 100%;
}

.mix-note {
  margin-top: 1.5rem;
  background: var(--navy-500);
  border-radius: 8px;
  padding: 1.5rem;
  font-size: 0.88rem;
  color: rgba(255,255,255,0.7);
  line-height: 1.75;
  font-style: italic;
}

.mix-points {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
@media(max-width: 1023px) {
  .mix-points {
    margin-top: 2rem;
  }
}
.mix-point {
  display: flex;
  gap: 1rem;
  align-items: flex-start;
}
.mix-point-num {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--navy-500);
  color: var(--white);
  font-family: "Gilroy", sans-serif;
  font-size: 0.8rem;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-top: 2px;
}
.mix-point-body h4 {
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--navy-500);
  margin-bottom: 0.3rem;
  font-family: "Gilroy", sans-serif;
}
.mix-point-body p {
  font-size: 0.83rem;
  color: var(--grey-400);
  line-height: 1.65;
}
.mix-result-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border: 1px solid var(--grey-100);
  border-radius: 8px;
  overflow: hidden;
  margin-top: 3rem;
}
@media(max-width: 1023px) {
  .mix-result-strip {
    grid-template-columns: 1fr 1fr;
  }
}
@media(max-width: 767px) {
  .mix-result-strip {
    grid-template-columns: 1fr;
  }
}
.mix-result-cell {
  padding: 1.4rem 1.5rem;
  border-right: 1px solid var(--grey-100);
  text-align: center;
}
.mix-result-cell:last-child {
  border-right: none;
  background: var(--navy-500);
}
.mix-result-num {
  font-family: "Gilroy", sans-serif;
  font-size: 1.85rem;
  font-weight: 900;
  color: var(--orange-500);
  line-height: 1.1;
}
.mix-result-cell:last-child .mix-result-num {
  color: var(--orange-300);
}
.mix-result-label {
  font-size: 0.72rem;
  color: var(--grey-500);
  margin-top: 0.3rem;
  line-height: 1.4;
}
.mix-result-cell:last-child .mix-result-label {
  color: rgba(255, 255, 255, 0.65);
}
/* Proof / Harvard callout */
.publication-proof {
  background: var(--grey-50);
  border-top: 1px solid var(--grey-100);
  border-bottom: 1px solid var(--grey-100);
  padding: 5.5rem 2rem;
}
@media(max-width: 1023px) {
  .publication-proof {
    padding: 4rem 2rem;
  }
}
.proof-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  align-items: center;
}
@media(max-width: 1023px) {
  .proof-grid {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
}
.proof-results {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  margin-top: 2rem;
}
.proof-result {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  background: var(--white);
  border: 1px solid var(--grey-100);
  border-radius: 8px;
  padding: 1.25rem 1.5rem;
}
.proof-result-num {
  font-family: "Gilroy", sans-serif;
  font-size: 2rem;
  font-weight: 900;
  color: var(--navy-500);
  line-height: 1;
  white-space: nowrap;
  min-width: 90px;
}
.proof-result-label {
  font-size: 0.83rem;
  color: var(--grey-400);
  line-height: 1.55;
}
.hbp-feature {
  background: var(--white);
  border: 1px solid var(--grey-100);
  border-radius: 10px;
  padding: 2.25rem;
  margin-top: 2rem;
}
.hbp-row {
  display: flex;
  align-items: flex-start;
  gap: 1.25rem;
  margin-bottom: 1.25rem;
}
.hbp-badge {
  font-family: "Gilroy", sans-serif;
  font-size: 0.68rem;
  font-weight: 700;
  color: #a51c30;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  background: rgba(165, 28, 48, 0.07);
  border: 1px solid rgba(165, 28, 48, 0.15);
  border-radius: 4px;
  padding: 0.2rem 0.55rem;
  margin-bottom: 0.6rem;
  display: inline-block;
}
.hbp-case-title {
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--navy-500);
  font-family: "Gilroy", sans-serif;
  line-height: 1.4;
}
.hbp-case-meta {
  font-size: 0.78rem;
  color: var(--grey-300);
  margin-top: 0.3rem;
}
.proof-note {
  margin-top: 1.5rem;
  padding: 1.75rem;
  background: var(--white);
  border: 1px solid var(--grey-100);
  border-radius: 8px;
}
.proof-note .text {
  font-size: 0.9rem;
  color: var(--grey-500);
  line-height: 1.75;
  font-style: italic;
}
.proof-note .meta {
  font-size: 0.78rem;
  color: var(--grey-300);
  margin-top: 0.6rem;
  font-family: 'Gilroy',sans-serif;
  font-weight: 700;
  letter-spacing: 0.04em;
}
/* ---- PLATFORM CALLOUT SECTION ---- */
.measure-section {
  padding: 5.5rem 2rem;
}
@media(max-width: 1023px) {
  .measure-section {
    padding: 4rem 2rem;
  }
}
.measure-section .section-header {
  max-width: 720px;
  margin: 0 auto 4rem;
}
.measure-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3.5rem;
  align-items: start;
}
@media(max-width: 1023px) {
  .measure-grid {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
}
.measure-col h3 {
  font-family: "Gilroy", sans-serif;
  font-size: 0.95rem;
  font-weight: 800;
  color: var(--navy-500);
  margin-bottom: 1rem;
}
@media(max-width: 1023px) {
  .measure-col h3 {
    margin-bottom: 1.5rem;
  }
}
.measure-col p {
  font-size: 0.92rem;
  color: var(--grey-400);
  line-height: 1.8;
  margin-bottom: 1.5rem;
}
.measure-col:last-child p:last-of-type {
  margin-bottom: 2rem;
}
.measure-cta-pair {
  display: flex;
  gap: 1.25rem;
  flex-wrap: wrap;
}
.measure-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--orange-500);
  text-decoration: none;
  font-family: "Gilroy", sans-serif;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  border-bottom: 1px solid rgba(231, 148, 48, 0.3);
  transition: all 0.2s;
}
.measure-link:hover {
  border-bottom-color: var(--orange-500);
  padding-right: 0.25rem;
}


.attribution-visual-box {
  background: var(--navy-500);
  border-radius: 10px;
  padding: 2.25rem;
  color: var(--white);
}
.attribution-stat {
  font-family: "Gilroy", sans-serif;
  font-size: 2.6rem;
  font-weight: 900;
  color: var(--orange-300);
  line-height: 1.1;
  margin-bottom: 0.5rem;
}
.attribution-stat-label {
  font-size: 0.82rem;
  color: rgba(255, 255, 255, 0.55);
  line-height: 1.5;
  margin-bottom: 1.75rem;
}
.attribution-visual-box a {
  color: var(--orange-300);
  text-decoration: none;
  font-weight: 700;
  font-size: 0.88rem;
  transition: color 0.2s;
}
.attribution-visual-box a:hover {
  color: var(--orange-400);
}
/* ---- report SECTION ---- */
.report-section {
  padding: 5rem 2rem;
  background: var(--white);
}
@media(max-width: 1023px) {
  .report-section {
    padding: 4rem 2rem;
  }
}
.report-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  align-items: start;
}
@media (max-width: 767px) {
  .report-inner {
    grid-template-columns: 1fr;
  }
}
.report-copy .section-sub {
  font-size: 1rem;
  color: var(--grey-500);
  line-height: 1.8;
  margin-bottom: 1.1rem;
}
.report-copy p:last-child {
  margin-bottom: 0;
}
.report-scorecard {
  background: var(--navy-900);
  border-radius: 12px;
  padding: 2rem;
}
.report-scorecard-title {
  font-family: "Gilroy", sans-serif;
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--orange-400);
  margin-bottom: 1rem;
}
.report-scorecard h3 {
  font-family: "Gilroy", sans-serif;
  font-size: 1rem;
  font-weight: 800;
  color: #fff;
  margin-bottom: 1.5rem;
}
.report-row {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.85rem;
}
@media(max-width: 480px) {
  .report-row {
    display: block;
  }
}
.report-label {
  font-size: 0.78rem;
  color: rgba(255, 255, 255, 0.6);
  flex: 1;
  line-height: 1.35;
}
@media(max-width: 480px) {
  .report-label {
    margin-bottom: 1rem;
  }
}
.report-bar-track {
  width: 90px;
  height: 5px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 10px;
  flex-shrink: 0;
}
@media(max-width: 480px) {
  .report-bar-track {
    width: 100%;
  }
}
.report-bar-fill {
  height: 100%;
  border-radius: 10px;
  background: var(--orange-400);
}
.report-value {
  font-family: "Gilroy", sans-serif;
  font-size: 0.78rem;
  font-weight: 800;
  color: var(--orange-400);
  width: 28px;
  text-align: right;
  flex-shrink: 0;
}
@media(max-width: 480px) {
  .report-value {
    text-align: left;
  }
}
/* GATED CTA */
.gated-section {
  padding: 5.5rem 2rem;
}
@media(max-width: 1023px) {
  .gated-section {
    padding: 4rem 2rem;
  }
}
.gated-inner {
  max-width: 800px;
  margin: 0 auto;
  text-align: center;
}
.gated-inner h2 {
  font-size: clamp(1.75rem, 3vw, 2.4rem);
  margin-bottom: 1rem;
}
.gated-inner .section-sub {
  max-width: 560px;
  margin: 0 auto 2.5rem;
}
.report-contents {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.5rem;
  max-width: 560px;
  margin: 0 auto 2.5rem;
  text-align: left;
}
@media(max-width: 767px) {
  .report-contents {
    grid-template-columns: 1fr;
  }
}
.report-item {
  font-size: 0.82rem;
  color: var(--grey-500);
  padding: 0.5rem 0;
  display: flex;
  gap: 0.5rem;
  align-items: flex-start;
}
.report-item::before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--orange-500);
  margin-top: 0.45rem;
  flex-shrink: 0;
}
.gated-form form {
  display: flex;
  gap: 0.75rem;
  max-width: 480px;
  margin: 0 auto;
}
@media(max-width: 600px) {
  .gated-form form {
    display: block;
  }
}
.gated-form .hs-form-field {
  flex: 1;
}
.gated-form form .hs-input {
  padding: 0.85rem 1.1rem;
  border: 1px solid var(--grey-200);
  border-radius: 4px;
  font-family: "Avenir LT Std", sans-serif;
  font-size: 0.9rem;
  color: var(--grey-900);
  outline: none;
  transition: border-color 0.2s;
  background: var(--white);
}
.gated-form form .hs-input:focus {
  border-color: var(--navy-500);
}
.gated-form form .hs-button {
  padding: 0.9rem 2rem;
}
.gated-disclaimer {
  font-size: 0.72rem;
  color: var(--grey-300);
}
@media(max-width: 600px) {
  .gated-disclaimer {
    margin-top: 1rem;
  }
}
/* ---- WHAT'S INSIDE ---- */
.inside-section {
  padding: 5rem 2rem;
  background: var(--white);
}
.inside-section .section-sub {
  font-size: 1rem;
  color: var(--grey-500);
  line-height: 1.7;
  max-width: 600px;
  margin-bottom: 3rem;
}
.inside-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}
@media (max-width: 768px) {
  .inside-grid {
    grid-template-columns: 1fr;
  }
}
.inside-card {
  background: var(--grey-50);
  border-radius: 10px;
  padding: 1.75rem;
  border-top: 3px solid transparent;
  transition: transform 0.2s, box-shadow 0.2s;
}
.inside-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
}
.inside-card.orange {
  border-top-color: var(--orange-500);
}
.inside-card.navy {
  border-top-color: var(--navy-500);
}
.inside-card.teal {
  border-top-color: var(--teal-500);
}
.inside-card-icon {
  width: 40px;
  height: 40px;
  border-radius: 8px;
  margin-bottom: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1rem;
}
.inside-card.orange .inside-card-icon {
  background: rgba(231, 148, 48, 0.1);
}
.inside-card.navy .inside-card-icon {
  background: rgba(39, 54, 115, 0.1);
}
.inside-card.teal .inside-card-icon {
  background: rgba(26, 122, 110, 0.1);
}
.inside-card h3 {
  font-family: "Gilroy", sans-serif;
  font-size: 1rem;
  font-weight: 800;
  color: var(--navy-800);
  margin-bottom: 0.5rem;
}
.inside-card p {
  font-size: 0.88rem;
  color: var(--grey-500);
  line-height: 1.6;
}
/* ---- STATS SECTION ---- */
.stats-section {
  padding: 5rem 2rem;
  background: var(--navy-900);
}
@media(max-width: 1023px) {
  .stats-section {
    padding: 4rem 2rem;
  }
}
.stats-header {
  text-align: center;
  margin-bottom: 3rem;
}
.stats-header .section-heading {
  color: var(--white);
}
.stats-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;
}
@media (max-width: 767px) {
  .stats-grid {
    grid-template-columns: 1fr;
  }
}
.stats-card {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 10px;
  padding: 1.75rem 2rem;
  display: flex;
  gap: 1.5rem;
  align-items: flex-start;
}
@media(max-width: 1023px) {
  .stats-card {
    display: block;
    padding: 1.75rem 1.5rem;
  }
}
.stats-card-number {
  font-family: "Gilroy", sans-serif;
  font-size: 2.4rem;
  font-weight: 900;
  color: var(--orange-400);
  line-height: 1;
  min-width: fit-content;
}
@media(max-width: 1023px) {
  .stats-card-number {
    margin-bottom: 1rem;
  }
}
.stats-card-text {
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.9rem;
  line-height: 1.6;
}
.stats-card-text strong {
  color: #fff;
}
/* ---- LAYER SECTION ---- */
.layers-section {
  padding: 5rem 2rem;
  background: var(--grey-50);
}
.layers-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  align-items: start;
}
@media(max-width: 1023px) {
  .layers-inner {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}

.layers-content .section-sub {
  margin-bottom: 2rem;
}
.layers-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.layer-item {
  display: flex;
  gap: 1.25rem;
  align-items: flex-start;
}
.layer-num {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  background: var(--navy-900);
  color: var(--orange-400);
  font-family: "Gilroy", sans-serif;
  font-size: 0.78rem;
  font-weight: 900;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.layer-item-text h4 {
  font-family: "Gilroy", sans-serif;
  font-size: 0.95rem;
  font-weight: 800;
  color: var(--navy-800);
  margin-bottom: 0.2rem;
}
.layer-item-text p {
  font-size: 0.85rem;
  color: var(--grey-500);
  line-height: 1.55;
}
.layers-visual {
  background: var(--navy-900);
  border-radius: 12px;
  padding: 2.5rem;
  text-align: center;
}


.metrics-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1.25rem;
  margin-top: 3rem;
}
@media(max-width: 1199px) {
  .metrics-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media(max-width: 767px) {
  .metrics-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media(max-width: 600px) {
  .metrics-grid {
    grid-template-columns: 1fr;
  }
}
.metric-card {
  background: #fff;
  border-radius: 10px;
  padding: 1.5rem;
  border: 1px solid var(--grey-100);
}
.metric-num {
  font-family: "Gilroy", sans-serif;
  font-size: 1.6rem;
  font-weight: 900;
  color: var(--orange-400);
  line-height: 1;
  margin-bottom: 0.5rem;
}
.metric-name {
  font-family: "Gilroy", sans-serif;
  font-size: 0.88rem;
  font-weight: 800;
  color: var(--navy-800);
  margin-bottom: 0.5rem;
  line-height: 1.3;
}
.metric-desc {
  font-size: 0.8rem;
  color: var(--grey-400);
  line-height: 1.6;
}
/* ---- REASERCH SECTION ---- */
.research-section {
  padding: 5rem 2rem;
  background: var(--white);
}
@media(max-width: 1023px) {
  .research-section {
    padding: 4rem 2rem;
  }
}
.research-inner { 
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  align-items: center;
}
@media (max-width: 1023px) {
  .research-inner {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}
.research-copy .section-sub {
  font-size: 1rem;
  color: var(--grey-500);
  line-height: 1.8;
  margin-bottom: 1rem;
}
.about-index-card {
  background: var(--grey-50);
  border-radius: 12px;
  padding: 2rem;
}
.about-index-card h3 {
  font-family: "Gilroy", sans-serif;
  font-size: 1rem;
  font-weight: 800;
  color: var(--navy-800);
  margin-bottom: 0.35rem;
}
.about-index-card p {
  font-size: 0.85rem;
  color: var(--grey-500);
  margin-bottom: 1.25rem;
  line-height: 1.5;
}
.index-logo-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.75rem;
}
.index-logo-tile {
  background: #fff;
  border-radius: 8px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Gilroy", sans-serif;
  font-size: 0.68rem;
  font-weight: 800;
  color: var(--navy-600);
  letter-spacing: 0.04em;
  border: 1px solid var(--grey-100);
}
/* ---- Predictions ---- */
.predictions-section {
  padding: 5rem 2rem;
  background: var(--grey-50);
}
@media(max-width: 1023px) {
  .predictions-section {
    padding: 4rem 2rem;
  }
}
.predictions-list {
  display: flex;
  flex-direction: column;
  gap: 0;
  border: 1px solid var(--grey-100);
  border-radius: 12px;
  overflow: hidden;
  background: var(--white);
}
.prediction-row {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  padding: 1rem 1.5rem;
  border-bottom: 1px solid var(--grey-100);
  transition: background 0.15s;
}
@media(max-width: 767px) {
  .prediction-row {
    display: grid;
    gap: 0.65rem;
  }
}
.prediction-row:last-child {
  border-bottom: none;
}
.prediction-row:hover {
  background: var(--grey-50);
}
.prediction-row-num {
  font-family: "Gilroy", sans-serif;
  font-size: 0.65rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  width: 28px;
  flex-shrink: 0;
  color: var(--grey-200);
}
.prediction-row-title {
  font-family: "Gilroy", sans-serif;
  font-size: 0.95rem;
  font-weight: 800;
  color: var(--navy-800);
  flex: 1;
  line-height: 1.3;
}
.prediction-tag {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  font-family: "Gilroy", sans-serif;
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 0.2rem 0.65rem;
  border-radius: 100px;
}
.insight-row-lock {
  color: var(--grey-200);
  font-size: 0.8rem;
  flex-shrink: 0;
}
.prediction-cta-row {
  padding: 1.5rem;
  background: var(--grey-50);
  border-top: 1px solid var(--grey-100);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}
.insights-cta-row p {
  font-size: 0.85rem;
  color: var(--grey-400);
  line-height: 1.5;
}
.prediction-cta-row a {
  display: inline-block;
  background: var(--orange-500);
  color: #fff;
  font-family: "Gilroy", sans-serif;
  font-size: 0.8rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-decoration: none;
  padding: 0.7rem 1.5rem;
  border-radius: 5px;
  white-space: nowrap;
  transition: background 0.2s;
}
.prediction-cta-row a:hover {
  background: var(--orange-600);
}
@media (max-width: 767px) {
  .insight-tag {
    display: none;
  }
  .prediction-cta-row {
    flex-direction: column;
    align-items: flex-start;
  }
}
/* ---- RECOMMENDATION STRIP ---- */
.reco-strip {
  padding: 5rem 2rem;
  background: var(--navy-900);
}
@media(max-width: 1023px) {
  .reco-strip {
    padding: 4rem 2rem;
  }
}
.reco-strip .section-heading {
  color: #fff;
}
.reco-strip .section-sub {
  color: rgba(255, 255, 255, 0.6);
}
.reco-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;
}
@media (max-width: 767px) {
  .reco-grid {
    grid-template-columns: 1fr;
  }
}
.reco-card {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 10px;
  padding: 1.75rem 2rem;
}
.reco-card-num {
  font-family: "Gilroy", sans-serif;
  font-size: 2rem;
  font-weight: 900;
  color: var(--orange-400);
  line-height: 1;
  margin-bottom: 0.5rem;
}
.reco-card h4 {
  font-family: "Gilroy", sans-serif;
  font-size: 1rem;
  font-weight: 800;
  color: #fff;
  margin-bottom: 0.5rem;
}
.reco-card p {
  font-size: 0.88rem;
  color: rgba(255, 255, 255, 0.6);
  line-height: 1.65;
}
/* ---- CONTRIBUTORS ---- */
.contributors-section {
  padding: 5rem 2rem;
  background: var(--white);
}
@media(max-width: 1023px) {
  .contributors-section {
    padding: 4rem 2rem;
  }
}
.contributors-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  margin-top: 3rem;
}
@media (max-width: 1023px) {
  .contributors-grid {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 767px) {
  .contributors-grid {
    grid-template-columns: 1fr;
  }
}
.contributor-card {
  background: var(--grey-50);
  border-radius: 10px;
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.contributor-avatar {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: var(--navy-700);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Gilroy", sans-serif;
  font-size: 1rem;
  font-weight: 900;
  color: var(--orange-400);
  margin-bottom: 0.25rem;
  flex-shrink: 0;
}
.contributor-name {
  font-family: "Gilroy", sans-serif;
  font-size: 0.95rem;
  font-weight: 800;
  color: var(--navy-800);
}
.contributor-title {
  font-size: 0.82rem;
  color: var(--grey-400);
  line-height: 1.45;
}
.contributor-focus {
  display: inline-block;
  margin-top: 0.25rem;
  font-family: "Gilroy", sans-serif;
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--orange-500);
  background: rgba(231, 148, 48, 0.1);
  padding: 0.18rem 0.6rem;
  border-radius: 100px;
}
/* ---- SUPPORTERS ---- */
.supporters-bar {
  background: var(--grey-50);
  border-top: 1px solid var(--grey-100);
  border-bottom: 1px solid var(--grey-100);
  padding: 2rem 2rem;
}
.supporters-inner {
  display: flex;
  align-items: center;
  gap: 2.5rem;
  flex-wrap: wrap;
}
.supporters-label {
  font-family: "Gilroy", sans-serif;
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--grey-300);
  white-space: nowrap;
}
.supporter-tiles {
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
}
.supporter-tile {
  background: #fff;
  border: 1px solid var(--grey-100);
  border-radius: 6px;
  padding: 0.45rem 1rem;
  font-family: "Gilroy", sans-serif;
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--navy-600);
  letter-spacing: 0.04em;
}
/* KEYWORD INTELLIGENCE */
.keyword-section {
  background: var(--grey-50);
  padding: 5.5rem 2rem;
}
@media(max-width: 1023px) {
  .keyword-section {
    padding: 4rem 2rem;
  }
}
.keyword-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  margin-top: 2rem;
}
@media(max-width: 1023px) {
  .keyword-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media(max-width: 767px) {
  .keyword-grid {
    grid-template-columns: 1fr;
  }
}
.keyword-card {
  background: var(--white);
  border: 1px solid var(--grey-100);
  border-radius: 6px;
  padding: 1.25rem;
}
.keyword-phrase {
  font-family: "Gilroy", sans-serif;
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--navy-500);
  margin-bottom: 0.4rem;
}
.keyword-vol {
  font-size: 0.72rem;
  color: var(--grey-400);
  margin-bottom: 0.5rem;
}
.keyword-leader {
  font-size: 0.78rem;
  color: var(--grey-500);
}
.keyword-leader strong {
  color: var(--orange-600);
  font-family: "Gilroy", sans-serif;
}
.keyword-note {
  margin-top: 1.5rem; 
  font-size: 0.8rem; 
  color: var(--grey-300); 
  text-align: center;
}
/* KEY INSIGHTS */
.key-findings {
  background: linear-gradient(135deg, #0c1428 0%, var(--navy-800) 60%, #162050 100%);
  position: relative;
  overflow: hidden;
  padding: 5.5rem 2rem;
}
@media(max-width: 1023px) {
  .key-findings {
    padding: 4rem 2rem;
  }
}
.key-findings:after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  opacity: 0.025;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
  background-size: 200px 200px;
}
.key-findings .section-heading {
  color: var(--white);
}
.key-findings .section-sub {
  color: rgba(255,255,255,0.5);
}
.insights-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  margin-top: 2.5rem;
}
@media(max-width: 1023px) {
  .insights-grid {
    grid-template-columns: 1fr 1fr; 
  }
}
@media(max-width: 767px) {
  .insights-grid {
    grid-template-columns: 1fr; 
  }
}
.insight-card {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 8px;
  padding: 1.75rem;
}
.insight-num {
  font-family: "Gilroy", sans-serif;
  font-size: 2.2rem;
  font-weight: 900;
  color: var(--orange-400);
  line-height: 1;
  margin-bottom: 0.75rem;
}
.insight-title {
  font-family: "Gilroy", sans-serif;
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--white);
  margin-bottom: 0.6rem;
  line-height: 1.35;
}
.insight-body {
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.42);
  line-height: 1.7;
}
/* LANDSCAPE */
.quadrant-section {
  padding: 5.5rem 2rem;
}
.quadrant-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.25rem;
  margin-top: 2.5rem;
}
@media(max-width: 1023px) {
  .quadrant-grid {
    grid-template-columns: 1fr;
  }
}
.quadrant-card {
  border-radius: 8px;
  padding: 2rem;
  border: 1px solid var(--grey-100);
}
.quadrant-card.leader {
  background: linear-gradient(
    135deg,
    rgba(39, 54, 115, 0.06),
    rgba(86, 174, 227, 0.06)
  );
  border-color: rgba(39, 54, 115, 0.2);
}
.quadrant-card.darling {
  background: linear-gradient(
    135deg,
    rgba(231, 148, 48, 0.06),
    rgba(239, 183, 116, 0.06)
  );
  border-color: rgba(231, 148, 48, 0.2);
}
.quadrant-card.default {
  background: var(--grey-50);
}
.quadrant-badge {
  display: inline-block;
  font-family: "Gilroy", sans-serif;
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 0.25rem 0.65rem;
  border-radius: 3px;
  margin-bottom: 0.75rem;
}
.badge-leader {
  background: rgba(39, 54, 115, 0.1);
  color: var(--navy-500);
}
.badge-darling {
  background: rgba(231, 148, 48, 0.15);
  color: var(--orange-600);
}
.badge-default {
  background: rgba(106, 106, 106, 0.1);
  color: var(--grey-500);
}
.quadrant-title {
  font-family: "Gilroy", sans-serif;
  font-size: 1rem;
  font-weight: 700;
  color: var(--navy-500);
  margin-bottom: 0.4rem;
}
.quadrant-sub {
  font-size: 0.78rem;
  color: var(--grey-400);
  margin-bottom: 1rem;
  line-height: 1.5;
}
.quadrant-entities {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}
.entity-chip {
  font-size: 0.72rem;
  font-weight: 600;
  font-family: "Gilroy", sans-serif;
  background: rgba(255, 255, 255, 0.8);
  border: 1px solid var(--grey-100);
  border-radius: 3px;
  padding: 0.2rem 0.55rem;
  color: var(--grey-600);
}
.quadrant-score {
  font-family: "Gilroy", sans-serif;
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--grey-300);
  margin-top: 0.75rem;
}
/* ENTITY OVERVIEW */
.entity-section {
  background: var(--grey-50);
  padding: 5.5rem 2rem;
}
@media(max-width: 1023px) {
  .entity-section {
    padding: 4rem 2rem;
  }
}
.entity-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.84rem;
}
.entity-name {
  font-family: "Gilroy", sans-serif;
  font-weight: 700;
  color: var(--navy-500);
}
.entity-tier {
  display: inline-block;
  font-family: "Gilroy", sans-serif;
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 0.15rem 0.5rem;
  border-radius: 2px;
}
.visibility-bar {
  height: 6px;
  border-radius: 3px;
  background: var(--grey-100);
  margin-top: 4px;
}
.visibility-fill {
  height: 100%;
  border-radius: 3px;
  background: var(--orange-500);
}
.entity-table-note {
  font-size: 0.78rem;
  color: var(--grey-300);
  margin-top: 1.25rem;
  text-align: center;
  font-style: italic;
}
/* intelligence BREAKDOWN */
.intelligence-section {
  background: var(--grey-50);
  padding: 5.5rem 2rem;
}
@media(max-width: 1023px) {
  .intelligence-section {
    padding: 4rem 2rem;
  }
}
.intelligence-section.dark {
  background: var(--navy-900);
}
.intelligence-section.dark .section-heading {
  color: #fff;
}
.intelligence-section.dark .section-sub {
  color: rgba(255,255,255,0.6);
}
.intelligence-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.25rem;
  margin-top: 2.5rem;
}
@media(max-width: 1023px) {
  .intelligence-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media(max-width: 767px) {
  .intelligence-grid {
    grid-template-columns: 1fr;
  }
}
.intelligence-grid.style_two {
  grid-template-columns: repeat(5, 1fr);
}
@media(max-width: 1199px) {
  .intelligence-grid.style_two {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media(max-width: 1023px) {
  .intelligence-grid.style_two {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media(max-width: 600px) {
  .intelligence-grid.style_two {
    grid-template-columns: 1fr;
  }
}
.intelligence-card {
  background: var(--white);
  border: 1px solid var(--grey-100);
  border-radius: 8px;
  padding: 1.5rem;
}
.intelligence-name {
  font-family: "Gilroy", sans-serif;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--grey-400);
  margin-bottom: 1rem;
  padding-bottom: 0.75rem;
  border-bottom: 2px solid var(--grey-100);
}
.intelligence-leader {
  margin-bottom: 0.5rem;
}
.intelligence-leader-label {
  font-size: 0.68rem;
  color: var(--grey-300);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.intelligence-leader-name {
  font-family: "Gilroy", sans-serif;
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--navy-500);
}
.intelligence-count {
  font-size: 0.75rem;
  color: var(--grey-400);
  margin-top: 0.75rem;
}
.intelligence-note {
  font-size: 0.72rem;
  color: var(--grey-300);
  margin-top: 0.5rem;
  line-height: 1.5;
  font-style: italic;
}

.intelligence-card.dark {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 10px;
  padding: 1.75rem;
}
.intelligence-card.dark .intelligence-name {
  width: 42px;
  height: 42px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1rem;
  font-family: 'Gilroy', sans-serif;
  font-size: 0.75rem;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border: none;
  padding: 0;
}
.intelligence-card.dark .intelligence-leader-name {
  font-family: 'Gilroy', sans-serif;
  font-size: 1rem;
  font-weight: 800;
  color: #fff;
  margin-bottom: 0.5rem;
}
.intelligence-card.dark .intelligence-note {
  font-size: 0.85rem;
  color: rgba(255,255,255,0.55);
  line-height: 1.65;
  font-style: normal;
}
/* Intelligence */
.intelligence-02 {
  padding: 5.5rem 2rem;
}
@media(max-width: 1023px) {
  .intelligence-02 {
    padding: 4rem 2rem;
  }
}
.intelligence-02.light {
  background: var(--grey-50);
  border-top: 1px solid var(--grey-100);
  border-bottom: 1px solid var(--grey-100);
}
.intelligence-header {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  align-items: start;
  margin-bottom: 3rem;
}
@media(max-width: 1023px) {
  .intelligence-header {
    grid-template-columns: 1fr;
    gap: 0;
  }
}
.intelligence-header .section-heading {
  font-size: clamp(1.75rem, 3vw, 2.5rem);
}
.intelligence-header .section-heading:after {
  display: none;
}
.intelligence-header .section-sub {
  margin: 0;
  padding-top: 1.5rem;
}
@media(max-width: 1023px) {
  .intelligence-header .section-sub {
    padding-top: 0;
  }
}
.intelligence-02 .compare-table-wrap {
  margin: 0 0 3rem;
}

.platform-stats-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1.25rem;
  margin-top: 3rem;
}
@media(max-width: 1199px) {
  .platform-stats-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media(max-width: 1023px) {
  .platform-stats-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media(max-width: 600px) {
  .platform-stats-grid {
    grid-template-columns: 1fr;
  }
}
.platform-stat-card {
  background: var(--white);
  border: 1px solid var(--grey-100);
  border-radius: 8px;
  padding: 1.5rem 1.25rem;
  text-align: center;
  position: relative;
}
.platform-stat-card.left {
  text-align: left;
}
.psc-name {
  font-family: "Gilroy", sans-serif;
  font-size: 0.92rem;
  font-weight: 800;
  color: var(--navy-500);
  margin-bottom: 0.75rem;
  letter-spacing: 0.04em;
  line-height: 1.3;
}
.psc-stat {
  font-family: "Gilroy", sans-serif;
  font-size: 1.5rem;
  font-weight: 900;
  color: var(--orange-500);
  line-height: 1.1;
  margin-bottom: 0.25rem; 
}
.psc-label {
  font-size: 0.72rem;
  color: var(--orange-600);
  margin-bottom: 0.75rem;
  font-family: 'Gilroy', sans-serif;
  font-weight: 600;
}
.psc-detail {
  font-size: 0.78rem;
  color: var(--grey-400);
  margin-top: 0.5rem;
  line-height: 1.65;
}

.method-callout {
  background: var(--navy-500);
  border-radius: 10px;
  padding: 2.5rem;
  margin-top: 3.5rem;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 2rem;
}
@media(max-width: 1023px) {
  .method-callout {
    grid-template-columns: 1fr;
  }
}
.method-point h4 {
  font-family: 'Gilroy', sans-serif;
  font-size: 0.88rem;
  font-weight: 800;
  color: var(--orange-400);
  margin-bottom: 0.5rem;
}
.method-point p {
  font-size: 0.82rem;
  color: rgba(255,255,255,0.6);
  line-height: 1.65;
}
/* Intelligence */
.intelligence-03 {
  background: var(--grey-50);
  border-top: 1px solid var(--grey-100);
  border-bottom: 1px solid var(--grey-100);
  padding: 5.5rem 2rem;
}
@media(max-width: 1023px) {
  .intelligence-03 {
    padding: 4rem 2rem;
  }
}
.intelligence-03 .aeo-table {
  margin: 2rem 0 0;
}
.problem-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 1.5rem;
  margin-top: 2.5rem;
}
@media(max-width: 1023px) {
  .problem-grid {
    grid-template-columns: 1fr;
  }
}
.problem-card {
  background: var(--white);
  border: 1px solid var(--grey-100);
  border-radius: 8px;
  padding: 2rem;
  position: relative;
}
.problem-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--grey-100);
  border-radius: 8px 8px 0 0;
}
.problem-card.problem-bad::before {
  background: #c0392b;
  opacity: 0.35;
}
.problem-icon {
  width: 44px;
  height: 44px;
  background: var(--navy-500);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1rem;
}
.problem-icon svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: rgba(255, 255, 255, 0.85);
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.qma-compare-wrap {
  margin-top: 2.5rem;
}
.qma-compare-wrap h3 {
  font-family: "Gilroy", sans-serif;
  font-size: 1.1rem;
  font-weight: 800;
  color: var(--navy-500);
  margin-bottom: 0.5rem;
}
.qma-compare-wrap p.intro {
  font-size: 0.92rem;
  color: var(--grey-400);
  line-height: 1.65;
  max-width: 820px;
  margin-bottom: 0.5rem;
}
.problem-card h3 {
  font-family: "Gilroy", sans-serif;
  font-size: 1rem;
  font-weight: 800;
  color: var(--navy-500);
  margin-bottom: 0.6rem;
}
.problem-card p {
  font-size: 0.87rem;
  color: var(--grey-400);
  line-height: 1.7;
}
.problem-card .problem-signal {
  font-size: 0.75rem;
  color: #c0392b;
  font-family: "Gilroy", sans-serif;
  font-weight: 700;
  margin-top: 0.75rem;
  opacity: 0.7;
}
/* RANKINGS */
.rankings-section {
  padding: 5.5rem 2rem;
}
@media(max-width: 1023px) {
  .rankings-section {
    padding: 4rem 2rem;
  }
}
.rankings-header {
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 4rem;
  align-items: start;
  margin-bottom: 2rem;
}
@media(max-width: 1023px) {
  .rankings-header {
    grid-template-columns: 1fr;
    gap: 0;
  }
}
.rankings-section .section-sub {
  margin: 0;
}
.rankings-box {
  background: var(--grey-50);
  border-radius: 8px;
  padding: 1.5rem;
  align-self: start;
}
.rankings-box .title {
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--grey-300);
  margin-bottom: 1rem;
}
.rankings-box .list {
  font-size: 0.78rem;
  color: var(--grey-500);
  line-height: 1.8;
}
.rankings-box .strong {
  color: var(--grey-900);
}
.rankings-table {
  width: 100%;
  border-collapse: collapse;
}
.rankings-table thead th:last-child {
  text-align: right;
}
.rankings-table tbody tr {
  transition: background 0.15s;
}
.rank-num {
  font-family: "Gilroy", sans-serif;
  font-size: 0.8rem;
  font-weight: 700;
  color: var(--grey-300);
  width: 36px;
}
.rank-school {
  font-family: "Gilroy", sans-serif;
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--navy-500);
  padding: 1rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
}
.rank-tier {
  display: inline-block;
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 0.15rem 0.5rem;
  border-radius: 3px;
}
.tier-1 {
  background: rgba(39, 54, 115, 0.08);
  color: var(--navy-500);
}
.tier-2 {
  background: rgba(154, 154, 154, 0.1);
  color: var(--grey-400);
}
.rank-stat {
  padding: 1rem;
  font-size: 0.85rem;
  color: var(--grey-500);
}
.rank-bar-cell {
  padding: 1rem;
  width: 160px;
}
.rank-bar-wrap {
  background: var(--grey-100);
  border-radius: 3px;
  height: 6px;
}
.rank-bar {
  height: 6px;
  border-radius: 3px;
  background: linear-gradient(90deg, var(--navy-500), var(--blue-500));
}
.rank-score {
  font-family: "Gilroy", sans-serif;
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--navy-500);
  text-align: right;
  padding: 1rem;
}
.gated-row {
  background: linear-gradient(to bottom, var(--grey-50), var(--white));
}
.gated-row td {
  padding: 1.5rem 1rem;
  text-align: center;
  border-bottom: none;
}
.gated-row-text {
  font-size: 0.85rem;
  color: var(--grey-400);
  margin-bottom: 0.75rem;
}
.gated-row-text strong {
  color: var(--grey-900);
  font-family: "Gilroy", sans-serif;
}
/* ---- METHODOLOGY SECTION ---- */
.method-section {
  padding: 5rem 2rem;
  background: var(--grey-50);
}
@media(max-width: 1023px) {
  padding: 4rem 2rem;
}
.method-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  align-items: start;
}
@media (max-width: 1023px) {
  .method-inner {
    grid-template-columns: 1fr;
    gap: 0;
  }
}
.method-copy p {
  font-size: 1rem;
  color: var(--grey-500);
  line-height: 1.8;
  margin-bottom: 1.1rem;
}
.method-steps {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.method-step {
  display: flex;
  gap: 1.25rem;
  align-items: flex-start;
  background: #fff;
  border: 1px solid var(--grey-100);
  border-radius: 10px;
  padding: 1.25rem 1.5rem;
}
@media(max-width: 600px) {
  .method-step {
    display: block;
  }
}
.method-step-num {
  font-family: "Gilroy", sans-serif;
  font-size: 1.4rem;
  font-weight: 900;
  color: var(--orange-400);
  line-height: 1;
  flex-shrink: 0;
  width: 28px;
}
.method-step-content h4 {
  font-family: "Gilroy", sans-serif;
  font-size: 0.9rem;
  font-weight: 800;
  color: var(--navy-800);
  margin-bottom: 0.3rem;
}
.method-step-content p {
  font-size: 0.82rem;
  color: var(--grey-400);
  line-height: 1.6;
  margin: 0;
}
/* Methodology */
.methodology-02 {
  padding: 5.5rem 2rem;
}
@media(max-width: 1023px) {
  .methodology-02 {
    padding: 4rem 2rem;
  }
}
.methodology-02 .section-header {
  text-align: center;
  max-width: 680px;
  margin: 0 auto 1rem;
}
.steps-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  margin-top: 3rem;
  position: relative;
}
@media(max-width: 1023px) {
  .steps-grid { 
    grid-template-columns: repeat(2, 1fr); 
    gap: 2rem;
  }
}
@media(max-width: 767px) {
  .steps-grid { 
    grid-template-columns: 1fr; 
  }
}
.steps-grid::before {
  content: "";
  position: absolute;
  top: 28px;
  left: 10%;
  right: 10%;
  height: 2px;
  background: linear-gradient(
    90deg,
    var(--orange-400) 0%,
    var(--orange-300) 100%
  );
  z-index: 0;
}
@media(max-width: 1023px) {
  .steps-grid::before { 
    display: none;
  }
}
.step-card {
  text-align: center;
  padding: 0 1.5rem;
  position: relative;
  z-index: 1;
}
.step-num {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: var(--navy-500);
  color: var(--white);
  font-family: "Gilroy", sans-serif;
  font-size: 1.1rem;
  font-weight: 900;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 1.25rem;
  border: 3px solid var(--white);
  box-shadow: 0 0 0 2px var(--navy-500);
}
.step-label {
  font-family: "Gilroy", sans-serif;
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--orange-500);
  letter-spacing: 0.15em;
  text-transform: uppercase;
  margin-bottom: 0.5rem;
}
.step-card h3 {
  font-size: 1rem;
  font-weight: 800;
  color: var(--navy-500);
  margin-bottom: 0.6rem;
}
.step-card p {
  font-size: 0.83rem;
  color: var(--grey-400);
  line-height: 1.65;
}
.step-detail {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  margin-top: 0.85rem;
}
.step-detail-item {
  font-size: 0.72rem;
  color: var(--grey-300);
  background: var(--grey-50);
  border: 1px solid var(--grey-100);
  border-radius: 3px;
  padding: 0.2rem 0.5rem;
  display: inline-block;
  font-family: "Gilroy", sans-serif;
  font-weight: 600;
}
/* METHODOLOGY: THREE PHASES */
.methodology-03 {
  padding: 5.5rem 2rem;
}
@media(max-width: 1023px) {
  .methodology-03 {
    padding: 4rem 2rem;
  }
}
.phase-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  margin-top: 2.5rem;
}
@media(max-width: 1023px) {
  .phase-grid { 
    grid-template-columns: 1fr;
  }
}
.phase-card {
  background: var(--white);
  border: 1px solid var(--grey-100);
  border-radius: 8px;
  padding: 2.25rem;
  position: relative;
  overflow: hidden;
  transition: all 0.3s;
}
.phase-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.08);
}
.phase-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
}
.phase-card:nth-child(3n + 1)::before {
  background: var(--navy-500);
}
.phase-card:nth-child(3n + 2)::before {
  background: var(--orange-500);
}
.phase-card:nth-child(3n)::before {
  background: var(--teal-500);
}
.phase-num {
  font-family: "Gilroy", sans-serif;
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--grey-200);
  margin-bottom: 0.75rem;
}
.phase-card h3 {
  font-size: 1.2rem;
  font-weight: 800;
  color: var(--navy-500);
  margin-bottom: 0.75rem;
}
.phase-card p {
  font-size: 0.88rem;
  color: var(--grey-400);
  line-height: 1.7;
  margin-bottom: 1.25rem;
}
.phase-details {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}
.phase-details .text {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  font-size: 0.8rem;
  color: var(--grey-400);
  line-height: 1.5;
}
.phase-details .text::before {
  content: "";
  width: 5px;
  height: 5px;
  background: var(--orange-400);
  border-radius: 50%;
  flex-shrink: 0;
  margin-top: 0.45rem;
}
.deliverable-section {
  padding: 5.5rem 2rem;
}
@media(max-width: 1023px) {
  .deliverable-section {
    padding: 4rem 2rem;
  }
}
.deliverable-section .section-heading:after {
  display: none;
}
.report-content .section-sub {
  margin: 0;
  max-width: 100%;
}

/* ── Report preview ── */
.report-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  align-items: start;
}
@media(max-width: 1023px) {
  .report-layout {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}
.report-slides {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-top: 2rem;
}
.report-slide-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem;
}
@media(max-width: 600px) {
  .report-slide-row {
    grid-template-columns: 1fr;
  }
}
.report-slide {
  background: var(--white);
  border: 1px solid var(--grey-100);
  border-radius: 6px;
  padding: 1rem 1.25rem;
  flex: 1;
  transition: all 0.25s;
}
.report-slide:hover {
  border-color: var(--navy-500);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
}
.report-slide-num {
  font-family: "Gilroy", sans-serif;
  font-size: 0.65rem;
  font-weight: 700;
  color: var(--orange-400);
  letter-spacing: 0.15em;
  text-transform: uppercase;
  margin-bottom: 0.3rem;
}
.report-slide-title {
  font-family: "Gilroy", sans-serif;
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--navy-500);
  line-height: 1.3;
}
.report-slide-desc {
  font-size: 0.72rem;
  color: var(--grey-300);
  margin-top: 0.25rem;
  line-height: 1.5;
}
.report-slide.highlight {
  border-color: var(--orange-400);
  background: rgba(236, 169, 89, 0.04);
}
.report-copy {
  padding-top: 1rem;
}
.report-copy p {
  font-size: 1rem;
  color: var(--grey-400);
  line-height: 1.8;
  margin-bottom: 1.25rem;
}
.report-delivery {
  background: var(--navy-500);
  border-radius: 10px;
  padding: 2rem;
  margin-top: 1.5rem;
}
.report-delivery h4 {
  font-family: "Gilroy", sans-serif;
  font-size: 1rem;
  font-weight: 800;
  color: var(--white);
  margin-bottom: 1rem;
}
.delivery-list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
}
.delivery-list li {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  font-size: 0.85rem;
  color: rgba(255, 255, 255, 0.7);
}
.delivery-check {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: rgba(236, 169, 89, 0.2);
  color: var(--orange-400);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.6rem;
  font-weight: 900;
  flex-shrink: 0;
}

.report-info {
  margin-top: 1.5rem;
  padding: 1.5rem;
  background: var(--grey-50);
  border: 1px solid var(--grey-100);
  border-radius: 8px;
}
.report-info .section-label {

}
.report-info p {
  font-size: 0.85rem;
  color: var(--grey-500);
  line-height: 1.7;
}
/* Testimonial */
.testimonial-single {
  background: var(--white);
  border-top: 1px solid var(--grey-100);
  border-bottom: 1px solid var(--grey-100);
  padding: 3.5rem 2rem;
  text-align: center;
}
.testimonial-single .quote {
  position: relative;
  padding-top: 2rem;
}
.testimonial-single .quote:before {
  content: '“';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  font-size: 3.5rem;
  font-family: Georgia,serif;
  color: var(--orange-400);
  opacity: 0.2;
  line-height: 0.6;
  margin-bottom: 1rem;
}
.testimonial-single .quote {
  font-family: "Gilroy", sans-serif;
  font-size: clamp(1rem, 2vw, 1.15rem);
  font-weight: 700;
  color: var(--grey-400);
  max-width: 820px;
  margin: 0 auto;
  line-height: 1.8;
  letter-spacing: -0.01em;
}
.testimonial-single .cite {
  font-family: 'Gilroy',sans-serif;
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--grey-300);
  margin-top: 1.25rem;
  letter-spacing: 0.04em;
  display: block;
}
/* PROOF */
.proof-section {
  background: linear-gradient(135deg, #0c1428 0%, var(--navy-800) 60%, #162050 100%);
  position: relative;
  overflow: hidden;
  padding: 5.5rem 2rem;
}
@media(max-width: 1023px) {
  .proof-section {
    padding: 4rem 2rem;
  }
}
.proof-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgba(255,255,255,0.02) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.02) 1px, transparent 1px);
  background-size: 48px 48px;
  pointer-events: none;
}
.proof-section .proof-inner {
  position: relative;
  z-index: 1;
  margin-bottom: 3rem;
}
.proof-section .section-heading {
  color: var(--white);
}

.work-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  align-items: center;
  position: relative;
  z-index: 1;
}
@media(max-width: 1023px) {
  .work-grid {
    grid-template-columns: 1fr; 
    gap: 2rem;
  }
}
.proof-sov {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
.proof-sov-market {
}
.proof-sov-title {
  font-family: "Gilroy", sans-serif;
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.4);
  margin-bottom: 0.6rem;
}
.proof-sov-bar {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.35rem;
}
.proof-sov-name {
  font-family: "Gilroy", sans-serif;
  font-size: 0.78rem;
  font-weight: 700;
  min-width: 90px;
  color: rgba(255,255,255,0.4);
}
.proof-sov-track {
  flex: 1;
  height: 8px;
  background: rgba(255, 255, 255, 0.07);
  border-radius: 4px;
  overflow: hidden;
}
.proof-sov-fill {
  height: 100%;
  border-radius: 4px;
  background: rgba(255,255,255,0.25);
}
.proof-sov-pct {
  font-family: "Gilroy", sans-serif;
  font-size: 0.82rem;
  font-weight: 900;
  min-width: 38px;
  text-align: right;
}
.proof-divider {
  height: 1px;
  background: rgba(255, 255, 255, 0.08);
  margin: 0.75rem 0;
}
.proof-findings {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
@media(max-width: 1023px) {
  .proof-findings {
    order: 1;
  }
  .proof-content {
    order: 2;
  }
} 
.proof-findings .header {
  margin-bottom: 1.5rem;
}
.proof-findings .header p {
  font-size: 0.9rem;
  color: rgba(255,255,255,0.45);
  line-height: 1.7;
}
.proof-finding {
  display: flex;
  gap: 1rem;
  padding: 1.25rem;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 8px;
}
@media(max-width: 767px) {
  .proof-finding {
    display: block;
  }
}
.proof-finding-num {
  font-family: "Gilroy", sans-serif;
  font-size: 1.5rem;
  font-weight: 900;
  color: var(--orange-400);
  line-height: 1;
  flex-shrink: 0;
  min-width: 2rem;
  margin-bottom: 0.5rem;
}
.proof-finding-body h4 {
  font-family: "Gilroy", sans-serif;
  font-size: 0.85rem;
  font-weight: 800;
  color: rgba(255, 255, 255, 0.8);
  margin-bottom: 0.3rem;
}
.proof-finding-body p {
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.4);
  line-height: 1.6;
}
.proof-link {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-family: "Gilroy", sans-serif;
  font-size: 0.8rem;
  font-weight: 700;
  color: var(--orange-400);
  text-decoration: none;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  transition: gap 0.2s;
  margin-top: 1.5rem;
}
.proof-link:hover {
  gap: 0.7rem;
}

.proof-info-box {
  margin-top: 1.5rem;
  padding: 1.25rem;
  background: rgba(232,148,48,0.08);
  border: 1px solid rgba(232,148,48,0.2);
  border-radius: 8px;
  font-size: 0.82rem;
  color: rgba(255,255,255,0.5);
  line-height: 1.65;
  margin: 0;
}
.rankings-table {
  border: 1px solid var(--grey-100);
  border-radius: 12px;
  overflow: hidden;
  margin-top: 2.5rem;
}
.institution-table {
  width: 100%;
  border-collapse: collapse;
}
.institution-table tbody tr {
  transition: background 0.15s;
}
.institution-table tbody tr.blurred {
  filter: blur(4px);
  pointer-events: none;
  user-select: none;
}
.institution-table thead th {
  background: var(--navy-900);
  font-family: "Gilroy", sans-serif;
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.4);
}
.institution-num {
  font-family: "Gilroy", sans-serif;
  font-size: 1rem;
  font-weight: 900;
  color: var(--orange-400);
}
.rank-institution {
  font-family: "Gilroy", sans-serif;
  font-size: 0.95rem;
  font-weight: 800;
  color: var(--navy-800);
}
.rank-institution-sub {
  font-size: 0.75rem;
  color: var(--grey-300);
  font-weight: 400;
  margin-top: 0.15rem;
  display: block;
}
.institution-score {
  font-family: "Gilroy", sans-serif;
  font-size: 0.88rem;
  font-weight: 800;
  color: var(--navy-600);
}
.institution-badge {
  display: inline-flex;
  align-items: center;
  font-family: "Gilroy", sans-serif;
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 0.2rem 0.6rem;
  border-radius: 100px;
}
.badge-leader {
  background: rgba(231, 148, 48, 0.12);
  color: var(--orange-500);
}
.badge-strong {
  background: rgba(39, 54, 115, 0.1);
  color: var(--navy-500);
}
.badge-average {
  background: rgba(186, 186, 186, 0.2);
  color: var(--grey-400);
}
.rankings-gate {
  position: relative;
  background: linear-gradient(
    to bottom,
    transparent,
    rgba(255, 255, 255, 0.95) 40%,
    #fff 100%
  );
  padding: 2rem 1.5rem 2.5rem;
  text-align: center;
  margin-top: -2rem;
}
.rankings-gate h3 {
  font-family: "Gilroy", sans-serif;
  font-size: 1.15rem;
  font-weight: 800;
  color: var(--navy-900);
  margin-bottom: 0.5rem;
}
.rankings-gate p {
  font-size: 0.88rem;
  color: var(--grey-400);
  margin-bottom: 1.25rem;
}
.rankings-gate a {
  display: inline-block;
  background: var(--orange-500);
  color: #fff;
  font-family: "Gilroy", sans-serif;
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-decoration: none;
  padding: 0.8rem 2rem;
  border-radius: 6px;
  transition: background 0.2s, transform 0.15s;
}
.rankings-gate a:hover {
  background: var(--orange-600);
  transform: translateY(-1px);
}
@media (max-width: 760px) {
  .rankings-header,
  .ranking-row {
    grid-template-columns: 36px 1fr 70px 60px;
  }
  .rankings-header span:nth-child(4),
  .rankings-header span:nth-child(5),
  .ranking-row .rank-score:nth-child(4),
  .ranking-row .rank-score:nth-child(5) {
    display: none;
  }
}
/* ACTIVE BENCHMARKS */
.benchmarks-section {
  background: linear-gradient(135deg, #0c1428 0%, var(--navy-800) 60%, #162050 100%);
  position: relative;
  overflow: hidden;
  padding: 5.5rem 2rem;
}
@media(max-width: 1023px) {
  .benchmarks-section {
    padding: 4rem 2rem;
  }
}
.benchmarks-header {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  align-items: start;
  margin-bottom: 3rem;
}
@media(max-width: 1023px) {
  .benchmarks-header {
    grid-template-columns: 1fr;
    gap: 0;
  }
}
.benchmarks-header .section-heading {
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  color: var(--white);
}
.benchmarks-header .section-heading:after {
  display: none;
}
.benchmarks-header .section-sub {
  color: rgba(255,255,255,0.5);
  margin: 0;
  padding-top: 1.5rem;
}
@media(max-width: 1023px) {
  .benchmarks-header .section-sub {
    padding-top: 0;
  }
}


/* ── Industry benchmarks ── */
.industry-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;
  margin-top: 3rem;
}
@media(max-width: 1023px) {
  .industry-grid {
    grid-template-columns: 1fr;
  }
}
.industry-card {
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 8px;
  padding: 2rem;
  transition: all 0.3s;
}
.industry-card:hover {
  border-color: rgba(236, 169, 89, 0.4);
  background: rgba(255, 255, 255, 0.02);
}
.industry-card-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 1.25rem;
}
.industry-active-badge {
  font-family: "Gilroy", sans-serif;
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  background: rgba(34, 197, 94, 0.15);
  color: #22c55e;
  border: 1px solid rgba(34, 197, 94, 0.25);
  border-radius: 3px;
  padding: 0.2rem 0.55rem;
}
.industry-card h3 {
  font-size: 1rem;
  font-weight: 800;
  color: var(--white);
  margin-bottom: 0.4rem;
  font-family: "Gilroy", sans-serif;
}
.industry-client-label {
  font-size: 0.78rem;
  color: var(--orange-300);
  font-style: italic;
  margin-bottom: 0.75rem;
}
.industry-meta {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}
.industry-meta-item {
  font-size: 0.72rem;
  color: rgba(255, 255, 255, 0.35);
  font-family: "Gilroy", sans-serif;
  font-weight: 600;
}
.industry-meta-item span {
  color: rgba(255, 255, 255, 0.55);
}
.industry-entities {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-top: 0.85rem;
}
.entity-chip {
  font-size: 0.68rem;
  color: rgba(255, 255, 255, 0.45);
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 3px;
  padding: 0.15rem 0.5rem;
  font-family: "Gilroy", sans-serif;
  font-weight: 600;
}
/* QMA */
.qma-section {
  padding: 5.5rem 2rem;
}
@media(max-width: 1023px) {
  .qma-section {
    padding: 4rem 2rem;
  }
}
.use-cases-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;
  margin-top: 2.5rem;
}
@media(max-width: 1023px) {
  .use-cases-grid {
    grid-template-columns: 1fr;
  }
}
.use-case-card {
  background: var(--grey-50);
  border: 1px solid var(--grey-100);
  border-radius: 8px;
  padding: 2rem;
  display: flex;
  gap: 1.5rem;
  align-items: flex-start;
  transition: all 0.25s;
}
@media(max-width: 767px) {
  .use-case-card {
    display: block;
  }
}
.use-case-card:hover {
  background: var(--white);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
}
.use-case-icon {
  width: 44px;
  height: 44px;
  background: var(--navy-500);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-bottom: 1rem;
}
.use-case-icon svg {
  fill: none;
  stroke: rgba(255, 255, 255, 0.8);
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.use-case-body h4 {
  font-family: "Gilroy", sans-serif;
  font-size: 1rem;
  font-weight: 800;
  color: var(--navy-500);
  margin-bottom: 0.5rem;
}
.use-case-body p {
  font-size: 0.87rem;
  color: var(--grey-400);
  line-height: 1.7;
}
.use-case-signal {
  font-size: 0.75rem;
  font-family: "Gilroy", sans-serif;
  font-weight: 700;
  color: var(--orange-500);
  letter-spacing: 0.04em;
  margin-top: 0.6rem;
}
/* 20 DIMENSIONS */
.dimensions {
  background: var(--grey-50);
  border-top: 1px solid var(--grey-100);
  border-bottom: 1px solid var(--grey-100);
  padding: 5.5rem 2rem;
}
@media(max-width: 1023px) {
  .dimensions {
    padding: 4rem 2rem;
  }
}
.dimensions-intro {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  align-items: start;
  margin-bottom: 3rem;
}
@media(max-width: 1023px) {
  .dimensions-intro {
    grid-template-columns: 1fr; 
    gap: 2rem;
  }
}
.dim-count-block {
  background: var(--navy-500);
  border-radius: 8px;
  padding: 2.5rem;
  text-align: center;
}
.dim-count-num {
  font-family: "Gilroy", sans-serif;
  font-size: 5rem;
  font-weight: 900;
  color: var(--white);
  line-height: 1;
  letter-spacing: -0.04em;
}
.dim-count-label {
  font-family: "Gilroy", sans-serif;
  font-size: 0.85rem;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.6);
  letter-spacing: 0.06em;
  margin-top: 0.5rem;
}
.dim-count-sub {
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.4);
  margin-top: 0.75rem;
  line-height: 1.6;
}
.dimensions-prose h3 {
  font-size: 1.4rem;
  font-weight: 800;
  color: var(--navy-500);
  margin-bottom: 1rem;
  line-height: 1.3;
}
.dimensions-prose p {
  font-size: 0.95rem;
  color: var(--grey-400);
  line-height: 1.8;
  margin-bottom: 1rem;
}
.dimensions-prose p:last-child {
  margin-bottom: 0;
}
.dim-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.75rem;
}
@media(max-width: 1023px) {
  .dim-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media(max-width: 767px) {
  .dim-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media(max-width: 480px) {
  .dim-grid {
    grid-template-columns: 1fr;
  }
}
.dim-chip {
  background: var(--white);
  border: 1px solid var(--grey-100);
  border-radius: 6px;
  padding: 0.85rem 1rem;
  font-family: "Gilroy", sans-serif;
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--navy-500);
  letter-spacing: 0.03em;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  transition: all 0.2s;
}
.dim-chip:hover {
  border-color: var(--navy-500);
  background: var(--grey-50);
}
.dim-chip-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  flex-shrink: 0;
}
.dot-measure {
  background: var(--navy-500);
}
.dot-analyze {
  background: var(--orange-500);
}
.dot-implement {
  background: var(--teal-500);
}
/* about template style for modules */
.about--template .hero-common::before {
  content: 'A';
  position: absolute;
  right: -2rem;
  top: 50%;
  transform: translateY(-55%);
  font-size: 52vw;
  font-weight: 900;
  font-family: "Gilroy", sans-serif;
  color: rgba(255, 255, 255, 0.022);
  line-height: 1;
  pointer-events: none;
  user-select: none;
}

/* career template style for modules */
.career--template .hero-common::before {
  content: 'C';
  position: absolute;
  right: -2rem;
  top: 50%;
  transform: translateY(-55%);
  font-size: 52vw;
  font-weight: 900;
  font-family: "Gilroy", sans-serif;
  color: rgba(255, 255, 255, 0.022);
  line-height: 1;
  pointer-events: none;
  user-select: none;
}

/* glossary template style for modules */
.glossary--template .hero-common {
  background: linear-gradient(135deg, var(--navy-900) 0%, var(--navy-700) 60%, #1e2d6b 100%);
}

/* contact template style for modules */
.contact--template .hero-common {
  background: var(--navy-800);
}
.contact--template .hero-common::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 70% 60% at 60% 40%, rgba(86,174,227,0.12) 0%, transparent 70%), radial-gradient(ellipse 40% 40% at 20% 80%, rgba(231,148,48,0.07) 0%, transparent 60%);
  pointer-events: none;
  transform: none;
}

/* how-it-works template style for modules */
.how-it-works--template .hero-common {
  background: var(--navy-900);
}
.how-it-works--template .hero-common::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 70% 60% at 65% 40%, rgba(39,54,115,0.4) 0%, transparent 70%);
  pointer-events: none;
  transform: none;
}

/* compass template style for modules */
.compass--template .hero-common {
  background: linear-gradient(135deg, #080f22 0%, #0d1a2e 55%, #0e1f37 100%);
}
.compass--template .hero-common::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 70% 80% at 80% 40%, rgba(26,122,110,0.25) 0%, transparent 70%);
}
.compass--template .hero-common .hero-eyebrow {
  font-size: 0.68rem;
  font-weight: 700;
  color: var(--teal-500);
  background: rgba(26,122,110,0.12);
  border: 1px solid rgba(26,122,110,0.25);
  display: inline-flex;
  align-items: center;
  gap: 0.2rem;
  border-radius: 100px;
  padding: 0.3rem 0.9rem;
  margin-bottom: 1.5rem;
}
.compass--template .hero-common .hero-eyebrow span {
  font-size: 0.72rem;
  color: rgba(255,255,255,0.45);
  letter-spacing: 0.06em;
  text-transform: none;
  font-weight: normal;
}
.compass--template .hero-common h1 {
  font-size: clamp(2rem, 4.5vw, 3.2rem);
}
.compass--template .close-section {
  background: var(--navy-800);
}
.compass--template .close-section::before {
  content: '';
  position: absolute;
  background: radial-gradient(ellipse 60% 100% at 50% 0%, rgba(26,122,110,0.4) 0%, transparent 70%);
  inset: 0;
}

/* galileo template style for modules */
.galileo--template .hero-common {
  background: linear-gradient(135deg, #080f22 0%, var(--navy-800) 55%, #162050 100%);
}
.galileo--template .hero-common::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 70% 80% at 80% 40%, rgba(39,54,115,0.35) 0%, transparent 70%);
}
.galileo--template .hero-common .hero-eyebrow {
  font-size: 0.68rem;
  font-weight: 700;
  color: var(--orange-400);
  background: rgba(236,169,89,0.12);
  border: 1px solid rgba(236,169,89,0.25);
  display: inline-flex;
  align-items: center;
  gap: 0.2rem;
  border-radius: 100px;
  padding: 0.3rem 0.9rem;
  margin-bottom: 1.5rem;
}
.galileo--template .hero-common .hero-eyebrow span {
  font-size: 0.72rem;
  color: rgba(255,255,255,0.45);
  letter-spacing: 0.06em;
  text-transform: none;
  font-weight: normal;
}
.galileo--template .hero-common h1 {
  font-size: clamp(2rem, 4.5vw, 3.2rem);
}
.galileo--template .close-section {
  background: var(--navy-800);
}
.galileo--template .close-section::before {
  content: '';
  position: absolute;
  background: radial-gradient(ellipse 60% 100% at 50% 0%, rgba(39,54,115,0.6) 0%, transparent 70%);
  inset: 0;
}

/* aeo-index template style for modules */
.aeo-index--template .hero-common {
  background: linear-gradient(135deg, #060d1e 0%, var(--navy-800) 50%, #12214a 100%);
}
.aeo-index--template .hero-common::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 60% 70% at 75% 30%, rgba(231,148,48,0.06) 0%, transparent 65%);
}
.aeo-index--template .hero-common .hero-eyebrow {
  font-size: 0.68rem;
  font-weight: 700;
  color: var(--orange-400);
  background: rgba(236,169,89,0.12);
  border: 1px solid rgba(236,169,89,0.25);
  display: inline-flex;
  align-items: center;
  gap: 0.2rem;
  border-radius: 100px;
  padding: 0.3rem 0.9rem;
  margin-bottom: 1.5rem;
}
.aeo-index--template .hero-common .hero-eyebrow span {
  font-size: 0.72rem;
  color: rgba(255,255,255,0.45);
  letter-spacing: 0.06em;
  text-transform: none;
  font-weight: normal;
}
.aeo-index--template .hero-common h1 {
  font-size: clamp(2rem, 4.5vw, 3.2rem);
}
.aeo-index--template .close-section {
  background: var(--navy-800);
}
.aeo-index--template .close-section::before {
  content: '';
  position: absolute;
  background: radial-gradient(ellipse 60% 100% at 50% 0%, rgba(39,54,115,0.6) 0%, transparent 70%);
  inset: 0;
}

/* data-ai template style for modules */
.data-ai--template .hero-common h1, .seo-aeo--template .hero-common h1 {
  font-size: clamp(2rem, 4vw, 3.1rem);
}

/* paid-media template style for modules */
.paid-media--template .hero-common h1 {
  font-size: clamp(2rem, 4.5vw, 3.2rem);
}
.paid-media--template .close-section::before {
  content: '';
  position: absolute;
  background: radial-gradient(ellipse 60% 100% at 50% 0%, rgba(39,54,115,0.6) 0%, transparent 70%);
  inset: 0;
}

/* landing-page template style for modules */
.landing-page--template .section-heading {
  color: var(--navy-900);
  font-size: clamp(1.6rem, 3vw, 2.2rem);
}
.landing-page--template .section-heading:after {
  display: none;
}
.landing-page--template .reco-strip .section-heading, .landing-page--template .stats-header .section-heading {
  color: var(--white);
}

/* research template style for modules */
.research--template .stats.dark {
  background: var(--navy-900);
}
/* ── LEGAL CONTENT ── */
.legal-body {
  background: var(--white);
}
.legal-inner {
  max-width: 800px;
  margin: 0 auto;
  padding: 4rem 2rem 5rem;
}
.legal-inner p {
  font-size: 1rem;
  line-height: 1.82;
  color: var(--grey-900);
  margin-bottom: 1.4rem;
}
.legal-inner h2 {
  font-size: 1.4rem;
  font-weight: 800;
  color: var(--navy-500);
  margin-top: 3rem;
  margin-bottom: 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid var(--grey-100);
}
.legal-inner h3 {
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--navy-500);
  margin-top: 2rem;
  margin-bottom: 0.75rem;
}
.legal-inner ul,
.legal-inner ol {
  margin: 0 0 1.4rem 1.5rem;
}
.legal-inner li {
  font-size: 1rem;
  line-height: 1.75;
  color: var(--grey-900);
  margin-bottom: 0.4rem;
}
.legal-inner a {
  color: var(--orange-500);
  text-decoration: none;
  transition: color 0.2s;
}
.legal-inner a:hover {
  color: var(--orange-600);
  text-decoration: underline;
}
.legal-inner strong {
  font-weight: 700;
  color: var(--grey-900);
}
.legal-effective {
  display: inline-block;
  background: var(--grey-50);
  border: 1px solid var(--grey-100);
  border-radius: 4px;
  padding: 0.5rem 1rem;
  font-size: 0.82rem;
  font-family: "Gilroy", sans-serif;
  font-weight: 600;
  color: var(--grey-400);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  margin-bottom: 2.5rem;
}
.legal-contact-box {
  background: var(--grey-50);
  border: 1px solid var(--grey-100);
  border-radius: 8px;
  padding: 2rem;
  margin-top: 3rem;
}
.legal-contact-box h3 {
  margin-top: 0;
  margin-bottom: 1rem;
}
.legal-contact-box p {
  margin-bottom: 0.5rem;
}
.legal-disclaimer {
  background: var(--grey-50);
  border-left: 4px solid var(--navy-500);
  border-radius: 0 4px 4px 0;
  padding: 1.25rem 1.5rem;
  margin: 1.5rem 0;
  font-size: 0.92rem;
  line-height: 1.7;
  color: var(--grey-500);
}
/* ---- FOOTER ---- */
footer {
  background: var(--navy-900);
  padding: 3.5rem 2rem 2rem;
}
.footer-inner {
  max-width: 1140px;
  margin: 0 auto;
}
.footer-top {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1.4fr;
  gap: 3rem;
  margin-bottom: 2.5rem;
  padding-bottom: 2rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
@media (max-width: 1280px) {
  .footer-top {
    grid-template-columns: 2fr 1fr 1fr 1.9fr;
  }
}
@media (max-width: 1023px) {
  .footer-top {
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
  }
}
@media (max-width: 480px) {
  .footer-top {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
}
.footer-logo img {
  height: 28px;
  margin-bottom: 1.5rem;
}
.footer-contact {
  list-style: none;
}
.footer-contact li {
  font-size: 0.85rem;
  color: rgba(255, 255, 255, 0.5);
  margin-bottom: 0.5rem;
}
.footer-contact a {
  color: rgba(255, 255, 255, 0.5);
  text-decoration: none;
  transition: color 0.2s;
}
.footer-contact a:hover {
  color: var(--orange-400);
}
.footer-nav-title {
  font-family: "Gilroy", sans-serif;
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--white);
  margin-bottom: 1rem;
}
.footer-nav {
  list-style: none;
}
.footer-nav li {
  margin-bottom: 0.4rem;
}
.footer-nav a {
  color: rgba(255, 255, 255, 0.5);
  text-decoration: none;
  font-size: 0.85rem;
  transition: color 0.2s;
}
.footer-nav a:hover {
  color: var(--orange-400);
}
.footer-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media (max-width: 1023px) {
  .footer-bottom {
    flex-direction: column;
    gap: 0.75rem;
    text-align: center;
  }
}
@media (max-width: 480px) {
  .footer-bottom {
    flex-direction: column;
    gap: 0.75rem;
    text-align: center;
  }
}
.footer-copy {
  color: rgba(255, 255, 255, 0.3);
  font-size: 0.78rem;
  flex: 1;
}
.footer-legal {
  display: flex;
  gap: 1.5rem;
  flex: 1;
  justify-content: center;
}
@media(max-width: 480px) {
  .footer-legal {
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.75rem;
  }
}
.footer-legal a {
  color: rgba(255, 255, 255, 0.3);
  text-decoration: none;
  font-size: 0.78rem;
  transition: color 0.2s;
}
.footer-legal a:hover {
  color: rgba(255, 255, 255, 0.6);
}
.footer-social {
  display: flex;
  gap: 1rem;
  flex: 1;
  justify-content: flex-end;
}
@media(max-width: 480px) {
  .footer-social {
    justify-content: center;
  }
}
.footer-social a {
  color: var(--orange-500);
  transition: color 0.2s;
}
.footer-social a:hover {
  color: var(--orange-400);
}
.footer-tagline {
  color: rgba(255, 255, 255, 0.35);
  font-size: 0.78rem;
  font-style: italic;
  margin: 0.4rem 0 1.1rem;
  line-height: 1.5;
}
.footer-col-title {
  font-family: "Gilroy", sans-serif;
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--white);
  margin-bottom: 1rem;
}
.footer-connect-blurb {
  color: rgba(255, 255, 255, 0.4);
  font-size: 0.82rem;
  margin-bottom: 1rem;
  line-height: 1.5;
}
.footer-subscribe form {
  display: flex;
  margin-top: 0.5rem;
}
.footer-subscribe form .hs-form-field {
  flex: 1;
  margin: 0;
}
.footer-subscribe form .hs-input {
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-right: none;
  color: white;
  padding: 0.55rem 0.75rem;
  font-size: 0.82rem;
  border-radius: 4px 0 0 4px;
  outline: none;
  min-width: 0;
}
.footer-subscribe form .hs-input::placeholder {
  color: rgba(255, 255, 255, 0.3);
}
.footer-subscribe form .hs-button {
  background: var(--orange-500);
  border: none;
  color: white;
  padding: 0.48rem 1rem;
  font-size: 1.1rem;
  cursor: pointer;
  border-radius: 0 4px 4px 0;
  transition: background 0.2s;
  flex-shrink: 0;
}
.footer-subscribe form .hs-button:hover {
  background: var(--orange-600);
}
.footer-updated {
  text-align: right;
  padding: 0.5rem 1rem 0;
}
.footer-updated-time {
  color: rgba(255,255,255,0.25);
  font-size: 0.72rem;
  letter-spacing: 0.02em;
}
/* Menu and simple menu */

.hs-menu-wrapper ul {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding-left: 0;
}

/* Horizontal menu */

.hs-menu-wrapper.hs-menu-flow-horizontal .hs-menu-children-wrapper {
  flex-direction: column;
}

@media (max-width: 767px) {
  .hs-menu-wrapper.hs-menu-flow-horizontal ul {
    flex-direction: column;
  }
}

/* Vertical menu */

.hs-menu-wrapper.hs-menu-flow-vertical ul {
  flex-direction: column;
}

/* Flyouts */

.hs-menu-wrapper.hs-menu-flow-vertical.flyouts ul {
  display: inline-flex;
}

@media (max-width: 767px) {
  .hs-menu-wrapper.hs-menu-flow-vertical ul {
    display: flex;
  }
}

.hs-menu-wrapper.flyouts .hs-item-has-children {
  position: relative;
}

.hs-menu-wrapper.flyouts .hs-menu-children-wrapper {
  left: -9999px;
  opacity: 0;
  position: absolute;
}

.hs-menu-wrapper.flyouts .hs-menu-children-wrapper a {
  display: block;
  white-space: nowrap;
}

.hs-menu-wrapper.hs-menu-flow-horizontal.flyouts .hs-item-has-children:hover > .hs-menu-children-wrapper {
  left: 0;
  opacity: 1;
  top: 100%;
}

.hs-menu-wrapper.hs-menu-flow-vertical.flyouts .hs-item-has-children:hover > .hs-menu-children-wrapper {
  left: 100%;
  opacity: 1;
  top: 0;
}

@media (max-width: 767px) {
  .hs-menu-wrapper.flyouts .hs-menu-children-wrapper,
  .hs-menu-wrapper.hs-menu-flow-horizontal.flyouts .hs-item-has-children:hover > .hs-menu-children-wrapper,
  .hs-menu-wrapper.hs-menu-flow-vertical.flyouts .hs-item-has-children:hover > .hs-menu-children-wrapper {
    left: 0;
    opacity: 1;
    position: relative;
    top: auto;
  }
}

/* CTA, logo, and rich text images */

.hs_cos_wrapper_type_cta img,
.hs_cos_wrapper_type_logo img,
.hs_cos_wrapper_type_rich_text img {
  height: auto;
  max-width: 100%;
}

/* Utilities
Helper classes with ability to override anything that comes before it
*/

/* For content that needs to be visually hidden but stay visible for screenreaders */

.show-for-sr {
  border: 0 !important;
  clip: rect(0, 0, 0, 0) !important;
  height: 1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  white-space: nowrap !important;
  width: 1px !important;
}

@media (max-width: 767px) {
  .show-for-sr--mobile {
    border: 0 !important;
    clip: rect(0, 0, 0, 0) !important;
    height: 1px !important;
    overflow: hidden !important;
    padding: 0 !important;
    position: absolute !important;
    white-space: nowrap !important;
    width: 1px !important;
  }
}