/* ============================================================
   MARS SIGMA SOLUTIONS ΓÇö PREMIUM INDUSTRIAL DESIGN SYSTEM
   Editorial Industrial Aesthetic | v1.0
   ============================================================ */

/* ΓöÇΓöÇΓöÇ GOOGLE FONTS IMPORT ΓöÇΓöÇΓöÇ */
@import url('https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Manrope:wght@300;400;500;600;700;800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@500;600&family=Cormorant+Garamond:ital,wght@0,500;0,600;1,500&display=swap');

/* ΓöÇΓöÇΓöÇ DESIGN TOKENS ΓöÇΓöÇΓöÇ */
:root {
  /* ============================================================
     EDIT THESE COLOURS TO RETHEME THE ENTIRE SITE
     High-contrast industrial palette
     ============================================================ */

  /* Core dark surfaces */
  --ink: #0B1220;
  --ink-navy: #111827;
  --ink-mid: #1F2937;

  /* Light surfaces */
  --off-white: #FFFFFF;
  --warm-white: #F8FAFC;

  /* Brand accents */
  --maroon: #641B25;
  --maroon-deep: #3B0D14;
  --red: #C62838;

  /* High-contrast neutrals */
  --grey-muted: #4B5563;
  --grey-light: #E5E7EB;
  --grey-border: #CBD5E1;

  /* Semantic aliases */
  --text-primary-dark: #FFFFFF;
  --text-secondary-dark: #D1D5DB;
  --text-primary-light: #0B1220;
  --text-secondary-light: #374151;
  --border-dark: #475569;
  --border-light: #CBD5E1;
  --accent-maroon: #641B25;
  --accent-maroon-bright: #C62838;
  --accent-ink-blue: #0B1220;

  /* Typography */
  --font-sans: 'Inter', 'Manrope', -apple-system, BlinkMacSystemFont, sans-serif;
  --font-small: 'Instrument Serif', Georgia, serif;
  --small-text-size: clamp(0.95rem, 1.1vw, 1.1rem);
  /* Reading copy only ΓÇö navigation keeps its existing size. */
  --body-copy-size: clamp(1.2rem, 1.5vw, 1.4rem);

  /* Spacing */
  --pad-x: clamp(1.5rem, 5vw, 6rem);
  /* Shared vertical rhythm: compact enough to avoid oversized empty sections. */
  --pad-y: clamp(3rem, 6vh, 6rem);

  /* Transition */
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-expo: cubic-bezier(0.19, 1, 0.22, 1);

  /* Nav */
  --nav-h: 60px;
}

/* ΓöÇΓöÇΓöÇ RESET ΓöÇΓöÇΓöÇ */
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  font-size: 16px;
  scroll-behavior: smooth;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

body {
  font-family: var(--font-sans);
  background: var(--ink);
  color: var(--off-white);
  overflow-x: hidden;
  cursor: none;
}

img {
  display: block;
  max-width: 100%;
  height: auto;
}

a {
  color: inherit;
  text-decoration: none;
}

ul {
  list-style: none;
}

address {
  font-style: normal;
}

button {
  cursor: none;
  border: none;
  background: none;
  font: inherit;
}

/* ΓöÇΓöÇΓöÇ SELECTION ΓöÇΓöÇΓöÇ */
::selection {
  background: var(--maroon);
  color: var(--off-white);
}

/* ΓöÇΓöÇΓöÇ SCROLLBAR ΓöÇΓöÇΓöÇ */
::-webkit-scrollbar {
  width: 4px;
}

::-webkit-scrollbar-track {
  background: var(--ink);
}

::-webkit-scrollbar-thumb {
  background: var(--maroon);
}


/* ============================================================
   CURSOR
   ============================================================ */
.cursor {
  position: fixed;
  top: 0;
  left: 0;
  pointer-events: none;
  z-index: 9999;
  mix-blend-mode: difference;
}

.cursor__dot {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--off-white);
  transform: translate(-50%, -50%);
  transition: width 0.2s var(--ease-out), height 0.2s var(--ease-out), opacity 0.2s;
}

.cursor__ring {
  position: absolute;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1px solid rgba(243, 241, 235, 0.5);
  transform: translate(-50%, -50%);
  transition:
    width 0.35s var(--ease-out),
    height 0.35s var(--ease-out),
    opacity 0.3s,
    border-color 0.3s;
}

.cursor__label {
  position: absolute;
  transform: translate(-50%, -50%);
  font-family: var(--font-sans);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.12em;
  color: var(--off-white);
  white-space: nowrap;
  opacity: 0;
  transition: opacity 0.2s;
}

body.cursor--hover .cursor__ring {
  width: 60px;
  height: 60px;
  border-color: var(--off-white);
}

body.cursor--text .cursor__ring {
  width: 80px;
  height: 80px;
  background: rgba(243, 241, 235, 0.08);
  border-color: transparent;
}

body.cursor--text .cursor__label {
  opacity: 1;
}

/* ============================================================
   PAGE TRANSITION
   ============================================================ */
.page-transition {
  position: fixed;
  inset: 0;
  background: var(--ink);
  z-index: 9998;
  pointer-events: none;
  transform: translateY(-100%);
  opacity: 0;
}

.page-transition__bar {
  position: absolute;
  bottom: 0;
  left: -5%;
  width: 0;
  height: 2px;
  background: var(--maroon);
  transition: width 0.5s var(--ease-expo);
}

/* ============================================================
   TYPOGRAPHY UTILITIES
   ============================================================ */
.eyebrow {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--grey-muted);
  margin-bottom: 1.5rem;
}

.eyebrow--light {
  color: rgba(243, 241, 235, 0.4);
}

/* ============================================================
   BUTTON SYSTEM
   ============================================================ */
.btn {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  padding: 1rem 2rem;
  font-family: var(--font-sans);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  transition: all 0.3s var(--ease-out);
  position: relative;
  overflow: hidden;
}

.btn::before {
  content: '';
  position: absolute;
  inset: 0;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.4s var(--ease-expo);
}

.btn:hover::before {
  transform: scaleX(1);
}

.btn--light {
  background: var(--off-white);
  color: var(--ink);
  border: 1px solid var(--off-white);
}

.btn--light::before {
  background: var(--warm-white);
}

.btn--light:hover {
  color: var(--ink-navy);
}

.btn--ghost {
  background: transparent;
  color: var(--off-white);
  border: 1px solid rgba(243, 241, 235, 0.3);
}

.btn--ghost::before {
  background: rgba(243, 241, 235, 0.06);
}

.btn--ghost:hover {
  border-color: rgba(243, 241, 235, 0.6);
}

.btn--large {
  padding: 1.25rem 2.5rem;
  font-size: 13px;
}

.btn__arrow {
  display: inline-block;
  transition: transform 0.3s var(--ease-out);
}

.btn:hover .btn__arrow {
  transform: translateX(4px);
}


/* ============================================================
   NAVIGATION
   ============================================================ */
.nav {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  height: var(--nav-h);
  transition: background 0.4s var(--ease-out), backdrop-filter 0.4s var(--ease-out);
}

.nav--scrolled {
  background: rgba(5, 8, 12, 0.92);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid var(--grey-border);
}

.nav__inner {
  display: flex;
  align-items: center;
  height: 100%;
  padding: 0 var(--pad-x);
  gap: 3rem;
}

.nav__logo {
  display: flex;
  flex-direction: column;
  line-height: 1;
  flex-shrink: 0;
}

.nav__logo-line1 {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.12em;
  color: var(--off-white);
}

.nav__logo-line2 {
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0.10em;
  color: var(--grey-muted);
}

.nav__links {
  display: flex;
  align-items: center;
  gap: 2.5rem;
  margin-left: auto;
}

.nav__link {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.14em;
  color: rgba(243, 241, 235, 0.7);
  transition: color 0.25s;
  position: relative;
}

.nav__link::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 0;
  height: 1px;
  background: var(--off-white);
  transition: width 0.3s var(--ease-out);
}

.nav__link:hover {
  color: var(--off-white);
}

.nav__link:hover::after {
  width: 100%;
}

.nav__cta {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.14em;
  color: var(--off-white);
  padding: 0.6rem 1.25rem;
  border: 1px solid rgba(243, 241, 235, 0.25);
  transition: all 0.3s var(--ease-out);
  flex-shrink: 0;
}

.nav__cta:hover {
  background: var(--off-white);
  color: var(--ink);
  border-color: var(--off-white);
}

.nav__hamburger {
  display: none;
  flex-direction: column;
  gap: 5px;
  padding: 6px;
  margin-left: auto;
}

.nav__hamburger span {
  display: block;
  width: 22px;
  height: 1px;
  background: var(--off-white);
  transition: all 0.3s var(--ease-out);
  transform-origin: center;
}

.nav__hamburger.active span:first-child {
  transform: rotate(45deg) translate(4px, 4px);
}

.nav__hamburger.active span:last-child {
  transform: rotate(-45deg) translate(4px, -4px);
}

/* ΓöÇΓöÇΓöÇ Mobile Menu ΓöÇΓöÇΓöÇ */
.mobile-menu {
  position: fixed;
  inset: 0;
  background: var(--ink-navy);
  z-index: 99;
  display: flex;
  flex-direction: column;
  transform: translateX(100%);
  transition: transform 0.6s var(--ease-expo);
}

.mobile-menu.open {
  transform: translateX(0);
}

.mobile-menu__inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: calc(var(--nav-h) + 2rem) var(--pad-x) var(--pad-x);
  height: 100%;
}

.mobile-menu__nav {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.mobile-menu__link {
  font-size: clamp(1.75rem, 6vw, 3rem);
  font-weight: 500;
  letter-spacing: -0.025em;
  color: rgba(243, 241, 235, 0.6);
  padding: 0.6rem 0;
  border-bottom: 1px solid var(--grey-border);
  transition: color 0.25s, padding-left 0.3s var(--ease-out);
}

.mobile-menu__link:hover,
.mobile-menu__link:focus {
  color: var(--off-white);
  padding-left: 1rem;
}

.mobile-menu__link--cta {
  color: var(--off-white);
  border-bottom: none;
  margin-top: 1.5rem;
}

.mobile-menu__footer {
  display: flex;
  justify-content: space-between;
  padding-top: 2rem;
  font-size: 12px;
  letter-spacing: 0.1em;
  color: rgba(243, 241, 235, 0.35);
  border-top: 1px solid var(--grey-border);
  margin-top: auto;
}


/* ============================================================
   HERO
   ============================================================ */
.hero {
  position: relative;
  height: 100svh;
  min-height: 680px;
  max-height: 1100px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.hero__bg {
  position: absolute;
  inset: 0;
}

.hero__img-wrap {
  position: absolute;
  inset: 0;
  transform-origin: center;
  overflow: hidden;
}

.hero__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: right center;
  filter: grayscale(10%) brightness(0.85);
  display: block;
}

.hero__grain {
  position: absolute;
  inset: 0;
  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)' opacity='0.04'/%3E%3C/svg%3E");
  background-size: 200px;
  opacity: 0.35;
  mix-blend-mode: overlay;
  pointer-events: none;
}

.hero__gradient {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(to right, rgba(5, 8, 12, 0.70) 0%, rgba(5, 8, 12, 0.2) 60%, transparent 100%),
    linear-gradient(to top, rgba(5, 8, 12, 0.75) 0%, transparent 50%);
}

.hero__content {
  position: relative;
  z-index: 2;
  padding: calc(var(--nav-h) + 6vh) var(--pad-x) clamp(6rem, 12vh, 9rem);
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  width: 100%;
  max-width: min(65%, 860px);
}

.hero__eyebrow {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 2.5rem;
  overflow: hidden;
}

.hero__eyebrow span {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.22em;
  color: rgba(243, 241, 235, 0.5);
  text-transform: uppercase;
  display: block;
  transform: translateY(100%);
}

.hero__headline {
  font-size: clamp(3.5rem, 7vw, 7.5rem);
  font-weight: 500;
  line-height: 0.92;
  letter-spacing: -0.045em;
  color: var(--off-white);
  margin-bottom: 2.5rem;
}

.hero__line {
  display: block;
  overflow: hidden;
}

.hero__line span {
  display: block;
  transform: translateY(110%);
}

.hero__line--accent span {
  color: var(--red);
}

.hero__body {
  font-size: clamp(0.9rem, 1.5vw, 1.05rem);
  line-height: 1.7;
  color: rgba(243, 241, 235, 0.6);
  max-width: 520px;
  margin-bottom: 3rem;
  opacity: 0;
}

.hero__ctas {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  opacity: 0;
}

.hero__meta {
  position: relative;
  z-index: 2;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  padding: 2rem var(--pad-x);
  opacity: 0;
}

.hero__meta-left {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.18em;
  color: rgba(243, 241, 235, 0.35);
}

.hero__meta-right {
  display: flex;
  align-items: baseline;
  gap: 0.75rem;
}

.hero__stat-num {
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  font-weight: 300;
  letter-spacing: -0.04em;
  color: var(--off-white);
  line-height: 1;
}

.hero__stat-label {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.16em;
  color: rgba(243, 241, 235, 0.4);
  max-width: 120px;
  text-transform: uppercase;
}

.hero__scroll {
  position: absolute;
  bottom: 2rem;
  right: var(--pad-x);
  left: auto;
  transform: none;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  opacity: 0;
}

.hero__scroll-label {
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.22em;
  color: rgba(243, 241, 235, 0.35);
}

.hero__scroll-arrow {
  color: rgba(243, 241, 235, 0.35);
  animation: scrollBounce 2s ease-in-out infinite;
}

@keyframes scrollBounce {

  0%,
  100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(6px);
  }
}


/* ============================================================
   INTRO / POSITIONING
   ============================================================ */
.intro {
  background: var(--warm-white);
  color: var(--ink);
  padding: var(--pad-y) var(--pad-x);
}

.intro__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6rem;
  align-items: start;
  max-width: 1400px;
  margin: 0 auto;
}

.intro__left .eyebrow {
  color: #2a75d3;
  border-left: 3px solid #2a75d3;
  padding-left: 0.75rem;
  letter-spacing: 0.22em;
}

.intro__headline {
  font-size: clamp(1.8rem, 3.5vw, 3.5rem);
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -0.03em;
  color: var(--ink);
  background: linear-gradient(135deg, #ffffff 0%, #c8deff 40%, #2a75d3 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-shadow: none;
  position: relative;
}
.intro__headline::after {
  content: '';
  display: block;
  width: 60px;
  height: 3px;
  background: linear-gradient(90deg, #2a75d3, #64aaff);
  border-radius: 2px;
  margin-top: 1.2rem;
  box-shadow: 0 0 12px rgba(42, 117, 211, 0.5);
}

.intro__right {
  padding-top: 1rem;
}

.intro__body {
  font-size: 1.05rem;
  line-height: 1.7;
  color: #3a3a3a;
  margin-bottom: 1.5rem;
}

/* ΓöÇΓöÇΓöÇ Stats ΓöÇΓöÇΓöÇ */
.stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2px;
  margin-top: 3rem;
  border-top: 1px solid rgba(5, 8, 12, 0.1);
  padding-top: 2rem;
}

.stat {
  padding: 1.5rem 0;
  border-right: 1px solid rgba(5, 8, 12, 0.08);
  padding-right: 1.5rem;
}

.stat:nth-child(even) {
  padding-right: 0;
  padding-left: 1.5rem;
  border-right: none;
}

.stat__num {
  display: block;
  font-size: clamp(2.5rem, 4vw, 3.5rem);
  font-weight: 300;
  letter-spacing: -0.05em;
  line-height: 1;
  color: var(--ink);
  margin-bottom: 0.5rem;
}

.stat__label {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.16em;
  color: var(--grey-muted);
  text-transform: uppercase;
}


/* ============================================================
   SERVICES
   ============================================================ */
.services {
  background: var(--ink);
}

.services__header {
  padding: var(--pad-y) var(--pad-x) 0;
  max-width: 1400px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: end;
  gap: 3rem;
  padding-bottom: 4rem;
}

.services__headline {
  font-size: clamp(2.5rem, 5vw, 5.5rem);
  font-weight: 500;
  line-height: 0.92;
  letter-spacing: -0.045em;
  color: var(--off-white);
  text-align: right;
}

/* ΓöÇΓöÇΓöÇ Service Panel ΓöÇΓöÇΓöÇ */
.service-panel {
  border-top: 1px solid var(--grey-border);
  position: relative;
  overflow: hidden;
  transition: background 0.5s var(--ease-out);
}

.service-panel:hover {
  background: rgba(255, 255, 255, 0.02);
}

.service-panel__inner {
  display: grid;
  grid-template-columns: 1fr 480px;
  min-height: 420px;
  max-width: 1400px;
  margin: 0 auto;
}

.service-panel--alt .service-panel__inner {
  grid-template-columns: 480px 1fr;
  direction: rtl;
}

.service-panel--alt .service-panel__inner>* {
  direction: ltr;
}

.service-panel__meta {
  display: flex;
  gap: 3rem;
  padding: 4rem var(--pad-x);
  align-items: flex-start;
}

.service-panel__num {
  font-size: clamp(4rem, 7vw, 6rem);
  font-weight: 300;
  letter-spacing: -0.06em;
  line-height: 1;
  color: rgba(243, 241, 235, 0.08);
  flex-shrink: 0;
  transition: color 0.4s;
}

.service-panel:hover .service-panel__num {
  color: rgba(243, 241, 235, 0.15);
}

.service-panel__content {
  flex: 1;
  padding-top: 0.5rem;
}

.service-panel__title {
  font-size: clamp(2rem, 3.5vw, 3.25rem);
  font-weight: 500;
  letter-spacing: -0.04em;
  line-height: 0.95;
  color: var(--off-white);
  margin-bottom: 1.75rem;
}

.service-panel__body {
  font-size: 1rem;
  line-height: 1.7;
  color: rgba(243, 241, 235, 0.55);
  max-width: 420px;
  margin-bottom: 2rem;
}

.service-panel__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 2.5rem;
}

.service-panel__tags li {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.12em;
  padding: 0.4rem 0.8rem;
  border: 1px solid var(--grey-border);
  color: rgba(243, 241, 235, 0.45);
  transition: all 0.25s;
}

.service-panel:hover .service-panel__tags li {
  border-color: rgba(243, 241, 235, 0.2);
  color: rgba(243, 241, 235, 0.65);
}

.service-panel__cta {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.14em;
  color: var(--off-white);
  border-bottom: 1px solid rgba(243, 241, 235, 0.2);
  padding-bottom: 2px;
  transition: all 0.3s var(--ease-out);
}

.service-panel__cta:hover {
  color: var(--red);
  border-color: var(--red);
}

.service-panel__cta span {
  transition: transform 0.3s var(--ease-out);
}

.service-panel__cta:hover span {
  transform: translateX(4px);
}

.service-panel__img-wrap {
  position: relative;
  overflow: hidden;
  min-height: 400px;
}

.service-panel__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: grayscale(15%) brightness(0.75);
  transition: filter 0.6s var(--ease-out), transform 0.8s var(--ease-expo);
}

.service-panel:hover .service-panel__img {
  filter: grayscale(0%) brightness(0.85);
  transform: scale(1.03);
}


/* ============================================================
   ISO FEATURE
   ============================================================ */
.iso-feature {
  background:
    radial-gradient(circle at 78% 18%, rgba(165, 35, 46, 0.28), transparent 34%),
    linear-gradient(135deg, #2b080f 0%, var(--maroon-deep) 52%, #19070b 100%);
  padding: var(--pad-y) var(--pad-x);
  position: relative;
  overflow: hidden;
}

.iso-feature::before {
  content: '';
  position: absolute;
  top: -40%;
  right: -20%;
  width: 600px;
  height: 600px;
  border-radius: 50%;
  background: rgba(165, 35, 46, 0.08);
  filter: blur(80px);
  pointer-events: none;
}

.iso-feature__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6rem;
  max-width: 1400px;
  margin: 0 auto 3rem;
}

.iso-feature__headline {
  font-family: 'Manrope', sans-serif;
  font-size: clamp(1.8rem, 3.5vw, 3.5rem);
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: -0.04em;
  background: linear-gradient(135deg,
    #ffffff 0%, #b8d4ff 25%, #64aaff 50%,
    #ffffff 65%, #b8d4ff 80%, #64aaff 100%);
  background-size: 200% auto;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: isoShimmer 4s linear infinite, isoFloat 5s ease-in-out infinite;
}
@keyframes isoShimmer {
  0%   { background-position: 0% center; }
  100% { background-position: 200% center; }
}
@keyframes isoFloat {
  0%, 100% {
    transform: translateY(0);
    filter: drop-shadow(0 0 0px rgba(100,170,255,0));
  }
  50% {
    transform: translateY(-6px);
    filter: drop-shadow(0 0 22px rgba(100,170,255,0.5));
  }
}

.iso-feature__body-col {
  padding-top: 5rem;
}

.iso-feature__body {
  font-size: 1rem;
  line-height: 1.75;
  color: rgba(243, 241, 235, 0.6);
  margin-bottom: 1.5rem;
}

/* ΓöÇΓöÇΓöÇ ISO Timeline ΓöÇΓöÇΓöÇ */
.iso-timeline {
  max-width: 1400px;
  margin: 0 auto;
  border-top: 1px solid rgba(243, 241, 235, 0.28);
  padding: 2rem 2.25rem 2.5rem;
  background: rgba(5, 8, 12, 0.26);
  box-shadow: inset 0 1px 0 rgba(243, 241, 235, 0.06), 0 1.5rem 4rem rgba(0, 0, 0, 0.16);
}

.iso-timeline__track {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 0;
  position: relative;
}

.iso-timeline__line {
  position: absolute;
  top: 1.5rem;
  left: 0;
  right: 0;
  height: 2px;
  background: rgba(243, 241, 235, 0.24);
  overflow: hidden;
}

.iso-timeline__line::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, var(--red), #f05a66 70%, var(--off-white));
  box-shadow: 0 0 16px rgba(240, 90, 102, 0.9);
  transform: scaleX(var(--iso-progress, 0));
  transform-origin: left center;
  will-change: transform;
}

.iso-step {
  padding: 0 1.75rem;
  padding-top: 3.75rem;
  position: relative;
  border-right: 1px solid rgba(243, 241, 235, 0.14);
  opacity: 0.72;
  transition: opacity 0.35s ease, transform 0.35s ease;
}

.iso-step:first-child {
  padding-left: 0;
}

.iso-step:last-child {
  padding-right: 0;
  border-right: none;
}

.iso-step::before {
  content: '';
  position: absolute;
  top: calc(1.5rem - 4px);
  left: 1.5rem;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--maroon);
  border: 2px solid var(--off-white);
  box-shadow: 0 0 0 5px rgba(165, 35, 46, 0.2);
  transition: background 0.35s, box-shadow 0.35s, transform 0.35s;
}

.iso-step:first-child::before {
  left: 0;
}

.iso-step.active,
.iso-step:hover {
  opacity: 1;
  transform: translateY(-0.35rem);
}

.iso-step.active::before,
.iso-step:hover::before {
  background: #f05a66;
  box-shadow: 0 0 0 6px rgba(240, 90, 102, 0.2), 0 0 20px rgba(240, 90, 102, 0.8);
}

.iso-step__num {
  font-family: 'Manrope', sans-serif;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.22em;
  color: rgba(100,170,255,0.7);
  margin-bottom: 0.5rem;
}

.iso-step__label {
  font-family: 'Manrope', sans-serif;
  font-size: clamp(0.85rem, 1.1vw, 1rem);
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  margin-bottom: 0.75rem;
  background: linear-gradient(135deg, #ffffff 0%, #b8d4ff 40%, #64aaff 100%);
  background-size: 200% auto;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: stepLabelShimmer 4s linear infinite, stepLabelGlow 3s ease-in-out infinite;
}

@keyframes stepLabelShimmer {
  0%   { background-position: 0% center; }
  100% { background-position: 200% center; }
}
@keyframes stepLabelGlow {
  0%, 100% { filter: drop-shadow(0 0 0px rgba(100,170,255,0)); }
  50%       { filter: drop-shadow(0 0 10px rgba(100,170,255,0.7)); }
}

/* Staggered glow delays per step */
.iso-step:nth-child(1) .iso-step__label { animation-delay: 0s, 0s; }
.iso-step:nth-child(2) .iso-step__label { animation-delay: 0s, 0.6s; }
.iso-step:nth-child(3) .iso-step__label { animation-delay: 0s, 1.2s; }
.iso-step:nth-child(4) .iso-step__label { animation-delay: 0s, 1.8s; }

.iso-step__desc {
  font-family: 'Inter', sans-serif;
  font-size: 0.88rem;
  line-height: 1.7;
  color: rgba(180, 210, 255, 0.72);
}


/* ============================================================
   WHY MARS SIGMA
   ============================================================ */
.why {
  background: var(--warm-white);
  color: var(--ink);
  padding: var(--pad-y) var(--pad-x);
}

.why__inner {
  max-width: 1400px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 380px 1fr;
  gap: 6rem;
  align-items: start;
}

.why__header .eyebrow {
  color: var(--grey-muted);
}

.why__headline {
  font-family: 'Manrope', sans-serif;
  font-size: clamp(2rem, 4vw, 3.8rem);
  font-weight: 800;
  line-height: 1.0;
  letter-spacing: -0.04em;
  margin-bottom: 2rem;
  background: linear-gradient(135deg, #ffffff 0%, #b8d4ff 30%, #64aaff 60%, #ffffff 100%);
  background-size: 200% auto;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: whyShimmer 5s linear infinite, whyFloat 6s ease-in-out infinite;
}
@keyframes whyShimmer {
  0%   { background-position: 0% center; }
  100% { background-position: 200% center; }
}
@keyframes whyFloat {
  0%, 100% { transform: translateY(0); filter: drop-shadow(0 0 0px rgba(100,170,255,0)); }
  50%       { transform: translateY(-5px); filter: drop-shadow(0 0 18px rgba(100,170,255,0.45)); }
}

.why__sub {
  font-family: 'Inter', sans-serif;
  font-size: 0.95rem;
  line-height: 1.75;
  color: rgba(180,210,255,0.7);
  max-width: 360px;
}

.why__pillars {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.why__pillar {
  display: flex;
  gap: 2rem;
  align-items: flex-start;
  padding: 1.5rem 1.5rem;
  border-bottom: 1px solid rgba(60,100,180,0.15);
  border-left: 3px solid transparent;
  border-radius: 0 8px 8px 0;
  transition: all 0.4s cubic-bezier(0.16,1,0.3,1);
  background: transparent;
}

.why__pillar:first-child {
  border-top: 1px solid rgba(60,100,180,0.15);
}

.why__pillar:hover {
  padding-left: 2rem;
  border-left-color: #64aaff;
  background: rgba(30,70,160,0.08);
  backdrop-filter: blur(4px);
  box-shadow: inset 0 0 30px rgba(30,70,160,0.05), 0 0 20px rgba(30,70,160,0.1);
}

.why__pillar-num {
  font-family: 'Manrope', sans-serif;
  font-size: clamp(1.5rem, 2.5vw, 2rem);
  font-weight: 800;
  letter-spacing: -0.05em;
  color: rgba(100,170,255,0.45);
  flex-shrink: 0;
  line-height: 1;
  padding-top: 0.2rem;
  transition: all 0.3s;
}

.why__pillar:hover .why__pillar-num {
  color: #64aaff;
  filter: drop-shadow(0 0 8px rgba(100,170,255,0.5));
}

.why__pillar-title {
  font-family: 'Manrope', sans-serif;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  margin-bottom: 0.5rem;
  color: #d5eeff;
  animation: pillarTitleShimmer 5s linear infinite;
}
@keyframes pillarTitleShimmer {
  0%   { background-position: 0% center; }
  100% { background-position: 200% center; }
}
.why__pillar:nth-child(1) .why__pillar-title { animation-delay: 0s; }
.why__pillar:nth-child(2) .why__pillar-title { animation-delay: 0.8s; }
.why__pillar:nth-child(3) .why__pillar-title { animation-delay: 1.6s; }
.why__pillar:nth-child(4) .why__pillar-title { animation-delay: 2.4s; }

.why__pillar-text {
  font-family: 'Inter', sans-serif;
  font-size: 0.88rem;
  line-height: 1.7;
  color: rgba(180,210,255,0.65);
}




/* ============================================================
   INDUSTRIES
   ============================================================ */
.industries {
  background: var(--ink-navy);
  padding: 4rem var(--pad-x) 4.5rem;
}

.industries__header {
  max-width: 1400px;
  margin: 0 auto 2rem;
}

.industries__headline {
  font-size: clamp(1.6rem, 3vw, 2.8rem);
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -0.03em;
  color: var(--off-white);
}

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

/* Image thumbnail */
.industry-card__img-wrap {
  width: 100%;
  height: 160px;
  overflow: hidden;
  border-radius: 8px 8px 0 0;
  margin-bottom: 0;
}
.industry-card__img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 30%;
  filter: brightness(0.78) saturate(0.92);
  transition: transform 0.5s cubic-bezier(0.16,1,0.3,1), filter 0.4s ease;
  display: block;
}
/* Per-card face-centering */
.industry-card:nth-child(1) .industry-card__img-wrap img { object-position: center 40%; }
.industry-card:nth-child(2) .industry-card__img-wrap img { object-position: center 35%; }
.industry-card:nth-child(3) .industry-card__img-wrap img { object-position: center 30%; }
.industry-card:nth-child(4) .industry-card__img-wrap img { object-position: center 35%; }
.industry-card:nth-child(5) .industry-card__img-wrap img { object-position: center 40%; }
.industry-card:nth-child(6) .industry-card__img-wrap img { object-position: center 38%; }

.industry-card__content {
  padding: 0.85rem 1rem 1rem;
}

.industry-card {
  padding: 0;
  border: 1px solid rgba(60,100,180,0.15);
  border-radius: 10px;
  position: relative;
  overflow: hidden;
  background: rgba(5,15,35,0.55);
  backdrop-filter: blur(6px);
  transition: all 0.35s cubic-bezier(0.16,1,0.3,1);
  cursor: default;
}

.industry-card:nth-child(3),
.industry-card:nth-child(6) { border-right: none; }
.industry-card:nth-child(4),
.industry-card:nth-child(5),
.industry-card:nth-child(6) { border-bottom: none; }

.industry-card:hover {
  border-color: rgba(100,170,255,0.35);
  background: rgba(10,25,60,0.72);
  box-shadow: 0 6px 28px rgba(30,70,160,0.2), 0 0 0 1px rgba(100,170,255,0.18);
  transform: translateY(-3px);
}

.industry-card:hover .industry-card__img-wrap img {
  transform: scale(1.06);
  filter: brightness(0.88) saturate(1.1);
}

.industry-card__num {
  font-family: 'Manrope', sans-serif;
  font-size: 1.4rem;
  font-weight: 800;
  letter-spacing: -0.05em;
  line-height: 1;
  color: rgba(100,170,255,0.2);
  margin: 0 0 0.4rem 0;
  transition: color 0.3s;
}

.industry-card:hover .industry-card__num {
  color: rgba(100,170,255,0.55);
}

.industry-card__title {
  font-family: 'Manrope', sans-serif;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #c8e0ff;
  margin-bottom: 0.35rem;
  transition: color 0.3s;
}

.industry-card:hover .industry-card__title {
  color: #eaf4ff;
  filter: drop-shadow(0 0 6px rgba(100,170,255,0.5));
}

.industry-card__desc {
  font-family: 'Inter', sans-serif;
  font-size: 0.75rem;
  line-height: 1.6;
  color: rgba(160,205,255,0.6);
}

.industry-card__bar {
  position: absolute;
  bottom: 0;
  left: 0;
  height: 2px;
  width: 0;
  background: linear-gradient(90deg, #1466d4, #64aaff);
  box-shadow: 0 0 6px rgba(100,170,255,0.5);
  transition: width 0.45s cubic-bezier(0.16,1,0.3,1);
}

.industry-card:hover .industry-card__bar {
  width: 100%;
}


/* ============================================================
   FOUNDER — REBUILT
   ============================================================ */
.founder {
  background: linear-gradient(160deg, #030e20 0%, #061528 55%, #030e20 100%);
  color: #d5eeff;
  padding: 6rem clamp(1.5rem, 6vw, 7rem) 6rem;
}

.founder__inner {
  max-width: 1300px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 320px 1fr;
  gap: 5rem;
  align-items: center;
}

/* Portrait */
.founder__portrait-col {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.25rem;
}

.founder__img-frame {
  position: relative;
  width: 100%;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid rgba(100,170,255,0.2);
  box-shadow: 0 0 40px rgba(30,80,200,0.18), 0 20px 60px rgba(0,0,0,0.4);
  background: #0a1a30;
}

.founder__img {
  width: 100%;
  aspect-ratio: 3/4;
  object-fit: cover;
  object-position: top center;
  display: block;
  filter: contrast(1.04) brightness(0.97);
}

.founder__img-glow {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 55%, rgba(3,14,32,0.85) 100%);
  pointer-events: none;
}

.founder__name-tag {
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
}

.founder__name {
  font-family: 'Manrope', sans-serif;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.18em;
  color: #c8e0ff;
  text-transform: uppercase;
}

.founder__role {
  font-family: 'Inter', sans-serif;
  font-size: 0.75rem;
  color: rgba(160,205,255,0.6);
  letter-spacing: 0.04em;
}

/* Content col */
.founder__eyebrow {
  font-family: 'Inter', sans-serif;
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: rgba(100,170,255,0.75) !important;
  margin-bottom: 1rem;
}

.founder__headline {
  font-family: 'Manrope', sans-serif;
  font-size: clamp(2.4rem, 4vw, 4rem);
  font-weight: 800;
  line-height: 1.0;
  letter-spacing: -0.04em;
  color: #eaf4ff;
  margin-bottom: 1.5rem;
}

.founder__body {
  font-family: 'Inter', sans-serif;
  font-size: 1rem;
  line-height: 1.75;
  color: rgba(160,210,255,0.75);
  margin-bottom: 2rem;
  max-width: 500px;
}

/* Credential pills */
.founder__creds {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.6rem;
  margin-bottom: 2.5rem;
}

.founder__cred {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  padding: 0.65rem 0.85rem;
  background: rgba(100,170,255,0.07);
  border: 1px solid rgba(100,170,255,0.14);
  border-radius: 8px;
  transition: all 0.3s ease;
}

.founder__cred:hover {
  background: rgba(100,170,255,0.14);
  border-color: rgba(100,170,255,0.3);
  transform: translateY(-2px);
}

.founder__cred-label {
  font-family: 'Inter', sans-serif;
  font-size: 0.6rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(100,170,255,0.6);
}

.founder__cred-value {
  font-family: 'Manrope', sans-serif;
  font-size: 0.78rem;
  font-weight: 700;
  color: #d5eeff;
  letter-spacing: 0.02em;
}

/* Stats row */
.founder__stats {
  display: flex;
  gap: 2.5rem;
  padding-top: 2rem;
  border-top: 1px solid rgba(100,170,255,0.15);
}

.founder__stat {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.founder__stat-num {
  font-family: 'Manrope', sans-serif;
  font-size: clamp(1.8rem, 3vw, 2.5rem);
  font-weight: 800;
  letter-spacing: -0.04em;
  line-height: 1;
  color: #eaf4ff;
  display: block;
}

.founder__stat-label {
  font-family: 'Inter', sans-serif;
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  color: rgba(160,205,255,0.6);
  text-transform: uppercase;
}



.founder__inner {
  max-width: 1400px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 400px 1fr;
  gap: 6rem;
  align-items: center;
}

.founder__img-wrap {
  position: relative;
  overflow: hidden;
  border-radius: 4px;
}

.founder__img {
  width: 100%;
  aspect-ratio: 3/4;
  object-fit: cover;
  object-position: top center;
  filter: grayscale(8%) contrast(1.05);
  display: block;
}

.founder__img-caption {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 1.25rem;
  background: rgba(5, 8, 12, 0.75);
  backdrop-filter: blur(8px);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.12em;
  color: var(--off-white);
  text-align: center;
}

.founder__img-caption span {
  font-weight: 300;
  color: rgba(243, 241, 235, 0.5);
  font-size: 10px;
  letter-spacing: 0.08em;
}

.founder__content-col .eyebrow {
  color: var(--grey-muted);
}

.founder__headline {
  font-size: clamp(2.5rem, 4.5vw, 4.5rem);
  font-weight: 500;
  line-height: 0.92;
  letter-spacing: -0.045em;
  color: var(--ink);
  margin-bottom: 1.75rem;
}

.founder__body {
  font-size: 1rem;
  line-height: 1.7;
  color: #4a4a4a;
  margin-bottom: 2.5rem;
  max-width: 480px;
}

/* ΓöÇΓöÇΓöÇ Credentials ΓöÇΓöÇΓöÇ */
.credentials {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-bottom: 3rem;
  border-top: 1px solid rgba(5, 8, 12, 0.1);
}

.credential {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.9rem 0;
  border-bottom: 1px solid rgba(5, 8, 12, 0.08);
  transition: padding-left 0.25s var(--ease-out);
}

.credential:hover {
  padding-left: 0.5rem;
}

.credential__label {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.14em;
  color: var(--grey-muted);
  text-transform: uppercase;
}

.credential__value {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.06em;
  color: var(--ink);
}

/* ΓöÇΓöÇΓöÇ Founder Stats ΓöÇΓöÇΓöÇ */
.founder__stats {
  display: flex;
  gap: 3rem;
  padding-top: 2rem;
  border-top: 1px solid rgba(5, 8, 12, 0.1);
}

.founder__stat-num {
  display: block;
  font-size: clamp(2rem, 3vw, 2.75rem);
  font-weight: 300;
  letter-spacing: -0.05em;
  line-height: 1;
  color: var(--ink);
  margin-bottom: 0.4rem;
}

.founder__stat-label {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.14em;
  color: var(--grey-muted);
  text-transform: uppercase;
}


/* ============================================================
   PROCESS
   ============================================================ */
.process {
  background: var(--ink);
  padding: var(--pad-y) 0;
  overflow: hidden;
}

.process__header {
  padding: 0 var(--pad-x) 4rem;
  max-width: 1400px;
  margin: 0 auto;
}

.process__headline {
  font-size: clamp(2.5rem, 5vw, 5rem);
  font-weight: 500;
  line-height: 0.92;
  letter-spacing: -0.045em;
  color: var(--off-white);
}

.process__scroller {
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.process__scroller::-webkit-scrollbar {
  display: none;
}

.process__track {
  display: flex;
  gap: 0;
  padding: 0 var(--pad-x);
  width: max-content;
  position: relative;
}

.process__connector {
  position: absolute;
  top: 3rem;
  left: var(--pad-x);
  right: var(--pad-x);
  height: 1px;
  background: rgba(243, 241, 235, 0.08);
}

.process__step {
  width: 260px;
  flex-shrink: 0;
  padding: 5rem 2.5rem 3rem;
  border-right: 1px solid var(--grey-border);
  position: relative;
  opacity: 0.4;
  transition: opacity 0.4s, background 0.4s;
}

.process__step:last-child {
  border-right: none;
}

.process__step:first-child {
  padding-left: 0;
}

.process__step::before {
  content: '';
  position: absolute;
  top: calc(3rem - 5px);
  left: 2.5rem;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: 2px solid rgba(243, 241, 235, 0.2);
  transition: background 0.4s, border-color 0.4s;
}

.process__step:first-child::before {
  left: 0;
}

.process__step.active,
.process__step:hover {
  opacity: 1;
}

.process__step.active::before,
.process__step:hover::before {
  background: var(--red);
  border-color: var(--red);
}

.process__step-num {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.16em;
  color: rgba(243, 241, 235, 0.3);
  margin-bottom: 0.5rem;
}

.process__step-label {
  font-size: clamp(1.1rem, 1.5vw, 1.4rem);
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--off-white);
  margin-bottom: 1rem;
}

.process__step-desc {
  font-size: 0.875rem;
  line-height: 1.65;
  color: rgba(243, 241, 235, 0.45);
}


/* ============================================================
   TESTIMONIALS
   ============================================================ */
.testimonials {
  background: var(--warm-white);
  color: var(--ink);
  padding: var(--pad-y) var(--pad-x);
}

.testimonials__inner {
  max-width: 1400px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 380px 1fr;
  gap: 8rem;
  align-items: start;
}

.testimonials__header .eyebrow {
  color: var(--grey-muted);
}

.testimonials__headline {
  font-size: clamp(2rem, 4vw, 3.75rem);
  font-weight: 500;
  line-height: 0.92;
  letter-spacing: -0.04em;
  color: var(--ink);
}

.testimonials__stage {
  position: relative;
  min-height: 380px;
}

.testimonial {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.5s var(--ease-out), transform 0.5s var(--ease-out);
  pointer-events: none;
}

.testimonial.active {
  opacity: 1;
  transform: translateY(0);
  pointer-events: all;
  position: relative;
}

.testimonial__quote-mark {
  font-size: 8rem;
  line-height: 0.6;
  color: rgba(5, 8, 12, 0.06);
  font-family: Georgia, serif;
  margin-bottom: 2rem;
  display: block;
}

.testimonial__text {
  font-size: clamp(1rem, 1.5vw, 1.2rem);
  line-height: 1.7;
  color: #2a2a2a;
  margin-bottom: 2rem;
  font-style: normal;
}

.testimonial__footer {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(5, 8, 12, 0.1);
}

.testimonial__name {
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: var(--ink);
}

.testimonial__company {
  font-size: 0.8rem;
  color: var(--grey-muted);
  letter-spacing: 0.03em;
}

.testimonials__nav {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: 2rem;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(5, 8, 12, 0.08);
  margin-top: -2rem;
}

.testimonials__counter {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.1em;
  color: var(--grey-muted);
  font-variant-numeric: tabular-nums;
}

.testimonials__controls {
  display: flex;
  gap: 1rem;
  margin-left: auto;
}

.testimonials__btn {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.12em;
  color: var(--ink);
  padding: 0.6rem 1.25rem;
  border: 1px solid rgba(5, 8, 12, 0.15);
  transition: all 0.3s var(--ease-out);
}

.testimonials__btn:hover:not(:disabled) {
  background: var(--ink);
  color: var(--off-white);
  border-color: var(--ink);
}

.testimonials__btn:disabled {
  opacity: 0.3;
  cursor: default;
}


/* ============================================================
   CERT STRIP
   ============================================================ */
.cert-strip {
  background: var(--ink-navy);
  padding: var(--pad-y) var(--pad-x);
}

.cert-strip__inner {
  max-width: 1400px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6rem;
  align-items: center;
}

.cert-strip__headline {
  font-size: clamp(2rem, 4vw, 3.5rem);
  font-weight: 500;
  line-height: 0.92;
  letter-spacing: -0.04em;
  color: var(--off-white);
}

.cert-marks {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1px;
  background: var(--grey-border);
  border: 1px solid var(--grey-border);
}

.cert-mark {
  padding: 1.25rem 1.5rem;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: rgba(243, 241, 235, 0.5);
  background: var(--ink-navy);
  transition: all 0.3s;
  cursor: default;
}

.cert-mark:hover {
  background: rgba(243, 241, 235, 0.04);
  color: rgba(243, 241, 235, 0.9);
}

.cert-mark--accent {
  color: var(--red);
  border-left: 2px solid var(--red);
}


/* ============================================================
   FINAL CTA
   ============================================================ */
.final-cta {
  background: var(--ink);
  padding: var(--pad-y) var(--pad-x);
  position: relative;
  overflow: hidden;
}

.final-cta__texture {
  position: absolute;
  inset: 0;
  background-image:
    repeating-linear-gradient(90deg,
      transparent,
      transparent 60px,
      rgba(243, 241, 235, 0.015) 60px,
      rgba(243, 241, 235, 0.015) 61px),
    repeating-linear-gradient(0deg,
      transparent,
      transparent 60px,
      rgba(243, 241, 235, 0.015) 60px,
      rgba(243, 241, 235, 0.015) 61px);
  pointer-events: none;
}

.final-cta__inner {
  position: relative;
  z-index: 1;
  max-width: 900px;
}

.final-cta__headline {
  font-size: clamp(3rem, 8vw, 8rem);
  font-weight: 500;
  line-height: 0.90;
  letter-spacing: -0.05em;
  color: var(--off-white);
  margin-bottom: 2rem;
}

.final-cta__body {
  font-size: 1rem;
  line-height: 1.7;
  color: rgba(243, 241, 235, 0.5);
  max-width: 520px;
  margin-bottom: 3rem;
}

.final-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}


/* ============================================================
   FOOTER
   ============================================================ */
.footer {
  background: var(--ink-navy);
  border-top: 1px solid var(--grey-border);
  padding: var(--pad-y) var(--pad-x) 2.5rem;
}

.footer__inner {
  max-width: 1400px;
  margin: 0 auto;
}

.footer__top {
  display: grid;
  grid-template-columns: 380px 1fr;
  gap: 6rem;
  margin-bottom: 4rem;
  padding-bottom: 4rem;
  border-bottom: 1px solid var(--grey-border);
}

.footer__wordmark {
  font-size: clamp(2rem, 4vw, 3.5rem);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 0.9;
  color: var(--off-white);
  margin-bottom: 1.5rem;
}

.footer__tagline {
  font-size: 0.875rem;
  line-height: 1.65;
  color: rgba(243, 241, 235, 0.35);
}

.footer__cols {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
}

.footer__col-title {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.18em;
  color: rgba(243, 241, 235, 0.35);
  margin-bottom: 1.25rem;
}

.footer__link {
  display: block;
  font-size: 0.875rem;
  color: rgba(243, 241, 235, 0.5);
  margin-bottom: 0.6rem;
  transition: color 0.25s;
}

.footer__link:hover {
  color: var(--off-white);
}

.footer__address {
  font-size: 0.875rem;
  line-height: 1.65;
  color: rgba(243, 241, 235, 0.4);
  margin-bottom: 0.75rem;
}

.footer__contact-link {
  display: block;
  font-size: 0.875rem;
  color: rgba(243, 241, 235, 0.5);
  margin-bottom: 0.4rem;
  transition: color 0.25s;
}

.footer__contact-link:hover {
  color: var(--off-white);
}

.footer__bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
}

.footer__copy {
  font-size: 0.8rem;
  color: rgba(243, 241, 235, 0.25);
}

.footer__legal {
  display: flex;
  gap: 2rem;
}

.footer__legal-link {
  font-size: 0.8rem;
  color: rgba(243, 241, 235, 0.3);
  transition: color 0.25s;
}

.footer__legal-link:hover {
  color: rgba(243, 241, 235, 0.7);
}


/* ============================================================
   SUPPORTING TYPE
   ============================================================ */
/* Keep display headlines sans-serif; make supporting copy easier to read. */
body :is(p, .eyebrow, .nav__logo, .nav__link, .nav__cta, .mobile-menu__footer,
  .btn, .hero__eyebrow, .hero__meta, .hero__scroll, .stat__label,
  .service-panel__tags, .service-panel__cta, .service-panel__meta,
  .iso-step, .why__pillar, .industry-card__desc, .founder__img-caption,
  .credential, .founder__stat-label, .process__step, .testimonial__footer,
  .testimonials__nav, .cert-mark, .footer) {
  font-family: var(--font-small);
}

body :is(.eyebrow, .nav__logo-line1, .nav__logo-line2, .nav__link, .nav__cta,
  .mobile-menu__footer, .btn, .hero__eyebrow span, .hero__meta-left,
  .hero__stat-label, .hero__scroll-label, .stat__label,
  .service-panel__tags li, .service-panel__cta, .iso-step__num,
  .iso-step__label, .why__pillar-title, .industry-card__desc,
  .founder__img-caption, .founder__img-caption span, .credential__label,
  .credential__value, .founder__stat-label, .process__step-num,
  .process__step-label, .process__step-desc, .testimonial__name,
  .testimonial__company, .testimonials__counter, .testimonials__btn,
  .cert-mark, .footer__tagline, .footer__col-title, .footer__link,
  .footer__address, .footer__contact-link, .footer__copy, .footer__legal-link) {
  font-size: var(--small-text-size);
}

body p {
  font-size: clamp(1rem, 1.25vw, 1.15rem);
}

/* Descriptive and paragraph content: deliberately excludes navigation. */
body :is(.hero__body, .intro__body, .service-panel__body, .iso-feature__body,
  .iso-step__desc, .why__sub, .why__pillar-text, .industry-card__desc,
  .founder__body, .process__step-desc, .testimonial__text, .final-cta__body,
  .footer__tagline, .footer__address) {
  font-size: var(--body-copy-size);
}

/* Use full-contrast copy throughout: black on light sections, white on dark. */
body :is(p, a, address, .eyebrow, .nav__logo-line2, .nav__link, .nav__cta,
  .mobile-menu__link, .mobile-menu__footer, .hero__eyebrow, .hero__meta,
  .hero__scroll, .stat__label, .service-panel__tags li, .service-panel__cta,
  .iso-step, .why__pillar, .industry-card__desc, .founder__img-caption,
  .credential, .founder__stat-label, .process__step, .testimonial__footer,
  .testimonials__nav, .cert-mark, .footer) {
  color: inherit;
}


/* ============================================================
   RESPONSIVE
   ============================================================ */

/* ΓöÇΓöÇΓöÇ Tablet ΓöÇΓöÇΓöÇ */
@media (max-width: 1100px) {
  :root {
    --pad-x: clamp(1.5rem, 4vw, 3rem);
  }

  .nav__links {
    gap: 1.75rem;
  }

  .intro__inner {
    grid-template-columns: 1fr;
    gap: 3rem;
  }

  .intro__right {
    padding-top: 0;
  }

  .service-panel__inner {
    grid-template-columns: 1fr 380px;
  }

  .service-panel--alt .service-panel__inner {
    grid-template-columns: 380px 1fr;
  }

  .iso-feature__inner {
    grid-template-columns: 1fr;
    gap: 3rem;
  }

  .iso-feature__body-col {
    padding-top: 0;
  }

  .iso-timeline__track {
    grid-template-columns: repeat(3, 1fr);
  }

  .iso-step:nth-child(3) {
    border-right: none;
  }

  .iso-step:nth-child(4) {
    padding-left: 0;
  }

  .why__inner {
    grid-template-columns: 1fr;
    gap: 3rem;
  }

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

  .industry-card:nth-child(3) {
    border-right: 1px solid var(--grey-border);
  }

  .industry-card:nth-child(2),
  .industry-card:nth-child(4) {
    border-right: none;
  }

  .industry-card:nth-child(4),
  .industry-card:nth-child(5),
  .industry-card:nth-child(6) {
    border-bottom: 1px solid var(--grey-border);
  }

  .industry-card:nth-child(5),
  .industry-card:nth-child(6) {
    border-bottom: none;
  }

  .founder__inner {
    grid-template-columns: 320px 1fr;
    gap: 3.5rem;
  }

  .testimonials__inner {
    grid-template-columns: 1fr;
    gap: 3rem;
  }

  .testimonials__stage {
    min-height: auto;
  }

  .testimonials__nav {
    grid-column: 1;
    margin-top: 0;
  }

  .cert-strip__inner {
    grid-template-columns: 1fr;
    gap: 3rem;
  }

  .footer__top {
    grid-template-columns: 1fr;
    gap: 3rem;
  }

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

/* ΓöÇΓöÇΓöÇ Mobile ΓöÇΓöÇΓöÇ */
@media (max-width: 768px) {
  :root {
    --pad-x: 1.25rem;
    --pad-y: 3rem;
    --nav-h: 64px;
  }

  body {
    cursor: auto;
  }

  .cursor {
    display: none;
  }

  .nav__links,
  .nav__cta {
    display: none;
  }

  .nav__hamburger {
    display: flex;
  }

  .hero__content {
    padding-top: calc(var(--nav-h) + 3rem);
    max-width: 100%;
    justify-content: flex-end;
  }

  .hero__headline {
    font-size: clamp(2.75rem, 12vw, 5rem);
    letter-spacing: -0.03em;
  }

  .services__header {
    grid-template-columns: 1fr;
  }

  .services__headline {
    text-align: left;
  }

  .service-panel__inner,
  .service-panel--alt .service-panel__inner {
    grid-template-columns: 1fr;
    direction: ltr;
  }

  .service-panel__img-wrap {
    min-height: 300px;
    aspect-ratio: 16/9;
  }

  .service-panel__img {
    position: absolute;
  }

  .service-panel__meta {
    flex-direction: column !important;
    gap: 1.5rem;
    padding: 2.5rem var(--pad-x);
  }

  .iso-timeline__track {
    grid-template-columns: 1fr 1fr;
  }

  .iso-step:nth-child(odd) {
    padding-left: 0;
  }

  .iso-step:nth-child(even) {
    border-right: none;
  }

  .iso-step:nth-child(5),
  .iso-step:nth-child(6) {
    border-bottom: none;
  }

  .iso-timeline__line {
    display: none;
  }

  .iso-step::before {
    display: none;
  }

  .iso-step {
    opacity: 1;
    padding-top: 1.5rem;
  }

  .industries__grid {
    grid-template-columns: 1fr;
  }

  .industry-card {
    border-right: none !important;
    border-bottom: 1px solid var(--grey-border) !important;
  }

  .industry-card:last-child {
    border-bottom: none !important;
  }

  .industry-card {
    padding: 2rem 0;
  }

  .founder__inner {
    grid-template-columns: 1fr;
    gap: 3rem;
  }

  .founder__img {
    aspect-ratio: 4/5;
    max-height: 480px;
  }

  .process__step {
    width: 220px;
  }

  .stats {
    grid-template-columns: 1fr 1fr;
  }

  .footer__cols {
    grid-template-columns: 1fr 1fr;
  }

  .footer__wordmark {
    font-size: 2rem;
  }

  .final-cta__headline {
    font-size: clamp(2.5rem, 12vw, 4rem);
    letter-spacing: -0.035em;
  }

  .cert-marks {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 480px) {
  .hero__ctas {
    flex-direction: column !important;
  }

  .hero__ctas .btn {
    width: 100%;
    justify-content: center;
  }

  .stats {
    grid-template-columns: 1fr;
  }

  .stat {
    border-right: none !important;
    padding-left: 0 !important;
  }

  .footer__cols {
    grid-template-columns: 1fr;
  }

  .footer__bottom {
    flex-direction: column !important;
    align-items: flex-start;
    gap: 0.75rem;
  }

  .final-cta__actions {
    flex-direction: column !important;
  }

  .final-cta__actions .btn {
    width: 100%;
    justify-content: center;
  }
}


/* ============================================================
   ANIMATION STATES (JS will add/remove)
   ============================================================ */
.js-reveal {
  opacity: 0;
  transform: translateY(30px);
}

.js-reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.8s var(--ease-expo), transform 0.8s var(--ease-expo);
}

.js-reveal-delay-1 {
  transition-delay: 0.1s;
}

.js-reveal-delay-2 {
  transition-delay: 0.2s;
}

.js-reveal-delay-3 {
  transition-delay: 0.3s;
}

/* Horizontal line reveal */
.js-line-reveal {
  overflow: hidden;
}

.js-line-reveal>span,
.js-line-reveal>div {
  display: block;
  transform: translateY(105%);
  transition: transform 0.9s var(--ease-expo);
}

.js-line-reveal.is-visible>span,
.js-line-reveal.is-visible>div {
  transform: translateY(0);
}

/* ============================================================
   HIGH-CONTRAST THEME
   The previous monochrome override has been removed.
   All global colour decisions now come from the single :root
   token system at the top of this file.
   ============================================================ */

/* Keep supplied photography in its natural colour. */
.hero__img,
.service-panel__img,
.founder__img {
  filter: none;
}

/* White navbar with high-contrast dark typography. */
.nav,
.nav.nav--scrolled {
  background: var(--off-white);
  color: var(--ink);
  border-bottom: 1px solid var(--ink);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.nav__logo-line1,
.nav__logo-line2,
.nav__link,
.nav__link:hover,
.nav__cta,
.nav__cta:hover {
  color: var(--ink);
}

.nav__link::after {
  background: var(--ink);
}

.nav__cta {
  background: var(--off-white);
  border: 1px solid var(--ink);
}

.nav__cta:hover {
  background: var(--ink);
  color: var(--off-white);
  border-color: var(--ink);
}

.nav__hamburger span {
  background: var(--ink);
}

/* Mobile navigation follows the same high-contrast palette. */
.mobile-menu {
  background: var(--off-white);
  color: var(--ink);
  border-bottom: 1px solid var(--ink);
}

.mobile-menu__link,
.mobile-menu__link:hover,
.mobile-menu__link:focus,
.mobile-menu__footer {
  color: var(--ink);
  border-color: var(--grey-border);
}

/* Founder caption uses the editable brand accent. */
.founder__img-caption {
  background: var(--maroon);
  color: var(--off-white);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.founder__img-caption span {
  color: rgba(255, 255, 255, 0.82);
}

/* Strong readable eyebrow/metadata contrast on light sections. */
.intro .eyebrow,
.why .eyebrow,
.founder .eyebrow,
.testimonials .eyebrow,
.intro .stat__label,
.founder .credential__label,
.founder .founder__stat-label {
  color: var(--maroon);
}

/* Readable secondary text on light sections. */
.intro__body,
.why__sub,
.why__pillar-text,
.founder__body,
.testimonial__text {
  color: var(--text-secondary-light);
}

/* Readable secondary text on dark sections. */
.hero__body,
.service-panel__body,
.iso-feature__body,
.process__step-desc,
.final-cta__body,
.industry-card__desc {
  color: var(--text-secondary-dark);
}

/* High-contrast borders without globally forcing every element. */
.service-panel,
.process__step,
.cert-marks {
  border-color: var(--border-dark);
}

.service-panel__tags li,
.cert-mark {
  border-color: var(--border-dark);
}

/* Brand accents. */
.service-panel__cta:hover,
.industry-card:hover .industry-card__title {
  color: var(--red);
}

.service-panel__cta:hover {
  border-color: var(--red);
}

.industry-card__bar {
  background: var(--maroon);
}

.iso-step::before,
.process__step.active::before,
.process__step:hover::before {
  background: var(--red);
  border-color: var(--red);
}

.btn--light,
.nav__cta {
  background: var(--maroon);
  border-color: var(--maroon);
  color: var(--off-white);
}

.btn--light:hover,
.nav__cta:hover {
  background: var(--maroon-deep);
  color: var(--off-white);
}

.btn--ghost {
  border-color: var(--red);
}

.footer {
  border-top-color: var(--border-dark);
}


/* ============================================================
   CUSTOM ADDITIONS — Built during this project session
   ============================================================ */

/* --- Image Logo --- */
.nav__logo {
  display: inline-flex;
  align-items: center;
  background: #fff;
  padding: .35rem .8rem;
  border-radius: 4px;
  flex-shrink: 0;
  transition: transform .35s var(--ease-out), box-shadow .35s;
  box-shadow: 0 4px 20px rgba(0,0,0,.25);
}
.nav__logo:hover { transform: translateY(-2px); box-shadow: 0 10px 30px rgba(0,0,0,.35); }
.nav__logo-image { height: 36px; width: auto; display: block; }

/* Override the white solid navbar from baseline — make it transparent over hero, solid when scrolled */
.nav,
.nav.nav--scrolled {
  background: transparent;
  color: var(--off-white);
  border-bottom: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.nav.nav--scrolled {
  background: rgba(5, 8, 12, 0.92);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(255,255,255,0.08);
}
.nav__link,
.nav__link:hover {
  color: rgba(243,241,235,0.85);
}
.nav__link::after { background: var(--off-white); }
.nav__hamburger span { background: var(--off-white); }

/* --- Hero orbs --- */
.hero__orb {
  position: absolute; border-radius: 50%;
  filter: blur(80px); opacity: 0.35;
  animation: floatOrb 12s ease-in-out infinite alternate;
  pointer-events: none;
}
.hero__orb--1 { top: -10%; left: -10%; width: 40vw; height: 40vw; background: rgba(30,100,250,0.5); }
.hero__orb--2 { bottom: -10%; right: -10%; width: 50vw; height: 50vw; background: rgba(100,30,200,0.35); animation-delay: -5s; }
@keyframes floatOrb { from { transform: translate(0,0); } to { transform: translate(5%,10%); } }

.hero__eyebrow-line { display: inline-block; width: 40px; height: 2px; background: #64aaff; margin-right: 1rem; vertical-align: middle; }
.hero__eyebrow-text { font-size: 11px; font-weight: 700; letter-spacing: 0.22em; color: rgba(243,241,235,0.65); text-transform: uppercase; }
.hero__gradient-solid { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(5,15,35,0.35) 0%, #020508 100%); pointer-events: none; }
.hero__scroll-line { display: block; width: 1px; height: 40px; background: rgba(243,241,235,0.3); margin: 0 auto; animation: scrollLineGrow 1.8s ease-in-out infinite; }
@keyframes scrollLineGrow { 0%,100% { transform: scaleY(0.5); opacity: 0.3; } 50% { transform: scaleY(1); opacity: 0.7; } }

/* Hero interior (sub pages) */
.hero--interior { min-height: 50vh !important; }

/* --- Intro Visual --- */
.intro__visual {
  grid-column: 1 / -1;
  margin-top: 4rem;
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 20px 60px rgba(0,0,0,0.15);
  aspect-ratio: 16/6;
}
.intro__visual-parallax { position: absolute; inset: 0; width: 100%; height: 100%; }
.intro__visual-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent 40%, rgba(4,16,30,0.85) 100%);
}
.intro__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; }
.intro__visual-text {
  position: absolute; bottom: 2rem; left: 2rem; right: 2rem;
  color: #fff; font-size: clamp(1.1rem,2vw,1.4rem); font-weight: 700;
  letter-spacing: 0.05em; text-transform: uppercase;
}

/* --- Showcase Section --- */
.showcase {
  position: relative; width: 100%;
  min-height: 85vh; background: linear-gradient(180deg, #020508 0%, #050e28 100%);
  overflow: hidden; display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  padding: 4rem 0 2rem;
  margin-top: 10rem;
}
.showcase__bg { position: absolute; inset: 0; pointer-events: none; }
.showcase__gradient-bg {
  position: absolute; inset: 0;
  background: radial-gradient(circle at 50% 50%, rgba(20,50,110,0.15) 0%, transparent 80%);
}
.showcase__overlay {
  position: absolute; inset: 0;
  background: linear-gradient(90deg, rgba(2,5,8,0.7) 0%, transparent 12%, transparent 88%, rgba(2,5,8,0.7) 100%);
  pointer-events: none; z-index: 5;
}
.showcase__massive-text {
  position: absolute; top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  font-size: 18vw; font-weight: 900;
  color: rgba(255,255,255,0.025);
  white-space: nowrap; letter-spacing: 0.05em;
  pointer-events: none;
}
.showcase__slider {
  position: relative; width: 100%; z-index: 2;
  overflow-x: auto; scrollbar-width: none;
}
.showcase__slider::-webkit-scrollbar { display: none; }
.showcase__track {
  display: flex; gap: 1.5rem;
  padding: 3rem var(--pad-x) 2rem;
  width: max-content;
}
.showcase__slide { flex: 0 0 290px; }
.showcase__card {
  position: relative;
  background: rgba(10,15,30,0.6);
  border: 1px solid rgba(60,100,220,0.15);
  border-radius: 8px; overflow: hidden;
  height: 400px; display: flex; flex-direction: column;
  backdrop-filter: blur(10px);
  transition: transform 0.4s var(--ease-out), border-color 0.4s, box-shadow 0.4s;
}
.showcase__card:hover {
  transform: none;
  border-color: rgba(60,120,220,0.55);
  box-shadow: 0 0 30px rgba(42,117,211,0.25), 0 20px 40px rgba(0,0,0,0.4);
}
.showcase__card--stagger-down { margin-top: 40px; }
.showcase__card--stagger-up  { margin-top: -40px; }
.showcase__card-img-wrap { position: relative; height: 55%; overflow: hidden; }
.showcase__card-img-wrap img {
  width: 100%; height: 100%; object-fit: cover;
  transition: transform 0.6s var(--ease-out);
}
.showcase__card:hover .showcase__card-img-wrap img { transform: scale(1.07); }
.showcase__card-content {
  padding: 1.5rem; flex: 1;
  display: flex; flex-direction: column; justify-content: center;
}
.showcase__card-label {
  font-size: 9px; font-weight: 700; letter-spacing: 0.18em;
  color: #64aaff; margin-bottom: 0.6rem; text-transform: uppercase;
}
.showcase__card-title {
  font-size: 1.15rem; font-weight: 700; line-height: 1.2; color: #fff;
}
.showcase__timeline {
  position: relative; z-index: 2;
  display: flex; align-items: center;
  width: 80%; max-width: 600px;
  margin: 1.5rem auto 0; padding: 0 1rem;
}
.showcase__timeline-track {
  flex: 1; height: 2px;
  background: rgba(255,255,255,0.1);
  border-radius: 2px; position: relative;
}
.showcase__timeline-progress {
  position: absolute; left: 0; top: 0; height: 100%;
  background: #64aaff; border-radius: 2px;
  width: 10%; transition: width 0.4s var(--ease-out);
}
.showcase__timeline-dot {
  width: 10px; height: 10px; border-radius: 50%;
  background: rgba(255,255,255,0.3);
  transition: background 0.3s; cursor: pointer; flex-shrink: 0; margin: 0 0.5rem;
}
.showcase__timeline-dot.active { background: #64aaff; box-shadow: 0 0 10px rgba(100,170,255,0.5); }
.showcase__next { display: none; }

/* --- Standards Hero --- */
.standards-hero {
  position: relative; padding: 8rem var(--pad-x) 6rem;
  background: linear-gradient(135deg, #04101e 0%, #081828 100%); overflow: hidden;
}
.standards-hero__inner {
  max-width: 1400px; margin: 0 auto;
  display: flex; flex-wrap: wrap; gap: 4rem; align-items: center;
}
.standards-hero__left { flex: 1 1 600px; }
.standards-hero__title {
  font-size: clamp(1.8rem, 3.5vw, 3rem); font-weight: 700; line-height: 1.1;
  color: #fff; margin-top: 1.5rem;
  background: linear-gradient(135deg,
    #ffffff 0%, #b8d4ff 20%, #64aaff 40%,
    #ffffff 55%, #b8d4ff 70%, #64aaff 85%, #ffffff 100%);
  background-size: 200% auto;
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
  animation: standardsShimmer 4s linear infinite, standardsFloat 5s ease-in-out infinite;
}
@keyframes standardsShimmer {
  0%   { background-position: 0% center; }
  100% { background-position: 200% center; }
}
@keyframes standardsFloat {
  0%, 100% {
    transform: translateY(0);
    filter: drop-shadow(0 0 0px rgba(100, 170, 255, 0));
  }
  50% {
    transform: translateY(-5px);
    filter: drop-shadow(0 0 20px rgba(100, 170, 255, 0.45));
  }
}
.standards-hero__right { flex: 1 1 350px; }
.pattern-box {
  position: relative; background: rgba(10,20,40,0.5);
  border: 1px solid rgba(100,170,255,0.1); border-radius: 12px;
  padding: 3rem; overflow: hidden; min-height: 200px;
}
.pattern-box__grid {
  position: absolute; inset: 0;
  background-image: radial-gradient(rgba(100,170,255,0.15) 1px, transparent 1px);
  background-size: 20px 20px;
}

/* --- Testimonials (tcard grid) — replaces old slider --- */
.testimonials {
  background: linear-gradient(160deg, #060f20 0%, #0a1a35 55%, #060f20 100%);
  color: #fff;
  padding: var(--pad-y) var(--pad-x);
}
.testimonials .eyebrow { color: rgba(100,170,255,0.8); }
.testimonials__headline { color: #e0f0ff; }
.testimonials__header-row {
  display: flex; justify-content: space-between;
  align-items: flex-end; margin-bottom: 3rem;
  flex-wrap: wrap; gap: 2rem;
  max-width: 1400px; margin-left: auto; margin-right: auto;
}
.testimonials__subtitle {
  font-size: 1rem; color: rgba(255,255,255,0.55);
  max-width: 450px; line-height: 1.6;
}
.testimonials__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 1.5rem; max-width: 1400px; margin: 0 auto;
}
.tcard {
  background: rgba(10,20,50,0.5);
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 12px; padding: 2rem;
  display: flex; flex-direction: column;
  transition: transform 0.4s, border-color 0.4s, background 0.4s;
}
.tcard:hover {
  transform: translateY(-5px);
  background: rgba(15,30,70,0.6);
  border-color: rgba(100,170,255,0.25);
}
.tcard--featured {
  background: linear-gradient(145deg, rgba(20,50,120,0.4) 0%, rgba(10,20,50,0.7) 100%);
  border-color: rgba(100,170,255,0.2);
}
.tcard__quote-icon {
  font-size: 3rem; color: #64aaff;
  margin-bottom: 1rem; opacity: 0.5; line-height: 1;
}
.tcard__text {
  font-size: 1rem; line-height: 1.65;
  color: rgba(255,255,255,0.8);
  margin-bottom: 1.5rem; font-style: italic; flex: 1;
}
.tcard__footer {
  display: flex; align-items: center;
  gap: 1rem; border-top: 1px solid rgba(255,255,255,0.08);
  padding-top: 1.25rem; flex-wrap: wrap;
}
.tcard__avatar {
  width: 42px; height: 42px; border-radius: 50%;
  background: linear-gradient(135deg, #0e88d4, #35c0f8);
  display: flex; align-items: center; justify-content: center;
  font-size: 0.75rem; font-weight: 700; color: #fff;
  flex-shrink: 0; border: 2px solid rgba(100,170,255,0.3);
}
.tcard__meta { display: flex; flex-direction: column; flex: 1; }
.tcard__name { font-weight: 700; color: #fff; font-size: 0.9rem; margin-bottom: 0.2rem; }
.tcard__company { font-size: 0.8rem; color: #64aaff; }
.tcard__tag {
  display: inline-block; padding: 0.3rem 0.65rem;
  background: rgba(100,170,255,0.1); border-radius: 4px;
  font-size: 0.7rem; color: #64aaff; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.06em;
}
.testimonials__cta-row {
  max-width: 1400px; margin: 2.5rem auto 0;
}
.testimonials__rating { display: flex; align-items: center; gap: 1rem; }
.testimonials__stars { color: #ffd700; font-size: 1.1rem; letter-spacing: 2px; }
.testimonials__rating-text { color: rgba(255,255,255,0.6); font-size: 0.875rem; }

/* --- Deep Blue theme for ISO/Why/Industries/Final CTA/Footer --- */
.iso-feature {
  background:
    radial-gradient(circle at 78% 18%, rgba(20,80,220,0.2), transparent 34%),
    linear-gradient(135deg, #040c1f 0%, #071430 52%, #040c1f 100%);
}
.iso-timeline__line { background: rgba(60,100,220,0.2); }
.iso-timeline__line::after { background: linear-gradient(90deg, #1466d4, #64aaff); box-shadow: 0 0 16px rgba(100,170,255,0.6); }
.iso-step::before { background: #1466d4; border-color: #64aaff; box-shadow: 0 0 0 5px rgba(20,102,212,0.2); }
.iso-step.active::before, .iso-step:hover::before { background: #35c0f8; box-shadow: 0 0 0 6px rgba(53,192,248,0.25), 0 0 20px rgba(53,192,248,0.7); }

.why {
  background: linear-gradient(155deg, #062038 0%, #0a3055 50%, #062038 100%);
  color: #d5eeff;
}
.why .eyebrow { color: rgba(100,170,255,0.7); }
.why__headline { color: #d5eeff; }
.why__sub { color: rgba(160,210,255,0.8); }
.why__pillar { border-color: rgba(60,100,180,0.2); }
.why__pillar:first-child { border-top-color: rgba(60,100,180,0.2); }
.why__pillar-num { color: rgba(100,170,255,0.5); }
.why__pillar:hover .why__pillar-num { color: #64aaff; }
.why__pillar-title { color: #d5eeff; }
.why__pillar-text { color: rgba(160,210,255,0.8); }

.industries {
  background: linear-gradient(160deg, #04101e 0%, #081828 55%, #04101e 100%);
}
.industries .eyebrow { color: rgba(100,170,255,0.7); }
.industries__headline { color: #d5eeff; }
.industry-card__num { color: rgba(255,255,255,0.08); }
.industry-card:hover .industry-card__num { color: rgba(255,255,255,0.35); }

.final-cta {
  background: linear-gradient(150deg, #041535 0%, #071e55 45%, #041535 100%);
}
.final-cta .eyebrow { color: rgba(100,170,255,0.7); }
.final-cta__texture { opacity: 0.4; }
.final-cta__bg { position: absolute; inset: 0; background-size: cover; background-position: center; }
.final-cta__bg img, .final-cta__img { width: 100%; height: 100%; object-fit: cover; opacity: 0.25; }
.final-cta__gradient { position: absolute; inset: 0; background: linear-gradient(to right, #041535 0%, rgba(4,21,53,0.8) 40%, rgba(7,30,85,0.3) 100%); z-index: 0; }

.footer {
  background: linear-gradient(180deg, #050e28 0%, #030a1e 100%);
  border-top-color: rgba(60,100,220,0.18);
}
.footer__wordmark { color: #c5deff; }
.footer__tagline { color: rgba(160,200,255,0.5); }
.footer__col-title { color: #6aaaf5; }

/* --- Founder — White theme --- */
.founder { background: #ffffff; color: var(--ink); }
.founder .eyebrow { color: #5a8bd0; }
.founder__headline { color: #0b2d6e; }
.founder__body { color: #3a5070; }
.credentials { border-top-color: rgba(11,45,110,0.15); }
.credential { border-bottom-color: rgba(11,45,110,0.1); }
.credential__label { color: #5a8bd0; }
.credential__value { color: #0b2d6e; }
.founder__stats { border-top-color: rgba(11,45,110,0.15); }
.founder__stat-num { color: #0b2d6e; }
.founder__stat-label { color: #5a8bd0; }

/* --- Blue filter for certain images --- */
.theme-blue-filter {
  filter: grayscale(100%) sepia(100%) hue-rotate(180deg) saturate(250%) brightness(0.65) contrast(1.1);
}

/* --- Grid lines utility --- */
.grid-lines {
  position: absolute; inset: 0;
  background-image: linear-gradient(rgba(255,255,255,0.03) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.03) 1px, transparent 1px);
  background-size: 40px 40px; pointer-events: none;
}

/* --- Growth bar utility --- */
.growth-bar {
  height: 4px; background: linear-gradient(90deg, #10a8e8, #64aaff);
  border-radius: 2px; margin-top: 1rem; width: 0;
  transition: width 1s var(--ease-out);
}

/* --- Why pillar body --- */
.why__pillar-body { flex: 1; display: flex; flex-direction: column; }

/* Responsive: Testimonials grid */
@media (max-width: 768px) {
  .testimonials__grid {
    grid-template-columns: 1fr;
  }
  .showcase__card--stagger-down,
  .showcase__card--stagger-up { margin-top: 0; }
  .standards-hero { padding: 6rem var(--pad-x) 4rem; }
}


/* ============================================================
   ANIMATION INITIAL STATES & DATA-REVEAL SYSTEM
   ============================================================ */

/* Hero eyebrow line — JS animates scaleX TO 1 */
.hero__eyebrow-line {
  transform-origin: left center;
  transform: scaleX(0);
}
/* Hero eyebrow text — JS animates x TO 0, opacity TO 1 */
.hero__eyebrow-text {
  opacity: 0;
  transform: translateX(-20px);
}
/* Hero noise overlay */
.hero__noise {
  position: absolute; inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' 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='0.04'/%3E%3C/svg%3E");
  background-size: 200px; opacity: 0.25; mix-blend-mode: overlay; pointer-events: none;
}

/* ── CSS data-reveal system (IntersectionObserver adds .in-view) ── */
[data-reveal] {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.85s cubic-bezier(0.16, 1, 0.3, 1), transform 0.85s cubic-bezier(0.16, 1, 0.3, 1);
}
[data-reveal="left"] {
  transform: translateX(-40px) translateY(0);
}
[data-reveal="scale"] {
  transform: translateY(20px) scale(0.97);
}
[data-reveal].in-view {
  opacity: 1 !important;
  transform: translate(0) scale(1) !important;
}
[data-delay="1"] { transition-delay: 0.08s; }
[data-delay="2"] { transition-delay: 0.16s; }
[data-delay="3"] { transition-delay: 0.24s; }
[data-delay="4"] { transition-delay: 0.32s; }
[data-delay="5"] { transition-delay: 0.40s; }

/* ============================================================
   INTRO SECTION — Full-width visual fix
   ============================================================ */
.intro {
  background: var(--warm-white);
  color: var(--ink);
  padding: clamp(2rem, 4vh, 4rem) var(--pad-x);
  overflow-x: hidden;
}
/* Force all data-reveal elements in intro to be visible
   (IntersectionObserver was not triggering, leaving content invisible) */
.intro [data-reveal],
.intro [data-reveal="left"],
.intro [data-reveal="scale"] {
  opacity: 1 !important;
  transform: none !important;
}
.intro__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6rem;
  align-items: start;
  max-width: 1400px;
  margin: 0 auto;
}
.intro__visual {
  display: block;
  width: 100%;
  position: relative;
  height: 420px;
  overflow: hidden;
  margin: 0;
}
.intro__visual-parallax { position: absolute; inset: 0; width: 100%; height: 100%; }
.intro__visual-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent 40%, rgba(4,10,20,0.85) 100%);
  pointer-events: none;
}
.intro__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.intro__visual-text {
  position: absolute; bottom: 2rem; left: 2.5rem; right: 2.5rem;
  color: #fff;
  font-size: clamp(1rem, 2vw, 1.35rem);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-align: center;
}

/* ============================================================
   ISO TIMELINE SCROLLER FIX
   ============================================================ */
.iso-timeline__scroller {
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.iso-timeline__scroller::-webkit-scrollbar { display: none; }
.iso-timeline__track {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  position: relative;
  min-width: 700px;
}

/* ============================================================
   SERVICES section - Services panels enhanced colors
   ============================================================ */
.services { background: #0b1220; }
.service-panel { border-top-color: rgba(255,255,255,0.08); }
.service-panel__num { color: rgba(255,255,255,0.06); }
.service-panel:hover .service-panel__num { color: rgba(100,170,255,0.12); }
.service-panel__body { color: rgba(255,255,255,0.6); }
.service-panel__tags li { border-color: rgba(255,255,255,0.12); color: rgba(255,255,255,0.45); }
.service-panel:hover .service-panel__tags li { border-color: rgba(100,170,255,0.3); color: rgba(100,170,255,0.8); }
.service-panel__cta { color: rgba(255,255,255,0.8); border-bottom-color: rgba(255,255,255,0.2); }
.service-panel__cta:hover { color: #64aaff; border-color: #64aaff; }

/* ============================================================
   FINAL CTA image: hero-suits reference
   ============================================================ */
.final-cta__bg {
  position: absolute; inset: 0;
  overflow: hidden;
}
.final-cta__img {
  width: 100%; height: 100%;
  object-fit: cover;
  opacity: 0.2;
  filter: brightness(0.6) saturate(0.5);
}
.final-cta__gradient {
  position: absolute; inset: 0; z-index: 0;
  background: linear-gradient(to right, rgba(4,21,53,1) 0%, rgba(4,21,53,0.88) 45%, rgba(7,30,85,0.5) 100%);
}
.final-cta__inner { position: relative; z-index: 1; max-width: 900px; }
.final-cta__texture { position: absolute; inset: 0; pointer-events: none; }

/* ============================================================
   FOUNDER portrait column fix
   ============================================================ */
.founder__portrait-col {
  /* Already handled by grid-template-columns: 480px 1fr */
}
.founder__inner {
  grid-template-columns: 480px 1fr;
  align-items: center;
}

/* ============================================================
   STANDARDS HERO — eyebrow color
   ============================================================ */
.standards-hero .eyebrow { color: rgba(100,170,255,0.7); }

/* ============================================================
   RESPONSIVE TWEAKS
   ============================================================ */
@media (max-width: 1100px) {
  .intro__inner { grid-template-columns: 1fr; gap: 3rem; }
  .intro__right { padding-top: 0; }
}

@media (max-width: 768px) {
  :root { --nav-h: 56px; }
  .intro__visual { height: 280px; }
  .founder__inner { grid-template-columns: 1fr; gap: 3rem; }
}

/* ============================================================
   RESTORING THE EXACT DESIGN TWEAKS LOST BEFORE THE NAVBAR FIX
   ============================================================ */

/* 1. Typography & Alignment - Proportional Hero Headline */
.hero__headline {
  font-size: clamp(1.8rem, 4vw, 3.2rem) !important;
  line-height: 0.95 !important;
  letter-spacing: 0.02em !important;
  margin-bottom: 1.5rem !important;
}

/* 2. Brighten the image */
.hero__img {
  object-position: right center !important;
  filter: brightness(0.95) contrast(1.05) saturate(1.1) !important;
  mix-blend-mode: normal !important;
}

/* 3. Lightened gradient overlay so more image is visible */
.hero__gradient {
  background: linear-gradient(90deg, rgba(5,15,35,0.75) 0%, rgba(5,15,35,0.4) 45%, rgba(5,15,35,0.05) 100%) !important;
  opacity: 1 !important;
}
.hero__gradient-solid {
  background: linear-gradient(180deg, rgba(5,15,35,0) 50%, #020508 100%) !important;
  opacity: 1 !important;
}

/* 4. Fix content alignment so buttons don't "go down" out of view */
.hero__content {
  padding-top: calc(var(--nav-h) + 2vh) !important; /* Pull everything up */
  max-width: 900px !important;
}
.hero__body {
  font-size: clamp(1rem, 1.5vw, 1.15rem) !important;
  max-width: 650px !important;
  margin-bottom: 2rem !important;
}

/* 5. Fix consulting.html specific Glassmorphism & Gold Theme */
.hero--interior .hero__content {
  background: rgba(10, 20, 40, 0.45);
  backdrop-filter: blur(25px);
  -webkit-backdrop-filter: blur(25px);
  padding: 3rem !important;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.5);
  display: inline-block;
  margin-top: calc(var(--nav-h) + 10vh);
}

.hero--interior .hero__headline span:not(.hero__line--accent) span {
  background: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  text-shadow: 0px 4px 15px rgba(0,0,0,0.5);
  font-weight: 900 !important;
}

.hero--interior .hero__headline .hero__line--accent > span {
  /* High contrast gradient so the movement is extremely visible */
  background: linear-gradient(90deg, #64aaff 0%, #ffffff 30%, #64aaff 60%, #ffffff 80%, #64aaff 100%) !important;
  background-size: 200% auto !important;
  
  /* Proper text clipping, avoiding box-glitch */
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
  -webkit-background-clip: text !important;
  
  /* Pure continuous sliding effect */
  animation: slide-gradient 6s linear infinite !important;
  display: inline-block !important; 
}

/* 6. Ensure the dark blue / white theme applies only to the correct sections */
body { background-color: #020508; }
.hero { background-color: #020508 !important; }

/* 7. Ensure buttons are prominent */
.hero__ctas { margin-top: 1.5rem !important; }

/* ============================================================
   HOMEPAGE HEADLINE WORDING EFFECTS
   ============================================================ */
.hero__headline .hero__line--accent > span {
  background: linear-gradient(90deg, #64aaff 0%, #ffffff 30%, #64aaff 60%, #ffffff 80%, #64aaff 100%) !important;
  background-size: 200% auto !important;
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
  -webkit-background-clip: text !important;
  animation: slide-gradient 6s linear infinite !important;
  display: inline-block !important; 
}
@keyframes slide-gradient {
  0% { background-position: 0% center; }
  100% { background-position: 200% center; }
}
.hero__body {
  line-height: 1.6 !important;
  color: rgba(255, 255, 255, 0.85) !important;
}

/* ============================================================
   BLUE AND WHITE PREMIUM BUTTON THEME
   ============================================================ */
.btn--light, .nav__cta {
  background: #2a75d3 !important;
  color: #ffffff !important;
  border: 1px solid #2a75d3 !important;
  font-family: var(--font-sans) !important;
  box-shadow: 0 4px 15px rgba(42, 117, 211, 0.25) !important;
  border-radius: 4px !important;
  transition: background 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease, transform 0.2s ease !important;
}
/* Disable the pseudo-element overlay — it stacks over text and hides it */
.btn--light::before, .nav__cta::before {
  display: none !important;
}
.btn--light:hover, .nav__cta:hover {
  background: #1a5cb8 !important;
  color: #ffffff !important;
  border-color: #1a5cb8 !important;
  box-shadow: 0 8px 25px rgba(42, 117, 211, 0.45) !important;
  transform: translateY(-2px) !important;
}

.btn--ghost {
  background: transparent !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.4) !important;
  font-family: var(--font-sans) !important;
  border-radius: 4px !important;
  transition: background 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease, transform 0.2s ease !important;
}
/* Disable the pseudo-element overlay — it stacks over text and hides it */
.btn--ghost::before {
  display: none !important;
}
.btn--ghost:hover {
  background: rgba(42, 117, 211, 0.85) !important;
  color: #ffffff !important;
  border-color: #2a75d3 !important;
  box-shadow: 0 8px 25px rgba(42, 117, 211, 0.3) !important;
  transform: translateY(-2px) !important;
}

.btn__arrow {
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
  display: inline-block;
}
.btn:hover .btn__arrow {
  transform: translateX(6px) !important;
}
/* Reset stacking — no longer needed with ::before disabled */
.btn {
  position: relative !important;
}


/* ============================================================
   TYPOGRAPHY FIXES
   ============================================================ */
p, .hero__body, .intro__body, .service-panel__body, .iso-feature__body {
  font-family: var(--font-sans) !important;
}
.hero__body {
  font-family: var(--font-sans) !important;
  font-weight: 400 !important;
  letter-spacing: 0.01em !important;
}

/* -- Sectors we serve: four-card row -------------------------------- */
.industries__grid--four {
  grid-template-columns: repeat(4, 1fr);
  gap: 1.25rem;
}
/* Always visible; GSAP only slides the cards in */
.industries__grid--four .industry-card {
  opacity: 1 !important;
  display: flex;
  flex-direction: column;
  border: 1px solid rgba(60,100,180,0.18) !important;
}
.industries__grid--four .industry-card__img-wrap { height: 200px; }
.industries__grid--four .industry-card__num { padding: 1rem 1.1rem 0; margin: 0; }
.industries__grid--four .industry-card__content { padding: 0.5rem 1.1rem 1.4rem; }
.industries__grid--four .industry-card__title { font-size: 0.8rem; }
.industries__grid--four .industry-card__desc { font-size: 0.82rem; }
@media (max-width: 1100px) {
  .industries__grid--four { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
  .industries__grid--four { grid-template-columns: 1fr; }
  .industries__grid--four .industry-card { padding: 0; }
}

/* -- Founder portrait: cut-out photo on a navy spotlight ------------- */
.founder__img-frame {
  background:
    radial-gradient(ellipse 70% 55% at 50% 38%, rgba(70,140,255,0.38) 0%, rgba(20,60,150,0.22) 45%, transparent 75%),
    linear-gradient(180deg, #0c2148 0%, #071631 60%, #040e22 100%);
  border: 1px solid rgba(100,170,255,0.28);
  box-shadow: 0 0 0 1px rgba(100,170,255,0.06) inset, 0 0 60px rgba(40,110,255,0.22), 0 24px 70px rgba(0,0,0,0.5);
}
.founder__img-frame::before {
  content: "";
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(90deg, rgba(100,170,255,0.05) 0 1px, transparent 1px 48px);
  pointer-events: none;
}
.founder__img {
  position: relative;
  object-position: center 12%;
  filter: drop-shadow(0 0 22px rgba(90,160,255,0.35)) drop-shadow(0 10px 24px rgba(0,0,0,0.45)) !important;
  -webkit-mask-image: linear-gradient(180deg, #000 78%, transparent 100%);
          mask-image: linear-gradient(180deg, #000 78%, transparent 100%);
}
.founder__img-glow {
  background: linear-gradient(180deg, transparent 70%, rgba(3,14,32,0.7) 100%);
}

/* -- Final CTA: refined, editorial typography ----------------------- */
.final-cta {
  padding: clamp(5rem, 10vw, 8.5rem) var(--pad-x);
}
.final-cta__inner { max-width: 640px; }
.final-cta .eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.9rem;
  font-family: 'Manrope', sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.28em;
  color: rgba(140,190,255,0.8) !important;
  margin-bottom: 1.6rem;
}
.final-cta .eyebrow::before {
  content: "";
  width: 36px;
  height: 1px;
  background: linear-gradient(90deg, rgba(140,190,255,0), rgba(140,190,255,0.8));
}
.final-cta__headline {
  font-family: 'Manrope', sans-serif;
  font-size: clamp(2rem, 3.4vw, 3.25rem);
  font-weight: 300;
  line-height: 1.12;
  letter-spacing: -0.02em;
  text-transform: none;
  color: #eaf3ff !important;
  margin-bottom: 1.5rem;
}
.final-cta__headline em {
  font-family: 'Playfair Display', Georgia, serif;
  font-style: italic;
  font-weight: 400;
  font-size: 1.12em;
  letter-spacing: -0.01em;
  color: #9cc8ff;
}
.final-cta__body {
  font-size: 17px !important;
  font-weight: 300;
  line-height: 1.8;
  letter-spacing: 0.005em;
  color: rgba(205,224,250,0.72) !important;
  max-width: 520px;
  margin-bottom: 2.6rem;
  padding-left: 1.1rem;
  border-left: 1px solid rgba(140,190,255,0.3);
}
.final-cta__actions { gap: 0.9rem; align-items: center; }
.final-cta__actions .btn {
  padding: 1rem 1.85rem;
  font-family: 'Manrope', sans-serif !important;
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: 0.2em;
  border-radius: 2px !important;
}
.final-cta__actions .btn--light {
  background: linear-gradient(135deg, #3b86e6 0%, #1f5fc0 100%) !important;
  border-color: rgba(150,200,255,0.35) !important;
  box-shadow: 0 10px 30px rgba(31,95,192,0.35), inset 0 1px 0 rgba(255,255,255,0.18) !important;
}
.final-cta__actions .btn--ghost {
  background: rgba(255,255,255,0.03) !important;
  border-color: rgba(200,222,255,0.28) !important;
  color: #dbe9ff !important;
  -webkit-backdrop-filter: blur(6px);
          backdrop-filter: blur(6px);
}
.final-cta__actions .btn--ghost:hover {
  background: rgba(255,255,255,0.08) !important;
  border-color: rgba(200,222,255,0.6) !important;
  box-shadow: none !important;
}
@media (max-width: 768px) {
  .final-cta__headline { font-size: clamp(1.75rem, 7.5vw, 2.3rem); letter-spacing: -0.015em; }
  .final-cta__body { font-size: 15.5px !important; }
}

/* -- Final CTA: brighter background photo, text side stays dark ----- */
.final-cta__bg img, .final-cta__img {
  opacity: 0.6 !important;
  filter: brightness(1.15) saturate(1.05);
}
.final-cta .final-cta__gradient {
  background: linear-gradient(to right, rgba(2,12,30,0.92) 0%, rgba(2,12,30,0.7) 38%, rgba(4,21,53,0.25) 75%, rgba(4,21,53,0.1) 100%) !important;
}

/* -- "Precision at every layer": elegant split banner --------------- */
#introVisual.intro__visual {
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  aspect-ratio: auto !important;
  height: clamp(320px, 30vw, 440px) !important;
  box-shadow: none !important;
  background: linear-gradient(120deg, #020b1c 0%, #06173a 55%, #041030 100%) !important;
  border-top: 1px solid rgba(120,175,255,0.12);
  border-bottom: 1px solid rgba(120,175,255,0.12);
}
#introVisual.intro__visual::before,
#introVisual.intro__visual::after { display: none !important; }
#introVisual .intro__img {
  position: absolute !important;
  inset: 0 0 0 auto !important;
  width: 58% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center 55% !important;
  filter: brightness(1.02) saturate(1.05) contrast(1.03) !important;
  transform: none !important;
  transition: none !important;
}
#introVisual:hover .intro__img { transform: none !important; filter: brightness(1.02) saturate(1.05) contrast(1.03) !important; }
#introVisual .intro__visual-overlay {
  background:
    linear-gradient(90deg, #030d22 0%, #030d22 40%, rgba(3,13,34,0.75) 50%, rgba(3,13,34,0.15) 66%, transparent 80%),
    linear-gradient(180deg, transparent 70%, rgba(2,10,26,0.45) 100%) !important;
}
#introVisual .intro__visual-text {
  left: var(--pad-x, 6vw) !important;
  right: auto !important;
  top: 50% !important;
  bottom: auto !important;
  transform: translateY(-50%) !important;
  width: auto !important;
  max-width: 38%;
  display: block !important;
  text-align: left !important;
  font-family: 'Manrope', sans-serif !important;
  font-size: clamp(1.9rem, 3vw, 2.9rem) !important;
  font-weight: 300 !important;
  line-height: 1.12 !important;
  letter-spacing: -0.02em !important;
  text-transform: none !important;
  color: #eaf3ff !important;
}
#introVisual .intro__visual-text::before,
#introVisual .intro__visual-text::after { display: none !important; }
#introVisual .intro__visual-text em {
  font-family: 'Playfair Display', Georgia, serif;
  font-style: italic;
  font-weight: 400;
  font-size: 1.12em;
  color: #9cc8ff;
}
#introVisual .intro__visual-eyebrow {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  margin-bottom: 1.1rem;
  font-family: 'Manrope', sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: rgba(140,190,255,0.85);
}
#introVisual .intro__visual-eyebrow::before {
  content: "";
  width: 36px;
  height: 1px;
  background: linear-gradient(90deg, rgba(140,190,255,0), rgba(140,190,255,0.85));
}
/* bigger title + supporting line and key facts to fill the panel */
#introVisual.intro__visual { height: clamp(380px, 34vw, 520px) !important; }
#introVisual .intro__visual-text {
  font-size: clamp(2.4rem, 4.2vw, 4rem) !important;
  max-width: 44% !important;
}
#introVisual .intro__visual-sub {
  display: block;
  margin-top: 1.3rem;
  max-width: 420px;
  font-family: 'Inter', sans-serif;
  font-size: 16px; font-weight: 300; line-height: 1.7; letter-spacing: 0;
  color: rgba(205,224,250,0.72);
}
#introVisual .intro__visual-facts {
  display: flex; gap: 0; margin-top: 1.8rem;
  border-top: 1px solid rgba(140,190,255,0.18);
  padding-top: 1.2rem;
  max-width: 460px;
}
#introVisual .intro__visual-facts > span {
  flex: 1;
  display: flex; flex-direction: column; gap: 0.35rem;
  padding-right: 1rem;
  font-family: 'Manrope', sans-serif;
  font-size: 10.5px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase;
  line-height: 1.4;
  color: rgba(160,200,255,0.7);
}
#introVisual .intro__visual-facts > span + span {
  padding-left: 1rem;
  border-left: 1px solid rgba(140,190,255,0.18);
}
#introVisual .intro__visual-facts b {
  font-family: 'Playfair Display', Georgia, serif; font-style: italic; font-weight: 400;
  font-size: 2rem; letter-spacing: 0; text-transform: none;
  color: #9cc8ff; line-height: 1;
}

@media (max-width: 768px) {
  #introVisual.intro__visual { height: 540px !important; }
  #introVisual .intro__visual-sub { font-size: 14.5px; margin-top: 0.9rem; }
  #introVisual .intro__visual-facts { margin-top: 1.2rem; }
  #introVisual .intro__visual-facts b { font-size: 1.6rem; }
  #introVisual .intro__img { width: 100% !important; }
  #introVisual .intro__visual-overlay {
    background: linear-gradient(180deg, rgba(3,13,34,0.1) 0%, rgba(3,13,34,0.35) 45%, rgba(3,13,34,0.92) 100%) !important;
  }
  #introVisual .intro__visual-text {
    top: auto !important;
    bottom: 1.75rem !important;
    transform: none !important;
    max-width: calc(100% - 2 * var(--pad-x, 1.25rem)) !important;
    font-size: 1.75rem !important;
  }
}
/* -- Showcase: brighter CAPABILITY word + refined card motion -------- */
.showcase .showcase__massive-text {
  color: transparent !important;
  background: linear-gradient(100deg, rgba(100,170,255,0.07) 0%, rgba(100,170,255,0.07) 40%, rgba(170,210,255,0.22) 50%, rgba(100,170,255,0.07) 60%, rgba(100,170,255,0.07) 100%);
  background-size: 250% 100%;
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-stroke: 1px rgba(120,180,255,0.16);
  animation: showcaseWordSheen 9s ease-in-out infinite;
}
@keyframes showcaseWordSheen {
  0%, 100% { background-position: 100% 0; }
  50%      { background-position: 0% 0; }
}

/* Gentle float for every card, staggered */
.showcase__slide .showcase__card { animation: cardFloat 7s ease-in-out infinite; }
.showcase__slide:nth-child(2n) .showcase__card { animation-delay: -1.75s; }
.showcase__slide:nth-child(3n) .showcase__card { animation-delay: -3.5s; }
.showcase__slide:nth-child(4n) .showcase__card { animation-delay: -5.25s; }

/* Hairline gradient border that glows and travels on hover */
.showcase__card { position: relative; isolation: isolate; }
.showcase__card::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  padding: 1px;
  background: linear-gradient(120deg, rgba(100,170,255,0) 20%, rgba(150,200,255,0.9) 45%, rgba(53,192,248,0.6) 55%, rgba(100,170,255,0) 80%);
  background-size: 300% 300%;
  background-position: 100% 0;
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  opacity: 0;
  transition: opacity 0.5s ease;
  pointer-events: none;
  z-index: 4;
}
.showcase__card:hover::before {
  opacity: 1;
  animation: showcaseBorderTravel 2.4s linear infinite;
}
@keyframes showcaseBorderTravel {
  from { background-position: 100% 0; }
  to   { background-position: -100% 0; }
}

/* Soft light at the top of the image, and title/label lift on hover */
.showcase__card-content { transition: transform 0.5s cubic-bezier(0.16,1,0.3,1); }
.showcase__card:hover .showcase__card-content { transform: translateY(-4px); }
.showcase__card-label::before { transition: width 0.5s cubic-bezier(0.16,1,0.3,1) !important; }
.showcase__card:hover .showcase__card-label::before { width: 32px !important; }

@media (prefers-reduced-motion: reduce) {
  .showcase .showcase__massive-text,
  .showcase__slide .showcase__card,
  .showcase__card:hover::before { animation: none !important; }
}

/* -- Operational Excellence card: keep the face in frame ------------- */
.showcase__card-img-wrap img[src*="showcase-12-hd"] {
  object-position: 80% 18% !important;
  transform-origin: 78% 20% !important;
}

/* -- Services rows: balanced 45/55 split, editorial typography ------- */
#services .service-panel__inner,
#services .service-panel--alt .service-panel__inner {
  grid-template-columns: 45fr 55fr !important;
  direction: ltr !important;
  min-height: 520px;
}
#services .service-panel--alt .service-panel__inner { grid-template-columns: 55fr 45fr !important; }
#services .service-panel__meta { grid-column: 1; grid-row: 1; }
#services .service-panel__img-wrap { grid-column: 2; grid-row: 1; height: auto !important; min-height: 520px; }
#services .service-panel--alt .service-panel__img-wrap { grid-column: 1; }
#services .service-panel--alt .service-panel__meta { grid-column: 2; }

#services .service-panel__meta {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  gap: 1.4rem !important;
  padding: clamp(2.5rem, 5vw, 5rem) clamp(2rem, 5vw, 5.5rem) !important;
}
#services .service-panel__content { max-width: 500px; }
#services .service-panel__num {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-style: italic !important;
  font-size: 2.6rem !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  color: rgba(140,190,255,0.55) !important;
  display: flex; align-items: center; gap: 1rem;
}
#services .service-panel__num::after {
  content: ""; width: 48px; height: 1px;
  background: linear-gradient(90deg, rgba(140,190,255,0.7), rgba(140,190,255,0));
}
#services .service-panel__title {
  font-family: 'Manrope', sans-serif !important;
  font-size: clamp(2rem, 3vw, 2.9rem) !important;
  font-weight: 300 !important;
  line-height: 1.1 !important;
  letter-spacing: -0.02em !important;
  text-transform: none !important;
  color: #eaf3ff !important;
  -webkit-text-fill-color: currentColor !important;
  background: none !important;
  margin-bottom: 1.25rem !important;
}
#services .service-panel__title em {
  font-family: 'Playfair Display', Georgia, serif;
  font-style: italic;
  font-weight: 400;
  font-size: 1.12em;
  color: #9cc8ff;
  -webkit-text-fill-color: #9cc8ff;
}
#services .service-panel__body {
  font-size: 16px !important;
  font-weight: 300 !important;
  line-height: 1.8 !important;
  color: rgba(205,224,250,0.72) !important;
  max-width: 460px;
  margin-bottom: 1.75rem !important;
}
#services .service-panel__tags { gap: 0.5rem !important; margin-bottom: 2.25rem !important; }
#services .service-panel__tags li {
  font-family: 'Manrope', sans-serif !important;
  font-size: 10.5px !important;
  font-weight: 500 !important;
  letter-spacing: 0.14em !important;
  padding: 0.45rem 0.9rem !important;
  border: 1px solid rgba(140,190,255,0.2) !important;
  border-radius: 999px !important;
  color: rgba(200,222,255,0.7) !important;
  background: rgba(255,255,255,0.02) !important;
}
#services .service-panel__cta {
  font-family: 'Manrope', sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.22em !important;
  color: #dbe9ff !important;
  padding-bottom: 0.45rem !important;
  border-bottom: 1px solid rgba(140,190,255,0.35) !important;
  gap: 0.75rem !important;
}
#services .service-panel__cta:hover { color: #9cc8ff !important; border-color: #9cc8ff !important; }

@media (max-width: 900px) {
  #services .service-panel__inner,
  #services .service-panel--alt .service-panel__inner { grid-template-columns: 1fr !important; min-height: 0; }
  #services .service-panel__img-wrap,
  #services .service-panel--alt .service-panel__img-wrap { grid-column: 1; grid-row: 1; min-height: 0; height: 280px !important; }
  #services .service-panel__meta,
  #services .service-panel--alt .service-panel__meta { grid-column: 1; grid-row: 2; padding: 2.25rem 1.25rem 3rem !important; }
  #services .service-panel__title { font-size: 2rem !important; }
  #services .service-panel__body { font-size: 15px !important; }
}
#services .service-panel__img-wrap { max-height: none !important; align-self: stretch !important; }
#services .service-panel__img { height: 100% !important; }
@media (max-width: 900px) {
  #services .service-panel__img-wrap { max-height: 280px !important; }
}
#services .service-panel__inner > * { min-width: 0 !important; }
@media (max-width: 900px) {
  #services .service-panel__img-wrap { width: 100% !important; max-width: 100% !important; }
}

/* -- Tighter spacing: banner -> showcase -> services ----------------- */
#showcase.showcase { margin-top: 0 !important; padding-top: 3rem !important; }
#services .services__header { padding-top: clamp(3rem, 5vw, 4.5rem) !important; }
#showcase.showcase { min-height: 0 !important; height: auto !important; padding-bottom: 2rem !important; }
#showcase.showcase { padding-top: 6rem !important; }

/* -- Standards hero: elegant headline + orbit of standards ----------- */
#standardsHero .standards-hero__inner { gap: clamp(3rem, 6vw, 6rem) !important; }
#standardsHero .standards-hero__left { flex: 1 1 480px; max-width: 620px; }
#standardsHero .standards-hero__title {
  font-family: 'Manrope', sans-serif !important;
  font-size: clamp(2rem, 3.4vw, 3.25rem) !important;
  font-weight: 300 !important;
  line-height: 1.12 !important;
  letter-spacing: -0.02em !important;
  background: none !important;
  -webkit-text-fill-color: #eaf3ff !important;
  color: #eaf3ff !important;
  animation: none !important;
  margin: 1.4rem 0 1.5rem !important;
}
#standardsHero .standards-hero__title em {
  font-family: 'Playfair Display', Georgia, serif;
  font-style: italic;
  font-weight: 400;
  font-size: 1.12em;
  -webkit-text-fill-color: #9cc8ff;
  color: #9cc8ff;
}
#standardsHero .eyebrow {
  display: inline-flex; align-items: center; gap: 0.9rem;
  font-family: 'Manrope', sans-serif; font-size: 11px; font-weight: 600;
  letter-spacing: 0.28em; color: rgba(140,190,255,0.85) !important;
}
#standardsHero .eyebrow::before {
  content: ""; width: 36px; height: 1px;
  background: linear-gradient(90deg, rgba(140,190,255,0), rgba(140,190,255,0.85));
}
.standards-hero__lede {
  font-size: 16px; font-weight: 300; line-height: 1.8;
  color: rgba(205,224,250,0.7); max-width: 480px;
  padding-left: 1.1rem; border-left: 1px solid rgba(140,190,255,0.3);
}

#standardsHero .standards-hero__right { flex: 1 1 420px; display: flex; justify-content: center; }
.standards-orbit {
  container-type: inline-size;
  width: min(100%, 520px);
  aspect-ratio: 1;
  padding: 0 !important;
  border-radius: 50% !important;
  border: 1px solid rgba(120,175,255,0.14) !important;
  background: radial-gradient(circle at 50% 50%, rgba(40,100,220,0.22) 0%, rgba(8,24,60,0.55) 45%, rgba(4,14,36,0.2) 72%, transparent 100%) !important;
  box-shadow: 0 0 80px rgba(30,90,220,0.15), inset 0 0 60px rgba(30,90,220,0.12);
}
.standards-orbit .pattern-box__grid {
  opacity: 0.5;
  -webkit-mask-image: radial-gradient(circle, #000 30%, transparent 70%);
          mask-image: radial-gradient(circle, #000 30%, transparent 70%);
}
.orbit__ring {
  position: absolute; left: 50%; top: 50%;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
}
.orbit__ring--outer { width: 82%; height: 82%; border: 1px dashed rgba(140,190,255,0.22); }
.orbit__ring--inner { width: 46%; height: 46%; border: 1px solid rgba(140,190,255,0.16); }

.orbit__seal {
  position: absolute; left: 50%; top: 50%;
  width: 30%; aspect-ratio: 1;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 0.35rem; text-align: center;
  background: radial-gradient(circle at 35% 30%, #1c4fa8 0%, #0b2558 55%, #061637 100%);
  border: 1px solid rgba(160,205,255,0.45);
  box-shadow: 0 0 0 6px rgba(100,170,255,0.06), 0 0 40px rgba(60,140,255,0.45), inset 0 1px 0 rgba(255,255,255,0.2);
  animation: orbitSealPulse 5s ease-in-out infinite;
  z-index: 2;
}
.orbit__seal-kicker, .orbit__seal-foot {
  font-family: 'Manrope', sans-serif; font-size: clamp(7px, 1.6cqw, 9px);
  font-weight: 600; letter-spacing: 0.24em; text-transform: uppercase;
  color: rgba(180,215,255,0.75);
}
.orbit__seal-main {
  font-family: 'Manrope', sans-serif; font-weight: 300;
  font-size: clamp(14px, 4cqw, 21px); line-height: 1.05; color: #eaf3ff;
}
.orbit__seal-main em {
  font-family: 'Playfair Display', Georgia, serif; font-style: italic;
  font-size: 1.15em; color: #9cc8ff;
}
@keyframes orbitSealPulse {
  0%, 100% { box-shadow: 0 0 0 6px rgba(100,170,255,0.06), 0 0 36px rgba(60,140,255,0.4), inset 0 1px 0 rgba(255,255,255,0.2); }
  50%      { box-shadow: 0 0 0 10px rgba(100,170,255,0.04), 0 0 56px rgba(60,140,255,0.6), inset 0 1px 0 rgba(255,255,255,0.2); }
}

.orbit__track {
  position: absolute; inset: 0; margin: 0; padding: 0; list-style: none;
  animation: orbitSpin var(--dur, 70s) linear infinite;
  z-index: 3;
}
.orbit__track--outer { --r: 41cqw; --dur: 80s; }
.pattern-box.standards-orbit { overflow: visible !important; }
.standards-orbit .pattern-box__grid { border-radius: 50%; }
.orbit__track--inner { --r: 23cqw; --dur: 60s; --offset: 45deg; animation-direction: reverse; }
.orbit__track li {
  position: absolute; left: 50%; top: 50%; width: 0; height: 0;
  --a: calc(360deg / var(--n) * var(--i) + var(--offset, 0deg));
  transform: rotate(var(--a)) translateX(var(--r)) rotate(calc(-1 * var(--a)));
}
.orbit__track li span {
  position: absolute; left: 0; top: 0;
  transform: translate(-50%, -50%);
  white-space: nowrap;
  padding: 0.5em 0.95em;
  border-radius: 999px;
  font-family: 'Manrope', sans-serif;
  font-size: clamp(9px, 2.1cqw, 11.5px);
  font-weight: 600; letter-spacing: 0.12em;
  color: #dcebff;
  background: linear-gradient(180deg, rgba(20,55,120,0.85), rgba(8,26,64,0.9));
  border: 1px solid rgba(140,190,255,0.35);
  box-shadow: 0 0 18px rgba(60,140,255,0.25), inset 0 1px 0 rgba(255,255,255,0.12);
  -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px);
  animation: orbitUpright var(--dur, 70s) linear infinite;
  transition: border-color 0.3s ease, box-shadow 0.3s ease, color 0.3s ease;
}
.orbit__track--inner li span { animation-direction: reverse; }
.orbit__track li span:hover {
  color: #fff; border-color: rgba(170,210,255,0.8);
  box-shadow: 0 0 28px rgba(90,160,255,0.55), inset 0 1px 0 rgba(255,255,255,0.18);
}
.standards-orbit:hover .orbit__track,
.standards-orbit:hover .orbit__track li span { animation-play-state: paused; }
/* keep badges upright while the track turns: spin the opposite way at the same speed */
@keyframes orbitSpin    { to { transform: rotate(360deg); } }
@keyframes orbitUpright { from { transform: translate(-50%, -50%) rotate(0deg); } to { transform: translate(-50%, -50%) rotate(-360deg); } }

/* -- ISO 9001:2026 headline: light + italic, word-by-word reveal ----- */
#isoFeature .iso-feature__headline {
  font-family: 'Manrope', sans-serif !important;
  font-size: clamp(2rem, 3.4vw, 3.25rem) !important;
  font-weight: 300 !important;
  line-height: 1.14 !important;
  letter-spacing: -0.02em !important;
  text-transform: none !important;
  background: none !important;
  color: #eaf3ff !important;
  -webkit-text-fill-color: #eaf3ff !important;
  animation: none !important;
  filter: none !important;
}
#isoFeature .iso-feature__headline em {
  font-family: 'Playfair Display', Georgia, serif;
  font-style: italic;
  font-weight: 400;
  font-size: 1.12em;
  letter-spacing: -0.01em;
  color: #9cc8ff;
  -webkit-text-fill-color: #9cc8ff;
  transition: text-shadow 1.2s ease;
}
#isoFeature .iso-feature__headline.is-revealed em {
  animation: isoEmGlow 4.5s ease-in-out infinite;
}
@keyframes isoEmGlow {
  0%, 100% { text-shadow: 0 0 0 rgba(120,180,255,0); }
  50%      { text-shadow: 0 0 22px rgba(120,180,255,0.45); }
}
.iso-feature__headline .reveal-word {
  display: inline-block;
  will-change: transform, opacity, filter;
}
@media (prefers-reduced-motion: reduce) {
  #isoFeature .iso-feature__headline.is-revealed em { animation: none; }
}

/* -- Sectors we serve: editorial header + refined cards -------------- */
#industries .industries__header {
  display: flex; align-items: flex-end; justify-content: space-between;
  gap: 2rem 4rem; flex-wrap: wrap;
  margin-bottom: clamp(2rem, 3.5vw, 3rem) !important;
}
#industries .eyebrow {
  display: inline-flex; align-items: center; gap: 0.9rem;
  font-family: 'Manrope', sans-serif; font-size: 11px; font-weight: 600;
  letter-spacing: 0.28em; color: rgba(140,190,255,0.85) !important;
}
#industries .eyebrow::before {
  content: ""; width: 36px; height: 1px;
  background: linear-gradient(90deg, rgba(140,190,255,0), rgba(140,190,255,0.85));
}
#industries .industries__headline {
  font-family: 'Manrope', sans-serif !important;
  font-size: clamp(2rem, 3.4vw, 3.25rem) !important;
  font-weight: 300 !important;
  line-height: 1.12 !important;
  letter-spacing: -0.02em !important;
  color: #eaf3ff !important;
  margin-top: 1.2rem;
}
#industries .industries__headline em {
  font-family: 'Playfair Display', Georgia, serif; font-style: italic;
  font-weight: 400; font-size: 1.12em; color: #9cc8ff;
}
.industries__intro {
  max-width: 360px;
  font-size: 16px; font-weight: 300; line-height: 1.8;
  color: rgba(205,224,250,0.7);
  padding-left: 1.1rem; border-left: 1px solid rgba(140,190,255,0.3);
}

#industries .industries__grid--four .industry-card {
  border-radius: 14px !important;
  border: 1px solid rgba(140,190,255,0.16) !important;
  background: linear-gradient(180deg, rgba(10,28,64,0.75) 0%, rgba(5,16,40,0.9) 100%) !important;
  transition: transform 0.5s cubic-bezier(0.16,1,0.3,1), border-color 0.4s ease, box-shadow 0.4s ease !important;
}
#industries .industries__grid--four .industry-card:hover {
  transform: translateY(-8px) !important;
  border-color: rgba(140,190,255,0.45) !important;
  box-shadow: 0 24px 50px rgba(0,0,0,0.45), 0 0 36px rgba(40,110,230,0.22) !important;
}
#industries .industries__grid--four .industry-card__img-wrap {
  position: relative; height: 210px; border-radius: 14px 14px 0 0;
}
#industries .industries__grid--four .industry-card__img-wrap::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent 45%, rgba(6,18,44,0.95) 100%);
  pointer-events: none;
}
#industries .industries__grid--four .industry-card__img-wrap img {
  filter: brightness(0.9) saturate(1.02) !important;
}
#industries .industries__grid--four .industry-card:hover .industry-card__img-wrap img {
  transform: scale(1.05); filter: brightness(1) saturate(1.08) !important;
}
#industries .industries__grid--four .industry-card__num {
  position: relative; z-index: 1;
  margin: -2.2rem 0 0 !important; padding: 0 1.3rem !important;
  font-family: 'Playfair Display', Georgia, serif !important;
  font-style: italic; font-weight: 400 !important;
  font-size: 2.2rem !important; letter-spacing: 0 !important;
  color: rgba(156,200,255,0.75) !important;
  display: flex; align-items: center; gap: 0.75rem;
}
#industries .industries__grid--four .industry-card__num::after {
  content: ""; width: 32px; height: 1px;
  background: linear-gradient(90deg, rgba(140,190,255,0.7), rgba(140,190,255,0));
  transition: width 0.5s cubic-bezier(0.16,1,0.3,1);
}
#industries .industries__grid--four .industry-card:hover .industry-card__num::after { width: 56px; }
#industries .industries__grid--four .industry-card__content { padding: 0.9rem 1.3rem 1.6rem !important; }
#industries .industries__grid--four .industry-card__title {
  font-family: 'Manrope', sans-serif !important;
  font-size: 0.78rem !important; font-weight: 600 !important;
  letter-spacing: 0.2em !important; color: #eaf3ff !important;
  filter: none !important; margin-bottom: 0.6rem !important;
}
#industries .industries__grid--four .industry-card:hover .industry-card__title { color: #9cc8ff !important; }
#industries .industries__grid--four .industry-card__desc {
  font-size: 14.5px !important; font-weight: 300 !important;
  line-height: 1.7 !important; color: rgba(205,224,250,0.7) !important;
}
#industries .industries__grid--four .industry-card__bar {
  background: linear-gradient(90deg, #1466d4, #9cc8ff) !important;
}
@media (max-width: 768px) {
  #industries .industries__header { align-items: flex-start; }
  #industries .industries__grid--four .industry-card__img-wrap { height: 190px; }
}

/* -- Footer: refined house style (shared by every page) -------------- */
body footer.footer {
  position: relative;
  overflow: hidden;
  background: linear-gradient(180deg, #030b1c 0%, #04102a 100%) !important;
  padding-top: clamp(4rem, 7vw, 6rem) !important;
  font-family: 'Inter', sans-serif;
}
body footer.footer::before { /* thin gradient divider */
  content: ""; position: absolute; top: 0; left: 0; right: 0; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(140,190,255,0.45), transparent);
}
body footer.footer::after { /* large faint watermark, centred so it never clips */
  content: "Mars Sigma";
  position: absolute; left: 50%; bottom: -0.2em;
  transform: translateX(-50%);
  font-family: 'Playfair Display', Georgia, serif; font-style: italic;
  font-size: clamp(4.5rem, 15vw, 15rem); line-height: 1; white-space: nowrap;
  padding-right: 0.15em; /* room for the italic overhang */
  color: rgba(120,175,255,0.05);
  pointer-events: none;
}

/* Heading effects: staggered reveal, accent lines drawing in, shimmer on "Solutions".
   Only armed when JS adds .fx-ready, so the footer is fully visible without it. */
/* Headings are never hidden: they only settle into place and glow. */
body footer.footer.fx-ready :is(.footer__wordmark, .footer__col-title) {
  transform: translateY(8px);
  transition: transform 0.9s cubic-bezier(0.16,1,0.3,1), text-shadow 1.2s ease;
}
body footer.footer.fx-ready.is-revealed .footer__wordmark { text-shadow: 0 0 24px rgba(120,180,255,0.25); }
body footer.footer.fx-ready .footer__col-title::before {
  width: 0;
  transition: width 0.8s cubic-bezier(0.16,1,0.3,1);
}
body footer.footer.fx-ready.is-revealed :is(.footer__wordmark, .footer__col-title) { transform: none; }
/* The brand block must never stay hidden by the generic reveal. */
body footer.footer .footer__brand[data-reveal] { opacity: 1 !important; transform: none !important; }
body footer.footer.fx-ready.is-revealed .footer__col-title::before { width: 22px; }
body footer.footer.fx-ready .footer__col:nth-child(1) .footer__col-title,
body footer.footer.fx-ready .footer__col:nth-child(1) .footer__col-title::before { transition-delay: 0.15s; }
body footer.footer.fx-ready .footer__col:nth-child(2) .footer__col-title,
body footer.footer.fx-ready .footer__col:nth-child(2) .footer__col-title::before { transition-delay: 0.27s; }
body footer.footer.fx-ready .footer__col:nth-child(3) .footer__col-title,
body footer.footer.fx-ready .footer__col:nth-child(3) .footer__col-title::before { transition-delay: 0.39s; }
body footer.footer.fx-ready .footer__col:nth-child(4) .footer__col-title,
body footer.footer.fx-ready .footer__col:nth-child(4) .footer__col-title::before { transition-delay: 0.51s; }
body footer.footer.fx-ready .footer__wordmark em {
  background: linear-gradient(100deg, #9cc8ff 0%, #9cc8ff 40%, #ffffff 50%, #9cc8ff 60%, #9cc8ff 100%);
  background-size: 250% 100%;
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: footerSheen 6s ease-in-out infinite;
}
@keyframes footerSheen {
  0%, 100% { background-position: 100% 0; }
  50%      { background-position: 0% 0; }
}
body footer.footer .footer__col-title:hover { color: #ffffff !important; }
body footer.footer .footer__inner { position: relative; z-index: 1; }
body footer.footer .footer__top { border-bottom: 0 !important; padding-bottom: 0 !important; }
body footer.footer .footer__wordmark {
  font-family: 'Manrope', sans-serif !important;
  font-size: clamp(1.9rem, 2.8vw, 2.6rem) !important;
  font-weight: 300 !important;
  line-height: 1.05 !important;
  letter-spacing: -0.02em !important;
  text-transform: none !important;
  color: #eaf3ff !important;
}
body footer.footer .footer__wordmark em {
  font-family: 'Playfair Display', Georgia, serif; font-style: italic;
  font-weight: 400; font-size: 1.15em; color: #9cc8ff;
}
body footer.footer .footer__tagline {
  font-family: 'Inter', sans-serif !important;
  font-size: 15px !important; font-weight: 300 !important; line-height: 1.75 !important;
  color: rgba(205,224,250,0.68) !important;
  margin-top: 1.1rem;
  padding-left: 1rem; border-left: 1px solid rgba(140,190,255,0.3);
}
body footer.footer .footer__col-title {
  display: flex; align-items: center; gap: 0.7rem;
  font-family: 'Manrope', sans-serif !important;
  font-size: 11px !important; font-weight: 600 !important;
  letter-spacing: 0.26em !important; text-transform: uppercase;
  color: #9cc8ff !important;
  margin-bottom: 1.25rem !important;
}
body footer.footer .footer__col-title::before {
  content: ""; width: 22px; height: 1px;
  background: linear-gradient(90deg, rgba(140,190,255,0), rgba(140,190,255,0.85));
}
body footer.footer :is(.footer__link, .footer__contact-link, .footer__address) {
  font-family: 'Inter', sans-serif !important;
  font-size: 14.5px !important; font-weight: 300 !important;
  font-style: normal; line-height: 1.7 !important; letter-spacing: 0.005em !important;
  color: rgba(214,230,252,0.78) !important;
}
body footer.footer :is(.footer__link, .footer__contact-link) {
  display: inline-block; width: fit-content;
  position: relative; padding-bottom: 2px; margin-bottom: 0.45rem;
  text-decoration: none;
  transition: color 0.3s ease;
}
body footer.footer :is(.footer__link, .footer__contact-link)::after {
  content: ""; position: absolute; left: 0; bottom: 0; height: 1px; width: 100%;
  background: linear-gradient(90deg, #9cc8ff, rgba(156,200,255,0));
  transform: scaleX(0); transform-origin: left;
  transition: transform 0.45s cubic-bezier(0.16,1,0.3,1);
}
body footer.footer :is(.footer__link, .footer__contact-link):hover { color: #ffffff !important; }
body footer.footer :is(.footer__link, .footer__contact-link):hover::after { transform: scaleX(1); }
body footer.footer .footer__col nav { display: flex; flex-direction: column; align-items: flex-start; }
body footer.footer .footer__col { display: flex; flex-direction: column; align-items: flex-start; }
body footer.footer .footer__address { margin-bottom: 0.6rem; }

body footer.footer .footer__bottom {
  margin-top: clamp(3rem, 5vw, 4.5rem) !important;
  padding-top: 1.5rem !important;
  border-top: 0 !important;
  position: relative;
}
body footer.footer .footer__bottom::before {
  content: ""; position: absolute; top: 0; left: 0; right: 0; height: 1px;
  background: linear-gradient(90deg, rgba(140,190,255,0.35), rgba(140,190,255,0.08) 70%, transparent);
}
body footer.footer :is(.footer__copy, .footer__legal-link) {
  font-family: 'Manrope', sans-serif !important;
  font-size: 11.5px !important; font-weight: 500 !important;
  letter-spacing: 0.08em !important;
  color: rgba(180,205,240,0.6) !important;
}
body footer.footer .footer__legal { display: flex; gap: 1.75rem; }
body footer.footer .footer__legal-link { transition: color 0.3s ease; }
body footer.footer .footer__legal-link:hover { color: #9cc8ff !important; }

@media (max-width: 768px) {
  body footer.footer::after { font-size: 17vw; }
  body footer.footer .footer__legal { gap: 1.25rem; }
  body footer.footer .footer__top { display: flex !important; flex-direction: column !important; gap: 2.5rem !important; }
  body footer.footer .footer__cols { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 2rem 1.5rem !important; width: 100%; }
  body footer.footer .footer__bottom { flex-direction: column; align-items: flex-start; gap: 0.9rem; }
}

/* Footer composition:
   1) statement row: large wordmark left, tagline + CTA right
   2) hairline divider
   3) four even columns
   4) bottom bar */
body footer.footer::after { display: none; } /* the big wordmark replaces the watermark */
body footer.footer .footer__inner { max-width: 1400px !important; margin: 0 auto !important; }
body footer.footer .footer__top {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
}
body footer.footer .footer__brand {
  display: grid !important;
  /* same 4-column grid as the link columns, so the tagline lines up with the last column */
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: end;
  gap: 1.75rem clamp(1.5rem, 3vw, 3rem);
  margin: 0 !important; padding: 0 0 clamp(2.5rem, 4vw, 3.5rem) !important;
  position: relative;
}
body footer.footer .footer__brand::after { /* divider */
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px;
  background: linear-gradient(90deg, rgba(140,190,255,0.4), rgba(140,190,255,0.12) 60%, rgba(140,190,255,0));
}
body footer.footer .footer__wordmark {
  grid-column: 1 / span 3; grid-row: 1 / span 2;
  font-size: clamp(3rem, 6.2vw, 5.75rem) !important;
  line-height: 0.95 !important;
  letter-spacing: -0.035em !important;
  margin: 0 !important;
}
body footer.footer .footer__wordmark em { margin-left: 0.06em; }
body footer.footer .footer__tagline {
  grid-column: 4; grid-row: 1;
  margin: 0 !important;
  padding: 0 !important; border: 0 !important;
  font-size: 16px !important;
}
body footer.footer .footer__cta {
  grid-column: 4; grid-row: 2;
  justify-self: start;
  display: inline-flex; align-items: center; gap: 0.75rem;
  padding: 0.9rem 1.5rem;
  border: 1px solid rgba(140,190,255,0.35);
  border-radius: 2px;
  font-family: 'Manrope', sans-serif; font-size: 11px; font-weight: 600;
  letter-spacing: 0.22em; text-transform: uppercase; text-decoration: none;
  color: #eaf3ff;
  background: rgba(255,255,255,0.02);
  transition: background 0.35s ease, border-color 0.35s ease, gap 0.35s ease;
}
body footer.footer .footer__cta:hover {
  background: rgba(60,130,240,0.16); border-color: rgba(156,200,255,0.7); gap: 1.05rem;
}
body footer.footer .footer__cols {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 2.5rem clamp(1.5rem, 3vw, 3rem) !important;
  margin: 0 !important;
  padding-top: clamp(2.5rem, 4vw, 3.5rem) !important;
}
body footer.footer .footer__col { margin: 0 !important; padding: 0 !important; }
body footer.footer .footer__col-title {
  flex-direction: row !important; align-items: center !important;
  gap: 0.7rem !important;
  font-size: 11.5px !important;
  line-height: 1 !important;
  margin: 0 0 1.35rem !important;
}
body footer.footer .footer__col-title::before { display: none !important; }
body footer.footer :is(.footer__link, .footer__contact-link, .footer__address) {
  font-size: 15.5px !important;
  line-height: 1.9 !important;
}
body footer.footer :is(.footer__link, .footer__contact-link) { margin-bottom: 0 !important; padding-bottom: 0 !important; }
body footer.footer :is(.footer__link, .footer__contact-link)::after { bottom: 0.3em; }
body footer.footer .footer__address { margin: 0 0 0.25rem !important; }

@media (max-width: 900px) {
  body footer.footer .footer__brand { grid-template-columns: 1fr; align-items: start; }
  body footer.footer .footer__wordmark,
  body footer.footer .footer__tagline,
  body footer.footer .footer__cta { grid-column: 1; grid-row: auto; }
  body footer.footer .footer__cols { grid-template-columns: 1fr 1fr !important; gap: 2.5rem 2rem !important; }
  body footer.footer .footer__wordmark { font-size: clamp(3rem, 9vw, 4.5rem) !important; }
}
@media (max-width: 768px) {
  body footer.footer .footer__cols { grid-template-columns: 1.3fr 1fr !important; gap: 2.25rem 1.25rem !important; }
  body footer.footer :is(.footer__link, .footer__contact-link, .footer__address) { font-size: 14px !important; }
}

/* Footer, compact version: wordmark beside the four columns in one row.
   Overrides the larger statement-row layout above; keeps type, effects and alignment. */
body footer.footer { padding-top: clamp(3.5rem, 5vw, 4.5rem) !important; }
body footer.footer::after { display: block; } /* faint centred watermark back */
body footer.footer .footer__top {
  display: grid !important;
  grid-template-columns: 1.3fr 4fr !important;
  gap: clamp(2rem, 4vw, 4rem) !important;
  align-items: start !important;
}
body footer.footer .footer__brand {
  display: block !important;
  padding: 0 !important;
}
body footer.footer .footer__brand::after { display: none; }
body footer.footer .footer__brand::before { /* same accent line as the column labels */
  content: ""; display: block; width: 22px; height: 1px; margin-bottom: 1rem;
  background: linear-gradient(90deg, rgba(140,190,255,0), rgba(140,190,255,0.85));
}
body footer.footer .footer__wordmark {
  font-size: clamp(2.6rem, 3.6vw, 3.4rem) !important;
  line-height: 1 !important;
  letter-spacing: -0.025em !important;
  margin: -0.1em 0 0 !important;
}
body footer.footer .footer__tagline {
  margin-top: 1.25rem !important;
  padding-left: 1rem !important;
  border-left: 1px solid rgba(140,190,255,0.3) !important;
  font-size: 15px !important;
}
body footer.footer .footer__cols { padding-top: 0 !important; gap: clamp(1.5rem, 3vw, 3rem) !important; }
body footer.footer .footer__col-title {
  flex-direction: column !important; align-items: flex-start !important;
  gap: 1rem !important;
  margin: 0 0 1.25rem !important;
}
body footer.footer .footer__col-title::before { display: block !important; }
body footer.footer .footer__bottom { margin-top: clamp(2.5rem, 4vw, 3.5rem) !important; }

/* No accent lines; headings read as headings; columns spaced evenly by content */
body footer.footer .footer__brand::before,
body footer.footer .footer__col-title::before { display: none !important; }
body footer.footer .footer__wordmark { margin-top: -0.08em !important; }
body footer.footer .footer__col-title {
  display: block !important;
  font-family: 'Playfair Display', Georgia, serif !important;
  font-style: italic !important;
  font-weight: 400 !important;
  font-size: 1.45rem !important;
  line-height: 1.1 !important;
  letter-spacing: 0 !important;
  text-transform: lowercase !important;
  color: #ffffff !important;
  margin: 0 0 1rem !important;
  padding-bottom: 0.7rem;
  border-bottom: 1px solid rgba(140,190,255,0.22);
}
body footer.footer .footer__col-title::first-letter { text-transform: uppercase; }
/* blue gradient on the footer column headings only */
body footer.footer .footer__col-title {
  display: inline-block !important;
  padding-right: 0.15em; /* keeps the italic last letter inside the gradient */
  font-weight: 700 !important;
  background: linear-gradient(100deg, #ffffff 0%, #a9d0ff 40%, #5aa2ff 100%) !important;
  -webkit-background-clip: text !important;
          background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: #9cc8ff !important;
}
body footer.footer .footer__cols {
  grid-template-columns: repeat(4, max-content) !important;
  justify-content: space-between !important;
}

@media (max-width: 1024px) {
  body footer.footer .footer__top { grid-template-columns: 1fr !important; gap: 2.5rem !important; }
}
@media (max-width: 768px) {
  body footer.footer .footer__cols { grid-template-columns: 1.3fr 1fr !important; justify-content: stretch !important; }
}
@media (max-width: 900px) {
  body footer.footer .footer__brand { display: block !important; }
  body footer.footer .footer__wordmark { font-size: 2.6rem !important; }
}

/* -- Home hero: flagship editorial treatment (scoped to #hero) ------- */
#hero .hero__content { max-width: 800px !important; }
#hero .hero__headline .hero__line { white-space: nowrap; }
#hero .hero__eyebrow-text {
  font-family: 'Manrope', sans-serif !important;
  font-size: 11px !important; font-weight: 600 !important;
  letter-spacing: 0.3em !important;
  color: rgba(156,200,255,0.9) !important;
}
#hero .hero__headline {
  font-family: 'Manrope', sans-serif !important;
  font-size: clamp(2.4rem, 4.1vw, 3.9rem) !important;
  font-weight: 300 !important;
  line-height: 1.08 !important;
  letter-spacing: -0.03em !important;
  text-transform: none !important;
  margin: 1.6rem 0 1.75rem !important;
}
#hero .hero__headline .hero__line > span {
  color: #f1f7ff !important;
  -webkit-text-fill-color: #f1f7ff !important;
  background: none !important;
  text-shadow: 0 2px 30px rgba(0,10,30,0.45);
}
#hero .hero__headline .hero__line--accent > span {
  /* override the old letter-gradient treatment */
  background: none !important;
  animation: none !important;
  color: #9cc8ff !important;
  -webkit-text-fill-color: #9cc8ff !important;
  display: inline-block !important;
  padding-right: 0.12em;
}
#hero .hero__headline em {
  font-family: 'Playfair Display', Georgia, serif;
  font-style: italic; font-weight: 400;
  font-size: 1.14em; letter-spacing: -0.01em;
  background: linear-gradient(100deg, #cfe4ff 0%, #9cc8ff 40%, #ffffff 50%, #9cc8ff 60%, #6fb0ff 100%);
  background-size: 250% 100%;
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: heroSheen 7s ease-in-out infinite;
  padding-right: 0.08em;
  /* Instrument Serif ships one weight; synthetic bold plus a fine stroke makes it read very bold */
  /* professional italic with a real semibold weight */
  font-family: 'Playfair Display', Georgia, serif;
  font-weight: 600;
  font-size: 1em;
  letter-spacing: -0.01em;
  -webkit-text-stroke: 0;
}
@keyframes heroSheen {
  0%, 100% { background-position: 100% 0; }
  50%      { background-position: 0% 0; }
}
/* glitter: brighter, quicker sweep plus twinkling sparkles (added by headline-reveal.js) */
#hero .hero__line--accent > span.has-sparkles { position: relative; overflow: visible; }
#hero .hero__line--accent > span.has-sparkles em {
  background: linear-gradient(100deg, #cfe4ff 0%, #9cc8ff 38%, #ffffff 47%, #fff6d8 50%, #ffffff 53%, #9cc8ff 62%, #6fb0ff 100%);
  background-size: 260% 100%;
  -webkit-background-clip: text; background-clip: text;
  animation: heroSheen 4.5s ease-in-out infinite;
  filter: drop-shadow(0 0 10px rgba(140,195,255,0.35));
}
.hero-sparkle {
  position: absolute;
  width: calc(20px * var(--s, 1)); height: calc(20px * var(--s, 1));
  margin: calc(-10px * var(--s, 1)) 0 0 calc(-10px * var(--s, 1));
  pointer-events: none;
  background: radial-gradient(circle, #ffffff 0%, rgba(210,232,255,0.9) 22%, rgba(150,200,255,0) 60%);
  clip-path: polygon(50% 0%, 60% 40%, 100% 50%, 60% 60%, 50% 100%, 40% 60%, 0% 50%, 40% 40%);
  opacity: 0;
  transform: scale(0) rotate(0deg);
  animation: heroTwinkle 2.8s ease-in-out infinite;
  filter: drop-shadow(0 0 4px rgba(255,255,255,0.9));
  z-index: 2;
}
@keyframes heroTwinkle {
  0%   { opacity: 0; transform: scale(0) rotate(0deg); }
  18%  { opacity: 1; transform: scale(1) rotate(45deg); }
  36%  { opacity: 0; transform: scale(0.2) rotate(90deg); }
  100% { opacity: 0; transform: scale(0) rotate(90deg); }
}
@media (prefers-reduced-motion: reduce) {
  .hero-sparkle { display: none; }
  #hero .hero__line--accent > span.has-sparkles em { animation: none; }
}
#hero .hero__body {
  font-family: 'Inter', sans-serif !important;
  font-size: 17px !important; font-weight: 300 !important;
  line-height: 1.8 !important; letter-spacing: 0.005em !important;
  color: rgba(214,230,252,0.78) !important;
  max-width: 500px !important;
  padding-left: 1.15rem; border-left: 1px solid rgba(140,190,255,0.35);
  margin-bottom: 2.4rem !important;
}
#hero .hero__ctas { gap: 0.9rem !important; margin-top: 0 !important; }
#hero .hero__ctas .btn {
  padding: 1.05rem 1.9rem !important;
  font-family: 'Manrope', sans-serif !important;
  font-size: 11.5px !important; font-weight: 600 !important;
  letter-spacing: 0.2em !important;
  border-radius: 2px !important;
}
#hero .hero__ctas .btn--light {
  background: linear-gradient(135deg, #3b86e6 0%, #1f5fc0 100%) !important;
  border-color: rgba(150,200,255,0.35) !important;
  box-shadow: 0 12px 34px rgba(31,95,192,0.4), inset 0 1px 0 rgba(255,255,255,0.18) !important;
}
#hero .hero__ctas .btn--ghost {
  background: rgba(255,255,255,0.03) !important;
  border-color: rgba(200,222,255,0.3) !important;
  color: #dbe9ff !important;
  -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
}
#hero .hero__ctas .btn--ghost:hover {
  background: rgba(255,255,255,0.08) !important; border-color: rgba(200,222,255,0.6) !important; box-shadow: none !important;
}
/* photo depth: deeper left fade for the text, soft vignette, gentle blue light */
#hero .hero__gradient {
  background:
    radial-gradient(ellipse 55% 60% at 22% 48%, rgba(30,80,190,0.22) 0%, transparent 70%),
    linear-gradient(90deg, rgba(3,10,26,0.92) 0%, rgba(3,10,26,0.7) 32%, rgba(3,10,26,0.2) 62%, rgba(3,10,26,0.05) 100%) !important;
}
#hero .hero__gradient-solid {
  background:
    radial-gradient(ellipse 120% 90% at 60% 40%, transparent 55%, rgba(2,6,16,0.55) 100%),
    linear-gradient(180deg, rgba(3,10,26,0) 60%, #030b1c 100%) !important;
}
/* bottom meta row: tidy and non-overlapping */
#hero .hero__meta { align-items: flex-end !important; }
#hero .hero__meta-left {
  font-family: 'Manrope', sans-serif !important; font-size: 11px !important;
  font-weight: 600 !important; letter-spacing: 0.28em !important;
  color: rgba(156,200,255,0.75) !important;
}
#hero .hero__meta-right { display: flex !important; align-items: center !important; gap: 0.9rem !important; text-align: left !important; }
#hero .hero__stat-num {
  font-family: 'Playfair Display', Georgia, serif !important; font-style: italic;
  font-size: 2.6rem !important; font-weight: 400 !important; line-height: 1 !important;
  color: #9cc8ff !important;
}
#hero .hero__stat-label {
  font-family: 'Manrope', sans-serif !important; font-size: 10.5px !important;
  font-weight: 600 !important; letter-spacing: 0.2em !important; line-height: 1.5 !important;
  color: rgba(200,222,255,0.7) !important; max-width: 150px;
}
/* refined scroll cue, centred */
#hero .hero__scroll {
  left: 50% !important; right: auto !important; transform: translateX(-50%) !important;
  bottom: 1.6rem !important;
  display: flex !important; flex-direction: column !important; align-items: center !important; gap: 0.7rem !important;
}
#hero .hero__scroll-label {
  font-family: 'Manrope', sans-serif !important; font-size: 10px !important;
  font-weight: 600 !important; letter-spacing: 0.32em !important;
  color: rgba(156,200,255,0.7) !important; writing-mode: horizontal-tb !important;
}
#hero .hero__scroll-line {
  width: 1px !important; height: 42px !important;
  background: linear-gradient(180deg, rgba(156,200,255,0.8), rgba(156,200,255,0)) !important;
  animation: heroScrollCue 2.2s ease-in-out infinite;
  transform-origin: top;
}
@keyframes heroScrollCue {
  0%   { transform: scaleY(0); opacity: 1; }
  60%  { transform: scaleY(1); opacity: 1; }
  100% { transform: scaleY(1); opacity: 0; }
}
@media (max-width: 768px) {
  #hero .hero__headline { font-size: clamp(2rem, 8.6vw, 2.6rem) !important; }
  #hero .hero__headline .hero__line { white-space: normal; }
  #hero .hero__body { font-size: 15.5px !important; }
  #hero .hero__scroll { display: none !important; }
  /* the photo sits behind the text on phones, so darken it more for readability */
  #hero .hero__gradient {
    background: linear-gradient(180deg, rgba(3,10,26,0.55) 0%, rgba(3,10,26,0.82) 45%, rgba(3,10,26,0.9) 100%) !important;
  }
  #hero .hero__meta-left { display: none !important; }
}
@media (prefers-reduced-motion: reduce) {
  #hero .hero__headline em, #hero .hero__scroll-line { animation: none !important; }
}

/* ============================================================
   BUSINESS TRANSFORMATION PAGE (body.bt-page)
   ============================================================ */
.bt-page { background: #030b1c; }
.bt-wrap { max-width: 1400px; margin: 0 auto; padding: 0 var(--pad-x); }
.bt-eyebrow {
  display: inline-flex; align-items: center; gap: 0.9rem;
  font-family: 'Manrope', sans-serif; font-size: 11px; font-weight: 600;
  letter-spacing: 0.28em; text-transform: uppercase;
  color: rgba(156,200,255,0.9);
}
.bt-eyebrow::before {
  content: ""; width: 36px; height: 1px;
  background: linear-gradient(90deg, rgba(140,190,255,0), rgba(140,190,255,0.85));
}
.bt-h2 {
  font-family: 'Manrope', sans-serif; font-weight: 300;
  font-size: clamp(2rem, 3.4vw, 3.25rem); line-height: 1.12; letter-spacing: -0.02em;
  color: #eaf3ff; margin: 1.2rem 0 0;
}
.bt-page :is(.bt-h2, .bt-hero__title) em {
  font-family: 'Playfair Display', Georgia, serif; font-style: italic; font-weight: 500;
  color: #9cc8ff; letter-spacing: -0.01em;
}
.bt-body {
  font-family: 'Inter', sans-serif; font-size: 16.5px; font-weight: 300; line-height: 1.8;
  color: rgba(214,230,252,0.75); max-width: 520px; margin-top: 1.2rem;
}

/* hero */
.bt-hero {
  position: relative; min-height: 100vh; min-height: 100svh;
  display: flex; align-items: center; overflow: hidden;
  padding: calc(var(--nav-h, 80px) + 3rem) var(--pad-x) 5rem;
}
.bt-hero__bg { position: absolute; inset: 0; }
.bt-hero__img { width: 100%; height: 100%; object-fit: cover; object-position: 70% center; display: block; animation: btHeroZoom 14s ease-out forwards; }
.bt-hero__shade {
  position: absolute; inset: 0;
  background:
    radial-gradient(ellipse 50% 60% at 20% 50%, rgba(30,80,190,0.25) 0%, transparent 70%),
    linear-gradient(90deg, rgba(3,10,26,0.95) 0%, rgba(3,10,26,0.82) 35%, rgba(3,10,26,0.35) 65%, rgba(3,10,26,0.15) 100%),
    linear-gradient(180deg, rgba(3,10,26,0) 65%, #030b1c 100%);
}
.bt-hero__inner { position: relative; z-index: 1; width: 100%; max-width: 1400px; margin: 0 auto; }
.bt-hero__inner > * { max-width: 780px; }
.bt-hero__title {
  font-family: 'Manrope', sans-serif; font-weight: 300;
  font-size: clamp(2.4rem, 4.4vw, 4.1rem); line-height: 1.08; letter-spacing: -0.03em;
  color: #f1f7ff; margin: 1.5rem 0 1.6rem;
}
.bt-hero__title em { display: inline-block; padding-right: 0.08em; }
.bt-hero__lede {
  font-family: 'Inter', sans-serif; font-size: 17px; font-weight: 300; line-height: 1.8;
  color: rgba(214,230,252,0.8); max-width: 500px;
  padding-left: 1.15rem; border-left: 1px solid rgba(140,190,255,0.35);
}
.bt-actions { display: flex; flex-wrap: wrap; gap: 0.9rem; margin-top: 2.4rem; }
.bt-btn {
  display: inline-flex; align-items: center; gap: 0.75rem;
  padding: 1.05rem 1.9rem; border-radius: 2px; text-decoration: none;
  font-family: 'Manrope', sans-serif; font-size: 11.5px; font-weight: 600;
  letter-spacing: 0.2em; text-transform: uppercase; color: #fff;
  border: 1px solid transparent;
  transition: transform 0.25s ease, box-shadow 0.35s ease, background 0.35s ease, border-color 0.35s ease, gap 0.35s ease;
}
.bt-btn:hover { transform: translateY(-2px); gap: 1rem; }
.bt-btn--primary {
  background: linear-gradient(135deg, #3b86e6 0%, #1f5fc0 100%);
  border-color: rgba(150,200,255,0.35);
  box-shadow: 0 12px 34px rgba(31,95,192,0.4), inset 0 1px 0 rgba(255,255,255,0.18);
}
.bt-btn--ghost {
  background: rgba(255,255,255,0.03); border-color: rgba(200,222,255,0.3); color: #dbe9ff;
  -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
}
.bt-btn--ghost:hover { background: rgba(255,255,255,0.08); border-color: rgba(200,222,255,0.6); }
.bt-hero__tags { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 2.6rem; padding: 0; list-style: none; }
.bt-hero__tags li {
  font-family: 'Manrope', sans-serif; font-size: 10.5px; font-weight: 500; letter-spacing: 0.14em;
  text-transform: uppercase; color: rgba(200,222,255,0.75);
  padding: 0.45rem 0.9rem; border-radius: 999px;
  border: 1px solid rgba(140,190,255,0.22); background: rgba(255,255,255,0.02);
}
.bt-rise { opacity: 0; transform: translateY(22px); animation: btRise 1s cubic-bezier(0.16,1,0.3,1) forwards; }
.bt-rise:nth-child(1) { animation-delay: 0.15s; }
.bt-rise:nth-child(2) { animation-delay: 0.3s; }
.bt-rise:nth-child(3) { animation-delay: 0.5s; }
.bt-rise:nth-child(4) { animation-delay: 0.65s; }
.bt-rise:nth-child(5) { animation-delay: 0.8s; }
@keyframes btRise { to { opacity: 1; transform: none; } }
@keyframes btHeroZoom { from { transform: scale(1.08); } to { transform: scale(1); } }

/* offerings */
.bt-offerings { padding: clamp(5rem, 9vw, 8rem) 0; background: linear-gradient(180deg, #030b1c 0%, #051430 100%); }
.bt-section-head {
  display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between;
  gap: 2rem 4rem; margin-bottom: clamp(2.5rem, 4vw, 3.5rem);
}
.bt-section-intro {
  max-width: 420px; font-family: 'Inter', sans-serif; font-size: 16px; font-weight: 300; line-height: 1.8;
  color: rgba(205,224,250,0.7); padding-left: 1.1rem; border-left: 1px solid rgba(140,190,255,0.3);
}
.bt-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.bt-offer {
  position: relative; overflow: hidden;
  padding: 2.2rem 2rem 2.4rem; border-radius: 14px;
  border: 1px solid rgba(140,190,255,0.16);
  background: linear-gradient(180deg, rgba(10,28,64,0.7) 0%, rgba(5,16,40,0.85) 100%);
  transition: transform 0.5s cubic-bezier(0.16,1,0.3,1), border-color 0.4s ease, box-shadow 0.4s ease;
}
.bt-offer::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px;
  background: linear-gradient(90deg, #1466d4, #9cc8ff);
  transform: scaleX(0); transform-origin: left; transition: transform 0.5s cubic-bezier(0.16,1,0.3,1);
}
.bt-offer:hover {
  transform: translateY(-6px); border-color: rgba(140,190,255,0.45);
  box-shadow: 0 24px 50px rgba(0,0,0,0.45), 0 0 36px rgba(40,110,230,0.2);
}
.bt-offer:hover::after { transform: scaleX(1); }
.bt-offer__num {
  display: flex; align-items: center; gap: 0.75rem;
  font-family: 'Playfair Display', Georgia, serif; font-style: italic; font-size: 1.9rem;
  color: rgba(156,200,255,0.75);
}
.bt-offer__num::after {
  content: ""; width: 32px; height: 1px;
  background: linear-gradient(90deg, rgba(140,190,255,0.7), rgba(140,190,255,0));
  transition: width 0.5s cubic-bezier(0.16,1,0.3,1);
}
.bt-offer:hover .bt-offer__num::after { width: 56px; }
.bt-offer__title {
  font-family: 'Manrope', sans-serif; font-size: 1.3rem; font-weight: 500; letter-spacing: -0.01em;
  color: #eaf3ff; margin: 1.4rem 0 0.7rem;
}
.bt-offer__text { font-family: 'Inter', sans-serif; font-size: 15px; font-weight: 300; line-height: 1.75; color: rgba(205,224,250,0.72); }

/* led by practitioners */
.bt-lead { padding: clamp(4.5rem, 8vw, 7rem) 0; background: #040f26; }
.bt-lead__inner { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2.5rem, 5vw, 5rem); align-items: center; }
.bt-lead__img { border-radius: 14px; overflow: hidden; border: 1px solid rgba(140,190,255,0.18); box-shadow: 0 30px 70px rgba(0,0,0,0.5), 0 0 50px rgba(40,110,230,0.15); }
.bt-lead__img img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }

@media (max-width: 1000px) {
  .bt-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bt-lead__inner { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .bt-grid { grid-template-columns: 1fr; }
  .bt-hero { align-items: flex-end; }
  .bt-hero__shade { background: linear-gradient(180deg, rgba(3,10,26,0.55) 0%, rgba(3,10,26,0.85) 45%, rgba(3,10,26,0.95) 100%); }
  .bt-hero__lede { font-size: 15.5px; }
  .bt-hero__title { font-size: 2.15rem; }
  .bt-hero__title br { display: none; }
  .bt-actions .bt-btn { width: 100%; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) {
  .bt-rise { opacity: 1; transform: none; animation: none; }
  .bt-hero__img { animation: none; }
}

/* -- Business Transformation: hero video + blue/black theme ----------- */
.bt-hero__video {
  position: absolute; top: 50%; left: 50%;
  width: 100vw; height: 56.25vw; min-height: 100%; min-width: 177.78vh;
  transform: translate(-50%, -50%) scale(1.06);
  border: 0; pointer-events: none;
  opacity: 0; animation: btVideoIn 2.5s ease 0.6s forwards; /* hides YouTube's loading flash */
}
@keyframes btVideoIn { to { opacity: 1; } }
.bt-page .bt-hero__shade {
  background:
    radial-gradient(ellipse 50% 60% at 20% 50%, rgba(40,100,255,0.22) 0%, transparent 70%),
    linear-gradient(90deg, rgba(5,20,52,0.96) 0%, rgba(6,22,56,0.85) 35%, rgba(3,12,40,0.45) 65%, rgba(3,12,40,0.25) 100%),
    linear-gradient(180deg, rgba(0,0,0,0.25) 0%, rgba(0,0,0,0) 30%, #06173a 100%);
  z-index: 1;
}
.bt-page .bt-hero__inner { z-index: 2; }

.bt-page { background: #06173a; }
.bt-page .bt-offerings {
  background:
    radial-gradient(ellipse 60% 40% at 85% 0%, rgba(30,80,220,0.16) 0%, transparent 70%),
    linear-gradient(180deg, #06173a 0%, #0a2048 55%, #06173a 100%);
}
.bt-page .bt-offer {
  background: linear-gradient(180deg, rgba(8,18,48,0.75) 0%, rgba(2,5,14,0.9) 100%);
  border-color: rgba(70,130,255,0.22);
}
.bt-page .bt-offer:hover {
  border-color: rgba(80,145,255,0.7);
  box-shadow: 0 24px 50px rgba(0,0,0,0.6), 0 0 40px rgba(40,110,255,0.28), inset 0 0 0 1px rgba(80,145,255,0.15);
}
.bt-page .bt-offer::after { background: linear-gradient(90deg, #1d4fe0, #4c9bff, #9cc8ff); }
.bt-page .bt-offer__num { color: #5c9dff; }
.bt-page .bt-lead {
  background:
    radial-gradient(ellipse 50% 70% at 10% 50%, rgba(30,80,220,0.18) 0%, transparent 70%),
    #06173a;
  border-top: 1px solid rgba(70,130,255,0.12);
  border-bottom: 1px solid rgba(70,130,255,0.12);
}
.bt-page .bt-lead__img {
  border-color: rgba(80,145,255,0.35);
  box-shadow: 0 30px 70px rgba(0,0,0,0.7), 0 0 60px rgba(40,110,255,0.25);
}
.bt-page .final-cta { background: #06173a !important; }
.bt-page .final-cta__gradient {
  background: linear-gradient(90deg, rgba(5,20,52,0.95) 0%, rgba(6,22,56,0.75) 40%, rgba(5,20,60,0.3) 75%, rgba(5,20,60,0.15) 100%) !important;
}
.bt-page footer.footer { background: linear-gradient(180deg, #06173a 0%, #0a1f47 100%) !important; }
.bt-page .bt-hero__tags li { border-color: rgba(80,145,255,0.3); }
.bt-page .bt-btn--primary {
  background: linear-gradient(135deg, #2f7bff 0%, #1a4fd6 100%);
  box-shadow: 0 12px 34px rgba(30,90,255,0.45), inset 0 1px 0 rgba(255,255,255,0.2);
}
@media (max-width: 640px) {
  .bt-hero__video { display: none; } /* phones show the poster image */
}
@media (prefers-reduced-motion: reduce) {
  .bt-hero__video { display: none; }
}

/* -- Business Transformation: white + deep mustard-gold text theme --- */
.bt-page {
  --bt-gold: linear-gradient(100deg, #f0b72a 0%, #d69e1d 45%, #a87a16 100%);
  --bt-gold-solid: #d69e1d;
}
/* white / near-white text */
.bt-page :is(.bt-hero__title, .bt-h2, .bt-offer__title, .final-cta__headline) { color: #ffffff !important; -webkit-text-fill-color: #ffffff; }
.bt-page :is(.bt-hero__lede, .bt-body, .bt-offer__text, .bt-section-intro, .final-cta__body) { color: rgba(255,255,255,0.8) !important; }
/* gold gradient accents */
.bt-page :is(.bt-hero__title em, .bt-h2 em, .final-cta__headline em, .bt-offer__num, .bt-eyebrow, .final-cta .eyebrow, footer.footer .footer__wordmark em) {
  background: var(--bt-gold) !important;
  -webkit-background-clip: text !important; background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: var(--bt-gold-solid) !important;
}
body.bt-page footer.footer .footer__col-title {
  background: var(--bt-gold) !important;
  -webkit-background-clip: text !important; background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}
/* accent lines and borders in gold */
.bt-page :is(.bt-eyebrow, .final-cta .eyebrow)::before,
.bt-page .bt-offer__num::after { background: linear-gradient(90deg, rgba(214,158,29,0), #d69e1d) !important; }
.bt-page :is(.bt-hero__lede, .bt-section-intro, .final-cta__body) { border-left-color: rgba(214,158,29,0.55) !important; }
.bt-page .bt-offer::after { background: linear-gradient(90deg, #a87a16, #f0b72a) !important; }
.bt-page .bt-hero__tags li { color: #e5ad2a !important; border-color: rgba(214,158,29,0.4) !important; background: rgba(214,158,29,0.05) !important; }
.bt-page .bt-offer__title { transition: color 0.3s ease; }
.bt-page .bt-offer:hover .bt-offer__title { color: #f0b72a !important; -webkit-text-fill-color: #f0b72a; }
body.bt-page footer.footer :is(.footer__link, .footer__contact-link, .footer__address) { color: rgba(255,255,255,0.78) !important; }
body.bt-page footer.footer :is(.footer__link, .footer__contact-link):hover { color: #f0b72a !important; }
body.bt-page footer.footer :is(.footer__link, .footer__contact-link)::after { background: linear-gradient(90deg, #f0b72a, rgba(240,183,42,0)) !important; }
body.bt-page footer.footer .footer__col-title { border-bottom-color: rgba(214,158,29,0.3) !important; }
body.bt-page footer.footer .footer__tagline { color: rgba(255,255,255,0.7) !important; border-left-color: rgba(214,158,29,0.45) !important; }

/* -- Business Transformation: video only, static white-gold, mustard UI */
/* desktop: video only on a black base (poster image stays for phones) */
@media (min-width: 641px) {
  .bt-page .bt-hero__img { display: none; }
  .bt-page .bt-hero__bg { background: #06173a; }
  /* oversize the player so YouTube's corner controls fall outside the frame */
  /* rendered at full size (not CSS-scaled) so YouTube serves its HD stream */
  .bt-page .bt-hero__video {
    width: 132vw; height: 74.25vw; min-height: 132%; min-width: 234.7vh;
    transform: translate(-50%, -50%); animation-delay: 1.4s;
  }
}
.bt-hero__bg::after { /* transparent shield: nothing in the player can be hovered or clicked */
  content: ""; position: absolute; inset: 0; z-index: 1;
}
/* static white-to-mustard gradient, no motion */
.bt-page {
  --bt-gold: linear-gradient(100deg, #ffffff 0%, #f7e6b5 28%, #e3ad2e 62%, #b9861b 100%);
}
.bt-page :is(.bt-hero__title em, .bt-h2 em, .final-cta__headline em),
body.bt-page footer.footer .footer__wordmark em,
body.bt-page footer.footer .footer__col-title { animation: none !important; }


/* cards: faint warm tint, mustard border and top accent */
.bt-page .bt-offer {
  background:
    linear-gradient(180deg, rgba(214,158,29,0.07) 0%, rgba(214,158,29,0) 40%),
    linear-gradient(180deg, rgba(8,16,40,0.8) 0%, rgba(2,5,14,0.92) 100%) !important;
  border-color: rgba(214,158,29,0.24) !important;
}
.bt-page .bt-offer::before {
  content: ""; position: absolute; top: 0; left: 1.5rem; right: 1.5rem; height: 1px;
  background: linear-gradient(90deg, rgba(236,201,111,0), rgba(236,201,111,0.75), rgba(236,201,111,0));
}
.bt-page .bt-offer:hover {
  border-color: rgba(226,180,70,0.6) !important;
  box-shadow: 0 24px 50px rgba(0,0,0,0.6), 0 0 38px rgba(214,158,29,0.18) !important;
}

/* -- Business Transformation: award-style pill buttons ---------------- */
.bt-page .final-cta__actions { display: flex; flex-wrap: wrap; gap: 0.9rem; }
.bt-page .bt-btn {
  position: relative; isolation: isolate; overflow: hidden;
  display: inline-flex; align-items: center; gap: 1.1rem;
  padding: 0.55rem 0.55rem 0.55rem 1.7rem !important;
  border-radius: 999px !important;
  font-family: 'Manrope', sans-serif; font-size: 11px !important; font-weight: 600;
  letter-spacing: 0.22em; text-transform: uppercase; text-decoration: none;
  border: 1px solid rgba(226,180,70,0.55) !important;
  background: rgba(214,158,29,0.04) !important;
  color: #f4dfa6 !important;
  box-shadow: inset 0 0 18px rgba(226,180,70,0.08), 0 0 0 rgba(0,0,0,0) !important;
  transition: color 0.5s cubic-bezier(0.65,0,0.35,1), border-color 0.5s ease, box-shadow 0.5s ease, transform 0.35s cubic-bezier(0.16,1,0.3,1) !important;
}
/* fill that wipes in from the left on hover */
.bt-page .bt-btn::before {
  content: ""; position: absolute; inset: 0; z-index: -1;
  border-radius: inherit;
  background: linear-gradient(135deg, #f1d383 0%, #dcab40 55%, #c08d24 100%);
  transform: translateX(-101%);
  transition: transform 0.6s cubic-bezier(0.65,0,0.35,1);
}
.bt-page .bt-btn:hover::before { transform: translateX(0); }
.bt-page .bt-btn:hover {
  color: #171004 !important; border-color: rgba(241,211,131,0.9) !important;
  box-shadow: inset 0 0 0 rgba(0,0,0,0), 0 14px 36px rgba(210,160,45,0.3) !important;
}
.bt-page .bt-btn__label { position: relative; line-height: 1; padding: 0.5rem 0; }
/* round arrow chip: the arrow slides out and a new one slides in */
.bt-page .bt-btn__icon {
  position: relative; overflow: hidden; flex-shrink: 0;
  width: 2.6rem; height: 2.6rem; border-radius: 50%;
  display: grid; place-items: center;
  border: 1px solid rgba(226,180,70,0.45);
  background: rgba(214,158,29,0.08);
  transition: background 0.5s ease, border-color 0.5s ease;
}
.bt-page .bt-btn__icon i {
  grid-area: 1 / 1; font-style: normal; font-size: 13px; letter-spacing: 0;
  transition: transform 0.55s cubic-bezier(0.65,0,0.35,1);
}
.bt-page .bt-btn__icon i + i { transform: translateX(-180%); }
.bt-page .bt-btn:hover .bt-btn__icon i:first-child { transform: translateX(180%); }
.bt-page .bt-btn:hover .bt-btn__icon i + i { transform: translateX(0); }
.bt-page .bt-btn:hover .bt-btn__icon { background: rgba(23,16,4,0.9); border-color: rgba(23,16,4,0.9); color: #f1d383; }
/* primary starts filled, so its hover flips to the dark outline look */
.bt-page .bt-btn--primary { color: #171004 !important; border-color: rgba(241,211,131,0.8) !important; box-shadow: 0 12px 32px rgba(200,150,40,0.25) !important; }
.bt-page .bt-btn--primary::before { transform: translateX(0); }
.bt-page .bt-btn--primary .bt-btn__icon { background: rgba(23,16,4,0.88); border-color: rgba(23,16,4,0.88); color: #f1d383; }
.bt-page .bt-btn--primary:hover::before { transform: translateX(101%); }
.bt-page .bt-btn--primary:hover { color: #f4dfa6 !important; background: rgba(214,158,29,0.06) !important; box-shadow: inset 0 0 18px rgba(226,180,70,0.12) !important; }
.bt-page .bt-btn--primary:hover .bt-btn__icon { background: linear-gradient(135deg, #f1d383, #c99630); border-color: transparent; color: #171004; }
.bt-page .bt-btn:focus-visible { outline: 1px solid #f1d383; outline-offset: 4px; }
@media (max-width: 640px) {
  .bt-page .bt-btn { justify-content: space-between; }
}
@media (prefers-reduced-motion: reduce) {
  .bt-page .bt-btn, .bt-page .bt-btn::before, .bt-page .bt-btn__icon i { transition: none !important; }
}

/* -- Business Transformation: marquee, challenge, DMAIC, charts ------- */
.bt-marquee {
  position: relative; overflow: hidden; padding: 1.6rem 0;
  background: #06173a;
  border-top: 1px solid rgba(214,158,29,0.25); border-bottom: 1px solid rgba(214,158,29,0.25);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
          mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.bt-marquee__track { display: flex; width: max-content; animation: btMarquee 38s linear infinite; }
.bt-marquee:hover .bt-marquee__track { animation-play-state: paused; }
.bt-marquee__group { display: flex; align-items: center; gap: 2.2rem; padding-right: 2.2rem; flex-shrink: 0; }
.bt-marquee__group span {
  font-family: 'Manrope', sans-serif; font-weight: 300; white-space: nowrap;
  font-size: clamp(2rem, 4.2vw, 3.8rem); letter-spacing: -0.02em; color: #ffffff;
}
.bt-marquee__group span.is-gold {
  font-family: 'Playfair Display', Georgia, serif; font-style: italic; font-weight: 500;
  background: var(--bt-gold); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
  padding-right: 0.08em;
}
.bt-marquee__group i { font-style: normal; font-size: clamp(1rem, 1.6vw, 1.4rem); color: #d69e1d; }
@keyframes btMarquee { to { transform: translateX(-50%); } }

.bt-challenge { padding: clamp(5rem, 8vw, 7rem) 0; background: #06173a; }
.bt-challenge__inner { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 5vw, 5rem); align-items: end; }
.bt-challenge .bt-body { max-width: 560px; }

/* DMAIC cycle */
.bt-approach { padding: clamp(5rem, 8vw, 7rem) 0; background: radial-gradient(ellipse 50% 60% at 75% 50%, rgba(30,80,220,0.16) 0%, transparent 70%), #081d45; }
.bt-approach__inner { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2.5rem, 5vw, 5rem); align-items: center; }
.bt-steps { list-style: none; padding: 0; margin: 2rem 0 0; counter-reset: s; display: grid; gap: 0.85rem; }
.bt-steps li {
  counter-increment: s; position: relative; padding-left: 3rem;
  font-size: 15.5px; line-height: 1.6; color: rgba(255,255,255,0.78);
}
.bt-steps li::before {
  content: "0" counter(s); position: absolute; left: 0; top: -0.1em;
  font-family: 'Playfair Display', Georgia, serif; font-style: italic; font-size: 1.25rem; color: #e3ad2e;
}
.bt-steps b { color: #ffffff; font-weight: 600; }
.bt-cycle { max-width: 440px; width: 100%; justify-self: center; }
.bt-cycle svg { width: 100%; height: auto; overflow: visible; }
.bt-cycle__track { fill: none; stroke: rgba(80,145,255,0.18); stroke-width: 2; }
.bt-cycle__ring {
  fill: none; stroke-width: 3; stroke-linecap: round;
  stroke-dasharray: 943; stroke-dashoffset: 0;
  transform: rotate(-90deg); transform-origin: 210px 210px;
  filter: drop-shadow(0 0 8px rgba(214,158,29,0.45));
}
.bt-cycle__nodes circle { fill: #050d24; stroke: rgba(214,158,29,0.7); stroke-width: 1.5; }
.bt-cycle__nodes text { fill: #fff; font-family: 'Playfair Display', Georgia, serif; font-style: italic; font-size: 24px; text-anchor: middle; }
.bt-cycle__nodes g { transform-box: fill-box; transform-origin: center; }
.bt-cycle__center { fill: #ffffff; font-family: 'Manrope', sans-serif; font-weight: 300; font-size: 30px; letter-spacing: 0.12em; text-anchor: middle; }
.bt-cycle__center-sub { fill: #d69e1d; font-family: 'Manrope', sans-serif; font-weight: 600; font-size: 10px; letter-spacing: 0.3em; text-transform: uppercase; text-anchor: middle; }

/* charts */
.bt-impact { padding: clamp(5rem, 8vw, 7rem) 0; background: linear-gradient(180deg, #081d45 0%, #06173a 100%); }
.bt-charts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.bt-chart {
  margin: 0; padding: 1.8rem 1.6rem 1.6rem; border-radius: 14px;
  border: 1px solid rgba(214,158,29,0.22);
  background: linear-gradient(180deg, rgba(214,158,29,0.06) 0%, rgba(214,158,29,0) 35%), linear-gradient(180deg, rgba(8,16,40,0.8), rgba(2,5,14,0.92));
}
.bt-chart figcaption { display: flex; flex-direction: column; gap: 0.35rem; margin-bottom: 1.3rem; }
.bt-chart__label { font-family: 'Manrope', sans-serif; font-size: 10.5px; font-weight: 600; letter-spacing: 0.24em; text-transform: uppercase; color: #e3ad2e; }
.bt-chart__title { font-family: 'Manrope', sans-serif; font-size: 1.15rem; font-weight: 500; color: #fff; }
.bt-line { width: 100%; height: auto; }
.bt-grid-lines line { stroke: rgba(80,145,255,0.12); stroke-width: 1; }
.bt-line__before, .bt-line__after { fill: none; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 400; stroke-dashoffset: 0; }
.bt-line__before { stroke: #5c9dff; }
.bt-line__after { stroke: #e3ad2e; filter: drop-shadow(0 0 6px rgba(227,173,46,0.5)); }
.bt-line__marker { stroke: rgba(255,255,255,0.25); stroke-dasharray: 4 5; }
.bt-axis { fill: rgba(255,255,255,0.55); font-family: 'Manrope', sans-serif; font-size: 10px; letter-spacing: 0.08em; text-anchor: middle; }
.bt-bars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.9rem; height: 170px; align-items: end; }
.bt-bar { display: flex; flex-direction: column; align-items: center; gap: 0.5rem; height: 100%; justify-content: flex-end; }
.bt-bar__pair { display: flex; gap: 4px; align-items: flex-end; height: 140px; width: 100%; justify-content: center; }
.bt-bar__pair i { display: block; width: 40%; height: var(--h); border-radius: 4px 4px 0 0; background: linear-gradient(180deg, #5c9dff, #1d4fe0); transform-origin: bottom; transform: scaleY(1); }
.bt-bar__pair i.is-after { background: linear-gradient(180deg, #f0c35a, #a87a16); box-shadow: 0 0 12px rgba(227,173,46,0.35); }
.bt-bar em { font-style: normal; font-family: 'Manrope', sans-serif; font-size: 10.5px; letter-spacing: 0.06em; color: rgba(255,255,255,0.6); }
.bt-legend { display: flex; gap: 1.2rem; margin-top: 1rem; font-family: 'Manrope', sans-serif; font-size: 11px; color: rgba(255,255,255,0.65); }
.bt-legend b { display: inline-block; width: 10px; height: 10px; border-radius: 2px; margin-right: 0.45rem; vertical-align: -1px; }
.bt-legend b.is-before { background: #5c9dff; }
.bt-legend b.is-after { background: #e3ad2e; }
.bt-gauge { position: relative; max-width: 200px; margin: 0 auto; }
.bt-gauge svg { width: 100%; height: auto; transform: rotate(-90deg); }
.bt-gauge__track { fill: none; stroke: rgba(80,145,255,0.16); stroke-width: 12; }
.bt-gauge__fill { fill: none; stroke-width: 12; stroke-linecap: round; stroke-dasharray: 502.65; stroke-dashoffset: 75.4; filter: drop-shadow(0 0 8px rgba(227,173,46,0.45)); }
.bt-gauge__value { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0.15rem; }
.bt-gauge__value b { font-family: 'Playfair Display', Georgia, serif; font-style: italic; font-weight: 500; font-size: 2.6rem; line-height: 1; background: var(--bt-gold); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; padding-right: 0.06em; }
.bt-gauge__value span { font-family: 'Manrope', sans-serif; font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase; color: rgba(255,255,255,0.6); }
.bt-note { margin-top: 1.4rem; font-size: 12.5px; color: rgba(255,255,255,0.5); font-style: italic; }
.bt-offer__outcome { margin-top: 1.1rem; padding-top: 1rem; border-top: 1px solid rgba(214,158,29,0.2); font-size: 14px; color: #fff; }
.bt-offer__outcome span { display: block; margin-bottom: 0.3rem; font-family: 'Manrope', sans-serif; font-size: 10px; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase; color: #e3ad2e; }

/* scroll-in animation states (only armed when JS runs) */
.bt-anim-ready .bt-anim:not(.is-in) .bt-cycle__ring { stroke-dashoffset: 943; }
.bt-anim-ready .bt-anim:not(.is-in) .bt-cycle__nodes g { opacity: 0; transform: scale(0.6); }
.bt-anim-ready .bt-anim:not(.is-in) :is(.bt-line__before, .bt-line__after) { stroke-dashoffset: 400; }
.bt-anim-ready .bt-anim:not(.is-in) .bt-bar__pair i { transform: scaleY(0); }
.bt-anim-ready .bt-anim:not(.is-in) .bt-gauge__fill { stroke-dashoffset: 502.65; }
.bt-cycle__ring { transition: stroke-dashoffset 2s cubic-bezier(0.65,0,0.35,1); }
.bt-cycle__nodes g { transition: opacity 0.6s ease var(--d, 0s), transform 0.6s cubic-bezier(0.34,1.56,0.64,1) var(--d, 0s); }
.bt-line__before { transition: stroke-dashoffset 1.1s ease-out; }
.bt-line__after { transition: stroke-dashoffset 1.3s ease-out 1s; }
.bt-bar__pair i { transition: transform 1s cubic-bezier(0.16,1,0.3,1); }
.bt-bar:nth-child(2) .bt-bar__pair i { transition-delay: 0.12s; }
.bt-bar:nth-child(3) .bt-bar__pair i { transition-delay: 0.24s; }
.bt-bar:nth-child(4) .bt-bar__pair i { transition-delay: 0.36s; }
.bt-bar__pair i.is-after { transition-duration: 1.3s; }
.bt-gauge__fill { transition: stroke-dashoffset 2s cubic-bezier(0.65,0,0.35,1) 0.2s; }

@media (max-width: 1000px) {
  .bt-charts { grid-template-columns: 1fr; max-width: 520px; }
  .bt-challenge__inner, .bt-approach__inner { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .bt-marquee__track { animation: none; }
}

/* -- Business Transformation: self-hosted hero video ------------------ */
.bt-page .bt-hero__bg { background: #06173a; }
.bt-hero__clip {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; object-position: center;
  pointer-events: none;
  opacity: 0; animation: btVideoIn 1.6s ease 0.2s forwards; /* fades up from black, no image flash */
}
.bt-hero__clip::-webkit-media-controls { display: none !important; }
/* show the 720p clip at (or below) its native size so it stays sharp; feather its edges into black */
@media (min-width: 641px) {
  .bt-hero__clip {
    inset: auto; top: 50%; right: 0; left: auto;
    width: min(1280px, 100%); height: auto; aspect-ratio: 16 / 9;
    max-height: 100%;
    transform: translateY(-50%);
    object-fit: cover;
    -webkit-mask-image: radial-gradient(ellipse 72% 78% at 62% 50%, #000 55%, transparent 100%);
            mask-image: radial-gradient(ellipse 72% 78% at 62% 50%, #000 55%, transparent 100%);
  }
}
@media (prefers-reduced-motion: reduce) {
  .bt-hero__clip { animation: none; opacity: 1; }
}

/* BT closing section: factory-floor image, people on the right stay visible */
.bt-page .bt-cta__img { object-position: 75% 40% !important; opacity: 0.7 !important; }
/* closing photo: shown at (never above) its native 1024px width so it stays sharp,
   feathered into the navy on the left, with the blue wash kept on top */
.bt-page #finalCta .final-cta__bg { background: #06173a; }
.bt-page #finalCta .bt-cta__img {
  position: absolute !important; top: 0 !important; right: 0 !important; left: auto !important;
  width: min(1024px, 100%) !important; height: 100% !important;
  object-fit: cover !important; object-position: 70% 42% !important;
  opacity: 0.85 !important; filter: saturate(0.9) contrast(1.05) !important;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 35%, #000 100%);
          mask-image: linear-gradient(90deg, transparent 0%, #000 35%, #000 100%);
}
.bt-page #finalCta .final-cta__gradient {
  background:
    linear-gradient(90deg, rgba(6,23,58,0.96) 0%, rgba(6,22,56,0.8) 38%, rgba(6,22,70,0.42) 70%, rgba(6,22,70,0.3) 100%),
    linear-gradient(180deg, rgba(6,23,58,0.55) 0%, rgba(6,23,58,0) 30%, rgba(6,23,58,0) 70%, rgba(6,23,58,0.65) 100%) !important;
}
.bt-page #finalCta .final-cta__inner { position: relative; z-index: 2; max-width: 620px !important; }
.bt-page #finalCta .final-cta__inner::before { /* fine gold rule above the label */
  content: ""; display: block; width: 1px; height: 56px; margin-bottom: 1.6rem;
  background: linear-gradient(180deg, rgba(217,173,76,0), rgba(217,173,76,0.85));
}
.bt-page #finalCta .final-cta__body { color: rgba(255,255,255,0.78) !important; }
/* no buttons here, so the last line closes the block and the section stays evenly padded */
.bt-page #finalCta { padding-top: clamp(5rem, 9vw, 7.5rem) !important; padding-bottom: clamp(5rem, 9vw, 7.5rem) !important; }
.bt-page #finalCta .final-cta__body { margin-bottom: 0 !important; }

/* ============================================================
   BUSINESS TRANSFORMATION — editorial typography pass
   Display: Cormorant Garamond · Accent: Playfair Display italic · Text: Inter · Labels: Manrope
   ============================================================ */
.bt-page {
  --bt-display: 'Cormorant Garamond', 'Playfair Display', Georgia, serif;
  --bt-accent: 'Playfair Display', Georgia, serif;
  --bt-gold: linear-gradient(100deg, #f6e2a6 0%, #e2b452 55%, #c39431 100%);
}
/* display headlines */
.bt-page :is(.bt-hero__title, .bt-h2, .final-cta__headline) {
  font-family: var(--bt-display) !important;
  font-weight: 500 !important;
  letter-spacing: -0.015em !important;
  text-transform: none !important;
}
.bt-page .bt-hero__title { font-size: clamp(44px, 5.4vw, 86px) !important; line-height: 1.02 !important; margin: 1.8rem 0 2rem !important; max-width: 920px !important; }
.bt-page .bt-h2 { font-size: clamp(2.4rem, 4vw, 3.8rem) !important; line-height: 1.06 !important; margin-top: 1.4rem !important; }
.bt-page .final-cta__headline { font-size: clamp(2.6rem, 4.4vw, 4.2rem) !important; line-height: 1.05 !important; }
.bt-page :is(.bt-hero__title, .bt-h2, .final-cta__headline) em {
  font-family: var(--bt-accent) !important; font-style: italic; font-weight: 400 !important;
  font-size: 0.9em; letter-spacing: -0.01em;
}
/* labels: small caps, generous tracking, solid muted gold */
.bt-page :is(.bt-eyebrow, .final-cta .eyebrow) {
  font-family: 'Manrope', sans-serif !important; font-size: 10.5px !important; font-weight: 500 !important;
  letter-spacing: 0.34em !important;
  background: none !important; -webkit-text-fill-color: #d9ad4c !important; color: #d9ad4c !important;
}
.bt-page :is(.bt-eyebrow, .final-cta .eyebrow)::before { width: 28px !important; background: rgba(217,173,76,0.7) !important; }
/* body text: lighter, comfortable measure */
.bt-page :is(.bt-hero__lede, .bt-body, .bt-section-intro, .final-cta__body) {
  font-family: 'Inter', sans-serif !important; font-weight: 300 !important;
  font-size: 17px !important; line-height: 1.85 !important; letter-spacing: 0.005em !important;
  color: rgba(255,255,255,0.72) !important; max-width: 60ch !important;
}
.bt-page :is(.bt-hero__lede, .bt-section-intro, .final-cta__body) { border-left: 0 !important; padding-left: 0 !important; }
.bt-page .bt-hero__lede { max-width: 46ch !important; font-size: 18px !important; }
/* hero areas: one quiet dot-separated line instead of pills */
.bt-hero__areas {
  margin-top: 2.6rem; font-family: 'Manrope', sans-serif; font-size: 10.5px; font-weight: 500;
  letter-spacing: 0.26em; text-transform: uppercase; color: rgba(255,255,255,0.55);
}
.bt-hero__areas i { font-style: normal; color: #d9ad4c; margin: 0 0.55em; }
/* cards */
.bt-page .bt-offer { padding: 2.6rem 2.2rem 2.4rem !important; }
.bt-page .bt-offer__num { font-family: var(--bt-accent) !important; font-size: 1.35rem !important; background: none !important; -webkit-text-fill-color: #d9ad4c !important; color: #d9ad4c !important; }
.bt-page .bt-offer__title {
  font-family: var(--bt-display) !important; font-size: 1.9rem !important; font-weight: 500 !important;
  letter-spacing: -0.01em !important; line-height: 1.1 !important; margin: 1.3rem 0 0.8rem !important;
}
.bt-page .bt-offer__text { font-size: 15px !important; font-weight: 300 !important; line-height: 1.8 !important; color: rgba(255,255,255,0.66) !important; }
.bt-page .bt-offer__outcome { font-family: var(--bt-display) !important; font-style: italic; font-size: 1.2rem; line-height: 1.35; color: rgba(255,255,255,0.9); }
.bt-page .bt-offer__outcome span { font-style: normal; font-size: 9.5px; letter-spacing: 0.3em; color: #d9ad4c; font-family: 'Manrope', sans-serif; font-weight: 500; }
/* marquee: display serif roman + italic accent */
.bt-page .bt-marquee__group span { font-family: var(--bt-display) !important; font-weight: 400 !important; font-size: clamp(2.4rem, 4.6vw, 4.4rem) !important; letter-spacing: -0.01em !important; }
.bt-page .bt-marquee__group span.is-gold { font-family: var(--bt-accent) !important; font-weight: 400 !important; font-size: clamp(2.1rem, 4vw, 3.8rem) !important; }
.bt-page .bt-marquee__group i { font-size: 0.9rem !important; color: rgba(217,173,76,0.8) !important; }
/* steps, charts, cycle */
.bt-page .bt-steps li { font-size: 16px; font-weight: 300; line-height: 1.75; color: rgba(255,255,255,0.7); padding-left: 3.2rem; }
.bt-page .bt-steps li::before { font-family: var(--bt-accent); font-size: 1.05rem; color: #d9ad4c; }
.bt-page .bt-steps b { font-family: var(--bt-display); font-size: 1.35rem; font-weight: 600; letter-spacing: 0; margin-right: 0.2em; }
.bt-page .bt-chart__title { font-family: var(--bt-display); font-size: 1.6rem; font-weight: 500; }
.bt-page .bt-chart__label { font-size: 9.5px; font-weight: 500; letter-spacing: 0.3em; color: #d9ad4c; }
.bt-page .bt-cycle__center { font-family: 'Cormorant Garamond', Georgia, serif; font-weight: 500; font-size: 34px; letter-spacing: 0.18em; }
.bt-page .bt-cycle__nodes text { font-family: 'Playfair Display', Georgia, serif; font-size: 22px; }
.bt-page .bt-note { font-family: var(--bt-display) !important; font-size: 1.05rem; }
.bt-hero__areas { font-family: 'Manrope', sans-serif !important; }
/* lead section */
.bt-page .bt-lead .bt-body { max-width: 52ch !important; }
/* vertical rhythm */
/* even rhythm: px values, because this site's root font size is larger than 16px */
.bt-page :is(.bt-challenge, .bt-approach, .bt-impact, .bt-offerings, .bt-lead) { padding-top: clamp(56px, 6.5vw, 96px) !important; padding-bottom: clamp(56px, 6.5vw, 96px) !important; }
.bt-page .bt-section-head { margin-bottom: clamp(32px, 3.5vw, 48px) !important; }
.bt-page #finalCta { padding-top: clamp(64px, 7vw, 104px) !important; padding-bottom: clamp(64px, 7vw, 104px) !important; }
/* buttons: lighter weight, more tracking */
.bt-page .bt-btn { font-weight: 500 !important; letter-spacing: 0.26em !important; font-size: 10.5px !important; }
@media (max-width: 640px) {
  .bt-page .bt-hero__title { font-size: 2.7rem !important; }
  .bt-page .bt-h2 { font-size: 2.3rem !important; }
  .bt-page .bt-hero__lede { font-size: 16px !important; }
  .bt-hero__areas { line-height: 2.1; }
}

/* BT hero: live-drawn Earth scene (replaces the video) */
.bt-hero__space {
  position: absolute; inset: 0; width: 100%; height: 100%; display: block;
  opacity: 0; transition: opacity 1.2s ease;
}
.bt-hero__space.is-ready { opacity: 1; }
/* accents: Cormorant Garamond italic, same family as the headlines for a cleaner match */
.bt-page :is(.bt-hero__title, .bt-h2, .final-cta__headline) em {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-style: italic; font-weight: 500 !important;
  font-size: 1em !important; letter-spacing: -0.01em;
}
/* lighter overlay over the drawn scene: dark only behind the text */
.bt-page .bt-hero__shade {
  background:
    linear-gradient(90deg, rgba(5,20,52,0.8) 0%, rgba(5,20,52,0.45) 38%, rgba(5,20,52,0) 62%),
    linear-gradient(180deg, rgba(0,0,0,0) 85%, #06173a 100%) !important;
}

/* BT challenge section: photo backdrop, glass card, before → after shift */
.bt-page .bt-challenge { position: relative; overflow: hidden; background: #06173a; }
.bt-challenge__photo { position: absolute; inset: 0 0 0 38%; pointer-events: none; }
.bt-challenge__photo img { width: 100%; height: 100%; object-fit: cover; opacity: 0.4; filter: saturate(0.85); }
.bt-challenge__photo::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(90deg, #06173a 0%, rgba(6,23,58,0.75) 30%, rgba(6,23,58,0.35) 70%, rgba(6,23,58,0.7) 100%),
              linear-gradient(180deg, #06173a 0%, rgba(6,23,58,0) 25%, rgba(6,23,58,0) 75%, #06173a 100%);
}
.bt-page .bt-challenge__inner { position: relative; z-index: 1; grid-template-columns: 1.05fr 1fr !important; align-items: center !important; gap: clamp(2.5rem, 6vw, 6rem) !important; }
.bt-challenge__head .bt-body { margin-top: 1.6rem; }
.bt-challenge__card {
  position: relative; padding: clamp(2rem, 3vw, 2.8rem);
  border-radius: 16px; border: 1px solid rgba(217,173,76,0.3);
  background: linear-gradient(160deg, rgba(20,34,70,0.55) 0%, rgba(4,8,20,0.75) 100%);
  -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
  box-shadow: 0 30px 70px rgba(0,0,0,0.5), inset 0 1px 0 rgba(255,236,190,0.12);
}
.bt-challenge__card::before {
  content: ""; position: absolute; top: 0; left: 2rem; right: 2rem; height: 1px;
  background: linear-gradient(90deg, rgba(240,200,110,0), rgba(240,200,110,0.85), rgba(240,200,110,0));
}
.bt-challenge__lead { font-family: 'Inter', sans-serif !important; font-size: 16px; font-weight: 300; line-height: 1.75; color: rgba(255,255,255,0.72); margin: 0 0 1.4rem; }
.bt-challenge__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.2rem; }
.bt-challenge__list li {
  display: flex; align-items: baseline; gap: 1.1rem;
  padding: 0.95rem 0; border-bottom: 1px solid rgba(217,173,76,0.16);
  font-family: 'Inter', sans-serif; font-size: 15px; font-weight: 300; color: rgba(255,255,255,0.7);
}
.bt-challenge__list li:last-child { border-bottom: 0; }
.bt-challenge__list span { font-family: 'Cormorant Garamond', Georgia, serif; font-style: italic; font-size: 1.25rem; color: #d9ad4c; min-width: 1.8rem; }
.bt-challenge__list b { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 1.55rem; font-weight: 500; color: #fff; letter-spacing: -0.005em; }
.bt-challenge__shift {
  display: flex; flex-wrap: wrap; align-items: center; gap: 0.7rem 1rem; margin-top: 1.6rem; padding-top: 1.4rem;
  border-top: 1px solid rgba(217,173,76,0.25);
  font-family: 'Manrope', sans-serif; font-size: 10.5px; font-weight: 500; letter-spacing: 0.22em; text-transform: uppercase;
}
.bt-challenge__shift .is-from { color: rgba(255,255,255,0.45); text-decoration: line-through; text-decoration-color: rgba(255,255,255,0.3); }
.bt-challenge__shift i { font-style: normal; color: #d9ad4c; font-size: 14px; letter-spacing: 0; }
.bt-challenge__shift .is-to { color: #e8c06a; }
@media (max-width: 1000px) {
  .bt-page .bt-challenge__inner { grid-template-columns: 1fr !important; }
  .bt-challenge__photo { inset: 0; }
}

/* BT DMAIC section: photo backdrop + editorial step list */
.bt-page .bt-approach { position: relative; overflow: hidden; background: #06173a !important; }
.bt-approach__photo { position: absolute; inset: 0 0 0 40%; pointer-events: none; }
.bt-approach__photo img { width: 100%; height: 100%; object-fit: cover; opacity: 0.38; filter: saturate(0.85); }
.bt-approach__photo::after {
  content: ""; position: absolute; inset: 0;
  background: radial-gradient(ellipse 45% 55% at 55% 50%, rgba(6,23,58,0.55) 0%, rgba(6,23,58,0.2) 70%),
              linear-gradient(90deg, #06173a 0%, rgba(6,23,58,0.6) 30%, rgba(6,23,58,0.3) 75%, rgba(6,23,58,0.7) 100%),
              linear-gradient(180deg, #06173a 0%, rgba(6,23,58,0) 25%, rgba(6,23,58,0) 75%, #06173a 100%);
}
.bt-page .bt-approach__inner { position: relative; z-index: 1; }
.bt-page .bt-steps { gap: 0 !important; margin-top: 2.4rem !important; max-width: 560px; }
.bt-page .bt-steps li {
  display: grid !important; grid-template-columns: 3.2rem 9rem 1fr; align-items: baseline;
  padding: 1rem 0 !important; padding-left: 0 !important;
  border-bottom: 1px solid rgba(217,173,76,0.16);
  transition: background 0.4s ease, padding 0.4s ease;
}
.bt-page .bt-steps li:first-child { border-top: 1px solid rgba(217,173,76,0.16); }
.bt-page .bt-steps li::before {
  position: static !important; content: "0" counter(s) !important;
  font-family: 'Cormorant Garamond', Georgia, serif !important; font-style: italic; font-size: 1.35rem !important; color: #d9ad4c !important;
}
.bt-page .bt-steps b {
  font-family: 'Cormorant Garamond', Georgia, serif !important; font-size: 1.75rem !important; font-weight: 500 !important;
  color: #ffffff; letter-spacing: -0.005em; line-height: 1.1;
}
.bt-page .bt-steps li span {
  font-family: 'Inter', sans-serif; font-size: 14.5px; font-weight: 300; line-height: 1.6; color: rgba(255,255,255,0.62);
}
.bt-page .bt-steps li:hover { background: linear-gradient(90deg, rgba(217,173,76,0.08), rgba(217,173,76,0)); padding-left: 0.6rem !important; }
.bt-page .bt-steps li:hover b { color: #f0c96d; }
@media (max-width: 640px) {
  .bt-page .bt-steps li { grid-template-columns: 2.6rem 1fr; }
  .bt-page .bt-steps li span { grid-column: 2; }
}
@media (max-width: 1000px) { .bt-approach__photo { inset: 0; } }

/* BT bar chart: grow in, then keep gently rising and falling like a live readout */
.bt-anim-ready .bt-anim.is-in .bt-bar__pair i {
  transition: none;
  animation: btBarGrow 1s cubic-bezier(0.16,1,0.3,1) both, btBarBob 2.4s ease-in-out 1.1s infinite alternate;
}
.bt-anim-ready .bt-anim.is-in .bt-bar:nth-child(1) .bt-bar__pair i + i { animation-delay: 0s, 1.5s; }
.bt-anim-ready .bt-anim.is-in .bt-bar:nth-child(2) .bt-bar__pair i { animation-delay: 0.1s, 1.4s; }
.bt-anim-ready .bt-anim.is-in .bt-bar:nth-child(2) .bt-bar__pair i + i { animation-delay: 0.1s, 1.8s; }
.bt-anim-ready .bt-anim.is-in .bt-bar:nth-child(3) .bt-bar__pair i { animation-delay: 0.2s, 1.7s; }
.bt-anim-ready .bt-anim.is-in .bt-bar:nth-child(3) .bt-bar__pair i + i { animation-delay: 0.2s, 1.3s; }
.bt-anim-ready .bt-anim.is-in .bt-bar:nth-child(4) .bt-bar__pair i { animation-delay: 0.3s, 1.2s; }
.bt-anim-ready .bt-anim.is-in .bt-bar:nth-child(4) .bt-bar__pair i + i { animation-delay: 0.3s, 1.6s; }
@keyframes btBarGrow { from { transform: scaleY(0); } to { transform: scaleY(1); } }
@keyframes btBarBob { from { transform: scaleY(1); } to { transform: scaleY(0.86); } }
@media (prefers-reduced-motion: reduce) {
  .bt-anim.is-in .bt-bar__pair i { animation: none !important; transform: scaleY(1) !important; }
}

/* BT methodology cards: picture header, editorial type, staggered reveal */
.bt-page .bt-offer { padding: 0 0 2.2rem !important; display: flex; flex-direction: column; }
.bt-page .bt-offer > :not(.bt-offer__media) { margin-left: 2rem !important; margin-right: 2rem !important; }
.bt-offer__media { position: relative; height: 210px; overflow: hidden; border-radius: 14px 14px 0 0; }
.bt-offer__media img { width: 100%; height: 100%; object-fit: cover; display: block; filter: saturate(0.85) brightness(0.8); transform: scale(1.02); transition: transform 1.2s cubic-bezier(0.16,1,0.3,1), filter 0.6s ease; }
.bt-offer__media::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(2,5,14,0.05) 0%, rgba(2,5,14,0.35) 55%, #040a1a 100%);
}
.bt-page .bt-offer:hover .bt-offer__media img { transform: scale(1.1); filter: saturate(1) brightness(0.95); }
.bt-offer__meta { position: relative; z-index: 1; margin-top: -1.9rem; display: flex; align-items: center; gap: 0.9rem; }
.bt-page .bt-offer__meta .bt-offer__num { font-family: 'Cormorant Garamond', Georgia, serif !important; font-style: italic; font-size: 2.2rem !important; line-height: 1; }
.bt-page .bt-offer__num::after { display: none !important; }
.bt-offer__cat {
  font-family: 'Manrope', sans-serif; font-size: 9.5px; font-weight: 500; letter-spacing: 0.3em; text-transform: uppercase;
  color: rgba(255,255,255,0.7); padding-left: 0.9rem; border-left: 1px solid rgba(217,173,76,0.5);
}
.bt-page .bt-offer__title { font-family: 'Cormorant Garamond', Georgia, serif !important; font-size: 2.2rem !important; font-weight: 500 !important; line-height: 1.05 !important; margin-top: 1rem !important; transition: color 0.4s ease, letter-spacing 0.5s ease; }
.bt-page .bt-offer:hover .bt-offer__title { letter-spacing: 0.005em !important; }
.bt-page .bt-offer__outcome { margin-top: auto !important; padding-top: 1rem; }
.bt-page .bt-offer__text { margin-bottom: 1.2rem !important; }
/* gold light sweeping across the card on hover */
.bt-page .bt-offer::before {
  content: ""; position: absolute; top: 0; left: -60%; width: 50%; height: 100%; z-index: 2; pointer-events: none;
  background: linear-gradient(100deg, rgba(255,226,150,0) 0%, rgba(255,226,150,0.12) 50%, rgba(255,226,150,0) 100%);
  transform: skewX(-18deg); transition: left 0.9s cubic-bezier(0.16,1,0.3,1);
}
.bt-page .bt-offer:hover::before { left: 120%; }
/* staggered rise as the grid scrolls into view */
.bt-anim-ready .bt-grid.bt-anim .bt-offer { opacity: 0; transform: translateY(40px); transition: opacity 0.9s ease, transform 0.9s cubic-bezier(0.16,1,0.3,1), border-color 0.4s ease, box-shadow 0.4s ease; transition-delay: calc(var(--i, 0) * 0.1s); }
.bt-anim-ready .bt-grid.bt-anim.is-in .bt-offer { opacity: 1; transform: none; }
.bt-anim-ready .bt-grid.bt-anim.is-in .bt-offer:hover { transform: translateY(-6px); transition-delay: 0s; }
@media (prefers-reduced-motion: reduce) {
  .bt-grid .bt-offer, .bt-offer__media img { transition: none !important; opacity: 1 !important; transform: none !important; }
}

/* BT method cards: drawn illustrations + roman-numeral badges */
.bt-art { background: radial-gradient(ellipse 70% 90% at 70% 40%, #0d1d42 0%, #060d22 55%, #040a1a 100%); }
.bt-art svg { width: 100%; height: 100%; display: block; transition: transform 1.2s cubic-bezier(0.16,1,0.3,1); }
.bt-page .bt-offer:hover .bt-art svg { transform: scale(1.06); }
.bt-art::after { background: linear-gradient(180deg, rgba(4,10,26,0) 55%, #040a1a 100%) !important; }
.bt-art__flow path { stroke-dasharray: 6 10; animation: btArtFlow 2.6s linear infinite; }
.bt-art__flow path:nth-child(even) { animation-duration: 3.4s; }
@keyframes btArtFlow { to { stroke-dashoffset: -64; } }
.bt-art__pulse { transform-box: fill-box; transform-origin: center; animation: btArtPulse 3.2s ease-in-out infinite; }
@keyframes btArtPulse { 0%,100% { transform: scale(0.85); opacity: 0.7; } 50% { transform: scale(1.12); opacity: 1; } }
.bt-art__glyph { font-family: 'Cormorant Garamond', Georgia, serif; font-style: italic; font-size: 92px; fill: rgba(255,241,200,0.12); }
.bt-art__draw { stroke-dasharray: 600; stroke-dashoffset: 0; animation: btArtDraw 5s ease-in-out infinite; }
@keyframes btArtDraw { 0% { stroke-dashoffset: 600; } 45%, 100% { stroke-dashoffset: 0; } }
.bt-art__lit rect { opacity: 0.15; animation: btArtLit 3.6s ease-in-out infinite; animation-delay: var(--d); }
@keyframes btArtLit { 0%,100% { opacity: 0.12; } 30% { opacity: 0.95; } 60% { opacity: 0.12; } }
.bt-art__s text { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 22px; font-weight: 600; fill: #07112a; }
.bt-art__gear { transform-box: fill-box; transform-origin: center; }
.bt-art__gear--a { animation: btArtSpin 18s linear infinite; }
.bt-art__gear--b { animation: btArtSpin 11s linear infinite reverse; }
@keyframes btArtSpin { to { transform: rotate(360deg); } }
/* roman-numeral badge instead of 01/02 */
.bt-page .bt-offer__meta .bt-offer__num {
  display: inline-flex !important; align-items: baseline; gap: 0.35rem;
  font-size: 1rem !important; font-style: normal !important;
}
.bt-offer__num b {
  display: inline-grid; place-items: center; width: 46px; height: 46px; border-radius: 50%;
  border: 1px solid rgba(217,173,76,0.7); background: rgba(4,10,26,0.85);
  box-shadow: 0 0 18px rgba(217,173,76,0.25), inset 0 0 12px rgba(217,173,76,0.12);
  font-family: 'Cormorant Garamond', Georgia, serif; font-weight: 600; font-size: 1.05rem; letter-spacing: 0.06em;
  color: #f0c96d; -webkit-text-fill-color: #f0c96d;
  transition: background 0.4s ease, color 0.4s ease;
}
.bt-offer__num small { font-family: 'Manrope', sans-serif; font-size: 9px; letter-spacing: 0.2em; color: rgba(255,255,255,0.4); -webkit-text-fill-color: rgba(255,255,255,0.4); }
.bt-page .bt-offer:hover .bt-offer__num b { background: linear-gradient(135deg, #f1d383, #c39431); color: #171004; -webkit-text-fill-color: #171004; }
.bt-page .bt-offer__meta { margin-top: -23px !important; }
@media (prefers-reduced-motion: reduce) {
  .bt-art * { animation: none !important; }
}

/* BT "Led by practitioners": drawn shop-floor scene + refined credentials */
.bt-page .bt-lead { background: radial-gradient(ellipse 50% 70% at 25% 50%, rgba(30,80,220,0.14) 0%, transparent 70%), #06173a !important; }
.bt-page .bt-lead__inner { grid-template-columns: 1.05fr 1fr !important; align-items: center !important; }
.bt-lead__art {
  position: relative; border-radius: 18px; overflow: hidden; aspect-ratio: 4 / 3;
  border: 1px solid rgba(217,173,76,0.35);
  box-shadow: 0 40px 80px rgba(0,0,0,0.55), 0 0 60px rgba(217,173,76,0.08), inset 0 1px 0 rgba(255,236,190,0.1);
}
.bt-lead__art::before {
  content: ""; position: absolute; inset: 12px; border-radius: 12px; z-index: 1; pointer-events: none;
  border: 1px solid rgba(217,173,76,0.18);
}
.bt-lead__art svg { width: 100%; height: 100%; display: block; }
.bt-lead__k { font-family: 'Manrope', sans-serif; font-size: 10px; font-weight: 500; letter-spacing: 0.4em; fill: rgba(240,201,109,0.75); text-anchor: middle; }
.bt-lead__arc { stroke-dasharray: 540; animation-duration: 6s; }
.bt-lead__led { animation: btArtLit 2.4s ease-in-out infinite; animation-delay: var(--d); }
.bt-lead__stat { display: flex; align-items: center; gap: 1.2rem; margin: 2rem 0 1.4rem; padding: 1.1rem 0; border-top: 1px solid rgba(217,173,76,0.22); border-bottom: 1px solid rgba(217,173,76,0.22); }
.bt-lead__stat b {
  font-family: 'Cormorant Garamond', Georgia, serif; font-weight: 500; font-size: 3.6rem; line-height: 1;
  background: var(--bt-gold); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
}
.bt-lead__stat span { font-family: 'Manrope', sans-serif; font-size: 10.5px; font-weight: 500; letter-spacing: 0.22em; text-transform: uppercase; line-height: 1.8; color: rgba(255,255,255,0.65); }
.bt-lead__expertise { list-style: none; margin: 1.8rem 0 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 0.2rem 2rem; }
.bt-lead__expertise li {
  position: relative; padding: 0.7rem 0 0.7rem 1.4rem;
  font-family: 'Cormorant Garamond', Georgia, serif; font-size: 1.25rem; font-weight: 500; color: #fff;
  border-bottom: 1px solid rgba(217,173,76,0.14);
}
.bt-lead__expertise li::before { content: "\2726"; position: absolute; left: 0; top: 0.95rem; font-size: 0.7rem; color: #d9ad4c; }
@media (max-width: 1000px) {
  .bt-page .bt-lead__inner { grid-template-columns: 1fr !important; }
  .bt-lead__expertise { grid-template-columns: 1fr; }
}

/* BT performance: quicker reveals, paused off-screen art, no costly blur/glow while scrolling */
.bt-anim-ready .bt-grid.bt-anim .bt-offer { transition: opacity 0.5s ease, transform 0.55s cubic-bezier(0.16,1,0.3,1), border-color 0.4s ease, box-shadow 0.4s ease !important; transition-delay: calc(var(--i, 0) * 0.05s) !important; transform: translateY(20px); }
.bt-anim-ready .bt-grid.bt-anim.is-in .bt-offer:hover { transition-delay: 0s !important; }
.bt-art:not(.is-live) *, .bt-art:not(.is-live) svg { animation-play-state: paused !important; }
.bt-page :is(.bt-challenge__card, .bt-btn--ghost, .bt-btn, .bt-offer, .vm__card) { -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }
.bt-page .bt-bar__pair i.is-after { box-shadow: none !important; }
.bt-page :is(.bt-line__after, .bt-gauge__fill, .bt-cycle__ring) { filter: none !important; }
.bt-page :is(.bt-offer, .bt-chart, .bt-challenge__card) { contain: layout paint; }

/* navbar: same look on every page as on the home page */
.nav .nav__link { color: rgba(200,230,255,0.85) !important; }
.nav .nav__link:hover { color: #ffffff !important; }

/* ============================================================
   HOME HERO — sharp photo, Cormorant typography, clean accent
   ============================================================ */
/* photo at (never above) its native 1024px width, on the right, feathered into navy */
#hero .hero__bg { background: #030b1c; }
#hero .hero__img-wrap {
  left: auto !important; right: 0 !important; width: min(1024px, 100%) !important;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 30%, #000 100%);
          mask-image: linear-gradient(90deg, transparent 0%, #000 30%, #000 100%);
}
#hero #heroImg { transform: none !important; object-position: 60% 30% !important; filter: brightness(1) contrast(1.06) saturate(1.05) !important; }
#hero .hero__gradient {
  background:
    radial-gradient(ellipse 45% 55% at 20% 50%, rgba(30,80,190,0.18) 0%, transparent 75%),
    linear-gradient(90deg, rgba(3,11,28,0.95) 0%, rgba(3,11,28,0.7) 30%, rgba(3,11,28,0.15) 58%, rgba(3,11,28,0) 100%) !important;
}
/* typography */
#hero .hero__headline {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-weight: 500 !important;
  font-size: clamp(46px, 5.4vw, 88px) !important;
  line-height: 1.02 !important; letter-spacing: -0.015em !important;
}
#hero .hero__headline .hero__line > span { color: #f4f8ff !important; -webkit-text-fill-color: #f4f8ff !important; }
#hero .hero__eyebrow-text { letter-spacing: 0.34em !important; font-weight: 500 !important; font-size: 10.5px !important; }
#hero .hero__body { font-size: 17px !important; line-height: 1.85 !important; color: rgba(225,236,252,0.75) !important; border-left: 0 !important; padding-left: 0 !important; max-width: 46ch !important; }
/* "under audit,": static blue-white gradient with a fine line that draws in beneath it */
.hero-sparkle { display: none !important; }
#hero .hero__headline em,
#hero .hero__line--accent > span.has-sparkles em {
  position: relative; display: inline-block;
  font-family: 'Cormorant Garamond', Georgia, serif !important; font-style: italic; font-weight: 500 !important;
  font-size: 1em !important; padding-right: 0.06em;
  background-image: linear-gradient(100deg, #ffffff 0%, #d6e8ff 40%, #8fc0ff 100%) !important; /* image only: an !important shorthand would freeze background-position and block the sweep */
  -webkit-background-clip: text !important; background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  -webkit-text-stroke: 0 !important; filter: none !important;
  animation: none !important;
}
/* "under audit,": a soft band of light sweeps slowly across the words every few seconds;
   on hover the letters open up slightly */
#hero .hero__headline em {
  /* darker blue base with a wide bright band, so the sweep reads clearly */
  background-image: linear-gradient(100deg, #6c97d8 0%, #6c97d8 32%, #d6e8ff 43%, #ffffff 50%, #d6e8ff 57%, #6c97d8 68%, #6c97d8 100%) !important;
  background-size: 300% 100% !important;
  background-repeat: no-repeat !important;
  background-position: 100% 0;
  -webkit-background-clip: text !important; background-clip: text !important;
  animation: heroLightSweep 4.5s ease-in-out 0.8s infinite !important;
  transition: letter-spacing 0.8s cubic-bezier(0.16,1,0.3,1);
  cursor: default;
}
#hero .hero__headline em:hover { letter-spacing: 0.02em; }
@keyframes heroLightSweep {
  0%   { background-position: 100% 0; }
  70%  { background-position: 0% 0; }
  100% { background-position: 0% 0; }
}
/* tighter headline and a hero that always fits the first screen */
#hero .hero__headline {
  font-size: clamp(40px, min(5.2vw, 8.6vh), 84px) !important;
  line-height: 0.96 !important;
  margin: 1.1rem 0 1.3rem !important;
}
#hero .hero__headline .hero__line { padding-bottom: 0.08em; margin-bottom: -0.08em; } /* keeps descenders inside the reveal clip */
#hero .hero__content { padding-bottom: clamp(32px, calc(11vh - 38px), 82px) !important; } /* text block sits ~1cm lower */
#hero .hero__body { margin-bottom: 1.6rem !important; font-size: 16px !important; line-height: 1.75 !important; }
#hero .hero__eyebrow { margin-bottom: 0 !important; }
@media (max-width: 768px) {
  #hero .hero__img-wrap { width: 100% !important; -webkit-mask-image: none; mask-image: none; }
}
@media (prefers-reduced-motion: reduce) {
  #hero .hero__headline em { animation: none !important; background-position: 50% 0 !important; }
}

/* "Global ISO Experts" label sits ~1cm above the headline block */
#hero #heroEyebrow { position: relative !important; top: -38px !important; }

/* beat the generic .pattern-box rules in index.html */
.pattern-box.standards-orbit {
  border-radius: 50% !important;
  padding: 0 !important;
  min-height: 0 !important;
  background: radial-gradient(circle at 50% 50%, rgba(40,100,220,0.22) 0%, rgba(8,24,60,0.55) 45%, rgba(4,14,36,0.2) 72%, transparent 100%) !important;
}
.pattern-box.standards-orbit > .pattern-box__grid { position: absolute !important; z-index: 0 !important; }
.pattern-box.standards-orbit > .orbit__ring { position: absolute !important; z-index: 1 !important; }
.pattern-box.standards-orbit > .orbit__seal { position: absolute !important; z-index: 2 !important; }
.pattern-box.standards-orbit > .orbit__track { position: absolute !important; z-index: 3 !important; }

@media (max-width: 768px) {
  .standards-orbit { width: min(100%, 360px); }
}
@media (prefers-reduced-motion: reduce) {
  .orbit__track, .orbit__track li span, .orbit__seal { animation: none !important; }
}

/* -- "Three ways we create certainty": particle convergence ---------- */
.services__header.has-particles {
  overflow: hidden;
  background: radial-gradient(ellipse 60% 55% at 50% 55%, rgba(40,90,190,0.18) 0%, transparent 70%);
}
.services__particles {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}
.services__header.has-particles > :not(canvas) { position: relative; z-index: 1; }
.services__header.has-particles .services__headline {
  opacity: var(--headline-reveal, 0) !important;
}

/* -- Mobile responsive pass ----------------------------------------- */
/* Comfortable tap target for the menu button on every page */
html body .nav__hamburger { min-width: 44px; min-height: 44px; align-items: center; justify-content: center; }

/* Home: ISO 9001:2026 steps stack instead of scrolling sideways */
@media (max-width: 900px) {
  html body .iso-timeline__scroller { overflow: visible; }
  html body .iso-timeline__track { min-width: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 1.75rem; }
  html body .iso-timeline__line, html body .iso-step::before { display: none; }
  html body .iso-step { padding: 0 1.25rem 0 0; border-right: none; opacity: 1; }
}
@media (max-width: 560px) {
  html body .iso-timeline { padding: 1.25rem 1.25rem 1.5rem !important; }
  html body .iso-timeline__track { grid-template-columns: minmax(0, 1fr); row-gap: 0; }
  html body .iso-step { padding: 1.1rem 0; border-bottom: 1px solid rgba(100,170,255,0.14); }
  html body .iso-step:last-child { border-bottom: none; }
}

/* Home: founder block no longer pushes the page wider than the phone */
@media (max-width: 768px) {
  html body .founder__inner { grid-template-columns: minmax(0, 1fr); }
  html body .founder__portrait-col, html body .founder__content-col { min-width: 0; }
  html body .founder__creds { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  html body .founder__stats { flex-wrap: wrap; gap: 1.25rem 2.25rem; }
  html body .service-panel__cta, html body .showcase__cta { padding-block: 10px; }
}
@media (max-width: 480px) {
  html body .tcard__footer { flex-wrap: wrap; }
  html body .tcard__meta { flex: 1 1 calc(100% - 64px); min-width: 0; }
  html body .tcard__tag { margin-left: 52px; }
}

/* ============================================================
   NAVBAR TEXT BRAND — glass card, tinted per page theme
   ============================================================ */
body { --brand-accent: #9cc8ff; --brand-accent-rgb: 156, 200, 255; }
body.bt-page { --brand-accent: #d6e2f2; --brand-accent-rgb: 214, 226, 242; }
body.cs-page { --brand-accent: #e7a3ab; --brand-accent-rgb: 231, 163, 171; }
body.tr-page { --brand-accent: #cfe0ff; --brand-accent-rgb: 207, 224, 255; }
body.tp-page { --brand-accent: #e6c15f; --brand-accent-rgb: 230, 193, 95; }

html body .nav .nav__logo.nav__brand {
  position: relative;
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center;
  gap: 12px;
  flex-shrink: 1;
  min-width: 0;
  padding: 8px 22px !important;
  border-radius: 999px !important;
  border: 0 !important;
  background: linear-gradient(135deg, rgba(255,255,255,0.08), rgba(255,255,255,0.015)) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
  color: #ffffff !important;
  text-decoration: none;
  white-space: nowrap;
  overflow: hidden;
  isolation: isolate;
  transform: none;
  transition: transform .45s var(--ease-out), box-shadow .45s var(--ease-out) !important;
}
/* Hairline gradient border in the page accent. */
html body .nav .nav__logo.nav__brand::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  padding: 1px;
  background: linear-gradient(120deg, rgba(var(--brand-accent-rgb), 0.85), rgba(255,255,255,0.10) 45%, rgba(var(--brand-accent-rgb), 0.5));
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
  pointer-events: none;
}
/* Light sweep across the card: once on load, again on hover. */
html body .nav .nav__logo.nav__brand::after {
  content: "";
  position: absolute;
  inset: -2px auto -2px 0;
  width: 45%;
  z-index: -1;
  background: linear-gradient(100deg, transparent, rgba(255,255,255,0.22), rgba(var(--brand-accent-rgb), 0.18), transparent);
  transform: translateX(-130%) skewX(-18deg);
  animation: navBrandSweep 1.6s .9s var(--ease-out) both;
  pointer-events: none;
}
html body .nav .nav__logo.nav__brand:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 12px 34px rgba(0, 0, 0, 0.34), 0 0 0 4px rgba(var(--brand-accent-rgb), 0.08), inset 0 1px 0 rgba(255,255,255,0.1) !important;
}
html body .nav .nav__logo.nav__brand:hover::after { animation: navBrandSweep 1.1s var(--ease-out) both; }
@keyframes navBrandSweep {
  from { transform: translateX(-130%) skewX(-18deg); }
  to { transform: translateX(330%) skewX(-18deg); }
}


.nav__brand-text {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}
html body .nav .nav__brand-name {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 23px;
  font-weight: 600;
  letter-spacing: 0.015em;
  line-height: 1;
  color: #ffffff;
}
html body .nav .nav__brand-suffix {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: 'Cinzel', Georgia, serif !important;
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  line-height: 1;
  color: var(--brand-accent);
}
.nav__brand-suffix::after {
  content: "";
  flex: 1;
  height: 1px;
  min-width: 18px;
  background: linear-gradient(90deg, rgba(var(--brand-accent-rgb), 0.7), transparent);
}

@media (max-width: 1240px) and (min-width: 769px) {
  html body .nav .nav__brand-name { font-size: 20px; }
}
@media (max-width: 768px) {
  html body .nav .nav__inner { gap: 0.75rem; }
  html body .nav .nav__logo.nav__brand { gap: 10px; padding: 7px 18px !important; }
  html body .nav .nav__brand-name { font-size: 20px; }
}
@media (max-width: 360px) {
  html body .nav .nav__brand-name { font-size: 18px; }
  html body .nav .nav__brand-suffix { font-size: 8.5px; letter-spacing: 0.28em; }
}
@media (prefers-reduced-motion: reduce) {
  html body .nav .nav__logo.nav__brand::after { animation: none; }
}


/* -- Home hero: bolder, high-contrast serif headline ----------------- */
#hero .hero__headline {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-weight: 600 !important;
  font-size: clamp(36px, min(4.3vw, 7.4vh), 70px) !important;
  line-height: 1.12 !important;
  letter-spacing: -0.02em !important;
}
#hero .hero__headline .hero__line { padding: 0.04em 0 0.12em; margin-bottom: -0.1em; }
@media (min-width: 769px) {
  #hero .hero__headline { width: max-content !important; max-width: none !important; }
}
#hero .hero__headline .hero__line > span { text-shadow: 0 2px 28px rgba(64,14,27,0.55); }
#hero .hero__headline em,
#hero .hero__line--accent > span.has-sparkles em {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-weight: 600 !important;
  font-style: italic;
  padding-right: 0.1em;
}
@media (max-width: 768px) {
  #hero .hero__headline { font-size: clamp(31px, 8.4vw, 40px) !important; line-height: 1.14 !important; }
}

/* ============================================================
   HOME — MEET OUR FOUNDER
   ============================================================ */
.mf {
  --mf-ink: #fff7f8;
  --mf-soft: rgba(255,238,240,0.78);
  --mf-muted: rgba(255,215,220,0.62);
  --mf-accent: #ffd8dd;
  --mf-line: rgba(255,203,210,0.18);
  position: relative;
  overflow: hidden;
  isolation: isolate;
  padding: clamp(4.5rem, 9vw, 7.5rem) clamp(1.25rem, 6vw, 7rem);
  background:
    radial-gradient(rgba(255,207,214,0.07) 1px, transparent 1px) 0 0 / 26px 26px,
    linear-gradient(160deg, #430f1c 0%, #591425 52%, #430f1c 100%);
  color: var(--mf-ink);
}
.mf__glow { position: absolute; border-radius: 50%; filter: blur(90px); pointer-events: none; z-index: -1; }
.mf__glow--a { width: 520px; height: 520px; left: -160px; top: 18%; background: rgba(56,98,194,0.22); }
.mf__glow--b { width: 460px; height: 460px; right: -140px; bottom: -120px; background: rgba(255,195,203,0.14); }
.mf__inner { max-width: 1320px; margin: 0 auto; }

/* heading */
.mf__header {
  display: flex; justify-content: space-between; align-items: flex-end;
  flex-wrap: wrap; gap: 1.5rem 3rem;
  margin-bottom: clamp(2.75rem, 5vw, 4rem);
}
.mf__eyebrow {
  display: flex; align-items: center; gap: 0.85rem;
  font-family: 'Manrope', sans-serif; font-size: 11px; font-weight: 700;
  letter-spacing: 0.3em; color: var(--mf-accent);
  margin-bottom: 1.1rem;
}
.mf__eyebrow-line { width: 38px; height: 1px; background: linear-gradient(90deg, transparent, var(--mf-accent)); }
.mf__title {
  font-family: 'Playfair Display', Georgia, serif;
  font-weight: 600;
  font-size: clamp(2.2rem, 4.4vw, 3.9rem);
  line-height: 1.08; letter-spacing: -0.02em;
  color: var(--mf-ink); margin: 0;
}
.mf__title em {
  font-style: italic;
  background: linear-gradient(100deg, #fff5f6 0%, #ffd8dd 60%, #ffbfc7 100%);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent;
  padding-right: 0.08em;
}
.mf__lede {
  max-width: 400px; margin: 0;
  font-family: 'Inter', sans-serif; font-size: 1rem; line-height: 1.7;
  color: var(--mf-muted);
  padding-left: 1.25rem; border-left: 2px solid rgba(255,203,210,0.4);
}

/* three-column body */
.mf__grid {
  display: grid;
  grid-template-columns: 300px minmax(0, 1.15fr) minmax(0, 1fr);
  gap: clamp(1.5rem, 2.6vw, 2.5rem);
  align-items: stretch;
}

/* portrait card */
.mf__portrait { display: flex; flex-direction: column; gap: 1rem; }
.mf__photo {
  position: relative;
  border-radius: 22px;
  padding: 1px;
  background: linear-gradient(160deg, rgba(255,219,224,0.65), rgba(55,96,191,0.15) 45%, rgba(255,219,224,0.4));
  box-shadow: 0 30px 70px rgba(57,12,23,0.55), 0 0 60px rgba(56,98,194,0.2);
  transition: transform 0.6s cubic-bezier(0.16,1,0.3,1), box-shadow 0.6s;
}
.mf__photo::before {
  content: ""; position: absolute; inset: 1px; border-radius: 21px; z-index: 0;
  background:
    radial-gradient(ellipse 75% 55% at 50% 35%, rgba(255,191,200,0.45) 0%, rgba(33,56,112,0.2) 50%, transparent 78%),
    linear-gradient(180deg, #6e182e 0%, #551323 65%, #460f1d 100%);
}
.mf__photo-ring {
  position: absolute; z-index: 0; left: 50%; top: 36%;
  width: 78%; aspect-ratio: 1; transform: translate(-50%, -50%);
  border-radius: 50%; border: 1px dashed rgba(255,219,224,0.25);
  animation: mfSpin 40s linear infinite;
}
@keyframes mfSpin { to { transform: translate(-50%, -50%) rotate(360deg); } }
.mf__img {
  position: relative; z-index: 1; display: block;
  width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: center 8%;
  border-radius: 21px;
  filter: drop-shadow(0 12px 24px rgba(0,0,0,0.45)) !important;
  -webkit-mask-image: linear-gradient(180deg, #000 82%, transparent 100%);
          mask-image: linear-gradient(180deg, #000 82%, transparent 100%);
  transition: transform 0.8s cubic-bezier(0.16,1,0.3,1);
}
.mf__portrait:hover .mf__photo { transform: translateY(-6px); box-shadow: 0 40px 80px rgba(57,12,23,0.6), 0 0 80px rgba(67,107,200,0.3); }
.mf__portrait:hover .mf__img { transform: scale(1.03); }
.mf__badge {
  position: absolute; z-index: 2; right: -14px; bottom: 22px;
  display: flex; align-items: center; gap: 0.6rem;
  padding: 0.7rem 0.95rem;
  border-radius: 14px;
  background: rgba(101,22,42,0.72);
  border: 1px solid rgba(255,219,224,0.35);
  -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
  box-shadow: 0 14px 30px rgba(57,12,23,0.5);
}
.mf__badge-num { font-family: 'Playfair Display', Georgia, serif; font-weight: 700; font-size: 1.6rem; line-height: 1; color: #fff; }
.mf__badge-label { font-family: 'Inter', sans-serif; font-size: 0.68rem; line-height: 1.3; letter-spacing: 0.02em; color: var(--mf-soft); }
.mf__nameplate { display: flex; flex-direction: column; gap: 0.25rem; padding: 0.25rem 0.25rem 0; }
.mf__name { font-family: 'Manrope', sans-serif; font-weight: 700; font-size: 1.02rem; color: var(--mf-ink); }
.mf__role { font-family: 'Inter', sans-serif; font-size: 0.82rem; color: var(--mf-soft); }
.mf__loc { font-family: 'Manrope', sans-serif; font-size: 0.68rem; font-weight: 700; letter-spacing: 0.22em; text-transform: uppercase; color: var(--mf-accent); margin-top: 0.35rem; }

/* message card */
.mf__message {
  position: relative; margin: 0;
  padding: clamp(1.75rem, 3vw, 2.6rem);
  border-radius: 22px;
  background: linear-gradient(160deg, rgba(34,60,119,0.32) 0%, rgba(101,22,42,0.35) 100%);
  border: 1px solid var(--mf-line);
  box-shadow: inset 0 1px 0 rgba(255,231,234,0.1), 0 24px 60px rgba(57,12,23,0.35);
  -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
  overflow: hidden;
  transition: border-color 0.5s, transform 0.6s cubic-bezier(0.16,1,0.3,1);
}
.mf__message:hover { border-color: rgba(255,215,220,0.38); }
.mf__quote-mark {
  position: absolute; top: -0.12em; right: 0.12em;
  font-family: 'Playfair Display', Georgia, serif; font-weight: 700;
  font-size: 11rem; line-height: 1;
  color: rgba(255,215,220,0.12);
  pointer-events: none;
}
.mf__label {
  font-family: 'Manrope', sans-serif; font-size: 11px; font-weight: 700;
  letter-spacing: 0.26em; text-transform: uppercase;
  color: var(--mf-accent);
  margin-bottom: 1.25rem;
}
.mf__quote { margin: 0 0 1.75rem; position: relative; }
.mf__quote p {
  font-family: 'Inter', sans-serif; font-size: 0.98rem; font-weight: 400;
  line-height: 1.8; color: var(--mf-soft);
  margin: 0 0 1rem;
}
.mf__quote p.mf__quote-lead {
  font-family: 'Playfair Display', Georgia, serif; font-style: italic; font-weight: 500;
  font-size: clamp(1.15rem, 1.5vw, 1.32rem); line-height: 1.6;
  color: var(--mf-ink);
  margin-bottom: 1.4rem;
}
.mf__sign { display: flex; align-items: center; gap: 1rem; }
.mf__sign-line { flex: 0 0 42px; height: 2px; border-radius: 2px; background: linear-gradient(90deg, #ffbfc7, #ffe3e6); }
.mf__sign-text { display: flex; flex-direction: column; gap: 0.2rem; }
.mf__sign-name { font-family: 'Playfair Display', Georgia, serif; font-style: italic; font-weight: 600; font-size: 1.15rem; color: #fff2f4; }
.mf__sign-role { font-family: 'Inter', sans-serif; font-size: 0.76rem; line-height: 1.5; color: var(--mf-muted); }

/* expertise column */
.mf__expertise { display: flex; flex-direction: column; }
.mf__bio { font-family: 'Inter', sans-serif; font-size: 1.02rem; line-height: 1.75; color: var(--mf-soft); margin: 0 0 1.5rem; }
.mf__creds {
  list-style: none; margin: 0 0 1.5rem; padding: 0;
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.6rem;
}
.mf__cred {
  position: relative;
  display: flex; flex-direction: column; gap: 0.2rem;
  padding: 0.75rem 0.9rem 0.75rem 2.3rem;
  border-radius: 12px;
  background: rgba(20,34,69,0.45);
  border: 1px solid var(--mf-line);
  transition: transform 0.35s cubic-bezier(0.16,1,0.3,1), border-color 0.35s, background 0.35s, box-shadow 0.35s;
}
.mf__cred::before {
  content: ""; position: absolute; left: 0.9rem; top: 50%;
  width: 0.85rem; height: 0.85rem; margin-top: -0.425rem; border-radius: 50%;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3 6.2l2 2 4-4.4' fill='none' stroke='%23ffffff' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 70% no-repeat,
    linear-gradient(135deg, #446cc9, #ffd2d8);
}
.mf__cred:hover { transform: translateY(-3px); border-color: rgba(255,215,220,0.45); background: rgba(29,51,101,0.5); box-shadow: 0 12px 26px rgba(64,14,27,0.4); }
.mf__cred-label { font-family: 'Manrope', sans-serif; font-size: 9.5px; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; color: var(--mf-muted); }
.mf__cred-value { font-family: 'Manrope', sans-serif; font-size: 0.9rem; font-weight: 700; color: var(--mf-ink); }
.mf__stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.6rem; margin-top: auto; }
.mf__stat {
  display: flex; flex-direction: column; gap: 0.35rem;
  padding: 1rem 0.9rem;
  border-radius: 14px;
  background: linear-gradient(160deg, rgba(46,80,158,0.32), rgba(101,22,42,0.3));
  border: 1px solid var(--mf-line);
  transition: transform 0.35s cubic-bezier(0.16,1,0.3,1), border-color 0.35s;
}
.mf__stat:hover { transform: translateY(-3px); border-color: rgba(255,215,220,0.45); }
.mf__stat-num { font-family: 'Playfair Display', Georgia, serif; font-weight: 700; font-size: clamp(1.45rem, 2vw, 1.85rem); line-height: 1; color: #fff; font-variant-numeric: lining-nums tabular-nums; }
.mf__stat-label { font-family: 'Inter', sans-serif; font-size: 0.72rem; line-height: 1.35; color: var(--mf-muted); }

@media (max-width: 1180px) {
  .mf__grid { grid-template-columns: 280px minmax(0, 1fr); }
  .mf__expertise { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 2.5rem; align-items: start; }
  .mf__expertise .mf__label, .mf__bio { grid-column: 1 / -1; }
  .mf__stats { margin-top: 0; grid-template-columns: minmax(0, 1fr); }
  .mf__stat { flex-direction: row; align-items: baseline; gap: 0.8rem; }
}
@media (max-width: 768px) {
  .mf__header { margin-bottom: 2.25rem; }
  .mf__grid { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
  .mf__portrait { max-width: 290px; width: 100%; margin: 0 auto; }
  .mf__badge { right: -8px; }
  .mf__nameplate { text-align: center; align-items: center; }
  .mf__expertise { display: flex; align-items: stretch; }
  .mf__stats { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 0; }
  .mf__stat { flex-direction: column; align-items: flex-start; gap: 0.35rem; padding: 0.85rem 0.7rem; }
  .mf__quote-mark { font-size: 8rem; }
}
@media (max-width: 420px) {
  .mf__stats { grid-template-columns: minmax(0, 1fr); }
  .mf__stat { flex-direction: row; align-items: baseline; gap: 0.8rem; }
}
@media (prefers-reduced-motion: reduce) {
  .mf__photo-ring { animation: none; }
}

/* -- Mobile menu: keep each page's dark theme (the base rule above is white) -- */
html body.cs-page .mobile-menu,
html body.tp-page .mobile-menu { background: linear-gradient(160deg, #5a1422 0%, #3f0d1a 55%, #2c3e6e 100%); color: #fff4f6; border: none; }
html body.bt-page .mobile-menu { background: #06173a; color: #eaf2ff; border: none; }
html body.cs-page .mobile-menu__link, html body.tp-page .mobile-menu__link,
html body.cs-page .mobile-menu__link:hover, html body.tp-page .mobile-menu__link:hover,
html body.cs-page .mobile-menu__link:focus, html body.tp-page .mobile-menu__link:focus { color: #fff4f6; border-color: rgba(255,199,207,0.16); }
html body.bt-page .mobile-menu__link, html body.bt-page .mobile-menu__link:hover,
html body.bt-page .mobile-menu__link:focus { color: #eaf2ff; border-color: rgba(156,200,255,0.16); }
html body.cs-page .mobile-menu__footer, html body.tp-page .mobile-menu__footer { color: rgba(255,199,207,0.6); border-color: rgba(255,199,207,0.16); }
html body.bt-page .mobile-menu__footer { color: rgba(156,200,255,0.6); border-color: rgba(156,200,255,0.16); }

/* Footer social/legal links: full-size tap target on touch screens */
@media (max-width: 768px) {
  body footer.footer .footer__legal-link { display: inline-flex; align-items: center; min-height: 44px; padding: 0 0.25rem; margin-left: -0.25rem; }
}

/* -- Phones: invisible 44px tap area around small text links (look unchanged) -- */
@media (max-width: 768px) {
  html body :is(.service-panel__cta, .cs-link, .tp-link, .footer__link, .footer__contact-link) { position: relative; }
  html body :is(.service-panel__cta, .cs-link, .tp-link, .footer__link, .footer__contact-link)::before {
    content: ''; position: absolute; left: -4px; right: -4px; top: 50%; height: max(100%, 44px); transform: translateY(-50%);
  }
}
