/* ==========================================================================
   HEXA ELEVATORS — ABOUT PAGE
   Everything is scoped under .hexa-about-page and namespaced hexa-about-*
   so nothing here can touch the homepage.
   ========================================================================== */

/* --------------------------------------------------------------------------
   0. TOKEN BRIDGE
   --------------------------------------------------------------------------
   Values marked CONFIRMED were taken from your homepage header/footer file.
   The rest are still estimates from the homepage screenshot. If your style.css
   defines variables for any of them, replace the value with var(--yours).
   -------------------------------------------------------------------------- */
.hexa-about-page {
  /* Surfaces */
  --hx-navy:   #07111f;   /* CONFIRMED: theme-color + tooltip background      */
  --hx-navy-2: #0A1628;   /* CONFIRMED: mobile menu background                */
  --hx-navy-3: #142642;   /* estimate: lifted dark surface                    */
  --hx-paper:  #f7f9fc;   /* CONFIRMED: body background                       */
  --hx-paper-2:#edf1f8;   /* estimate: alternate light section                */
  --hx-white:  #f4f7fb;   /* estimate: soft white type on dark                */
  --hx-ink:    #0C315B;   /* CONFIRMED: body / nav text colour                */

  /* Accents */
  --hx-red:       #ef1f2f; /* CONFIRMED: call button + focus ring (matches --red) */
  --hx-blue:      #2672bd; /* CONFIRMED: header CTA gradient                  */
  --hx-blue-2:    #4a9eff; /* CONFIRMED: header CTA gradient                  */
  --hx-blue-deep: #1c67ae; /* CONFIRMED: nav hover / active                   */

  /* Lines, text tones */
  --hx-line-dark:   rgba(255, 255, 255, .14);
  --hx-line-light:  rgba(12, 49, 91, .14);
  --hx-text-dark:   rgba(244, 247, 251, .72);
  --hx-text-light:  rgba(12, 49, 91, .72);

  /* Shape, depth */
  --hx-radius:      20px;   /* estimate: cards (dropdown is 14px, pills 999px) */
  --hx-radius-sm:   12px;
  --hx-shadow:      0 32px 80px -32px rgba(2, 8, 20, .6);

  /* Motion */
  --hx-ease:        cubic-bezier(.16, 1, .3, 1);   /* CONFIRMED: used across header */
  --hx-ease-soft:   cubic-bezier(.65, 0, .35, 1);

  /* Layout */
  --hx-gutter:   clamp(20px, 4.2vw, 72px);
  --hx-max:      1400px;
  --hx-section:  clamp(88px, 11vw, 176px);
  --hx-header-h: 76px;    /* CONFIRMED: sticky header, min-height 76px, in flow */

  /* CONFIRMED: system-ui stack. Uses your --hexa-font when the header CSS is loaded. */
  --hx-font: var(--hexa-font, system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif);
}

/* --------------------------------------------------------------------------
   1. BASE
   -------------------------------------------------------------------------- */
.hexa-about-page *,
.hexa-about-page *::before,
.hexa-about-page *::after { box-sizing: border-box; }

html:has(.hexa-about-page) { scroll-padding-top: 92px; }
@media (prefers-reduced-motion: no-preference) { html:has(.hexa-about-page) { scroll-behavior: smooth; } }

.hexa-about-page {
  margin: 0;
  background: var(--hx-navy);
  color: var(--hx-white);
  font-family: var(--hx-font);
  font-size: 1rem;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  overflow-x: clip;
}
/* Resets use :where() so they have zero specificity and never beat component classes */
.hexa-about-page :where(img) { display: block; max-width: 100%; height: auto; }
.hexa-about-page :where(a) { color: inherit; text-decoration: none; }
.hexa-about-page :where(h1, h2, h3, p, ol, ul, figure) { margin: 0; padding: 0; }
.hexa-about-page :where(ol, ul) { list-style: none; }
.hexa-about-page :where(button) { font: inherit; color: inherit; background: none; border: 0; cursor: pointer; }
.hexa-about-page :where(em) { font-style: normal; }

.hexa-about-page :focus-visible {
  outline: 2px solid var(--hx-blue);
  outline-offset: 3px;
  border-radius: 6px;
}
.hexa-about-section--dark :focus-visible,
.hexa-about-hero :focus-visible { outline-color: #fff; }

/* Layout helpers */
.hexa-about-wrap {
  width: min(100% - 2 * var(--hx-gutter), var(--hx-max));
  margin-inline: auto;
}
.hexa-about-section {
  position: relative;
  padding-block: var(--hx-section);
}
.hexa-about-section--dark  { background: var(--hx-navy);  color: var(--hx-white); }
.hexa-about-section--light { background: var(--hx-paper); color: var(--hx-ink); }
.hexa-about-section--tint  { background: var(--hx-paper-2); color: var(--hx-ink); }

/* Type */
.hexa-about-eyebrow {
  display: inline-flex; align-items: center; gap: 14px;
  font-size: .72rem; font-weight: 700; letter-spacing: .22em; text-transform: uppercase;
  line-height: 1.4;
}
.hexa-about-eyebrow::before {
  content: ""; width: 28px; height: 2px; background: var(--hx-red); flex: none;
}
.hexa-about-h1,
.hexa-about-h2 {
  font-weight: 700;
  letter-spacing: -.035em;
  line-height: 1.02;
  text-wrap: balance;
}
.hexa-about-h1 { font-size: clamp(2.25rem, 6vw, 6.75rem); line-height: .98; }
.hexa-about-h2 { font-size: clamp(2rem, 3.8vw, 4.9rem); }
.hexa-about-h2 em { color: var(--hx-red); }
.hexa-about-dot { color: var(--hx-red); }
.hexa-about-lead { font-size: clamp(1.15rem, 1.7vw, 1.6rem); line-height: 1.45; letter-spacing: -.01em; font-weight: 500; }
.hexa-about-copy { font-size: clamp(1rem, 1.1vw, 1.125rem); max-width: 60ch; }
.hexa-about-section--light .hexa-about-copy,
.hexa-about-section--tint  .hexa-about-copy { color: var(--hx-text-light); }
.hexa-about-section--dark  .hexa-about-copy { color: var(--hx-text-dark); }

/* Buttons */
.hexa-about-btn {
  --btn-h: 52px;
  display: inline-flex; align-items: center; justify-content: center; gap: 12px;
  min-height: var(--btn-h); padding: 0 28px;
  border-radius: 999px;
  font-size: .74rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; white-space: nowrap;
  transition: transform .5s var(--hx-ease), background .4s ease, border-color .4s ease, box-shadow .5s ease;
}
.hexa-about-btn span { display: inline-block; transition: transform .5s var(--hx-ease); }
.hexa-about-btn:hover span { transform: translate(3px, -3px); }
.hexa-about-btn--primary {
  color: #fff;
  background: linear-gradient(120deg, var(--hx-blue) 0%, var(--hx-blue-2) 30%, var(--hx-blue) 60%, var(--hx-blue-2) 100%);
  background-size: 300% 300%;
  border: 2px solid rgba(255, 255, 255, .45);
  box-shadow: 0 8px 26px -6px rgba(38, 114, 189, .75), inset 0 0 0 1px rgba(255, 255, 255, .15), inset 0 1px 0 rgba(255, 255, 255, .45);
  animation: hexaAboutGlitter 7s ease-in-out infinite;
}
.hexa-about-btn--primary:hover { transform: translateY(-3px); box-shadow: 0 16px 42px -8px rgba(38, 114, 189, .9), inset 0 0 0 1px rgba(255, 255, 255, .15), inset 0 1px 0 rgba(255, 255, 255, .45); }
@keyframes hexaAboutGlitter { 0% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } 100% { background-position: 0% 50%; } }
.hexa-about-btn--ghost {
  color: #fff;
  background: rgba(255, 255, 255, .06);
  border: 1px solid rgba(255, 255, 255, .28);
  -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
}
.hexa-about-btn--ghost:hover { background: rgba(255, 255, 255, .14); border-color: rgba(255, 255, 255, .55); transform: translateY(-2px); }
.hexa-about-btn--sm { --btn-h: 44px; padding: 0 20px; font-size: .68rem; }

/* --------------------------------------------------------------------------
   3. ANIMATION SYSTEM  (IntersectionObserver adds .is-in; CSS does the motion)
   All initial "hidden" states exist only when html.hx-js is set, so the page
   is fully visible without JavaScript.
   -------------------------------------------------------------------------- */
html.hx-js [data-hx="up"] {
  opacity: 0; transform: translate3d(0, 34px, 0);
  transition: opacity 1s var(--hx-ease), transform 1.2s var(--hx-ease);
  transition-delay: var(--d, 0s);
}
html.hx-js [data-hx="up"].is-in { opacity: 1; transform: none; }

/* Line-by-line heading reveal (mask + clip-path) */
.hexa-about-line { display: block; overflow: hidden; padding-bottom: .14em; margin-bottom: -.14em; }
.hexa-about-line > span { display: block; }
html.hx-js [data-hx="lines"] .hexa-about-line > span {
  transform: translate3d(0, 108%, 0);
  clip-path: inset(0 0 100% 0);
  transition: transform 1.2s var(--hx-ease), clip-path 1.2s var(--hx-ease);
  transition-delay: calc(var(--i, 0) * .12s + var(--d, 0s));
}
html.hx-js [data-hx="lines"].is-in .hexa-about-line > span {
  transform: none; clip-path: inset(0 0 -.2em 0);
}

/* Image mask reveal + inner scale settle */
html.hx-js [data-hx="mask"] {
  clip-path: inset(12% 9% 12% 9% round var(--hx-radius));
  transition: clip-path 1.6s var(--hx-ease);
  transition-delay: var(--d, 0s);
}
html.hx-js [data-hx="mask"].is-in { clip-path: inset(0 0 0 0 round var(--hx-radius)); }
html.hx-js [data-hx="mask"] img { transform: scale(1.28); transition: transform 2s var(--hx-ease); transition-delay: var(--d, 0s); }
html.hx-js [data-hx="mask"].is-in img { transform: scale(1); }

/* Line drawing */
html.hx-js [data-hx="draw"] { transform: scaleX(0); transform-origin: left center; transition: transform 1.6s var(--hx-ease-soft); transition-delay: var(--d, 0s); }
html.hx-js [data-hx="draw-y"] { transform: scaleY(0); transform-origin: center top; transition: transform 1.8s var(--hx-ease-soft); transition-delay: var(--d, 0s); }
html.hx-js [data-hx="draw"].is-in,
html.hx-js [data-hx="draw-y"].is-in { transform: none; }

/* Staggered children (children are visually neutral wrappers, so hover styles
   on inner elements are never overridden by these transitions) */
html.hx-js [data-hx="stagger"] > * {
  opacity: 0; transform: translate3d(0, 44px, 0);
  transition: opacity .9s var(--hx-ease), transform 1.2s var(--hx-ease);
  transition-delay: calc(var(--i, 0) * .1s + var(--d, 0s));
}
html.hx-js [data-hx="stagger"].is-in > * { opacity: 1; transform: none; }

/* Parallax wrapper: 20% taller than its frame so it can travel without gaps */
.hexa-about-par { position: absolute; inset: -10% 0; will-change: transform; }
.hexa-about-par img { width: 100%; height: 100%; object-fit: cover; }

/* --------------------------------------------------------------------------
   4. HERO
   -------------------------------------------------------------------------- */
.hexa-about-hero {
  position: relative; isolation: isolate; overflow: hidden;
  min-height: calc(100vh - var(--hx-header-h)); min-height: calc(100svh - var(--hx-header-h));
  display: flex; align-items: flex-end;
  padding: clamp(40px, 8vh, 72px) 0 clamp(136px, 19vh, 190px);
  background: var(--hx-navy); color: var(--hx-white);
}
.hexa-about-hero__bg { position: absolute; inset: 0; z-index: -3; overflow: hidden; }
html.hx-js .hexa-about-hero__bg {
  opacity: 0; transform: scale(1.08);
  transition: opacity 2.4s ease .15s, transform 3.6s var(--hx-ease) .15s;
}
html.hx-js .hexa-about-hero__bg.is-in { opacity: 1; transform: scale(1); }
.hexa-about-hero__shade {
  position: absolute; inset: 0; z-index: -2;
  background:
    linear-gradient(90deg, rgba(7, 17, 31, .62) 0%, rgba(7, 17, 31, .18) 60%, rgba(7, 17, 31, 0) 100%),
    linear-gradient(180deg, rgba(7, 17, 31, .5) 0%, rgba(7, 17, 31, .08) 34%, rgba(7, 17, 31, .82) 100%);
}
.hexa-about-hero__glow {
  position: absolute; z-index: -1; right: -10%; top: 12%; width: 60vw; height: 60vw; max-width: 900px; max-height: 900px;
  background: radial-gradient(closest-side, rgba(38, 114, 189, .26), transparent);
  pointer-events: none;
}
.hexa-about-hero__inner { display: grid; gap: clamp(20px, 2.6vw, 34px); }
.hexa-about-hero__text { max-width: 56ch; font-size: clamp(1rem, 1.25vw, 1.2rem); color: rgba(244, 247, 251, .82); }
.hexa-about-hero__tag {
  display: inline-flex; align-items: center; gap: 14px;
  font-size: .78rem; font-weight: 600; letter-spacing: .08em; color: rgba(244, 247, 251, .62);
}
.hexa-about-hero__tag::before { content: ""; width: 44px; height: 1px; background: rgba(255, 255, 255, .4); }
.hexa-about-hero__cta { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 6px; }

.hexa-about-scroll {
  position: absolute; left: 50%; bottom: 60px; z-index: 2;
  display: flex; flex-direction: column; align-items: center; gap: 12px;
  transform: translateX(-50%);
  font-size: .62rem; font-weight: 700; letter-spacing: .28em; text-transform: uppercase;
  color: rgba(244, 247, 251, .7);
}
html.hx-js .hexa-about-scroll { opacity: 0; transition: opacity 1.2s ease; transition-delay: var(--d, 0s); }
html.hx-js .hexa-about-scroll.is-in { opacity: 1; }
.hexa-about-scroll i {
  position: relative; display: block; width: 1px; height: 56px; overflow: hidden; background: rgba(255, 255, 255, .22);
}
.hexa-about-scroll i::after {
  content: ""; position: absolute; left: 0; top: 0; width: 1px; height: 45%;
  background: linear-gradient(180deg, transparent, #fff);
  animation: hexaAboutScroll 2.4s var(--hx-ease-soft) infinite;
}
@keyframes hexaAboutScroll { from { transform: translateY(-110%); } to { transform: translateY(260%); } }

/* --------------------------------------------------------------------------
   5. INTRO  (light, asymmetric, overlaps the hero's bottom edge)
   -------------------------------------------------------------------------- */
.hexa-about-intro {
  margin-top: -32px; z-index: 2;
  border-radius: 32px 32px 0 0;
  overflow: hidden;
  padding-bottom: calc(var(--hx-section) * .75);
}
.hexa-about-ring {
  position: absolute; right: -14vw; top: 6%; width: min(56vw, 760px); aspect-ratio: 1; border-radius: 50%;
  border: clamp(36px, 6vw, 84px) solid rgba(38, 114, 189, .06); pointer-events: none;
}
.hexa-about-intro__grid { position: relative; display: grid; gap: clamp(36px, 5vw, 80px); }
.hexa-about-intro__title { margin-top: 28px; font-size: clamp(2.25rem, 3.1vw, 6.25rem); }
.hexa-about-intro__body { display: grid; gap: 22px; align-content: start; }
.hexa-about-intro__lead { padding-top: 22px; border-top: 1px solid var(--hx-line-light); }
@media (min-width: 992px) {
  .hexa-about-intro__grid { grid-template-columns: repeat(12, 1fr); column-gap: 24px; row-gap: 0; }
  .hexa-about-intro__head { grid-column: 1 / span 11; }
  .hexa-about-intro__lead-col { grid-column: 1 / span 4; grid-row: 2; margin-top: clamp(24px, 3vw, 48px); }
  .hexa-about-intro__body { grid-column: 6 / span 6; grid-row: 2; margin-top: clamp(24px, 3vw, 48px); }
}

/* --------------------------------------------------------------------------
   6. CINEMATIC IMAGE
   -------------------------------------------------------------------------- */
.hexa-about-showcase { padding-block: 0 var(--hx-section); }
.hexa-about-showcase__frame { position: relative; width: min(100% - 2 * var(--hx-gutter), 1500px); margin-inline: auto; }
@media (min-width: 992px) { .hexa-about-showcase__frame { width: 82vw; max-width: 1700px; } }
.hexa-about-media {
  position: relative; overflow: hidden; isolation: isolate;
  aspect-ratio: 16 / 9; border-radius: var(--hx-radius); background: var(--hx-navy-2);
}
.hexa-about-media::after {
  content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: linear-gradient(180deg, rgba(7, 17, 31, 0) 45%, rgba(7, 17, 31, .55) 100%);
}
@media (max-width: 767px) { .hexa-about-media { aspect-ratio: 4 / 5; } }

.hexa-about-glass {
  position: absolute; z-index: 3; left: clamp(16px, 3vw, 48px); bottom: clamp(16px, 3vw, 48px);
  width: min(360px, calc(100% - 32px)); padding: clamp(20px, 2.2vw, 30px);
  border-radius: var(--hx-radius-sm);
  background: rgba(7, 17, 31, .46);
  -webkit-backdrop-filter: blur(18px) saturate(1.3); backdrop-filter: blur(18px) saturate(1.3);
  border: 1px solid rgba(255, 255, 255, .18);
  box-shadow: 0 24px 60px -24px rgba(0, 0, 0, .7);
  color: var(--hx-white);
}
.hexa-about-glass h3 { font-size: .72rem; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; color: rgba(244, 247, 251, .72); }
.hexa-about-glass p { margin-top: 14px; font-size: clamp(1.2rem, 1.8vw, 1.6rem); line-height: 1.25; font-weight: 700; letter-spacing: -.02em; }
.hexa-about-glass p span { display: block; }

/* --------------------------------------------------------------------------
   7. STORY  (light)
   -------------------------------------------------------------------------- */
.hexa-about-story__grid { display: grid; gap: clamp(40px, 6vw, 96px); }
.hexa-about-index { display: flex; align-items: center; gap: 18px; }
.hexa-about-index b { font-size: .75rem; font-weight: 700; letter-spacing: .2em; color: var(--hx-red); }
.hexa-about-index span { font-size: .72rem; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; color: var(--hx-text-light); }
.hexa-about-index i { flex: 1; height: 1px; background: var(--hx-line-light); max-width: 240px; }
.hexa-about-story__title { margin-top: 30px; }
.hexa-about-story__text { display: grid; gap: 22px; align-content: start; }
.hexa-about-story__final {
  margin-top: 10px; padding-left: 22px; border-left: 2px solid var(--hx-red);
  font-size: clamp(1.15rem, 1.6vw, 1.5rem); line-height: 1.4; font-weight: 600; letter-spacing: -.01em; color: var(--hx-ink);
}
@media (min-width: 992px) {
  .hexa-about-story__grid { grid-template-columns: 1.15fr .85fr; align-items: start; }
  .hexa-about-story__head { position: sticky; top: calc(var(--hx-header-h) + 40px); }
  .hexa-about-story__text { padding-top: 12px; }
}

/* --------------------------------------------------------------------------
   8. TIMELINE  (horizontal on desktop → vertical on tablet/mobile)
   -------------------------------------------------------------------------- */
.hexa-about-timeline { padding-top: 0; }
.hexa-about-timeline__head { display: grid; gap: 18px; margin-bottom: clamp(44px, 6vw, 88px); padding-top: clamp(44px, 6vw, 88px); border-top: 1px solid var(--hx-line-light); }
.hexa-about-tl { position: relative; }
.hexa-about-tl__list { display: grid; gap: 0; }
.hexa-about-tl__line {
  position: absolute; left: 7px; top: 8px; bottom: 8px; width: 1px; background: var(--hx-ink); opacity: .35;
  transform-origin: center top;
}
.hexa-about-tl__item { position: relative; padding: 0 0 44px 44px; }
.hexa-about-tl__item:last-child { padding-bottom: 0; }
.hexa-about-tl__dot {
  position: absolute; left: 0; top: 6px; width: 15px; height: 15px; border-radius: 50%;
  background: var(--hx-paper); border: 2px solid var(--hx-red);
}
.hexa-about-tl__value { font-size: clamp(2.25rem, 2.9vw, 4rem); font-weight: 700; letter-spacing: -.035em; line-height: 1; }
.hexa-about-tl__label { margin-top: 12px; font-size: .72rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--hx-red); }
.hexa-about-tl__text { margin-top: 14px; max-width: 32ch; color: var(--hx-text-light); font-size: .98rem; line-height: 1.65; }
@media (min-width: 992px) {
  .hexa-about-tl__list { grid-template-columns: repeat(4, 1fr); gap: clamp(20px, 3vw, 48px); }
  .hexa-about-tl__line { left: 0; right: 0; top: 7px; bottom: auto; width: auto; height: 1px; transform-origin: left center; }
  html.hx-js .hexa-about-tl__line[data-hx="draw-y"] { transform: scaleX(0); }
  html.hx-js .hexa-about-tl__line[data-hx="draw-y"].is-in { transform: none; }
  .hexa-about-tl__item { padding: 44px 0 0 0; }
  .hexa-about-tl__value { display: flex; align-items: flex-end; min-height: 2.05em; }
  .hexa-about-tl__dot { left: 0; top: 0; }
}

/* --------------------------------------------------------------------------
   9. STATS  (dark)
   -------------------------------------------------------------------------- */
.hexa-about-stats { overflow: hidden; padding-block: clamp(72px, 1vw, 128px); }
.hexa-about-stats::before {
  content: ""; position: absolute; left: 50%; top: 0; width: 120%; height: 100%; transform: translateX(-50%);
  background: radial-gradient(60% 70% at 50% 0%, rgba(38, 114, 189, .2), transparent 70%); pointer-events: none;
}
.hexa-about-stats__head { position: relative; display: flex; justify-content: space-between; align-items: end; gap: 24px; flex-wrap: wrap; margin-bottom: clamp(44px, 6vw, 88px); }
.hexa-about-stats__grid { position: relative; display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--hx-line-dark); }
.hexa-about-stat { display: flex; flex-direction: column; justify-content: flex-end; padding: clamp(28px, 4vw, 56px) clamp(0px, 2vw, 32px) clamp(28px, 4vw, 56px) 0; border-bottom: 1px solid var(--hx-line-dark); }
.hexa-about-stat:nth-child(odd) { border-right: 1px solid var(--hx-line-dark); padding-right: 20px; }
.hexa-about-stat:nth-child(even) { padding-left: 20px; }
.hexa-about-stat b {
  display: block; font-size: clamp(2.1rem, 3.2vw, 4.75rem); font-weight: 700; letter-spacing: -.04em; line-height: 1;
  font-variant-numeric: tabular-nums; font-feature-settings: "tnum";
}
.hexa-about-stat b.is-text { line-height: 1.02; }
.hexa-about-stat span { display: block; margin-top: 16px; font-size: .7rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--hx-text-dark); }
.hexa-about-stat:hover span { color: #fff; }
@media (min-width: 992px) {
  .hexa-about-stats__grid { grid-template-columns: repeat(4, 1fr); }
  .hexa-about-stat, .hexa-about-stat:nth-child(odd), .hexa-about-stat:nth-child(even) { padding: 56px 32px 56px 32px; border-bottom: 0; border-right: 1px solid var(--hx-line-dark); }
  .hexa-about-stat:first-child { padding-left: 0; }
  .hexa-about-stat:last-child { border-right: 0; }
}

/* --------------------------------------------------------------------------
   10. WHY HEXA  (light section, dark interactive panels)
   -------------------------------------------------------------------------- */
.hexa-about-why__head { display: grid; gap: 26px; margin-bottom: clamp(44px, 6vw, 80px); }
.hexa-about-why__list { display: grid; gap: 14px; }
.hexa-about-why__item {
  position: relative; overflow: hidden; isolation: isolate;
  border-radius: var(--hx-radius); border: 1px solid rgba(255, 255, 255, .1);
  background: var(--hx-navy); color: var(--hx-white);
  box-shadow: var(--hx-shadow);
  transition: border-color .6s ease, flex-grow .9s var(--hx-ease);
}
.hexa-about-why__item img {
  position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover;
  opacity: .3; transform: scale(1.08); transition: opacity .9s ease, transform 1.6s var(--hx-ease);
}
.hexa-about-why__item::after {
  content: ""; position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(180deg, rgba(7, 17, 31, .35) 0%, rgba(7, 17, 31, .9) 100%);
}
.hexa-about-why__item.is-active { border-color: rgba(255, 255, 255, .34); }
.hexa-about-why__item.is-active img { opacity: .62; transform: scale(1); }
.hexa-about-why__btn { display: flex; width: 100%; align-items: center; gap: 16px; text-align: left; padding: 22px 22px 0; min-height: 48px; }
.hexa-about-why__num { font-size: .72rem; font-weight: 700; letter-spacing: .2em; color: rgba(244, 247, 251, .55); }
.hexa-about-why__icon {
  margin-left: auto; display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, .22); background: rgba(255, 255, 255, .06); font-size: 1.05rem;
  transition: transform .8s var(--hx-ease), border-color .5s ease;
}
.hexa-about-why__item.is-active .hexa-about-why__icon { transform: translateY(-3px); border-color: rgba(255, 255, 255, .5); }
.hexa-about-why__body { padding: 0 22px 24px; }
.hexa-about-why__title {
  margin-top: 22px; font-size: clamp(1.3rem, 1.9vw, 1.75rem); font-weight: 700; letter-spacing: -.02em; line-height: 1.15;
  color: rgba(244, 247, 251, .72); transition: color .5s ease;
}
.hexa-about-why__item.is-active .hexa-about-why__title { color: #fff; }
.hexa-about-why__reveal { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .8s var(--hx-ease); }
.hexa-about-why__item.is-active .hexa-about-why__reveal { grid-template-rows: 1fr; }
.hexa-about-why__reveal > div { overflow: hidden; }
.hexa-about-why__reveal p {
  padding-top: 14px; max-width: 34ch; font-size: .98rem; line-height: 1.6; color: var(--hx-text-dark);
  opacity: 0; transform: translate3d(0, 12px, 0); transition: opacity .6s ease, transform .9s var(--hx-ease);
}
.hexa-about-why__item.is-active .hexa-about-why__reveal p { opacity: 1; transform: none; transition-delay: .18s; }

@media (min-width: 992px) {
  .hexa-about-why__head { grid-template-columns: 1fr 1fr; align-items: end; }
  .hexa-about-why__list { display: flex; gap: 14px; height: clamp(440px, 62vh, 580px); }
  .hexa-about-why__item { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; }
  .hexa-about-why__item.is-active { flex-grow: 1.45; }
  .hexa-about-why__list:hover .hexa-about-why__item:not(.is-active),
  .hexa-about-why__list:focus-within .hexa-about-why__item:not(.is-active) { flex-grow: .9; }
  .hexa-about-why__btn { padding: 26px 26px 0; }
  .hexa-about-why__body { margin-top: auto; padding: 0 26px 30px; }
  .hexa-about-why__reveal { grid-template-rows: 1fr; }
  .hexa-about-why__reveal p { opacity: 0; }
}

/* --------------------------------------------------------------------------
   11. ENGINEERING  (dark, annotated image)
   -------------------------------------------------------------------------- */
.hexa-about-eng__stage {
  position: relative; isolation: isolate; overflow: hidden;
  display: flex; flex-direction: column; justify-content: flex-end;
  min-height: min(82vh, 760px); border-radius: var(--hx-radius);
  background: var(--hx-navy-2); border: 1px solid var(--hx-line-dark);
}
.hexa-about-eng__bg { position: absolute; inset: 0; z-index: -2; }
.hexa-about-eng__stage::after {
  content: ""; position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(90deg, rgba(7, 17, 31, .88) 0%, rgba(7, 17, 31, .5) 55%, rgba(7, 17, 31, .15) 100%),
              linear-gradient(0deg, rgba(7, 17, 31, .55), transparent 40%);
}
.hexa-about-eng__content { position: relative; padding: clamp(28px, 5vw, 80px); max-width: 780px; display: grid; gap: 22px; }
.hexa-about-eng__content .hexa-about-h2 { font-size: clamp(2rem, 4.6vw, 4.5rem); }
.hexa-about-eng__marks span { position: absolute; width: 18px; height: 18px; border: 0 solid rgba(255, 255, 255, .5); }
.hexa-about-eng__marks span:nth-child(1) { left: 20px; top: 20px; border-width: 1px 0 0 1px; }
.hexa-about-eng__marks span:nth-child(2) { right: 20px; top: 20px; border-width: 1px 1px 0 0; }
.hexa-about-eng__marks span:nth-child(3) { left: 20px; bottom: 20px; border-width: 0 0 1px 1px; }
.hexa-about-eng__marks span:nth-child(4) { right: 20px; bottom: 20px; border-width: 0 1px 1px 0; }

/* Annotation labels */
.hexa-about-eng__notes { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--hx-line-dark); }
.hexa-about-note {
  display: flex; align-items: center; gap: 12px; min-height: 48px; padding: 12px clamp(20px, 5vw, 80px) 12px 0;
  font-size: .68rem; font-weight: 700; letter-spacing: .24em; text-transform: uppercase; color: rgba(244, 247, 251, .82);
}
.hexa-about-note::before { content: ""; width: 8px; height: 8px; border-radius: 50%; border: 1px solid var(--hx-red); flex: none; }
.hexa-about-note::after { content: ""; flex: 1; height: 1px; background: rgba(255, 255, 255, .22); max-width: 56px; }
.hexa-about-eng__notes { margin: 0 clamp(28px, 5vw, 80px) clamp(24px, 3vw, 40px); }
@media (min-width: 992px) {
  .hexa-about-eng__notes { display: block; position: absolute; inset: 0; margin: 0; border: 0; pointer-events: none; }
  .hexa-about-note { position: absolute; flex: none; padding: 0; }
  .hexa-about-note::after { order: -1; max-width: none; width: 64px; flex: none; }
  .hexa-about-note::before { order: -2; }
  .hexa-about-note:nth-child(1) { right: 15%; top: 16%; }
  .hexa-about-note:nth-child(2) { right: 7%;  top: 38%; }
  .hexa-about-note:nth-child(3) { right: 19%; top: 60%; }
  .hexa-about-note:nth-child(4) { right: 9%;  top: 80%; }
}

/* --------------------------------------------------------------------------
   12. SERVICES  (light, image cards)
   -------------------------------------------------------------------------- */
.hexa-about-services__head { display: grid; gap: 26px; margin-bottom: clamp(44px, 6vw, 80px); }
.hexa-about-services__grid { display: grid; gap: 16px; }
.hexa-about-svc {
  position: relative; isolation: isolate; overflow: hidden; display: flex; flex-direction: column; justify-content: flex-end;
  min-height: 420px; border-radius: var(--hx-radius); background: var(--hx-navy); color: var(--hx-white);
  box-shadow: var(--hx-shadow);
}
.hexa-about-svc > img {
  position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover;
  transition: transform 1.8s var(--hx-ease);
}
.hexa-about-svc::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(7, 17, 31, .1) 0%, rgba(7, 17, 31, .35) 45%, rgba(7, 17, 31, .94) 100%); }
.hexa-about-svc:hover > img { transform: scale(1.06); }
.hexa-about-svc__top { position: absolute; top: 22px; left: 24px; right: 24px; display: flex; justify-content: space-between; gap: 12px; font-size: .68rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: rgba(244, 247, 251, .82); }
.hexa-about-svc__body { position: relative; padding: 24px; padding-right: 88px; }
.hexa-about-svc h3 { font-size: clamp(1.5rem, 2.2vw, 2.1rem); line-height: 1.08; letter-spacing: -.025em; font-weight: 700; }
.hexa-about-svc h3 span { display: block; }
.hexa-about-svc p { margin-top: 12px; max-width: 34ch; font-size: .96rem; line-height: 1.55; color: var(--hx-text-dark); }
.hexa-about-svc__go {
  position: absolute; right: 20px; bottom: 20px; display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%;
  background: #fff; color: var(--hx-ink); font-size: 1.1rem; font-weight: 700;
  transition: transform .6s var(--hx-ease), background .4s ease, color .4s ease;
}
.hexa-about-svc:hover .hexa-about-svc__go { transform: rotate(45deg); background: var(--hx-red); color: #fff; }
@media (min-width: 992px) {
  .hexa-about-services__head { grid-template-columns: 1fr 1fr; align-items: end; }
  .hexa-about-services__grid { grid-template-columns: repeat(3, 1fr); gap: 20px; }
  .hexa-about-svc { min-height: clamp(520px, 62vh, 640px); }
}
@media (min-width: 600px) and (max-width: 991px) {
  .hexa-about-svc { min-height: 460px; }
}

/* --------------------------------------------------------------------------
   13. INDUSTRIES  (tint)
   -------------------------------------------------------------------------- */
.hexa-about-ind__head { display: grid; gap: 26px; margin-bottom: clamp(44px, 6vw, 80px); }
.hexa-about-ind__grid { display: grid; grid-template-columns: 1fr; border-top: 1px solid var(--hx-line-light); }
.hexa-about-ind__cell { border-bottom: 1px solid var(--hx-line-light); }
.hexa-about-ind__card {
  position: relative; height: 100%; padding: clamp(28px, 3vw, 44px) clamp(4px, 2vw, 32px);
  transition: background .6s ease;
}
.hexa-about-ind__card::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: var(--hx-red);
  transform: scaleX(0); transform-origin: left; transition: transform .8s var(--hx-ease);
}
.hexa-about-ind__top { display: flex; justify-content: space-between; align-items: center; margin-bottom: clamp(28px, 4vw, 60px); }
.hexa-about-ind__num { font-size: .72rem; font-weight: 700; letter-spacing: .2em; color: var(--hx-text-light); transition: color .4s ease; }
.hexa-about-ind__glyph {
  display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%;
  border: 1px solid var(--hx-line-light); font-size: 1.1rem; color: var(--hx-ink);
  transition: transform .7s var(--hx-ease), border-color .4s ease, background .4s ease, color .4s ease;
}
.hexa-about-ind__card h3 { font-size: clamp(1.4rem, 2vw, 1.9rem); letter-spacing: -.025em; font-weight: 700; line-height: 1.1; }
.hexa-about-ind__card p { margin-top: 12px; max-width: 30ch; color: var(--hx-text-light); font-size: .98rem; line-height: 1.6; }
@media (hover: hover) {
  .hexa-about-ind__card:hover { background: rgba(255, 255, 255, .8); }
  .hexa-about-ind__card:hover::after { transform: scaleX(1); }
  .hexa-about-ind__card:hover .hexa-about-ind__num { color: var(--hx-red); }
  .hexa-about-ind__card:hover .hexa-about-ind__glyph { transform: translateY(-4px); background: var(--hx-ink); color: #fff; border-color: var(--hx-ink); }
}
@media (min-width: 600px) {
  .hexa-about-ind__grid { grid-template-columns: repeat(2, 1fr); }
  .hexa-about-ind__cell:nth-child(odd) { border-right: 1px solid var(--hx-line-light); }
  .hexa-about-ind__card { padding-inline: clamp(20px, 3vw, 36px); }
}
@media (min-width: 992px) {
  .hexa-about-ind__head { grid-template-columns: 1fr 1fr; align-items: end; }
  .hexa-about-ind__grid { grid-template-columns: repeat(3, 1fr); }
  .hexa-about-ind__cell:nth-child(odd) { border-right: 0; }
  .hexa-about-ind__cell:not(:nth-child(3n)) { border-right: 1px solid var(--hx-line-light); }
}

/* --------------------------------------------------------------------------
   14. PEOPLE  (dark full-bleed image)
   -------------------------------------------------------------------------- */
.hexa-about-people {
  position: relative; isolation: isolate; overflow: hidden;
  min-height: min(100vh, 900px); display: flex; align-items: flex-end;
  padding-block: clamp(96px, 12vw, 160px) clamp(40px, 5vw, 72px);
  background: var(--hx-navy); color: var(--hx-white);
}
.hexa-about-people__bg { position: absolute; inset: 0; z-index: -2; }
.hexa-about-people::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(7, 17, 31, .82) 0%, rgba(7, 17, 31, .25) 45%, rgba(7, 17, 31, .9) 100%); }
.hexa-about-people__inner { display: grid; gap: clamp(48px, 8vw, 120px); }
.hexa-about-people__title { margin-top: 26px; }
.hexa-about-people__text { margin-top: 22px; max-width: 38ch; font-size: clamp(1.05rem, 1.5vw, 1.35rem); color: rgba(244, 247, 251, .82); }
.hexa-about-people__words { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--hx-line-dark); }
.hexa-about-people__words li { padding: 20px 0; border-bottom: 1px solid var(--hx-line-dark); font-size: clamp(.9rem, 1.4vw, 1.15rem); font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.hexa-about-people__words li::before { content: ""; display: inline-block; width: 8px; height: 8px; margin-right: 12px; border-radius: 50%; background: var(--hx-red); }
@media (min-width: 768px) {
  .hexa-about-people__words { grid-template-columns: repeat(4, 1fr); }
  .hexa-about-people__words li { border-bottom: 0; }
}

/* --------------------------------------------------------------------------
   15. PHILOSOPHY  (light split + vertical line)
   -------------------------------------------------------------------------- */
.hexa-about-phil__grid { position: relative; display: grid; gap: clamp(36px, 5vw, 64px); }
.hexa-about-phil__title { margin-top: 26px; }
.hexa-about-phil__text { display: grid; gap: 22px; align-content: center; padding-left: 24px; border-left: 1px solid var(--hx-line-light); position: relative; }
.hexa-about-phil__line { display: none; }
.hexa-about-phil__text .hexa-about-lead { color: var(--hx-ink); }
@media (min-width: 992px) {
  .hexa-about-phil__grid { grid-template-columns: 1.1fr .9fr; column-gap: clamp(56px, 8vw, 128px); align-items: center; }
  .hexa-about-phil__text { border-left: 0; padding-left: 0; }
  .hexa-about-phil__line {
    display: block; position: absolute; left: calc(55% - clamp(28px, 4vw, 64px)); top: 0; bottom: 0; width: 1px; overflow: hidden;
    background: var(--hx-line-light);
  }
  .hexa-about-phil__line::after {
    content: ""; position: absolute; left: 0; top: 0; width: 1px; height: 22%;
    background: linear-gradient(180deg, transparent, var(--hx-red));
    animation: hexaAboutDrop 4.2s var(--hx-ease-soft) infinite;
  }
}
@keyframes hexaAboutDrop { from { transform: translateY(-120%); } to { transform: translateY(520%); } }

/* --------------------------------------------------------------------------
   16. CTA  (dark, final scene)
   -------------------------------------------------------------------------- */
.hexa-about-cta {
  position: relative; isolation: isolate; overflow: hidden;
  min-height: min(92vh, 860px); display: flex; align-items: center;
  padding-block: var(--hx-section);
  background: var(--hx-navy); color: var(--hx-white);
}
.hexa-about-cta__bg { position: absolute; inset: 0; z-index: -2; }
.hexa-about-cta::after {
  content: ""; position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(90deg, rgba(7, 17, 31, .92) 0%, rgba(7, 17, 31, .62) 55%, rgba(7, 17, 31, .35) 100%),
              linear-gradient(0deg, rgba(7, 17, 31, .8), transparent 45%);
}
.hexa-about-cta__inner { display: grid; gap: 26px; max-width: 900px; }
.hexa-about-cta .hexa-about-h2 { font-size: clamp(2.25rem, 4.2vw, 6rem); }
.hexa-about-cta__lead { font-size: clamp(1.1rem, 1.5vw, 1.35rem); color: rgba(244, 247, 251, .9); max-width: 34ch; }
.hexa-about-cta__row { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 10px; }

/* --------------------------------------------------------------------------
   18. RESPONSIVE REFINEMENTS
   -------------------------------------------------------------------------- */
@media (max-width: 767px) {
  .hexa-about-hero { align-items: flex-end; }
  .hexa-about-hero__cta .hexa-about-btn { flex: 1 1 100%; }
  .hexa-about-hero__cta { gap: 12px; }
  .hexa-about-scroll { display: none; }
  .hexa-about-intro { border-radius: 24px 24px 0 0; margin-top: -24px; }
  .hexa-about-glass { left: 12px; bottom: 12px; width: calc(100% - 24px); }
  .hexa-about-showcase__frame { width: calc(100% - 2 * var(--hx-gutter)); }
  .hexa-about-cta__row .hexa-about-btn { flex: 1 1 100%; }
  .hexa-about-tl__text { max-width: 44ch; }
}
@media (max-height: 560px) and (orientation: landscape) {
  .hexa-about-hero { padding-top: 24px; padding-bottom: 48px; }
  .hexa-about-scroll { display: none; }
}
@media (max-width: 359px) {
  .hexa-about-btn { padding: 0 20px; letter-spacing: .1em; white-space: normal; text-align: center; }
  .hexa-about-stat b { font-size: 1.85rem; }
  .hexa-about-eng__notes { grid-template-columns: 1fr; }
}
@media (min-width: 1600px) { .hexa-about-page { --hx-max: 1560px; } }

/* --------------------------------------------------------------------------
   19. REDUCED MOTION  (everything lands in its final state, nothing loops)
   -------------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  html.hx-js .hexa-about-page [data-hx],
  html.hx-js .hexa-about-page [data-hx="stagger"] > *,
  html.hx-js .hexa-about-page [data-hx="lines"] .hexa-about-line > span,
  html.hx-js .hexa-about-page [data-hx="mask"] img,
  html.hx-js .hexa-about-hero__bg,
  html.hx-js .hexa-about-scroll {
    opacity: 1 !important; transform: none !important; clip-path: none !important; transition: none !important;
  }
  .hexa-about-page *, .hexa-about-page *::before, .hexa-about-page *::after { animation: none !important; }
  .hexa-about-par { transform: none !important; inset: 0; }
  .hexa-about-page .hexa-about-btn, .hexa-about-page .hexa-about-why__item, .hexa-about-page .hexa-about-svc > img { transition-duration: .01ms !important; }
}