﻿/* About (dark): single flat base 鈥?hero photo is the only large imagery (no duplicate plant layer). */
.about-page:not(.about-page--light) {
  position: relative;
  background: #06080f;
}

:root {
  /* Dark water-tech palette 鈥?black-toned base, cyan water accent */
  --bg: #06080f;
  --surface: rgba(255, 255, 255, 0.05);
  --border: rgba(255, 255, 255, 0.1);
  --text: #e8ecf4;
  --muted: #94a3b8;
  --accent: #38bdf8;
  --accent-soft: rgba(56, 189, 248, 0.14);
  --radius: 12px;
  --max: 1120px;
  --nav-h: 56px;
  --font-sans: "DM Sans", "Noto Sans SC", system-ui, sans-serif;
  /* Motion 鈥?long smooth deceleration (no snappy overshoot) */
  --ease-smooth: cubic-bezier(0.25, 0.85, 0.35, 1);
  --ease-out-soft: cubic-bezier(0.2, 0.85, 0.35, 1);
  --ease-enter: cubic-bezier(0.18, 0.88, 0.32, 1);
  --ease-menu: cubic-bezier(0.32, 0.72, 0, 1);
  --dur-reveal: 0.95s;
  --dur-ui: 0.48s;
  /*
   * HEMA responsive tiers (Tesla-like: few clear widths; different modules use different tiers)
   * Use these pixel values in @media (max-width: 鈥? 鈥?custom props are not portable in legacy MQ.
   * xs 600 鈥?compact phone / tight stacks (pillars, footer 1-col, founder)
   * sm 768 鈥?tablet portrait 鈥?primary column break (grids, band dots, enabler list)
   * md 900 鈥?tablet landscape 鈥?wide splits (tech paths duo, about split, strength)
   * footer 960 鈥?footer 2脳2 before single column
   * lg 1200 鈥?optional max chrome / full-bleed pairings
   */
  --hema-bp-xs: 600px;
  --hema-bp-sm: 768px;
  --hema-bp-md: 900px;
  --hema-bp-footer: 960px;
  --hema-bp-lg: 1200px;
}

*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--header-h, var(--nav-h)) + 12px);
  /* Keeps layout width stable when menu toggles body overflow (no scrollbar jump) */
  scrollbar-gutter: stable;
  overflow-x: hidden;
}

html:has(body.theme-dark) {
  color-scheme: dark;
}

html:has(body.theme-light) {
  color-scheme: light;
}

body {
  font-family: var(--font-sans);
  background: var(--bg);
  color: var(--text);
  line-height: 1.6;
  min-height: 100vh;
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
  padding-top: var(--header-h, var(--nav-h));
  overflow-x: hidden;
}

/* Prevent language flash: hide until translations applied */
html[data-i18n-pending="1"] body {
  opacity: 0;
}

/* About: keep page visible on phones so the hero photo can paint (i18n still runs immediately after). */
html[data-i18n-pending="1"] body.page-about {
  opacity: 1;
}

/* About: native document scroll 鈥?global html { scroll-behavior:smooth } feels like 芦damping禄.
   Class is set in head (about pages) + site.js syncAboutRootScrollClass() for SPA (no :has dependency). */
html.hema-about {
  scroll-behavior: auto !important;
  /* Near doc end, scroll anchoring + late layout can yank scroll to max 鈥?feels like 芦snap to bottom禄 */
  overflow-anchor: none;
  /* Stable avoids gutter toggles; About is short enough that overlay scrollbar is fine */
  scrollbar-gutter: auto;
}

/* 100dvh follows mobile toolbar 鈥?min-height changes and Chrome/Safari nudge scrollY at the tail */
html.hema-about body {
  min-height: 100vh;
}

html.hema-about main.section-block--about.about-page {
  overflow-anchor: none;
  padding-bottom: max(2.5rem, env(safe-area-inset-bottom, 0px));
}

body.nav-menu-open {
  overflow: hidden;
}

/* SPA: cross-fade when #hema-app innerHTML is swapped (see site.js 鈥?opacity 0 鈫?1 after swap). */
#hema-app {
  transition: opacity 0.52s var(--ease-out-soft);
}

@media (prefers-reduced-motion: reduce) {
  #hema-app {
    transition-duration: 0.01ms;
  }
}

/*
 * Full-screen blocker: must be **opaque** 鈥?no backdrop-filter (shows page through on many devices).
 * Placed last in <body> via JS; header stays above so menu links remain clickable.
 */
#hema-nav-overlay {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 999990;
  background: #06080f;
  pointer-events: none;
  isolation: isolate;
}

#hema-nav-overlay.hema-nav-overlay--visible {
  display: block;
  pointer-events: auto;
}

/*
 * Open menu: header must not use translateY (scroll-hide). Otherwise position:fixed
 * descendants (phone menu panel) are positioned against the transformed header and
 * paint *under* the page / off-screen.
 */
body.nav-menu-open .site-header {
  z-index: 999999;
  transform: none !important;
  transition: transform 0s !important;
}

/* Ensure the menu panel always stacks above the body overlay across browsers (Edge/WeChat differ). */
body.nav-menu-open .nav-fab--in-header .nav-fab__panel {
  z-index: 1000001;
}

@media (max-width: 900px), (pointer: coarse) {
  body.nav-menu-open #hema-app {
    pointer-events: none;
  }
}

@media (max-width: 900px), (pointer: coarse) {
  html {
    scroll-behavior: auto;
  }
}

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

.bg-gradient {
  position: fixed;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(ellipse 90% 55% at 50% -15%, rgba(56, 189, 248, 0.12), transparent 55%),
    radial-gradient(ellipse 50% 40% at 100% 25%, rgba(14, 165, 233, 0.06), transparent),
    radial-gradient(ellipse 45% 35% at 0% 75%, rgba(30, 58, 138, 0.08), transparent),
    var(--bg);
  z-index: -1;
}

.site-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 200;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem 1.1rem;
  min-height: var(--nav-h);
  padding-top: calc(0.45rem + env(safe-area-inset-top, 0px));
  padding-bottom: 0.45rem;
  padding-left: calc(clamp(0.9rem, 2.6vw, 1.35rem) + env(safe-area-inset-left, 0px));
  padding-right: calc(clamp(0.9rem, 2.6vw, 1.35rem) + env(safe-area-inset-right, 0px));
  /* Avoid backdrop-filter: it can cause scroll shimmer/jank on Windows */
  background: rgba(8, 10, 18, 0.98);
  border-bottom: 1px solid var(--border);
  /*
   * Do not set transform here. A non-none transform on the header makes any
   * position:fixed descendants use the header as their containing block 鈥?the
   * full-screen phone menu was clipped to the nav bar height.
   */
  transition: transform 0.45s var(--ease-out-soft), box-shadow 0.45s var(--ease-smooth);
}

.site-header.site-header--hidden {
  transform: translateY(-100%);
  box-shadow: none;
}

@media (prefers-reduced-motion: reduce) {
  .site-header {
    transition: none;
  }

  .site-header.site-header--hidden {
    transform: translateY(0);
  }
}

.header-end {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.55rem 0.75rem;
  flex: 1 1 auto;
  min-width: 0;
}

.tech-intro-gap {
  margin-top: 0.85rem;
}

.site-header .brand {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0.45rem;
  line-height: 1.05;
  text-decoration: none;
  transition: color 0.35s ease;
  flex-shrink: 0;
}

/* legacy mark (removed from HTML) */
.brand__mark {
  display: none;
}

.brand__lockup {
  display: flex;
  flex-direction: column;
  --wordmark-w: clamp(112px, 12vw, 150px);
  width: var(--wordmark-w);
  align-items: center;
  line-height: 1.05;
  text-align: center;
}

.brand__tech {
  display: block;
  width: 100%;
  text-align: center;
  margin-top: 0.15rem;
}

.brand__hema-mark {
  display: block;
  color: rgba(248, 250, 252, 0.98);
  filter: drop-shadow(0 14px 30px rgba(0, 0, 0, 0.55));
  transform: translateY(0.5px);
}

.brand__hema-svg {
  display: block;
  width: clamp(140px, 15vw, 182px);
  height: auto;
}

.brand__hema-img {
  display: block;
  width: clamp(140px, 15vw, 182px);
  height: auto;
}

/* Wordmark media inside lockup shares width */
.brand__hema-svg,
.brand__hema-img {
  width: 100%;
  height: auto;
}

.brand__hema-img {
  filter: drop-shadow(0 14px 30px rgba(0, 0, 0, 0.55));
}

.brand__tech,
.footer-brand__tech {
  letter-spacing: 0.34em;
}
.site-header .brand:hover .brand__hema-mark,
.site-header .brand:focus-visible .brand__hema-mark {
  filter: drop-shadow(0 16px 34px rgba(0, 0, 0, 0.62));
}

.brand__hema {
  position: relative;
  display: inline-block;
  font-size: clamp(1.25rem, 2.8vw, 1.65rem);
  font-weight: 850;
  letter-spacing: 0.34em;
  text-transform: uppercase;
  color: transparent;
  background: linear-gradient(180deg, #ffffff 0%, #e5e7eb 38%, #cbd5e1 65%, #ffffff 100%);
  -webkit-background-clip: text;
  background-clip: text;
  text-shadow: 0 10px 22px rgba(0, 0, 0, 0.28);
}

.brand__hema::after {
  content: "";
  position: absolute;
  top: -0.15em;
  bottom: -0.15em;
  left: -0.4em;
  right: -0.4em;
  background: linear-gradient(120deg, transparent 25%, rgba(56, 189, 248, 0.75) 50%, transparent 75%);
  transform: translateX(-130%) skewX(-18deg);
  opacity: 0;
  pointer-events: none;
}

/* no underline ornament 鈥?keep wordmark clean */
.brand__hema::before {
  content: none;
}

.brand__tech {
  margin-top: 0.2rem;
  font-size: clamp(0.5rem, 1vw, 0.64rem);
  font-weight: 600;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--muted);
  font-style: italic;
}

.site-header .brand:hover .brand__hema,
.site-header .brand:focus-visible .brand__hema {
  filter: drop-shadow(0 0 18px rgba(56, 189, 248, 0.18));
  outline: none;
}

.site-header .brand:hover .brand__hema::after,
.site-header .brand:focus-visible .brand__hema::after {
  opacity: 0.65;
  animation: hema-shine 1.15s var(--ease-smooth) 1;
}

.site-header .brand:hover .brand__tech,
.site-header .brand:focus-visible .brand__tech {
  color: #cbd5e1;
  outline: none;
}

/* legacy mark (removed from HTML) */
.site-header .brand:hover .brand__mark,
.site-header .brand:focus-visible .brand__mark {
  outline: none;
}

@keyframes hema-shine {
  0% {
    transform: translateX(-130%) skewX(-18deg);
  }
  100% {
    transform: translateX(130%) skewX(-18deg);
  }
}

@media (prefers-reduced-motion: reduce) {
  .site-header .brand:hover .brand__hema::after,
  .site-header .brand:focus-visible .brand__hema::after {
    animation: none;
  }
}

.site-nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.35rem 0.45rem;
  font-size: 0.84rem;
  min-width: 0;
}

.site-nav a:not(.nav-contact) {
  color: var(--muted);
  text-decoration: none;
  padding: 0.5rem 0.9rem;
  border-radius: 10px;
  transition: color 0.25s ease, background 0.25s ease, box-shadow 0.25s ease;
  letter-spacing: 0.01em;
}

.site-nav a:not(.nav-contact):hover,
.site-nav a:not(.nav-contact):focus-visible {
  color: var(--text);
  background: rgba(255, 255, 255, 0.06);
  outline: none;
}

.site-nav a:not(.nav-contact).is-active {
  color: var(--accent);
  background: var(--accent-soft);
  font-weight: 600;
}

.nav-contact {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  margin-left: 0.35rem;
  border-radius: 10px;
  color: var(--accent);
  background: var(--accent-soft);
  border: 1px solid rgba(56, 189, 248, 0.35);
  transition: background 0.2s ease, color 0.2s ease;
  touch-action: manipulation;
}

.nav-contact:hover,
.nav-contact:focus-visible {
  background: rgba(56, 189, 248, 0.22);
  color: #e0f2fe;
  outline: none;
}

.nav-contact svg {
  width: 1.2rem;
  height: 1.2rem;
}

/* Inline language switcher in header (top status area). */
.header-lang {
  display: inline-flex;
  align-items: center;
  gap: 0.2rem;
  flex-shrink: 0;
}

.header-lang__btn {
  -webkit-appearance: none;
  appearance: none;
  border: 1px solid rgba(255, 255, 255, 0.14);
  background-color: rgba(15, 23, 42, 0.92);
  color: #e2e8f0;
  font-family: inherit;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  padding: 0.38rem 0.52rem;
  border-radius: 8px;
  cursor: pointer;
  touch-action: manipulation;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.header-lang__btn:hover,
.header-lang__btn:focus-visible {
  background-color: rgba(30, 41, 59, 0.95);
  border-color: rgba(56, 189, 248, 0.35);
  color: #f0f9ff;
  outline: none;
}

.header-lang__btn.is-active {
  color: #38bdf8;
  background-color: rgba(56, 189, 248, 0.16);
  border-color: rgba(56, 189, 248, 0.42);
  font-weight: 800;
}

/* iPad / tablet / WebKit: system buttons must not flash white */
.theme-dark .site-header .header-lang__btn {
  background-color: rgba(8, 10, 18, 0.96) !important;
  color: #e2e8f0 !important;
  border-color: rgba(255, 255, 255, 0.12) !important;
}

.theme-dark .site-header .header-lang__btn:hover,
.theme-dark .site-header .header-lang__btn:focus-visible {
  background-color: rgba(30, 41, 59, 0.98) !important;
  color: #f8fafc !important;
}

.theme-dark .site-header .header-lang__btn.is-active {
  color: #38bdf8 !important;
  background-color: rgba(56, 189, 248, 0.14) !important;
  border-color: rgba(56, 189, 248, 0.35) !important;
}

/* Tablet + desktop (fine pointer): top tabs + language; no drawer */
@media (min-width: 768px) and (pointer: fine) {
  .nav-fab--in-header {
    display: none !important;
  }
}

/* Touch tablets: same menu affordance as phones (wide CSS width but coarse pointer) */
@media (min-width: 768px) and (pointer: coarse) {
  .site-nav {
    display: none !important;
  }

  .site-header {
    gap: 0.45rem 0.65rem;
    padding-top: calc(0.45rem + env(safe-area-inset-top, 0px));
    padding-bottom: 0.45rem;
    padding-left: calc(0.9rem + env(safe-area-inset-left, 0px));
    padding-right: calc(0.9rem + env(safe-area-inset-right, 0px));
  }

  .header-end {
    justify-content: flex-end;
    gap: 0.45rem 0.6rem;
  }

  .brand__lockup {
    --wordmark-w: clamp(108px, 18vw, 142px);
  }

  .nav-fab--in-header {
    --nav-fab-fs: 0.88rem;
    --nav-fab-label-fs: 0.66rem;
  }

  .nav-fab__toggle {
    min-height: 2.35rem;
    padding: 0 0.9rem;
  }

  .nav-contact {
    width: 2.35rem;
    height: 2.35rem;
    margin-left: 0;
  }
}

/* Phone: compact top chrome + drawer menu */
@media (max-width: 767px) {
  .site-nav {
    display: none;
  }

  .header-lang__btn {
    font-size: 0.68rem;
    padding: 0.34rem 0.46rem;
    border-radius: 10px;
  }

  .site-header {
    flex-wrap: nowrap;
    gap: 0.45rem 0.65rem;
    padding-top: calc(0.45rem + env(safe-area-inset-top, 0px));
    padding-bottom: 0.45rem;
    padding-left: calc(0.9rem + env(safe-area-inset-left, 0px));
    padding-right: calc(0.9rem + env(safe-area-inset-right, 0px));
  }

  .header-end {
    flex: 0 1 auto;
    flex-wrap: nowrap;
    gap: 0.45rem;
  }

  .brand {
    min-width: 0;
  }

  .brand__lockup {
    --wordmark-w: clamp(104px, 30vw, 138px);
  }

  .nav-fab--in-header {
    --nav-fab-fs: 0.88rem;
    --nav-fab-label-fs: 0.66rem;
  }

  .nav-fab__toggle {
    min-height: 2.35rem;
    padding: 0 0.9rem;
  }

  .nav-contact {
    width: 2.35rem;
    height: 2.35rem;
    margin-left: 0;
  }
}

@media (max-width: 767px) {
  .site-header {
    padding-top: calc(0.4rem + env(safe-area-inset-top, 0px));
    padding-bottom: 0.4rem;
    padding-left: calc(0.75rem + env(safe-area-inset-left, 0px));
    padding-right: calc(0.75rem + env(safe-area-inset-right, 0px));
  }

  .brand__lockup {
    --wordmark-w: clamp(98px, 28vw, 128px);
  }

  .brand__tech {
    font-size: 0.58rem;
    letter-spacing: 0.26em;
  }

  .nav-fab__toggle {
    min-height: 2.2rem;
    padding: 0 0.72rem;
    gap: 0.34rem;
  }

  .nav-fab__toggle-icon {
    width: 0.95rem;
    height: 0.95rem;
  }

  .nav-contact {
    width: 2.2rem;
    height: 2.2rem;
  }
}

/* Fixed FAB 鈥?matches tech rail / glass chips: cyan rim, depth, soft glow */
.back-to-top {
  position: fixed;
  right: calc(clamp(0.85rem, 2.5vw, 1.35rem) + env(safe-area-inset-right, 0px));
  bottom: calc(clamp(0.85rem, 2.5vw, 1.35rem) + env(safe-area-inset-bottom, 0px));
  z-index: 180;
  width: 2.55rem;
  height: 2.55rem;
  padding: 0;
  touch-action: manipulation;
  border-radius: 999px;
  border: 1px solid rgba(56, 189, 248, 0.42);
  background: linear-gradient(
    150deg,
    rgba(30, 41, 59, 0.55) 0%,
    rgba(8, 10, 18, 0.88) 42%,
    rgba(6, 8, 15, 0.94) 100%
  );
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  color: #e0f2fe;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow:
    0 0 0 1px rgba(56, 189, 248, 0.1),
    0 4px 12px rgba(0, 0, 0, 0.35),
    0 14px 36px rgba(0, 0, 0, 0.42),
    inset 0 1px 0 rgba(255, 255, 255, 0.09);
  opacity: 0;
  visibility: hidden;
  transform: translateY(12px);
  pointer-events: none;
  transition:
    opacity 0.32s var(--ease-smooth),
    transform 0.32s var(--ease-smooth),
    visibility 0.32s,
    border-color 0.25s ease,
    box-shadow 0.28s var(--ease-smooth),
    color 0.2s ease;
}

.back-to-top.back-to-top--visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}

.back-to-top.back-to-top--visible:hover {
  color: #f0f9ff;
  border-color: rgba(125, 211, 252, 0.55);
  box-shadow:
    0 0 0 1px rgba(56, 189, 248, 0.22),
    0 0 28px rgba(56, 189, 248, 0.22),
    0 8px 20px rgba(0, 0, 0, 0.4),
    0 16px 44px rgba(0, 0, 0, 0.38),
    inset 0 1px 0 rgba(255, 255, 255, 0.12);
  transform: translateY(-2px) scale(1.04);
}

.back-to-top.back-to-top--visible:active {
  transform: translateY(0) scale(0.98);
  box-shadow:
    0 0 0 1px rgba(56, 189, 248, 0.15),
    0 4px 14px rgba(0, 0, 0, 0.45),
    inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.back-to-top:focus-visible {
  outline: none;
  box-shadow:
    0 0 0 2px rgba(6, 8, 15, 0.95),
    0 0 0 4px rgba(56, 189, 248, 0.55),
    0 14px 36px rgba(0, 0, 0, 0.42),
    inset 0 1px 0 rgba(255, 255, 255, 0.09);
}

.back-to-top svg {
  width: 1.18rem;
  height: 1.18rem;
  display: block;
  filter: drop-shadow(0 1px 8px rgba(56, 189, 248, 0.35));
  transition: filter 0.25s ease, transform 0.25s var(--ease-smooth);
}

.back-to-top.back-to-top--visible:hover svg {
  filter: drop-shadow(0 0 12px rgba(56, 189, 248, 0.55));
}

html.perf-lite .back-to-top {
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

html.perf-lite .back-to-top svg,
html.perf-lite .back-to-top.back-to-top--visible:hover svg {
  filter: none;
}

@media (prefers-reduced-motion: reduce) {
  .back-to-top {
    transition: opacity 0.2s ease, visibility 0.2s;
  }

  .back-to-top.back-to-top--visible {
    transform: none;
  }

  .back-to-top.back-to-top--visible:hover,
  .back-to-top.back-to-top--visible:active {
    transform: none;
  }

  .back-to-top svg {
    transition: none;
  }
}

/* Site menu in header */
.nav-fab--in-header {
  --nav-fab-fs: 0.9rem;
  --nav-fab-label-fs: 0.68rem;
  --nav-fab-panel-pad-x: 1rem;
  position: relative;
  flex-shrink: 0;
  pointer-events: auto;
  z-index: 1;
}

.nav-fab--in-header .nav-fab__backdrop {
  position: fixed;
  inset: 0;
  z-index: 248;
  /* Light scrim + subtle blur 鈥?keeps the page readable, not a black screen */
  background: rgba(15, 23, 42, 0.22);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--dur-ui) var(--ease-menu);
}

html.perf-lite .nav-fab--in-header .nav-fab__backdrop {
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  background: rgba(15, 23, 42, 0.34);
}

.nav-fab--open .nav-fab__backdrop {
  opacity: 1;
  pointer-events: auto;
}

.nav-fab--in-header .nav-fab__anchor {
  position: relative;
  z-index: 270;
  display: inline-flex;
  flex-direction: column;
  align-items: flex-end;
}

.nav-fab__toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  min-height: 2.45rem;
  padding: 0 1rem;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 8px;
  background: rgba(15, 23, 42, 0.95);
  color: #e2e8f0;
  font-family: inherit;
  font-size: var(--nav-fab-fs);
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  cursor: pointer;
  touch-action: manipulation;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
  transition:
    transform 0.3s var(--ease-menu),
    border-color 0.25s var(--ease-smooth),
    background 0.25s var(--ease-smooth),
    color 0.25s var(--ease-smooth);
}

.nav-fab__toggle:hover,
.nav-fab__toggle:focus-visible {
  border-color: rgba(255, 255, 255, 0.22);
  background: rgba(30, 41, 59, 0.98);
  transform: scale(1.03);
  outline: none;
}

.nav-fab__toggle:active {
  transform: scale(0.98);
}

.nav-fab__toggle-icon {
  width: 1.1rem;
  height: 1.1rem;
  flex-shrink: 0;
  opacity: 0.9;
}

.nav-fab__toggle[aria-expanded="true"] {
  background: rgba(30, 41, 59, 0.98);
  border-color: rgba(255, 255, 255, 0.24);
}

.nav-fab--in-header .nav-fab__panel {
  position: absolute;
  top: calc(100% + 0.45rem);
  right: 0;
  left: auto;
  width: min(19.25rem, calc(100vw - 1.5rem));
  padding: 0;
  margin: 0;
  overflow: hidden;
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(22, 27, 38, 0.98);
  box-shadow:
    0 16px 48px rgba(0, 0, 0, 0.45),
    0 0 0 1px rgba(0, 0, 0, 0.35) inset;
  transform-origin: top right;
  transform: translateY(-6px) scale(0.99);
  opacity: 0;
  visibility: hidden;
  z-index: 260;
  transition:
    transform 0.38s var(--ease-menu),
    opacity 0.32s var(--ease-smooth),
    visibility 0.32s linear;
  pointer-events: none;
}

.nav-fab__panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.65rem var(--nav-fab-panel-pad-x) 0.65rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(15, 23, 42, 0.55);
}

.nav-fab__panel-head-title {
  margin: 0;
  font-size: var(--nav-fab-label-fs);
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #64748b;
}

.nav-fab__close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  padding: 0;
  border: none;
  border-radius: 8px;
  background: transparent;
  color: #94a3b8;
  cursor: pointer;
  touch-action: manipulation;
  transition:
    transform 0.2s cubic-bezier(0.34, 1.4, 0.64, 1),
    background 0.18s ease,
    color 0.18s ease;
}

.nav-fab__close:hover,
.nav-fab__close:focus-visible {
  background: rgba(255, 255, 255, 0.08);
  color: #e2e8f0;
  transform: scale(1.08);
  outline: none;
}

.nav-fab__close:active {
  transform: scale(0.96);
}

.nav-fab__close svg {
  width: 1.15rem;
  height: 1.15rem;
}

.nav-fab--open .nav-fab__panel {
  transform: translateY(0) scale(1);
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.nav-fab__panel-inner {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  padding: 0.65rem var(--nav-fab-panel-pad-x) 1rem;
}

.nav-fab__section-label {
  margin: 0 0 0.2rem;
  padding: 0;
  font-size: var(--nav-fab-label-fs);
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #64748b;
}

.nav-fab__section-label--sub {
  margin-top: 0.2rem;
  margin-bottom: 0.35rem;
  color: #64748b;
}

.nav-fab__divider {
  height: 1px;
  margin: 0.45rem 0 0.35rem;
  background: rgba(255, 255, 255, 0.08);
  border: none;
}

.nav-fab__lang {
  padding-bottom: 0.1rem;
}

.nav-fab__lang-switch {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.45rem;
}

.nav-fab__lang-switch button {
  position: relative;
  -webkit-appearance: none;
  appearance: none;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 8px;
  background-color: rgba(15, 23, 42, 0.92);
  color: #e2e8f0;
  padding: 0.38rem 0.52rem;
  font-size: 0.72rem;
  font-family: inherit;
  font-weight: 700;
  letter-spacing: 0.06em;
  cursor: pointer;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.nav-fab__lang-switch button:hover,
.nav-fab__lang-switch button:focus-visible {
  background-color: rgba(30, 41, 59, 0.95);
  border-color: rgba(56, 189, 248, 0.35);
  color: #f0f9ff;
  outline: none;
}

.nav-fab__lang-switch button.is-active {
  color: #38bdf8;
  background-color: rgba(56, 189, 248, 0.16);
  border-color: rgba(56, 189, 248, 0.42);
  font-weight: 800;
}

.nav-fab__lang-switch button.is-active::after {
  content: none;
}

.theme-dark .nav-fab__lang-switch button {
  background-color: rgba(8, 10, 18, 0.96) !important;
  color: #e2e8f0 !important;
  border-color: rgba(255, 255, 255, 0.12) !important;
}

.theme-dark .nav-fab__lang-switch button:hover,
.theme-dark .nav-fab__lang-switch button:focus-visible {
  background-color: rgba(30, 41, 59, 0.98) !important;
  color: #f8fafc !important;
}

.theme-dark .nav-fab__lang-switch button.is-active {
  color: #38bdf8 !important;
  background-color: rgba(56, 189, 248, 0.14) !important;
  border-color: rgba(56, 189, 248, 0.35) !important;
}

.nav-fab__link {
  position: relative;
  display: block;
  padding: 0.5rem 0 0.72rem;
  margin-bottom: 0.1rem;
  border-radius: 8px;
  color: #cbd5e1;
  text-decoration: none;
  font-size: var(--nav-fab-fs);
  font-weight: 700;
  letter-spacing: 0.01em;
  line-height: 1.4;
  cursor: pointer;
  border: none;
  background: transparent;
  transition: background 0.15s ease, color 0.15s ease;
}

.nav-fab__link:hover,
.nav-fab__link:focus-visible {
  background: rgba(255, 255, 255, 0.06);
  color: #f1f5f9;
  outline: none;
}

.nav-fab__link.is-active {
  color: #f8fafc;
  background: transparent;
  font-weight: 700;
}

.nav-fab__link.is-active::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0.32rem;
  width: 2.5rem;
  height: 2px;
  background: var(--accent);
  border-radius: 1px;
  pointer-events: none;
}

/* Phone menu + touch tablets: full-screen list (VTA-style 鈥?clear hierarchy, large type, solid #hema-nav-overlay). */
@media (max-width: 767px), (min-width: 768px) and (pointer: coarse) {
  .nav-fab.nav-fab--in-header.nav-fab--open {
    z-index: 1000000;
  }

  body.nav-menu-open .nav-fab--in-header .nav-fab__backdrop {
    opacity: 0 !important;
    pointer-events: none !important;
  }

  .nav-fab--in-header .nav-fab__backdrop {
    background: transparent;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    transition: opacity 0.36s var(--ease-menu);
  }

  .nav-fab--in-header .nav-fab__panel {
    position: fixed;
    inset: 0;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    max-width: none;
    height: 100%;
    min-height: 100dvh;
    min-height: -webkit-fill-available;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    padding: calc(0.5rem + env(safe-area-inset-top, 0px)) 0 calc(1.5rem + env(safe-area-inset-bottom, 0px));
    box-sizing: border-box;
    background: #06080f;
    z-index: 1000001;
    border: none;
    border-radius: 0;
    box-shadow: none;
    transform-origin: center top;
    transform: translateY(0);
    opacity: 1;
    transition: opacity 0.32s var(--ease-smooth), visibility 0.32s linear;
  }

  .nav-fab.nav-fab--in-header.nav-fab--open .nav-fab__panel {
    transform: translateY(0);
  }

  .nav-fab__panel-head {
    width: 100%;
    max-width: none;
    box-sizing: border-box;
    padding: 0.85rem clamp(1.25rem, 5vw, 2rem) 0.65rem;
    border: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    background: transparent;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }

  .nav-fab__panel-inner {
    width: 100%;
    max-width: min(28rem, 100%);
    margin: 0 auto;
    box-sizing: border-box;
    padding: clamp(1.5rem, 5vw, 2.25rem) clamp(1.25rem, 5vw, 2rem) 1rem;
    border: none;
    background: transparent;
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 0.15rem;
  }

  .nav-fab--in-header .nav-fab__panel-head,
  .nav-fab--in-header .nav-fab__panel-inner {
    opacity: 0;
    transform: translateY(8px);
    transition:
      opacity 0.45s var(--ease-smooth),
      transform 0.5s var(--ease-out-soft);
  }

  .nav-fab.nav-fab--in-header.nav-fab--open .nav-fab__panel-head,
  .nav-fab.nav-fab--in-header.nav-fab--open .nav-fab__panel-inner {
    opacity: 1;
    transform: translateY(0);
  }

  .nav-fab--in-header .nav-fab__panel-head-title {
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: #64748b;
    background: none;
    -webkit-background-clip: unset;
    background-clip: unset;
  }

  .nav-fab__section-label {
    font-size: 0.62rem;
    letter-spacing: 0.22em;
    color: #64748b;
    margin-bottom: 0.75rem;
  }

  .nav-fab--in-header .nav-fab__link {
    padding: 0.85rem 0 1rem;
    margin-bottom: 0;
    font-size: clamp(1.15rem, 4.2vw, 1.45rem);
    font-weight: 600;
    letter-spacing: 0.02em;
    color: #e2e8f0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    opacity: 0;
    transform: translateY(10px);
    transition:
      opacity 0.5s var(--ease-smooth),
      transform 0.55s var(--ease-out-soft),
      background 0.15s ease,
      color 0.15s ease;
  }

  .nav-fab.nav-fab--in-header.nav-fab--open .nav-fab__link {
    opacity: 1;
    transform: translateY(0);
  }

  .nav-fab.nav-fab--in-header.nav-fab--open .nav-fab__panel-inner a.nav-fab__link:nth-child(2) {
    transition-delay: 0.06s;
  }

  .nav-fab.nav-fab--in-header.nav-fab--open .nav-fab__panel-inner a.nav-fab__link:nth-child(3) {
    transition-delay: 0.1s;
  }

  .nav-fab.nav-fab--in-header.nav-fab--open .nav-fab__panel-inner a.nav-fab__link:nth-child(4) {
    transition-delay: 0.14s;
  }

  .nav-fab--in-header .nav-fab__link.is-active {
    color: #38bdf8;
  }

  .nav-fab--in-header .nav-fab__link.is-active::after {
    display: none;
  }

  .nav-fab__divider {
    margin: 1.5rem 0 0.75rem;
    opacity: 0.5;
  }

  .nav-fab__lang {
    padding-top: 0.25rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .nav-fab--in-header .nav-fab__panel,
  .nav-fab--in-header .nav-fab__backdrop {
    transition: none;
  }

  @media (max-width: 767px), (min-width: 768px) and (pointer: coarse) {
    .nav-fab--in-header .nav-fab__panel-head,
    .nav-fab--in-header .nav-fab__panel-inner,
    .nav-fab--in-header .nav-fab__link {
      opacity: 1 !important;
      transform: none !important;
      transition: none !important;
    }
  }

  .nav-fab__toggle:hover,
  .nav-fab__toggle:focus-visible,
  .nav-fab__toggle:active,
  .nav-fab__close:hover,
  .nav-fab__close:focus-visible,
  .nav-fab__close:active {
    transform: none;
  }
}

main {
  flex: 1;
  max-width: var(--max);
  margin: 0 auto;
  padding-top: 2rem;
  padding-bottom: 3rem;
  padding-left: max(1.25rem, env(safe-area-inset-left, 0px));
  padding-right: max(1.25rem, env(safe-area-inset-right, 0px));
  width: 100%;
}

/* VTA-style home: large type, stacked sections, minimal chrome */
.section-block--vta {
  padding-top: 0;
  padding-left: max(clamp(1rem, 4vw, 2rem), env(safe-area-inset-left, 0px));
  padding-right: max(clamp(1rem, 4vw, 2rem), env(safe-area-inset-right, 0px));
}

main.section-block--vta.home-page {
  max-width: none;
  padding: 0;
  width: 100%;
  --home-content-max: min(1420px, calc(100vw - 2.5rem));
}

.vta-hero {
  min-height: min(52vh, 420px);
  display: flex;
  align-items: flex-end;
  padding: clamp(2rem, 5vw, 3.5rem) 0 clamp(2.25rem, 5vw, 3.25rem);
  border-bottom: 1px solid var(--border);
  background: linear-gradient(180deg, rgba(15, 23, 42, 0.35) 0%, transparent 100%);
}

.vta-hero--visual {
  position: relative;
  min-height: min(62vh, 560px);
  border-bottom: none;
  padding: clamp(2.5rem, 7vw, 4rem) clamp(1rem, 4vw, 2rem) clamp(5.25rem, 9vw, 6.5rem);
  background-color: #070a12;
  background-image: var(--vta-hero);
  background-size: cover;
  background-position: center;
}

/* Home HEMA hero: match .about-hero image stack (16/8 desktop; 3/4 narrow) + same height caps */
.home-page .vta-hero--visual {
  background-image: none;
  overflow: hidden;
  width: 100%;
  min-height: clamp(340px, 48vh, 560px);
  aspect-ratio: 16 / 8;
  max-height: min(780px, 82vh);
  padding-top: clamp(2rem, 5.5vw, 3.25rem);
  padding-bottom: clamp(2rem, 4.5vw, 3rem);
  /* The global .vta-hero aligns content to the bottom; for the homepage
     we want the wordmark to sit higher, closer to the VTA reference. */
  align-items: center;
}

.home-page .vta-hero--visual::before {
  content: "";
  position: absolute;
  inset: -22% -22% -28% -22%;
  background-image: var(--vta-hero);
  background-size: cover;
  /* Align with .about-hero__bg desktop framing */
  background-position: center 40%;
  /* Gentle lift: avoid over-bright / over-crisp look */
  filter: brightness(1.045) contrast(1.02) saturate(1.02);
  z-index: 0;
}

.vta-hero__scrim {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(
    188deg,
    rgba(6, 8, 15, 0.2) 0%,
    rgba(6, 8, 15, 0.55) 48%,
    rgba(6, 8, 15, 0.92) 100%
  );
  pointer-events: none;
}

/* Softer scrim at bottom so it hands off to ::after + Vision without a dark seam */
.home-page .vta-hero--visual .vta-hero__scrim {
  background: linear-gradient(
    188deg,
    rgba(6, 8, 15, 0.16) 0%,
    rgba(6, 8, 15, 0.42) 44%,
    rgba(6, 8, 15, 0.56) 68%,
    rgba(6, 8, 15, 0.34) 88%,
    rgba(6, 8, 15, 0.14) 100%
  );
}

/* Hero 鈫?Vision: tall feather ending in --bg (matches Vision ::before start) */
.home-page .vta-hero--visual::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: clamp(140px, 34vh, 340px);
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(
    180deg,
    transparent 0%,
    transparent 10%,
    rgba(6, 8, 15, 0.12) 28%,
    rgba(6, 8, 15, 0.35) 52%,
    rgba(6, 8, 15, 0.62) 74%,
    rgba(6, 8, 15, 0.88) 91%,
    var(--bg) 100%
  );
}

@media (max-width: 767px) {
  .home-page .vta-hero--visual {
    aspect-ratio: 4 / 3;
    max-height: min(520px, 68vh);
    min-height: clamp(200px, 40vh, 400px);
  }

  .home-page .vta-hero--visual::before {
    background-position: center center;
  }

  .home-page .vta-panel--band {
    min-height: min(44vh, 380px);
  }
}

/* PFAS / lab cues on hero imagery (stock photos are generic; label + chip reinforce context) */
.hero-pfas-chip {
  position: absolute;
  top: clamp(0.85rem, 2.5vw, 1.25rem);
  right: clamp(0.85rem, 3vw, 1.5rem);
  z-index: 4;
  padding: 0.4rem 0.7rem;
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #041018;
  background: linear-gradient(125deg, #bae6fd 0%, #38bdf8 45%, #0ea5e9 100%);
  border-radius: 9px;
  border: 1px solid rgba(255, 255, 255, 0.45);
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.4);
}

.hero-lab-badge {
  margin: 0 0 0.85rem;
  font-size: clamp(0.84rem, 1.25vw, 0.96rem);
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #7dd3fc;
  text-shadow: 0 1px 14px rgba(0, 0, 0, 0.55);
}

.about-hero__inner .hero-lab-badge {
  margin: 0.5rem 0 0.65rem;
}

.home-page .vta-hero__inner {
  position: relative;
  z-index: 3;
  max-width: var(--home-content-max);
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  /* Lift the lockup slightly so it doesn't feel bottom-heavy. */
  transform: translateY(clamp(-56px, -6vh, -28px));
}

.home-page .vta-hero__brand-row {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(0.65rem, 2vw, 1rem);
}

/* keep spacing even if hero mark is removed */

.home-page .vta-hero__brand {
  align-items: center;
}

.home-page .hero-lab-badge {
  margin-left: auto;
  margin-right: auto;
}

.vta-hero__inner {
  width: 100%;
  max-width: 56rem;
  margin: 0 auto;
}

.vta-hero__brand {
  margin: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  line-height: 1;
}

.vta-hero__hema {
  font-size: clamp(3.45rem, 12.5vw, 5.625rem);
  font-weight: 900;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #ffffff;
  background: none;
  -webkit-background-clip: initial;
  background-clip: initial;
  text-shadow:
    0 2px 0 rgba(0, 0, 0, 0.28),
    0 26px 70px rgba(0, 0, 0, 0.6);
}

/* no underline ornament 鈥?keep hero wordmark clean */
.home-page .vta-hero__hema::after {
  content: none;
}

.home-page .vta-hero__hema,
.home-page .vta-hero__tech {
  text-shadow: 0 2px 28px rgba(0, 0, 0, 0.55);
}

.home-page .vta-hero__tag {
  position: absolute;
  left: 50%;
  bottom: clamp(2.35rem, 5vw, 3.6rem);
  transform: translateX(-50%);
  z-index: 4;
  width: min(38rem, calc(100vw - 2rem));
  color: #e2e8f0;
  max-width: 38rem;
  margin: 0;
}

.vta-hero__tech {
  margin-top: 0.5rem;
  font-size: clamp(0.75rem, 1.5vw, 0.975rem);
  font-weight: 900;
  letter-spacing: 0.38em;
  text-transform: uppercase;
  color: #ffffff;
  font-style: italic;
}

.vta-hero__tag {
  margin: 0;
  font-size: clamp(0.82rem, 1.65vw, 0.98rem);
  font-weight: 500;
  letter-spacing: -0.01em;
  color: var(--muted);
  max-width: 36rem;
  line-height: 1.45;
}

.vta-article {
  max-width: 56rem;
  margin: 0 auto;
}

.home-page .vta-article {
  position: relative;
  max-width: none;
  margin: 0;
  padding: 0 0 clamp(2.5rem, 5vw, 3.5rem);
}

/* Anchor scroll offset under fixed header */
.home-page #idx-vision,
.home-page #idx-mission,
.home-page #idx-enablers,
.home-page #idx-leadership {
  scroll-margin-top: calc(var(--header-h, 64px) + 0.75rem);
}

/* One dot per band 鈥?shows which section is in view (desktop) */
.home-band-dots {
  position: fixed;
  right: clamp(0.65rem, 2vw, 1.1rem);
  top: 50%;
  transform: translateY(-50%);
  z-index: 18;
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.home-band-dots__dot {
  display: block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
  border: 1px solid rgba(255, 255, 255, 0.22);
  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.35);
  transition:
    width 0.45s var(--ease-smooth),
    height 0.45s var(--ease-smooth),
    margin 0.45s var(--ease-smooth),
    transform 0.45s var(--ease-smooth),
    background 0.45s var(--ease-smooth),
    border-color 0.45s var(--ease-smooth),
    box-shadow 0.5s var(--ease-smooth);
  text-decoration: none;
}

.home-band-dots__dot:hover {
  background: rgba(230, 126, 34, 0.95);
  border-color: rgba(255, 204, 153, 0.78);
  box-shadow:
    0 0 0 3px rgba(230, 126, 34, 0.22),
    0 10px 26px rgba(230, 126, 34, 0.28);
}

.home-band-dots__dot.is-active {
  width: 9px;
  height: 9px;
  margin: -1px;
  background: #e67e22;
  border-color: rgba(255, 204, 153, 0.85);
  box-shadow:
    0 0 0 3px rgba(230, 126, 34, 0.26),
    0 10px 28px rgba(230, 126, 34, 0.32);
}

@media (max-width: 768px) {
  .home-band-dots {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-band-dots__dot {
    transition: none;
  }

  .vta-panel__band-bg {
    transition: none;
  }

  .vta-panel--band:hover .vta-panel__band-bg {
    transform: none;
  }
}

.vta-panel {
  padding: clamp(2.25rem, 5vw, 3.75rem) 0;
  border-bottom: 1px solid var(--border);
}

.vta-panel--split {
  padding: clamp(1.75rem, 4vw, 2.75rem) 0;
}

.vta-panel__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(1.25rem, 3vw, 2rem);
  align-items: center;
}

.vta-panel--reverse .vta-panel__grid {
  direction: rtl;
}

.vta-panel--reverse .vta-panel__grid > * {
  direction: ltr;
}

.vta-panel__fig {
  margin: 0;
  border-radius: var(--radius);
  overflow: hidden;
  aspect-ratio: 4 / 3;
  border: 1px solid rgba(56, 189, 248, 0.18);
  background: #0c1018;
}

.vta-panel__fig img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.45s ease;
}

.vta-panel--split:hover .vta-panel__fig img {
  transform: scale(1.02);
}

@media (prefers-reduced-motion: reduce) {
  .vta-panel--split:hover .vta-panel__fig img {
    transform: none;
  }
}

.vta-panel__fig--round {
  aspect-ratio: 1;
  max-width: 220px;
  border-radius: 50%;
  border: 2px solid rgba(56, 189, 248, 0.35);
}

.vta-panel__grid--founder {
  grid-template-columns: minmax(160px, 220px) 1fr;
}

@media (max-width: 768px) {
  .vta-panel__grid,
  .vta-panel__grid--founder {
    grid-template-columns: 1fr;
  }

  .vta-panel--reverse .vta-panel__grid {
    direction: ltr;
  }

  .vta-panel__fig--round {
    margin: 0 auto;
    max-width: 200px;
  }

  .vta-panel--lead .vta-panel__copy {
    text-align: center;
  }

  .home-page .vta-panel--lead .vta-panel__copy {
    text-align: center;
  }

  .vta-panel--lead .vta-split {
    align-items: center;
  }

  .home-page .vta-panel--lead .vta-split::after {
    align-self: center;
  }
}

.vta-panel__copy .vta-split {
  margin-bottom: 1rem;
}

.vta-panel__copy .vta-display {
  max-width: none;
}

.vta-panel:last-child {
  border-bottom: none;
}

/* HEMA home: full-bleed band sections (background image = full row width) */
.home-page .vta-panel--band {
  border-bottom: none;
}

.vta-panel--band {
  position: relative;
  padding: 0;
  overflow: hidden;
  min-height: min(62vh, 620px);
  display: flex;
  align-items: center;
  border-bottom: none;
}

.vta-panel__band-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  background-image: var(--vta-band);
  background-size: cover;
  background-position: center;
  background-color: #070a12;
  transform: none;
  transition: none;
}

/* Disable hover-zoom on band backgrounds to avoid scroll shimmer. */
.vta-panel--band:hover .vta-panel__band-bg {
  transform: none;
}

/* Soft vertical vignette 鈥?gentler top/bottom so band-to-band feels continuous */
.vta-panel__band-bg::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(
    180deg,
    rgba(6, 8, 15, 0.28) 0%,
    transparent 14%,
    transparent 84%,
    rgba(6, 8, 15, 0.24) 100%
  );
}

.home-page .vta-panel--band:first-of-type .vta-panel__band-bg::after {
  background: linear-gradient(
    180deg,
    transparent 0%,
    transparent 18%,
    transparent 80%,
    rgba(6, 8, 15, 0.26) 100%
  );
}

/* Kill subpixel hairline between hero and Vision */
.home-page .vta-panel--band:first-of-type {
  margin-top: -1px;
}

/* Bridge from page bg into each band top 鈥?meets previous section鈥檚 bottom fade */
.home-page .vta-panel--band::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: clamp(100px, 19vh, 210px);
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(
    180deg,
    var(--bg) 0%,
    rgba(6, 8, 15, 0.42) 28%,
    rgba(6, 8, 15, 0.18) 52%,
    rgba(6, 8, 15, 0.04) 78%,
    transparent 100%
  );
}

/* Vision (first band): same colour ramp as hero bottom 鈥?no visible seam */
.home-page .vta-panel--band:first-of-type::before {
  height: clamp(120px, 22vh, 240px);
  background: linear-gradient(
    180deg,
    var(--bg) 0%,
    rgba(6, 8, 15, 0.36) 22%,
    rgba(6, 8, 15, 0.14) 46%,
    rgba(6, 8, 15, 0.04) 72%,
    transparent 100%
  );
}

/* Bridge out to page bg at band bottom 鈥?pairs with next band鈥檚 ::before for seamless photo鈫抪hoto */
.home-page .vta-panel--band::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: clamp(96px, 17vh, 200px);
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(
    0deg,
    var(--bg) 0%,
    rgba(6, 8, 15, 0.45) 26%,
    rgba(6, 8, 15, 0.16) 52%,
    rgba(6, 8, 15, 0.04) 78%,
    transparent 100%
  );
}

/* Feather top/bottom + diagonal read; wider fades = gentler transitions */
.vta-panel__band-scrim {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(6, 8, 15, 0.93) 0%, transparent 32%),
    linear-gradient(0deg, rgba(6, 8, 15, 0.9) 0%, transparent 38%),
    linear-gradient(
      105deg,
      rgba(6, 8, 15, 0.86) 0%,
      rgba(6, 8, 15, 0.62) 50%,
      rgba(6, 8, 15, 0.36) 100%
    );
}

.vta-panel--band-reverse .vta-panel__band-scrim {
  background:
    linear-gradient(180deg, rgba(6, 8, 15, 0.93) 0%, transparent 32%),
    linear-gradient(0deg, rgba(6, 8, 15, 0.9) 0%, transparent 38%),
    linear-gradient(
      255deg,
      rgba(6, 8, 15, 0.86) 0%,
      rgba(6, 8, 15, 0.62) 50%,
      rgba(6, 8, 15, 0.36) 100%
    );
}

/* First band under hero: light top scrim so Vision photo emerges from same ramp as hero fade */
.home-page .vta-panel--band:first-of-type .vta-panel__band-scrim {
  background:
    linear-gradient(180deg, rgba(6, 8, 15, 0.14) 0%, transparent 38%),
    linear-gradient(0deg, rgba(6, 8, 15, 0.58) 0%, transparent 44%),
    linear-gradient(
      105deg,
      rgba(6, 8, 15, 0.72) 0%,
      rgba(6, 8, 15, 0.48) 52%,
      rgba(6, 8, 15, 0.24) 100%
    );
}

.vta-panel__band-wrap {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
  padding: clamp(2.85rem, 6.5vw, 4.5rem) clamp(1rem, 4vw, 2rem);
}

.home-page .vta-panel__band-wrap {
  max-width: var(--home-content-max);
}

.home-page .vta-panel--band .vta-split__kicker {
  color: rgba(203, 213, 225, 0.95);
  text-shadow: 0 1px 18px rgba(0, 0, 0, 0.45);
}

.home-page .vta-panel--band .vta-split__word {
  text-shadow: 0 2px 28px rgba(0, 0, 0, 0.55);
}

.home-page .vta-panel--band .vta-panel__copy > p.vta-display {
  font-size: clamp(1.05rem, 2.35vw, 1.32rem);
  line-height: 1.52;
  font-weight: 500;
  letter-spacing: -0.015em;
  color: #e2e8f0;
  max-width: 40rem;
  text-align: left;
  text-shadow: 0 1px 14px rgba(0, 0, 0, 0.35);
}


/* Leadership 鈥?no photo band; gradient continues from Enablers */
.home-page .vta-panel--lead {
  position: relative;
  padding: 0;
  overflow: hidden;
  border-bottom: none;
  background: linear-gradient(
    180deg,
    rgba(6, 8, 15, 0.97) 0%,
    rgba(7, 10, 18, 0.99) 55%,
    rgba(6, 8, 15, 1) 100%
  );
}

/* Soft top veil 鈥?taller feather from Enablers 鈫?Leadership */
.home-page .vta-panel--lead::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: min(120px, 20vh);
  pointer-events: none;
  background: linear-gradient(
    180deg,
    rgba(6, 8, 15, 0.28) 0%,
    rgba(6, 8, 15, 0.06) 58%,
    transparent 100%
  );
  z-index: 0;
}

.vta-panel__lead-wrap {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
  padding: clamp(2.5rem, 6vw, 4rem) clamp(1rem, 4vw, 2rem);
}

.home-page .vta-panel__lead-wrap {
  max-width: var(--home-content-max);
}

.vta-panel--lead .vta-panel__grid--founder {
  margin: 0;
  align-items: center;
}

.home-page .vta-panel--lead .vta-split__kicker {
  color: rgba(203, 213, 225, 0.95);
}

.home-page .vta-panel--lead .vta-split__word {
  text-shadow: 0 2px 24px rgba(0, 0, 0, 0.35);
}

.home-page .vta-panel--lead .vta-founder__role {
  color: rgba(148, 163, 184, 0.95);
}

.home-page .vta-panel--lead .vta-founder__bio {
  color: #cbd5e1;
}

.home-page .vta-panel--lead .vta-panel__copy {
  text-align: left;
}

/* Vision 鈥?left; short rule under title word */
.vta-panel--band--vision .vta-panel__band-wrap {
  display: flex;
  justify-content: flex-start;
}

.vta-panel--band--vision .vta-panel__copy {
  max-width: 40rem;
  text-align: left;
}

.vta-panel--band--vision .vta-split {
  align-items: flex-start;
}

.vta-panel--band--vision .vta-split::after {
  content: "";
  display: block;
  width: 2.75rem;
  height: 3px;
  margin-top: 0.5rem;
  border-radius: 2px;
  align-self: flex-start;
  background: linear-gradient(
    90deg,
    rgba(56, 189, 248, 0.9),
    rgba(56, 189, 248, 0.2)
  );
}

/* Mission 鈥?copy block on the viewport right; title + body right-aligned */
.vta-panel--band--mission .vta-panel__band-wrap {
  display: flex;
  justify-content: flex-end;
}

/*
 * Band wrap defaults to width:100%, so it still fills the row and stays visually 鈥渃entred鈥?
 * Shrink width to the content max + push the flex item to the viewport end.
 */
.home-page .vta-panel--band--mission {
  justify-content: flex-end;
}

.home-page .vta-panel--band--mission .vta-panel__band-wrap {
  flex: 0 1 auto;
  width: min(100%, var(--home-content-max));
  max-width: var(--home-content-max);
  margin-left: auto;
  margin-right: 0;
}

.vta-panel--band--mission .vta-panel__copy {
  max-width: 40rem;
  text-align: right;
}

.vta-panel--band--mission .vta-split {
  align-items: flex-end;
}

.vta-panel--band--mission .vta-split::after {
  content: "";
  display: block;
  width: 2.75rem;
  height: 3px;
  margin-top: 0.5rem;
  border-radius: 2px;
  align-self: flex-end;
  background: linear-gradient(
    270deg,
    rgba(56, 189, 248, 0.9),
    rgba(56, 189, 248, 0.2)
  );
}

.home-page .vta-panel--band--mission .vta-panel__copy > p.vta-display {
  text-align: right;
}

/* Enablers 鈥?same title stack as Vision / Mission; background matches tech Anion exchange art */
.vta-panel--band--enablers .vta-panel__band-bg {
  background-position: center center;
}

.vta-panel--band--enablers .vta-panel__band-wrap {
  display: flex;
  justify-content: flex-start;
}

.vta-panel--band--enablers .vta-panel__copy {
  width: 100%;
  max-width: 44rem;
  text-align: left;
}

.vta-panel--band--enablers .vta-split {
  align-items: flex-start;
}

.vta-panel--band--enablers .vta-split::after {
  content: "";
  display: block;
  width: 2.75rem;
  height: 3px;
  margin-top: 0.5rem;
  border-radius: 2px;
  align-self: flex-start;
  background: linear-gradient(
    90deg,
    rgba(56, 189, 248, 0.9),
    rgba(56, 189, 248, 0.2)
  );
}

.vta-panel--band--enablers .vta-enabler-grid {
  max-width: 34rem;
  margin-left: 0;
  margin-right: auto;
}

/* Enablers: premium 2脳2 feature cards */
.home-page .vta-panel--band--enablers .vta-enabler-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem 1.1rem;
  margin-top: 0.9rem;
  padding: 0.2rem 0;
}

.home-page .vta-panel--band--enablers .vta-enabler {
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.95rem;
  align-items: center;
  padding: clamp(1rem, 2.6vw, 1.25rem) clamp(1rem, 2.4vw, 1.35rem);
  border-radius: 18px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background:
    radial-gradient(120% 120% at 14% 18%, rgba(56, 189, 248, 0.16), transparent 58%),
    rgba(255, 255, 255, 0.035);
  box-shadow:
    0 28px 70px rgba(0, 0, 0, 0.42),
    inset 0 1px 0 rgba(255, 255, 255, 0.06);
  transition: transform 0.25s ease, border-color 0.25s ease, background 0.25s ease;
}

.home-page .vta-panel--band--enablers .vta-enabler:hover {
  transform: translateY(-2px);
  border-color: rgba(56, 189, 248, 0.22);
  background:
    radial-gradient(120% 120% at 14% 18%, rgba(56, 189, 248, 0.22), transparent 58%),
    rgba(255, 255, 255, 0.04);
}

.home-page .vta-panel--band--enablers .vta-enabler__icon {
  width: clamp(3.35rem, 8.2vw, 4.05rem);
  height: clamp(3.35rem, 8.2vw, 4.05rem);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  filter: drop-shadow(0 18px 34px rgba(0, 0, 0, 0.45));
}

.home-page .vta-panel--band--enablers .vta-enabler__icon svg {
  width: 100%;
  height: 100%;
  display: block;
}

.home-page .vta-panel--band--enablers .vta-enabler__text {
  margin: 0;
  font-size: clamp(1.02rem, 2vw, 1.2rem);
  line-height: 1.22;
  font-weight: 550;
  letter-spacing: -0.01em;
  color: rgba(241, 245, 249, 0.96);
  max-width: 26ch;
}

/* Leadership 鈥?short rule under title (copy column) */
.home-page .vta-panel--lead .vta-split {
  align-items: flex-start;
}

.home-page .vta-panel--lead .vta-split::after {
  content: "";
  display: block;
  width: 2.75rem;
  height: 3px;
  margin-top: 0.45rem;
  border-radius: 2px;
  align-self: flex-start;
  background: linear-gradient(
    90deg,
    rgba(56, 189, 248, 0.9),
    rgba(56, 189, 248, 0.2)
  );
}

@media (max-width: 768px) {
  .home-page .vta-panel--band--enablers .vta-enabler-grid {
    grid-template-columns: 1fr;
  }

  .home-page .vta-panel--band .vta-panel__copy > p.vta-display {
    text-align: left;
  }

  .vta-panel--band--mission .vta-panel__band-wrap {
    justify-content: flex-end;
  }

  .vta-panel--band--mission .vta-panel__copy {
    text-align: right;
  }

  .vta-panel--band--mission .vta-split {
    align-items: flex-end;
  }

  .home-page .vta-panel--band--mission .vta-panel__copy > p.vta-display {
    text-align: right;
  }

  .vta-panel--band--vision .vta-panel__band-wrap {
    justify-content: flex-start;
  }

  .vta-panel--band--vision .vta-panel__copy {
    text-align: left;
    padding-left: 0;
    border-left: none;
  }

  .vta-panel--band--vision .vta-split {
    align-items: flex-start;
  }

  .vta-panel--band--vision .vta-split::after {
    align-self: flex-start;
    background: linear-gradient(
      90deg,
      rgba(56, 189, 248, 0.9),
      rgba(56, 189, 248, 0.2)
    );
  }

  .vta-panel--band--enablers .vta-panel__band-wrap {
    justify-content: flex-start;
  }

  .vta-panel--band--enablers .vta-panel__copy {
    text-align: left;
  }

  .vta-panel--band--enablers .vta-split::after {
    align-self: flex-start;
    background: linear-gradient(
      90deg,
      rgba(56, 189, 248, 0.9),
      rgba(56, 189, 248, 0.2)
    );
  }

  .vta-panel--band--enablers .vta-enabler-grid {
    margin-left: 0;
    margin-right: auto;
  }
}

.vta-split {
  margin: 0 0 1.25rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.15rem;
  line-height: 1.05;
}

.vta-split__kicker {
  font-size: clamp(1rem, 2.2vw, 1.2rem);
  font-weight: 500;
  letter-spacing: 0.02em;
  color: var(--muted);
}

.vta-split__word {
  font-size: clamp(2rem, 6vw, 3.25rem);
  font-weight: 600;
  letter-spacing: -0.03em;
  color: #f1f5f9;
}

.vta-display {
  margin: 0;
  font-size: clamp(1.15rem, 2.8vw, 1.5rem);
  font-weight: 500;
  letter-spacing: -0.02em;
  line-height: 1.35;
  color: #cbd5e1;
  max-width: 38rem;
}

.vta-display--prose {
  font-size: clamp(0.95rem, 2.1vw, 1.22rem);
  line-height: 1.58;
  max-width: 42rem;
  font-weight: 400;
}

.vta-enabler-grid {
  list-style: none;
  margin: 0.5rem 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.vta-enabler {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 0.85rem 1rem;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(255, 255, 255, 0.03);
}

.vta-enabler__index {
  flex-shrink: 0;
  min-width: 0;
  font-size: 0.7rem;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.16em;
  line-height: 1.35;
  color: rgba(148, 163, 184, 0.95);
  padding-top: 0.28rem;
}

.vta-enabler__text {
  margin: 0;
  flex: 1;
  font-size: clamp(0.98rem, 2.1vw, 1.12rem);
  font-weight: 600;
  letter-spacing: -0.015em;
  color: #e2e8f0;
  line-height: 1.45;
  padding-top: 0.15rem;
}

.vta-pillars {
  list-style: none;
  margin: 0.25rem 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem 2rem;
}

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

.vta-pillars li {
  font-size: clamp(1.05rem, 2.4vw, 1.25rem);
  font-weight: 600;
  letter-spacing: -0.02em;
  color: #e2e8f0;
  line-height: 1.3;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid var(--border);
}

.vta-panel--founder .vta-founder {
  display: grid;
  grid-template-columns: minmax(96px, 120px) 1fr;
  gap: 1.25rem;
  align-items: start;
  margin-top: 0.5rem;
}

.vta-panel--founder.vta-panel--split .vta-founder__role {
  margin-top: 0.25rem;
}

@media (max-width: 600px) {
  .vta-panel--founder .vta-founder {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .vta-panel--founder .founder-photo {
    margin: 0 auto;
  }
}

.vta-founder__role {
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--muted);
  margin: 0 0 0.5rem;
}

.vta-founder__bio {
  margin: 0;
  font-size: 0.92rem;
  color: var(--muted);
  line-height: 1.58;
}

.footer-brand {
  margin: 0 auto 1.1rem;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.85rem 1rem;
}

/* legacy mark (removed from HTML) */
.footer-brand__mark {
  display: none;
}

.footer-brand__lockup {
  display: flex;
  flex-direction: column;
  --wordmark-w: clamp(112px, 12vw, 150px);
  width: var(--wordmark-w);
  align-items: center;
  gap: 0.25rem;
  text-align: center;
}

.footer-brand__hema-mark {
  color: rgba(248, 250, 252, 0.98);
  filter: drop-shadow(0 14px 34px rgba(0, 0, 0, 0.45));
}

.footer-brand__hema-svg {
  display: block;
  width: 100%;
  height: auto;
}

.footer-brand__hema-img {
  display: block;
  width: 100%;
  height: auto;
}

.footer-brand__hema {
  display: block;
  font-size: clamp(1.35rem, 3vw, 1.65rem);
  font-weight: 850;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: transparent;
  background: linear-gradient(180deg, #ffffff 0%, #e5e7eb 38%, #cbd5e1 65%, #ffffff 100%);
  -webkit-background-clip: text;
  background-clip: text;
  text-shadow: 0 14px 34px rgba(0, 0, 0, 0.45);
  line-height: 1.1;
}

.footer-brand__tech {
  display: block;
  font-size: clamp(0.6rem, 1.25vw, 0.74rem);
  font-weight: 600;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--muted);
  line-height: 1.2;
  font-style: italic;
  width: 100%;
  text-align: center;
}

.section-block h1.main-heading,
.section-block h2.main-heading,
.section-block h1.page-heading {
  font-size: clamp(1.35rem, 3vw, 1.75rem);
  font-weight: 700;
  margin-bottom: 1rem;
  letter-spacing: -0.02em;
  color: transparent;
  background: linear-gradient(120deg, #bae6fd 0%, #38bdf8 45%, #0ea5e9 100%);
  -webkit-background-clip: text;
  background-clip: text;
}

.section-block .lede {
  color: var(--muted);
  font-size: 0.86rem;
  max-width: 40rem;
  margin-bottom: 0;
  line-height: 1.58;
}

/* Hero */
.hero-brand {
  position: relative;
  border-radius: calc(var(--radius) + 4px);
  overflow: hidden;
  border: 1px solid rgba(56, 189, 248, 0.25);
  margin-bottom: 1.5rem;
  min-height: min(36vh, 300px);
  background: #050a14;
}

.hero-brand img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 35%;
}

.hero-brand::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(5, 10, 20, 0.15) 0%, rgba(5, 10, 20, 0.55) 45%, rgba(5, 10, 20, 0.88) 100%);
  pointer-events: none;
}

.hero-brand-inner {
  position: relative;
  z-index: 2;
  padding: clamp(1.35rem, 4vw, 2.25rem) 1.35rem;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: min(36vh, 300px);
}

.hero-title {
  margin: 0;
  padding: 0;
  border: none;
  background: none;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  line-height: 1.02;
}

.hero-title__hema {
  font-size: clamp(2.1rem, 6vw, 3.15rem);
  font-weight: 800;
  letter-spacing: 0.12em;
  color: #f8fafc;
  text-shadow: 0 2px 24px rgba(0, 0, 0, 0.45);
}

.hero-title__tech {
  margin-top: 0.35rem;
  font-size: clamp(0.65rem, 1.4vw, 0.82rem);
  font-weight: 600;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: rgba(186, 230, 253, 0.92);
  text-shadow: 0 1px 12px rgba(0, 0, 0, 0.45);
}

.hero-brand-inner .co-tagline {
  margin-top: 0.85rem;
  font-size: clamp(0.92rem, 1.9vw, 1.05rem);
  font-weight: 500;
  color: #bae6fd;
  letter-spacing: 0.03em;
  max-width: 32rem;
  line-height: 1.45;
  text-shadow: 0 1px 16px rgba(0, 0, 0, 0.5);
}

.vision-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 1rem;
  margin-bottom: 2rem;
}

.vision-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 1.25rem 1.2rem;
  border-left: 3px solid var(--accent);
}

.vision-card h3 {
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: var(--accent);
  margin-bottom: 0.5rem;
  font-weight: 600;
}

.vision-card p {
  color: var(--muted);
  font-size: 0.88rem;
  line-height: 1.55;
}

.founder-block {
  display: grid;
  grid-template-columns: minmax(100px, 120px) 1fr;
  gap: 1.1rem;
  align-items: start;
  min-width: 0;
}

@media (max-width: 600px) {
  .founder-block {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .founder-photo {
    margin: 0 auto;
  }
}

.founder-photo {
  width: 100%;
  max-width: 120px;
  aspect-ratio: 1;
  border-radius: 10px;
  background: linear-gradient(145deg, #1e293b, #334155);
  border: 1px solid var(--border);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--muted);
  font-size: 0.72rem;
  text-align: center;
  padding: 0.45rem;
}

.founder-block h3 {
  font-size: 1.15rem;
  font-weight: 600;
  margin-bottom: 0.2rem;
  color: var(--text);
}

.founder-block .role {
  color: var(--accent);
  font-size: 0.9rem;
  margin-bottom: 0.65rem;
}

.founder-block .bio {
  color: var(--muted);
  font-size: 0.88rem;
}

.service-intro {
  color: var(--muted);
  font-size: 0.9rem;
  margin-bottom: 1rem;
  max-width: 42rem;
}

.service-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 1.5rem;
}

.service-tags span {
  font-size: 0.78rem;
  padding: 0.35rem 0.75rem;
  border-radius: 999px;
  background: rgba(56, 189, 248, 0.1);
  border: 1px solid rgba(56, 189, 248, 0.25);
  color: #bae6fd;
}

.tech-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1.35rem;
}

.tech-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.tech-card-visual {
  margin: 0;
  border-bottom: 1px solid var(--border);
  background: rgba(15, 23, 42, 0.45);
}

.tech-card-visual img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 160px;
  object-fit: cover;
}

/* Empty diagram slot 鈥?no image until you add one */
.tech-diagram-placeholder {
  min-height: 220px;
  background: rgba(15, 23, 42, 0.45);
  border-bottom: 1px solid var(--border);
}

.tech-card-body {
  padding: 1.25rem 1.35rem 1.35rem;
}

.tech-card-body h3 {
  font-size: 1.02rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
  color: var(--text);
}

.tech-card-body p {
  color: var(--muted);
  font-size: 0.9rem;
  line-height: 1.55;
}

.tech-card-body .tech-lead {
  font-size: 0.88rem;
  margin-bottom: 0.65rem;
  color: var(--text);
  font-weight: 500;
}

.tech-card-body .tech-list {
  margin: 0 0 0.75rem;
  padding-left: 1.1rem;
  color: var(--muted);
  font-size: 0.84rem;
  line-height: 1.5;
}

.tech-card-body .tech-list li + li {
  margin-top: 0.35rem;
}

.tech-card-body .tech-adv {
  margin: 0;
  padding-top: 0.65rem;
  border-top: 1px solid var(--border);
  font-size: 0.84rem;
  color: #bae6fd;
  line-height: 1.5;
}

.tech-card-body .tech-adv strong {
  color: var(--accent);
  font-weight: 600;
}

.about-columns {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 1.25rem;
}

.about-box {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 1.25rem 1.2rem;
}

.about-box h3 {
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--accent);
  margin-bottom: 0.6rem;
  font-weight: 600;
}

.about-box ul {
  color: var(--muted);
  font-size: 0.88rem;
  padding-left: 1.1rem;
  line-height: 1.55;
}

.about-box li + li {
  margin-top: 0.35rem;
}

.about-box p {
  color: var(--muted);
  font-size: 0.88rem;
  line-height: 1.55;
}

.site-footer {
  border-top: 1px solid var(--border);
  background: #030508;
  padding-top: 2.5rem;
  padding-bottom: calc(2.25rem + env(safe-area-inset-bottom, 0px));
  padding-left: max(clamp(1.25rem, 4vw, 3rem), env(safe-area-inset-left, 0px));
  padding-right: max(clamp(1.25rem, 4vw, 3rem), env(safe-area-inset-right, 0px));
  margin-top: auto;
}

.site-footer-inner {
  max-width: var(--max);
  width: 100%;
  margin: 0 auto;
}

/* VTA-style 4-column footer: brand + copyright | nav list | contacts + icons | office lines */
.footer-main {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(1.25rem, 2.6vw, 2rem);
  align-items: start;
  justify-items: center;
  font-size: 0.8rem;
  text-align: center;
}

.footer-main__col {
  min-width: 0;
  max-width: 16rem;
  text-align: center;
  justify-self: center;
}

.footer-main__col h3 {
  margin: 0 0 0.85rem;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: var(--text);
  text-transform: none;
}

.footer-nav-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.footer-nav-list li + li {
  margin-top: 0.45rem;
}

.footer-nav-list a {
  color: var(--muted);
  text-decoration: none;
  transition: color 0.25s ease;
}

.footer-nav-list a:hover,
.footer-nav-list a:focus-visible {
  color: var(--accent);
  outline: none;
}

.footer-contact-row {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 0.55rem;
  margin: 0 0 0.6rem;
  line-height: 1.45;
}

.footer-contact-row:last-child {
  margin-bottom: 0;
}

.footer-contact-icon {
  flex-shrink: 0;
  width: 1.12rem;
  height: 1.12rem;
  margin-top: 0.08rem;
  color: var(--accent);
}

.footer-contact-link {
  color: var(--accent);
  text-decoration: none;
  word-break: normal;
  overflow-wrap: anywhere;
}

.footer-contact-link:hover,
.footer-contact-link:focus-visible {
  text-decoration: underline;
  outline: none;
}

.footer-contact-locations {
  color: var(--accent);
  font-weight: 500;
}

.footer-addr-block__entity-line {
  margin: 0 0 0.2rem;
  font-size: 0.74rem;
  line-height: 1.25;
  font-weight: 750;
  color: rgba(248, 250, 252, 0.96);
  letter-spacing: 0.01em;
}

.footer-addr-block__line {
  margin: 0 0 0.28rem;
  font-size: 0.7rem;
  line-height: 1.5;
  color: rgba(232, 236, 244, 0.88);
  font-weight: 400;
}

.footer-addr-block__abn {
  margin: 0.05rem 0 0.35rem;
  font-size: 0.7rem;
  line-height: 1.4;
  color: rgba(226, 232, 240, 0.86);
  font-weight: 600;
  letter-spacing: 0.01em;
}

/* AU line should wrap naturally (no forced single-line) */
.footer-addr-block__line--au {
  white-space: normal;
}

.footer-addr-block__line:last-child {
  margin-bottom: 0;
}

/* Small divider between AU and Asia blocks */
.footer-addr-block__abn + .footer-addr-block__entity-line {
  margin-top: 0.65rem;
}

.footer-addr-block__abn + .footer-addr-block__entity-line::before {
  content: "";
  display: block;
  width: 2.1rem;
  height: 1px;
  background: rgba(255, 255, 255, 0.16);
  margin: 0 auto 0.55rem;
  border-radius: 999px;
}

.footer-copyright {
  margin: 0 auto;
  max-width: 16rem;
  font-size: 0.78rem;
  line-height: 1.5;
  color: var(--muted);
}

@media (max-width: 960px) {
  /* --hema-bp-footer: 2脳2 before single column */
  .footer-main {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .footer-main__col--offices {
    grid-column: 1 / -1;
  }
}

@media (max-width: 600px) {
  .footer-main {
    grid-template-columns: 1fr;
    gap: 1.75rem;
  }

  .footer-main__col--offices {
    grid-column: auto;
  }
}

/* Single-column story flow 鈥?one continuous article, no card grid */
.block-with-media {
  margin-bottom: 0;
}

.story {
  max-width: 40rem;
  margin-left: auto;
  margin-right: auto;
}

.story-section {
  padding-top: 1.65rem;
  margin-top: 1.65rem;
  border-top: 1px solid var(--border);
}

.story-section:first-child {
  padding-top: 0;
  margin-top: 0;
  border-top: none;
}

.story-section h2 {
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: var(--accent);
  margin-bottom: 0.75rem;
  font-weight: 600;
}

.story-section p {
  color: var(--muted);
  font-size: 0.88rem;
  line-height: 1.62;
  margin-top: 0.65rem;
}

.story-figure {
  margin: 0.35rem 0 0;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(15, 23, 42, 0.35);
}

.story-figure img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 220px;
  object-fit: cover;
  object-position: center;
}

.story-section .lede {
  margin-top: 0.5rem;
}

.story-list {
  margin: 0.65rem 0 0;
  padding-left: 1.15rem;
  color: var(--muted);
  font-size: 0.86rem;
  line-height: 1.55;
}

.story-list li + li {
  margin-top: 0.35rem;
}

/* Technology: vertical stack, light separators 鈥?not side-by-side cards */
.tech-stack {
  max-width: 40rem;
  margin-left: auto;
  margin-right: auto;
}

.tech-block {
  padding-top: 1.5rem;
  margin-top: 1.5rem;
  border-top: 1px solid var(--border);
}

.tech-block:first-of-type {
  padding-top: 0;
  margin-top: 1rem;
  border-top: none;
}

.tech-block-fig {
  margin: 0 0 0.85rem;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.1);
}

.tech-block-fig img {
  display: block;
  width: 100%;
  max-height: 200px;
  object-fit: cover;
}

.tech-block-body h3 {
  font-size: 1.05rem;
  font-weight: 600;
  margin-bottom: 0.45rem;
  color: var(--text);
}

.tech-block-body .tech-lead {
  font-size: 0.88rem;
  margin-bottom: 0.55rem;
  color: var(--text);
  font-weight: 500;
}

.tech-block-body .tech-list {
  margin-bottom: 0.65rem;
}

.tech-block-body .tech-adv {
  margin: 0;
  padding-top: 0.55rem;
  border-top: 1px solid var(--border);
  font-size: 0.84rem;
  color: #bae6fd;
  line-height: 1.5;
}

.tech-block-body .tech-adv strong {
  color: var(--accent);
  font-weight: 600;
}

.tech-lead-in {
  max-width: 40rem;
  margin-left: auto;
  margin-right: auto;
}

.tech-lead-in .service-intro {
  margin-bottom: 0;
}

.tech-lead-fig {
  margin: 1rem auto 0;
  max-width: 40rem;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.1);
}

.tech-lead-fig img {
  display: block;
  width: 100%;
  max-height: 220px;
  object-fit: cover;
}

.founder-story .founder-block {
  margin-top: 0.85rem;
}

.founder-story .story-figure + .founder-block {
  margin-top: 1rem;
}

.block-media {
  margin: 0 0 1.1rem;
  border-radius: var(--radius);
  overflow: hidden;
  border: 1px solid var(--border);
  background: rgba(15, 23, 42, 0.5);
}

.block-media img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 280px;
  object-fit: cover;
}

.block-text h2 {
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: var(--accent);
  margin-bottom: 0.45rem;
  font-weight: 600;
}

.block-text p {
  color: var(--muted);
  font-size: 0.86rem;
  line-height: 1.58;
  max-width: 48rem;
}

.block-text p + p {
  margin-top: 0.85rem;
}

.tech-intro-head {
  margin-bottom: 0.25rem;
}

/* Scroll reveal 鈥?in/out on viewport entry (scroll up or down); same easing both ways */
/* Avoid animating filter: blur() 鈥?it is very expensive during scroll/intersection updates */
.reveal {
  position: relative;
  isolation: isolate;
  opacity: 0;
  transform: translate3d(0, 18px, 0) scale(0.994);
  will-change: transform, opacity;
  backface-visibility: hidden;
  perspective: 1000px;
  contain: paint;
  transition:
    opacity var(--dur-reveal) var(--ease-smooth),
    transform var(--dur-reveal) var(--ease-smooth);
}

/* Mobile: reduce main-thread work while keeping animations */
@media (pointer: coarse) {
  /* Skip painting/layout for offscreen heavy panels until near viewport */
  .vta-panel,
  .tech-panel,
  .about-page__panel:not(.about-s4),
  .about-block,
  .about-split:not(.about-s4) {
    content-visibility: auto;
    contain-intrinsic-size: 1px 900px;
  }
}

/* Mobile Edge can glitch with backdrop-filter + fixed overlays; prefer solid surfaces on touch. */
@media (pointer: coarse) {
  .back-to-top,
  .nav-fab--in-header .nav-fab__backdrop {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }
}

.reveal::after {
  display: none;
}

.reveal.is-in {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
}

/* Tech page: drop compositor hints after reveal settles (less scroll-time layer churn) */
main.tech-page .reveal.is-in {
  will-change: auto;
}

/* About: same 鈥?Research is full-bleed photo + type; avoid holding compositor hints while scrolling */
main.section-block--about.about-page .reveal.is-in {
  will-change: auto;
}

/* About Core: stable bi-directional card fade/slide */
.about-core-cards[data-about-core-cards] {
  contain: layout style;
}

.about-core-cards[data-about-core-cards] > .about-core-card {
  opacity: 0;
  transform: translate3d(0, clamp(26px, 4vw, 42px), 0) scale(0.985);
  transition:
    opacity 0.56s var(--ease-smooth),
    transform 0.64s var(--ease-smooth),
    box-shadow 0.22s ease,
    border-color 0.22s ease;
  transition-delay: var(--about-core-delay, 0ms);
  will-change: opacity, transform;
  backface-visibility: hidden;
}

.about-core-cards[data-about-core-cards].is-visible > .about-core-card,
.about-core-cards[data-about-core-cards] > .about-core-card.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
}

/* Research band: scroll-in 鈥?keep motion short so it does not fight native scroll */
main.section-block--about.about-page .about-s4.reveal:not(.is-in) {
  opacity: 0;
  transform: translate3d(0, clamp(34px, 5vw, 52px), 0) scale(0.992);
  transition:
    opacity 0.42s var(--ease-smooth),
    transform 0.48s var(--ease-smooth);
}

main.section-block--about.about-page .about-s4.reveal {
  /* Avoid contain:paint on this full-bleed band 鈥?reduces scroll-time layer / clip work near footer */
  contain: style;
}

main.section-block--about.about-page .about-s4.reveal.is-in {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
  transition:
    opacity 0.42s var(--ease-smooth),
    transform 0.42s var(--ease-smooth);
}

/* Stagger copy lines upward after the band begins its reveal */
.about-s4 .about-split__body > * {
  transition:
    opacity 0.38s var(--ease-smooth),
    transform 0.44s var(--ease-smooth);
  will-change: opacity, transform;
  backface-visibility: hidden;
}

.about-s4.reveal:not(.is-in) .about-split__body > * {
  opacity: 0;
  transform: translate3d(0, clamp(18px, 3vw, 28px), 0);
  transition-delay: 0s;
}

.about-s4.reveal.is-in .about-split__body > * {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

.about-s4.reveal.is-in .about-split__body > .about-s4__kicker {
  transition-delay: 0.04s;
}

.about-s4.reveal.is-in .about-split__body > .about-split__h {
  transition-delay: 0.1s;
}

.about-s4.reveal.is-in .about-split__body > .about-s4__partners {
  transition-delay: 0.16s;
}

.about-s4.reveal.is-in .about-split__body > .about-split__p {
  transition-delay: 0.22s;
}

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

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

.reveal-delay-1:not(.is-in),
.reveal-delay-2:not(.is-in) {
  transition-delay: 0s;
}

/* Technology: Mature Treatment Solutions 鈥?slightly deeper lift + title rule draws in */
.tech-panel--mature.reveal:not(.is-in) {
  opacity: 0;
  transform: translate3d(0, 40px, 0) scale(0.987);
}

.tech-panel--mature.reveal.is-in {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
}

.tech-panel--mature.reveal:not(.is-in) .tech-paths__head::after {
  transform: scaleX(0.12);
  opacity: 0;
}

.tech-panel--mature.reveal.is-in .tech-paths__head::after {
  transform: scaleX(1);
  opacity: 1;
}

/* Technology: core strength 鈥?scroll-in (hero stays visible; avoids first-paint blank) */
.tech-panel--strength.reveal:not(.is-in) {
  opacity: 0;
  transform: translate3d(0, 32px, 0) scale(0.988);
}

.tech-panel--strength.reveal.is-in {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
}

@media (prefers-reduced-motion: reduce) {
  .reveal,
  .reveal::after {
    animation: none !important;
  }

  .reveal {
    opacity: 1;
    transform: none;
    transition: none;
  }

  .reveal::after {
    opacity: 0.2;
  }

  .tech-panel--strength.reveal:not(.is-in),
  .tech-panel--strength.reveal.is-in,
  .tech-panel--mature.reveal:not(.is-in),
  .tech-panel--mature.reveal.is-in {
    opacity: 1;
    transform: none;
  }

  .tech-panel--mature.reveal:not(.is-in) .tech-paths__head::after,
  .tech-panel--mature.reveal.is-in .tech-paths__head::after {
    transform: none;
    opacity: 1;
    transition: none;
  }

  .tech-uvcore-bridge__visual-img,
  .tech-uvcore-bridge__visual-inner::before,
  .tech-path-card--coupling.reveal {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

  .about-s4.reveal:not(.is-in),
  .about-s4.reveal.is-in,
  .about-s4.reveal:not(.is-in) .about-split__body > *,
  .about-s4.reveal.is-in .about-split__body > * {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    transition-delay: 0s !important;
  }
}

/* About + Tech: full-bleed mains */
main.section-block--about.about-page,
main.section-block--tech.tech-page {
  max-width: none;
  padding: 0;
  width: 100%;
}

/* Technology page: second-band background (Mature + Strength + bridge) 鈥?one URL, tuned focal point */
main.section-block--tech.tech-page {
  --tech-mid-bg: url("https://images.unsplash.com/photo-1583212292454-1fe62296061b?auto=format&fit=crop&w=1200&q=80");
  --tech-mid-bg-pos: center 38%;
}

/* Tech: full-viewport stacked panels + edge vignettes */
.tech-page__vignette {
  position: fixed;
  left: 0;
  right: 0;
  z-index: 90;
  pointer-events: none;
  height: clamp(72px, 12vh, 140px);
}

.tech-page__vignette--top {
  top: 0;
  background: linear-gradient(
    180deg,
    rgba(2, 4, 10, 0.94) 0%,
    rgba(2, 4, 10, 0.55) 45%,
    transparent 100%
  );
}

.tech-page__vignette--bottom {
  bottom: 0;
  background: linear-gradient(
    0deg,
    rgba(2, 4, 10, 0.94) 0%,
    rgba(2, 4, 10, 0.55) 45%,
    transparent 100%
  );
}

/* Transition strip: only second-band image (no hero art); fades from page tone into mid photo */
.tech-page__hero-mid-bridge {
  position: relative;
  z-index: 1;
  height: clamp(80px, 14vh, 168px);
  overflow: hidden;
  background-color: var(--bg, #06080f);
  background-image:
    linear-gradient(
      180deg,
      rgba(4, 8, 16, 0.92) 0%,
      rgba(6, 12, 22, 0.45) 38%,
      rgba(6, 14, 24, 0.12) 72%,
      transparent 100%
    ),
    linear-gradient(180deg, rgba(6, 18, 32, 0.2) 0%, transparent 55%),
    var(--tech-mid-bg);
  background-size: cover;
  background-position: var(--tech-mid-bg-pos, center 38%);
  background-repeat: no-repeat;
}

/* Mature + Strength: sharp photo + scrim */
.tech-page__mid {
  position: relative;
  z-index: 1;
  isolation: isolate;
  overflow-x: visible;
  overflow-y: visible;
  margin-top: -1px;
  background-color: var(--bg, #06080f);
}

.tech-page__mid::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: 0;
  pointer-events: none;
  background-image: var(--tech-mid-bg);
  background-size: cover;
  background-position: var(--tech-mid-bg-pos, center 38%);
  background-repeat: no-repeat;
  /* Lighter filter stack = less GPU work while scrolling (photo layer unchanged) */
  filter: saturate(1.04) contrast(1.03);
}

/* Filters on full-bleed layers are expensive during scroll on mobile GPUs */
@media (max-width: 900px), (pointer: coarse) {
  .tech-page__mid::after {
    filter: none;
  }

  .tech-page__hero-mid-bridge {
    height: clamp(40px, 6.5vh, 88px);
  }

  .tech-page__vignette {
    display: none;
  }

  .tech-page__mid {
    isolation: auto;
  }

  .tech-page__mid::before {
    background: linear-gradient(180deg, rgba(4, 12, 24, 0.42) 0%, rgba(6, 14, 28, 0.08) 100%);
  }

  .tech-paths-switch--in-view .tech-media-resin__img--paths-motion,
  .tech-paths-switch--in-view .tech-media-resin__img--paths-motion-alt {
    animation: none !important;
  }
}

.tech-page__mid::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  /* Cyan-tinted scrim: matches brand; keeps centre readable */
  background:
    linear-gradient(
      90deg,
      rgba(4, 10, 20, 0.4) 0%,
      rgba(8, 20, 36, 0.14) 15%,
      rgba(6, 14, 28, 0.04) 50%,
      rgba(8, 20, 36, 0.14) 85%,
      rgba(4, 10, 20, 0.4) 100%
    ),
    linear-gradient(
      180deg,
      rgba(4, 12, 24, 0.26) 0%,
      rgba(6, 14, 28, 0.06) 42%,
      rgba(6, 16, 30, 0.08) 58%,
      rgba(4, 10, 20, 0.2) 100%
    ),
    radial-gradient(ellipse 95% 70% at 50% 48%, rgba(6, 20, 40, 0) 0%, rgba(4, 12, 22, 0.12) 100%);
}

.tech-page__mid > * {
  position: relative;
  z-index: 3;
}

.tech-page__mid .tech-paths__title,
.tech-page__mid .tech-strength__title,
.tech-page__mid .tech-strength__tagline,
.tech-page__mid .tech-path-card__mega,
.tech-page__mid .tech-path-card__lead,
.tech-page__mid .tech-strength__slide-title,
.tech-page__mid .tech-strength__slide-body,
.tech-page__mid .tech-strength__slide-count {
  text-shadow:
    0 2px 16px rgba(0, 0, 0, 0.42),
    0 1px 3px rgba(0, 0, 0, 0.35);
}

.tech-panel {
  min-height: 0;
  position: relative;
  box-sizing: border-box;
  transition: opacity 0.65s var(--ease-smooth);
}

/* Non-focused tech panels: opacity only 鈥?blur() on large panels is costly while scrolling */
.tech-panel--dim {
  opacity: 0.4;
}

.tech-panel--focus {
  opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
  .tech-panel {
    transition: opacity 0.35s ease;
  }

  .tech-panel--dim {
    opacity: 0.5;
  }
}

.tech-panel--hero {
  display: flex;
  flex-direction: column;
  padding: 0;
}

/*
 * Hero height: default is capped so Edge 鈥渄esktop mode鈥?on phones (wide CSS viewport) does not
 * reserve a full-screen band. Large mouse-driven desktops get a taller immersive band.
 */
.tech-panel--hero .tech-hero {
  flex: none;
  box-sizing: border-box;
  min-height: clamp(280px, 52vh, 560px);
  max-height: min(64vh, 620px);
}

/* Tablet + desktop: hero should be immersive (~4/5 viewport height). */
@media (min-width: 768px) {
  .tech-panel--hero .tech-hero {
    min-height: min(calc(80svh - var(--header-h, var(--nav-h))), 920px);
    max-height: min(88vh, 980px);
  }
}

/* Immersive hero on large desktops 鈥?avoids Edge 鈥渄esktop mode鈥?on touch filling the phone */
@media (min-width: 1100px) and (min-height: 700px) and (pointer: fine) and (hover: hover) {
  .tech-panel--hero .tech-hero {
    min-height: min(calc(100svh - var(--header-h, var(--nav-h))), 860px);
    max-height: min(88vh, 920px);
  }
}

/* Phones / touch: no per-panel opacity tween (dim/focus removed in JS); less compositing during scroll */
@media (max-width: 900px), (pointer: coarse) {
  .tech-panel {
    transition: none;
  }

  .tech-panel--dim,
  .tech-panel--focus {
    opacity: 1 !important;
  }
}

.tech-panel--mature,
.tech-panel--strength {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: clamp(1rem, 3vw, 1.5rem);
}

.tech-panel--mature {
  overflow-x: visible;
}

.tech-panel__shell {
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
  padding-top: clamp(1.25rem, 3vw, 2rem);
  padding-bottom: clamp(1.25rem, 3vw, 2rem);
  padding-left: max(clamp(1rem, 3vw, 1.5rem), env(safe-area-inset-left, 0px));
  padding-right: max(clamp(1rem, 3vw, 1.5rem), env(safe-area-inset-right, 0px));
  box-sizing: border-box;
}

.tech-panel__shell--paths {
  display: flex;
  flex-direction: column;
  gap: clamp(1.25rem, 3vw, 2rem);
  overflow-x: visible;
}

.tech-panel__shell--strength {
  padding-bottom: clamp(1.5rem, 4vw, 2.5rem);
}

/* Connectors between Technology 鈫?Mature 鈫?Strength (anchor 鈫?next panel) */
.tech-panel-join {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0.35rem 0 0.65rem;
  margin: 0;
  text-decoration: none;
  color: #7dd3fc;
  transition: color 0.2s ease, filter 0.2s ease;
}

.tech-panel-join:hover {
  color: #e0f2fe;
}

.tech-panel-join:focus-visible {
  outline: none;
  color: #7dd3fc;
}

.tech-panel-join:focus-visible .tech-panel-join__arrow {
  box-shadow: 0 0 0 2px rgba(56, 189, 248, 0.45);
  border-radius: 999px;
}

.tech-panel-join__arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.25rem 0.5rem;
  line-height: 0;
  filter: drop-shadow(0 0 10px rgba(56, 189, 248, 0.45)) drop-shadow(0 2px 8px rgba(0, 0, 0, 0.55));
}

.tech-panel-join:hover .tech-panel-join__arrow {
  filter: drop-shadow(0 0 14px rgba(56, 189, 248, 0.65)) drop-shadow(0 2px 8px rgba(0, 0, 0, 0.55));
}

.tech-panel-join__arrow svg {
  width: clamp(2rem, 4.5vw, 2.85rem);
  height: clamp(3.4rem, 9.5vw, 4.75rem);
  display: block;
  flex-shrink: 0;
}

/* About: hero + alternating image / text splits */
.about-hero {
  position: relative;
  width: 100%;
  overflow: hidden;
  aspect-ratio: 16 / 8;
  max-height: min(780px, 82vh);
  min-height: clamp(340px, 48vh, 560px);
  display: flex;
  align-items: flex-end;
  justify-content: center;
  /* Slightly lighter than pure black so the band is not a flat void while the photo decodes */
  background-color: #0d1524;
}

.about-hero picture {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: block;
  margin: 0;
  padding: 0;
  pointer-events: none;
}

/* Real <img> + cover: uniform scale only 鈥?avoids perceived vertical stretch from background painting */
.about-hero__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 40%;
  pointer-events: none;
}

@media (max-width: 767px) {
  .about-hero {
    aspect-ratio: 3 / 4;
    max-height: min(640px, 76vh);
    min-height: clamp(280px, 52vh, 500px);
  }

  .about-hero__bg {
    object-position: center center;
  }
}

.about-hero__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(
    165deg,
    rgba(6, 8, 15, 0.15) 0%,
    rgba(6, 8, 15, 0.55) 45%,
    rgba(6, 8, 15, 0.92) 100%
  );
  pointer-events: none;
}

.about-hero__inner {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
  padding: clamp(2rem, 6vw, 3rem) clamp(1.25rem, 4vw, 2rem) clamp(2.5rem, 8vw, 4.25rem);
  text-align: left;
  align-self: stretch;
}

.about-hero__center {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: grid;
  place-items: center;
  padding: 2rem;
  text-align: center;
  pointer-events: none;
}

.about-hero__eyebrow {
  margin: 0 0 0.35rem;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: var(--accent);
}

.about-hero__brand-row {
  position: absolute;
  top: clamp(1.25rem, 3vw, 2.25rem);
  left: clamp(1.2rem, 4vw, 3rem);
  z-index: 3;
  margin: 0;
}

.about-hero__brand {
  margin: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  line-height: 1;
}

.about-hero__hema {
  font-size: clamp(2rem, 6.5vw, 3.2rem);
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: transparent;
  background: linear-gradient(180deg, #ffffff 0%, #e5e7eb 40%, #cbd5e1 72%, #f8fafc 100%);
  -webkit-background-clip: text;
  background-clip: text;
  filter: drop-shadow(0 2px 20px rgba(0, 0, 0, 0.5));
}

.about-hero__tech {
  margin-top: 0.35rem;
  font-size: clamp(0.55rem, 1.05vw, 0.72rem);
  font-weight: 600;
  letter-spacing: 0.34em;
  text-transform: uppercase;
  font-style: italic;
  color: rgba(226, 232, 240, 0.78);
}

.about-hero__title {
  margin: 0;
  max-width: none;
  font-size: clamp(2.7rem, 7.1vw, 6.25rem);
  line-height: 0.96;
  font-weight: 850;
  letter-spacing: -0.025em;
  word-spacing: 0.08em;
  color: #9bdcff;
  text-shadow: 0 0 32px rgba(56, 189, 248, 0.38), 0 24px 70px rgba(0, 0, 0, 0.55);
}

/* About (dark): match Technology hero title */
.about-page:not(.about-page--light) .about-hero__title {
  color: #9bdcff;
  background: none;
  -webkit-background-clip: initial;
  background-clip: initial;
  text-shadow: 0 0 32px rgba(56, 189, 248, 0.38), 0 24px 70px rgba(0, 0, 0, 0.55);
  filter: none;
}

/* Hero 鈫?content: same hand-off rhythm as Technology (no mid photo) */
.about-page__hero-bridge {
  position: relative;
  z-index: 1;
  height: clamp(88px, 14vh, 168px);
  margin-top: -1px;
  overflow: hidden;
  background: linear-gradient(180deg, rgba(2, 6, 23, 0.92) 0%, rgba(2, 6, 23, 0.45) 50%, transparent 100%);
}

.about-page__hero-bridge::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(2, 6, 23, 0.85) 0%, rgba(2, 6, 23, 0) 18%, rgba(2, 6, 23, 0) 82%, rgba(2, 6, 23, 0.85) 100%),
    radial-gradient(120% 120% at 50% 50%, rgba(2, 6, 23, 0) 62%, rgba(2, 6, 23, 0.72) 100%);
  opacity: 1;
}

.about-page__shell {
  max-width: 1180px;
  margin: 0 auto;
  padding-top: clamp(1.75rem, 4vw, 2.5rem);
  padding-bottom: clamp(2.5rem, 5vw, 3.5rem);
  padding-left: max(clamp(1rem, 3vw, 1.5rem), env(safe-area-inset-left, 0px));
  padding-right: max(clamp(1rem, 3vw, 1.5rem), env(safe-area-inset-right, 0px));
  display: flex;
  flex-direction: column;
  gap: clamp(1.75rem, 4vw, 2.75rem);
}

/* About 鈥?light band layout, deep blue copy (#0A2B4E), orange metrics (#E67E22) */
.about-page.about-page--light {
  background: #f5f7fa;
}

.about-page--light .about-page__shell {
  padding-top: clamp(2rem, 4.5vw, 2.75rem);
}

.about-page--light .about-split {
  background: #fff;
  border: 1px solid #dde5ed;
  box-shadow: 0 8px 32px rgba(10, 43, 78, 0.07);
}

.about-page--light .about-split--band {
  background: #eef1f6;
  border-color: #d0dae6;
}

.about-page--light .about-split__h,
.about-page--light .about-block__h {
  color: #0a2b4e;
}

.about-page--light .about-split__p,
.about-page--light .about-block__p,
.about-page--light .about-block__lead {
  color: #2c4a6e;
}

.about-page--light .about-split__figure {
  border-color: rgba(10, 43, 78, 0.12);
}

.about-page--light .about-block {
  background: #fff;
  border: 1px solid #dde5ed;
  box-shadow: 0 8px 32px rgba(10, 43, 78, 0.07);
}

.about-page--light .about-block--band {
  background: #eef1f6;
  border-color: #d0dae6;
}

.about-page--light .about-block--closing {
  background: linear-gradient(165deg, #fff 0%, #f0f4f8 100%);
  border: 1px solid #c5d6e8;
}

.about-stat-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(0.65rem, 1.5vw, 0.9rem);
  margin-top: 1.35rem;
}

.about-stat-grid--tight {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.about-stat-grid--three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.about-block .about-stat-grid {
  margin-bottom: 1.15rem;
}

.about-stat-card {
  text-align: center;
  padding: clamp(0.9rem, 2vw, 1.15rem) 0.65rem;
  border-radius: 14px;
}

.about-page:not(.about-page--light) .about-stat-card {
  background: linear-gradient(160deg, rgba(30, 41, 59, 0.55) 0%, rgba(8, 12, 24, 0.88) 100%);
  border: 1px solid rgba(56, 189, 248, 0.14);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.05),
    0 12px 36px rgba(0, 0, 0, 0.25);
}

.about-page--light .about-split .about-stat-card,
.about-page--light .about-block .about-stat-card {
  background: #f5f7fa;
  border: 1px solid #e2e8f0;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85);
}

.about-stat-card__value {
  font-size: clamp(1.4rem, 2.8vw, 2rem);
  font-weight: 800;
  line-height: 1.1;
  color: #e67e22;
  letter-spacing: -0.03em;
}

.about-stat-card__value--compact {
  font-size: clamp(1.05rem, 2vw, 1.45rem);
  line-height: 1.2;
}

.about-stat-card__label {
  margin-top: 0.45rem;
  font-size: clamp(0.72rem, 1.05vw, 0.82rem);
  line-height: 1.4;
  font-weight: 600;
  color: #0a2b4e;
}

.about-page:not(.about-page--light) .about-stat-card__label {
  color: #cbd5e1;
}

.about-stat-card--tall {
  padding-block: clamp(1.1rem, 2.2vw, 1.35rem);
}

@media (max-width: 900px) {
  .about-stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .about-stat-grid--three {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px) {
  .about-stat-grid,
  .about-stat-grid--tight {
    grid-template-columns: 1fr;
  }
}

.about-page:not(.about-page--light) .about-split {
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.05) 0%, rgba(6, 8, 15, 0.65) 100%);
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.35);
}

.about-page:not(.about-page--light) .about-split--band {
  border-color: rgba(56, 189, 248, 0.12);
  background: linear-gradient(148deg, rgba(56, 189, 248, 0.06) 0%, rgba(6, 8, 15, 0.78) 52%, rgba(4, 8, 16, 0.92) 100%);
}

/* Research (搂4): no band-style top wash 鈥?flat plate so the photo reads clean at the upper edge */
.about-page:not(.about-page--light) .about-s4.about-split--band {
  background: rgba(5, 8, 16, 0.96);
}

.about-page--light .about-s4.about-split--band {
  background: #f1f5f9;
}

/* About block 1: five metric cards 鈥?orange kicker + grey note, hover lift */
.about-sec1 {
  padding: clamp(0.25rem, 1vw, 0.5rem) 0;
  position: relative;
  isolation: isolate;
  text-align: center;
}

/* Core block + five cards: shift up by ~6ch (user typography spacing) */
.about-sec1[data-about-core-deck] {
  margin-top: -6ch;
}

/* (Removed abandoned about-core-rail styles.) */

.about-sec1::before {
  content: none;
  position: absolute;
  inset: clamp(-8rem, -10vw, -4.5rem) 50% auto 50%;
  width: 100vw;
  height: clamp(640px, 78vw, 980px);
  transform: translateX(-50%);
  pointer-events: none;
  z-index: 0;
  opacity: 0.58;
  background-image:
    linear-gradient(180deg, rgba(2, 6, 23, 0.08) 0%, rgba(2, 6, 23, 0.52) 62%, rgba(2, 6, 23, 0.88) 100%),
    url("assets/plant-bg-optimized.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center 42%;
  filter: none;
  background-attachment: scroll;
}

.about-page--light .about-sec1::before {
  opacity: 0.4;
  background-image:
    linear-gradient(180deg, rgba(255, 255, 255, 0.18) 0%, rgba(255, 255, 255, 0.66) 70%, rgba(255, 255, 255, 0.94) 100%),
    url("assets/plant-bg-optimized.jpg");
  background-attachment: scroll;
}

.about-sec1::after {
  content: none;
  position: absolute;
  inset: clamp(-8rem, -10vw, -4.5rem) 0 auto 0;
  height: clamp(640px, 78vw, 980px);
  pointer-events: none;
  z-index: 0;
  background:
    radial-gradient(1000px 560px at 16% 16%, rgba(34, 197, 94, 0.16) 0%, rgba(2, 6, 23, 0) 62%),
    radial-gradient(1000px 560px at 84% 18%, rgba(34, 197, 94, 0.12) 0%, rgba(2, 6, 23, 0) 66%),
    linear-gradient(180deg, rgba(2, 6, 23, 0.06) 0%, rgba(2, 6, 23, 0) 26%, rgba(2, 6, 23, 0.24) 100%);
  opacity: 1;
}

/* Borderless / "no bounds" look: remove container plate, add soft text lift */
.about-sec1__h,
.about-core-card__kicker,
.about-core-card__note,
.about-core-card__detail {
  text-shadow: 0 10px 26px rgba(0, 0, 0, 0.55);
}

.about-page--light .about-sec1__h,
.about-page--light .about-core-card__kicker,
.about-page--light .about-core-card__note,
.about-page--light .about-core-card__detail {
  text-shadow: 0 12px 28px rgba(255, 255, 255, 0.8);
}

.about-page--light .about-sec1::after {
  background:
    radial-gradient(900px 480px at 18% 18%, rgba(34, 197, 94, 0.1) 0%, rgba(255, 255, 255, 0) 62%),
    radial-gradient(900px 480px at 82% 22%, rgba(34, 197, 94, 0.08) 0%, rgba(255, 255, 255, 0) 66%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.22) 0%, rgba(255, 255, 255, 0) 32%, rgba(255, 255, 255, 0.55) 100%);
  opacity: 0.8;
}

.about-sec1__h {
  margin: 0 0 clamp(1.1rem, 2.8vw, 1.55rem);
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  font-size: clamp(1.15rem, 2.6vw, 1.55rem);
  font-weight: 750;
  letter-spacing: 0.08em;
  line-height: 1.2;
  text-transform: uppercase;
}

.about-sec1__h::after {
  content: "";
  display: block;
  width: 132px;
  height: 2px;
  margin-top: 0.65rem;
  background: rgba(56, 189, 248, 0.92);
  border-radius: 999px;
  box-shadow:
    0 0 0 1px rgba(56, 189, 248, 0.12),
    0 0 18px rgba(56, 189, 248, 0.28),
    0 0 40px rgba(56, 189, 248, 0.16);
}

.about-page:not(.about-page--light) .about-sec1__h {
  color: #f8fafc;
}

.about-page--light .about-sec1__h {
  color: #0a2b4e;
}

.about-core-cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(1rem, 2.2vw, 1.35rem);
  max-width: 52rem;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}

/* Stacked deck under the Core heading / cyan rule 鈥?FLIP measures this layout */
.about-core-cards[data-about-core-cards].about-core-cards--stack {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto;
  gap: 0;
  align-items: start;
  justify-items: center;
  margin-top: -0.35rem;
}

.about-core-cards[data-about-core-cards].about-core-cards--stack > .about-core-card {
  grid-area: 1 / 1;
  width: min(22rem, 92vw);
  max-width: 22rem;
  margin: 0;
  justify-self: center;
  transform-origin: 50% 50%;
}

.about-core-cards[data-about-core-cards].about-core-cards--stack > .about-core-card:nth-child(1) {
  transform: translateY(0) scale(0.9);
  z-index: 5;
}
.about-core-cards[data-about-core-cards].about-core-cards--stack > .about-core-card:nth-child(2) {
  transform: translateY(0.38rem) scale(0.885);
  z-index: 4;
}
.about-core-cards[data-about-core-cards].about-core-cards--stack > .about-core-card:nth-child(3) {
  transform: translateY(0.76rem) scale(0.87);
  z-index: 3;
}
.about-core-cards[data-about-core-cards].about-core-cards--stack > .about-core-card:nth-child(4) {
  transform: translateY(1.14rem) scale(0.855);
  z-index: 2;
}
.about-core-cards[data-about-core-cards].about-core-cards--stack > .about-core-card:nth-child(5) {
  transform: translateY(1.52rem) scale(0.84);
  z-index: 1;
}

/* FLIP: isolate card motion from default hover/long transitions */
.about-core-cards[data-about-core-cards].about-core-cards--flip-running .about-core-card {
  transition:
    transform 2.025s var(--ease-enter),
    box-shadow 0.22s ease,
    border-color 0.22s ease !important;
}

@media (min-width: 640px) {
  .about-core-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .about-core-cards > :nth-child(5) {
    grid-column: 1 / -1;
    max-width: none;
    justify-self: stretch;
  }
}

@media (min-width: 1024px) {
  .about-core-cards {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    max-width: 64rem;
  }

  .about-core-cards > :nth-child(1),
  .about-core-cards > :nth-child(2),
  .about-core-cards > :nth-child(3) {
    grid-column: span 2;
    max-width: none;
    justify-self: stretch;
  }

  .about-core-cards > :nth-child(4),
  .about-core-cards > :nth-child(5) {
    grid-column: span 3;
    max-width: none;
    justify-self: stretch;
  }
}

.about-core-card {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  align-items: center;
  text-align: center;
  height: 100%;
  padding: clamp(1rem, 2.2vw, 1.25rem) clamp(1rem, 2.2vw, 1.35rem);
  border-radius: calc(var(--radius) + 4px);
  border: 1px solid rgba(255, 255, 255, 0.09);
  /* Solid surface 鈥?backdrop-filter + hover transform caused scroll/hover jank on desktop */
  background: rgba(22, 28, 38, 0.88);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
  transition:
    opacity 1s var(--ease-smooth),
    transform 1s var(--ease-smooth),
    box-shadow 0.22s ease,
    border-color 0.22s ease;
  position: relative;
  overflow: hidden;
  cursor: default;
}

html.perf-lite .about-core-card,
html.perf-lite .about-page--light .about-core-card {
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  will-change: auto;
}

/* Core deck motion is driven by FLIP in site.js (no double opacity fight with section .reveal). */

.about-page--light .about-core-card {
  background: rgba(241, 245, 249, 0.86);
  border-color: #e2e8f0;
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.06);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

@media (hover: hover) and (pointer: fine) {
  .about-core-card:hover {
    box-shadow:
      0 0 0 1px rgba(56, 189, 248, 0.22),
      0 16px 40px rgba(0, 0, 0, 0.35);
    border-color: rgba(56, 189, 248, 0.28);
  }
}

.about-core-card::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.04) 0%, rgba(255, 255, 255, 0) 55%);
  opacity: 0.5;
}

/* Keep inner content stable (no moving text/icons). */
.about-core-card__kicker,
.about-core-card__note,
.about-core-card__detail,
.about-core-card__icon,
.about-core-card__icon svg {
  transform: none !important;
}

.about-core-card::after {
  content: none;
}

.about-page--light .about-core-card::before {
  background: linear-gradient(135deg, rgba(10, 43, 78, 0.06) 0%, rgba(255, 255, 255, 0) 55%);
  opacity: 0.85;
}

.about-page--light .about-core-card:hover {
  box-shadow: 0 18px 44px rgba(10, 43, 78, 0.14);
}

@media (pointer: coarse) {
  .about-core-card:hover {
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
  }
}

.about-core-card__kicker {
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  font-size: clamp(1.05rem, 2.4vw, 1.35rem);
  font-weight: 800;
  line-height: 1.25;
  letter-spacing: -0.02em;
  color: #f97316;
  width: 100%;
  min-height: 3.15rem;
  padding-left: 0;
}

/* Strict alignment without clipping: allow wrap, keep consistent height via min-height above. */
.about-core-card__kicker > span[data-i18n] {
  display: block;
  text-wrap: balance;
  white-space: normal;
  overflow: visible;
  overflow-wrap: anywhere;
  max-width: 28ch;
}

.about-core-card__kicker::before {
  content: none;
}

.about-page--light .about-core-card__kicker {
  color: #c2410c;
}

.about-core-card__icon {
  flex: none;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 0.85rem;
  display: grid;
  place-items: center;
  color: rgba(253, 186, 116, 0.95);
  background:
    radial-gradient(120% 120% at 20% 10%, rgba(249, 115, 22, 0.22) 0%, rgba(2, 6, 23, 0) 55%),
    linear-gradient(145deg, rgba(255, 255, 255, 0.08) 0%, rgba(2, 6, 23, 0.42) 100%);
  border: 1px solid rgba(249, 115, 22, 0.2);
  box-shadow:
    0 10px 24px rgba(0, 0, 0, 0.25),
    inset 0 1px 0 rgba(255, 255, 255, 0.06);
  transform: translateY(-0.5px);
}

.about-core-card__icon svg {
  width: 1.2rem;
  height: 1.2rem;
  opacity: 0.95;
  display: block;
}

.about-page--light .about-core-card__icon {
  color: rgba(194, 65, 12, 0.9);
  background:
    radial-gradient(120% 120% at 20% 10%, rgba(251, 146, 60, 0.22) 0%, rgba(255, 255, 255, 0) 55%),
    linear-gradient(145deg, rgba(2, 132, 199, 0.06) 0%, rgba(255, 255, 255, 0.92) 100%);
  border-color: rgba(194, 65, 12, 0.16);
  box-shadow:
    0 10px 22px rgba(15, 23, 42, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.6);
}

.about-core-card__note,
.about-core-card__detail {
  margin: 0;
  font-size: clamp(0.78rem, 1.2vw, 0.88rem);
  line-height: 1.45;
  font-weight: 500;
}

/* Tech page: scroll-direction motion (touch + wheel; class names kept as --wheel-) */
.tech-page.tech-page--wheel-down .tech-panel:not(.tech-panel--hero) {
  animation: tech-wheel-down 0.36s var(--ease-smooth) both;
}

.tech-page.tech-page--wheel-up .tech-panel:not(.tech-panel--hero) {
  animation: tech-wheel-up 0.36s var(--ease-smooth) both;
}

.tech-page.tech-page--wheel-down .tech-panel--mature,
.tech-page.tech-page--wheel-up .tech-panel--mature {
  animation-delay: 0.03s;
}

.tech-page.tech-page--wheel-down .tech-panel--strength,
.tech-page.tech-page--wheel-up .tech-panel--strength {
  animation-delay: 0.07s;
}

/* Lighter motion when perf-lite is on (still visible on phone / Windows) */
html.perf-lite .tech-page.tech-page--wheel-down .tech-panel:not(.tech-panel--hero) {
  animation: tech-wheel-down-perf 0.34s var(--ease-smooth) both;
}

html.perf-lite .tech-page.tech-page--wheel-up .tech-panel:not(.tech-panel--hero) {
  animation: tech-wheel-up-perf 0.34s var(--ease-smooth) both;
}

html.perf-lite .tech-page.tech-page--wheel-down .tech-panel--mature,
html.perf-lite .tech-page.tech-page--wheel-up .tech-panel--mature {
  animation-delay: 0.02s;
}

html.perf-lite .tech-page.tech-page--wheel-down .tech-panel--strength,
html.perf-lite .tech-page.tech-page--wheel-up .tech-panel--strength {
  animation-delay: 0.05s;
}

@keyframes tech-wheel-down {
  0% {
    opacity: 0.995;
    transform: translateY(0);
  }
  40% {
    opacity: 0.88;
    transform: translateY(5px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes tech-wheel-up {
  0% {
    opacity: 0.995;
    transform: translateY(0);
  }
  40% {
    opacity: 0.9;
    transform: translateY(-5px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes tech-wheel-down-perf {
  0% {
    opacity: 1;
    transform: translateY(0);
  }
  45% {
    opacity: 0.97;
    transform: translateY(3px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes tech-wheel-up-perf {
  0% {
    opacity: 1;
    transform: translateY(0);
  }
  45% {
    opacity: 0.97;
    transform: translateY(-3px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 900px), (pointer: coarse) {
  .tech-page.tech-page--wheel-down .tech-panel,
  .tech-page.tech-page--wheel-up .tech-panel {
    animation: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .tech-page.tech-page--wheel-down .tech-panel,
  .tech-page.tech-page--wheel-up .tech-panel {
    animation: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .about-core-cards[data-about-core-cards].about-core-cards--stack > .about-core-card {
    transform: none !important;
  }
  .about-core-cards[data-about-core-cards] > .about-core-card {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    will-change: auto !important;
  }
  .about-core-cards[data-about-core-cards].about-core-cards--flip-running .about-core-card {
    transition: none !important;
  }
  .about-core-card::after {
    transition: none;
  }
}

.about-page:not(.about-page--light) .about-core-card__note,
.about-page:not(.about-page--light) .about-core-card__detail {
  color: rgba(241, 245, 249, 0.84);
}

.about-page--light .about-core-card__note,
.about-page--light .about-core-card__detail {
  color: #64748b;
}

/* Blocks 2 & 3: align panels with core-card family */
.about-page__panel.about-split {
  border-radius: calc(var(--radius) + 6px);
  padding: clamp(1.25rem, 2.8vw, 1.65rem) clamp(1.15rem, 2.8vw, 1.5rem);
}

.about-page__panel.about-block {
  max-width: min(52rem, 100%);
  padding: clamp(1.35rem, 3vw, 1.85rem) clamp(1.2rem, 2.8vw, 1.55rem);
}

.about-split {
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  gap: clamp(1.25rem, 3vw, 2rem);
  align-items: center;
  padding: clamp(1rem, 2.5vw, 1.35rem);
  border-radius: calc(var(--radius) + 4px);
}

.about-split--reverse {
  direction: rtl;
}

.about-split--reverse > * {
  direction: ltr;
}

.about-split__figure {
  margin: 0;
  border-radius: var(--radius);
  overflow: hidden;
  border: 1px solid rgba(56, 189, 248, 0.15);
  aspect-ratio: 4 / 3;
  background: #0c1018;
}

/* About 搂4 鈥?split with SVG art panel (no photo) */
.about-split__art {
  margin: 0;
  border-radius: var(--radius);
  overflow: hidden;
  min-height: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(0.75rem, 2vw, 1.25rem);
  border: 1px solid transparent;
  background: linear-gradient(145deg, rgba(56, 189, 248, 0.05) 0%, transparent 62%);
}

.about-page--light .about-split__art {
  background: linear-gradient(145deg, rgba(3, 105, 161, 0.06) 0%, transparent 65%);
  border-color: rgba(10, 43, 78, 0.06);
}

.about-s4__svg {
  width: 100%;
  max-width: 260px;
  height: auto;
  color: rgba(56, 189, 248, 0.5);
  opacity: 0.85;
}

.about-page--light .about-s4__svg {
  color: rgba(3, 105, 161, 0.42);
  opacity: 0.95;
}

@media (max-width: 900px) {
  .about-s4__art {
    min-height: 180px;
    max-height: 240px;
  }
}

/* Hairline barrier between Rooted and downstream sections */
.about-page__section-gap {
  width: 100%;
  padding: clamp(0.65rem, 2vw, 1.15rem) clamp(1rem, 4vw, 2rem);
  margin: 0;
  box-sizing: border-box;
}

.about-page__rule {
  display: block;
  width: 100%;
  max-width: min(48rem, 100%);
  height: 1px;
  margin: 0 auto;
  border: 0;
  background: linear-gradient(
    90deg,
    rgba(255, 255, 255, 0) 0%,
    rgba(148, 163, 184, 0.12) 18%,
    rgba(148, 163, 184, 0.22) 50%,
    rgba(148, 163, 184, 0.12) 82%,
    rgba(255, 255, 255, 0) 100%
  );
  box-shadow:
    0 1px 0 rgba(0, 0, 0, 0.4),
    0 -1px 0 rgba(255, 255, 255, 0.04);
}

.about-page--light .about-page__rule {
  background: linear-gradient(
    90deg,
    rgba(15, 23, 42, 0) 0%,
    rgba(71, 85, 105, 0.15) 15%,
    rgba(71, 85, 105, 0.28) 50%,
    rgba(71, 85, 105, 0.15) 85%,
    rgba(15, 23, 42, 0) 100%
  );
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.55),
    0 -1px 0 rgba(15, 23, 42, 0.04);
}

/* About 搂1: centered title 鈫?icon+metrics 鈫?body copy 鈥?edgeless (no outer card; blends with page) */
.about-s1-stack {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: clamp(1.35rem, 3.5vw, 2rem);
  padding: clamp(1.5rem, 3.5vw, 2.25rem) 0;
  border: none;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.about-page:not(.about-page--light) .about-s1-stack {
  border: none;
  background: transparent;
  box-shadow: none;
}

.about-page--light .about-s1-stack {
  background: transparent;
  border: none;
  box-shadow: none;
}

.about-s1-stack__title {
  margin: 0;
  max-width: 38rem;
  font-size: clamp(1.2rem, 2.6vw, 1.55rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.25;
}

.about-page:not(.about-page--light) .about-s1-stack__title {
  color: #f1f5f9;
}

.about-page--light .about-s1-stack__title {
  color: #0a2b4e;
}

.about-s1-stack__stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(0.75rem, 2vw, 1.1rem);
  width: 100%;
  max-width: 56rem;
  list-style: none;
  margin: 0;
  padding: clamp(1.35rem, 3vw, 1.85rem) 0;
  border-block: 1px solid rgba(255, 255, 255, 0.09);
}

.about-page--light .about-s1-stack__stats {
  border-block-color: rgba(10, 43, 78, 0.1);
}

.about-s1-stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.45rem;
  padding: clamp(0.35rem, 1vw, 0.5rem) clamp(0.5rem, 1.5vw, 0.85rem);
  border-radius: 0;
  border: none;
  background: transparent;
  box-shadow: none;
}

.about-page--light .about-s1-stat {
  background: transparent;
  box-shadow: none;
}

/* Metrics: slow one-time scale when stats strip enters view (see data-reveal-tight + initReveal) */
.about-s1-stack__stats.reveal:not(.is-in) .about-s1-stat__value {
  opacity: 0;
  transform: scale(0.88);
}

.about-s1-stack__stats.reveal.is-in .about-s1-stat__value {
  /* Long ease-out on two keyframes 鈥?curve does the smoothing, no overshoot snap */
  animation: about-s1-value-pop 1.85s var(--ease-smooth) both;
}

.about-s1-stack__stats.reveal.is-in .about-s1-stat--d1 .about-s1-stat__value {
  animation-delay: 0.18s;
}
.about-s1-stack__stats.reveal.is-in .about-s1-stat--d2 .about-s1-stat__value {
  animation-delay: 0.34s;
}
.about-s1-stack__stats.reveal.is-in .about-s1-stat--d3 .about-s1-stat__value {
  animation-delay: 0.5s;
}
.about-s1-stack__stats.reveal.is-in .about-s1-stat--d4 .about-s1-stat__value {
  animation-delay: 0.66s;
}

@keyframes about-s1-value-pop {
  from {
    opacity: 0;
    transform: scale(0.88);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

.about-s1-stat__icon {
  color: #38bdf8;
  width: clamp(48px, 11vw, 64px);
  height: clamp(48px, 11vw, 64px);
  display: flex;
  align-items: center;
  justify-content: center;
  filter: drop-shadow(0 0 10px rgba(56, 189, 248, 0.22));
}

.about-s1-stat__icon svg {
  width: 100%;
  height: 100%;
}

.about-s1-stat__value {
  font-size: clamp(1.35rem, 3.2vw, 2rem);
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -0.03em;
  color: #e67e22;
  transform-origin: center center;
}

.about-s1-stat__value--compact {
  font-size: clamp(1.05rem, 2.4vw, 1.45rem);
  line-height: 1.15;
}

.about-s1-stat__label {
  font-size: clamp(0.68rem, 1.5vw, 0.8rem);
  line-height: 1.35;
  font-weight: 600;
  color: #cbd5e1;
  max-width: 12rem;
}

.about-page--light .about-s1-stat__label {
  color: #0a2b4e;
}

.about-s1-stack__p {
  margin: 0;
  max-width: 48rem;
  font-size: 0.92rem;
  line-height: 1.65;
  text-align: center;
}

.about-page:not(.about-page--light) .about-s1-stack__p {
  color: #cbd5e1;
}

.about-page--light .about-s1-stack__p {
  color: #2c4a6e;
  font-size: 0.95rem;
}

@media (max-width: 900px) {
  .about-s1-stack__stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .about-s1-stack__stats {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  .about-s1-stack__stats.reveal:not(.is-in) .about-s1-stat__value,
  .about-s1-stack__stats.reveal.is-in .about-s1-stat__value {
    animation: none;
    opacity: 1;
    transform: none;
  }

}

.about-split__exp-visual {
  margin: 0;
  border-radius: var(--radius);
  overflow: hidden;
  border: 1px solid rgba(56, 189, 248, 0.15);
  aspect-ratio: 4 / 3;
  background-color: #0c1018;
  background-image: var(--about-exp-bg);
  background-size: cover;
  background-position: center;
  filter: saturate(0.88) contrast(1.06);
  min-height: 0;
}

.about-split__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.45s ease;
}

.about-split:hover .about-split__img {
  transform: scale(1.03);
}

@media (prefers-reduced-motion: reduce) {
  .about-split:hover .about-split__img {
    transform: none;
  }
}

.about-split__body {
  padding: 0.25rem 0;
}

/* About 搂4: center copy for research collaborations */
.about-s4 .about-split__body {
  text-align: left;
}

.about-s4__kicker {
  margin: 0 0 0.4rem;
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0;
  font-size: 1.05rem;
  font-weight: 750;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(186, 230, 253, 0.92);
}

.about-s4__kicker::before {
  content: none;
}

.about-s4__kicker::after {
  content: "";
  display: block;
  width: 132px;
  height: 2px;
  margin-top: 0.65rem;
  background: rgba(56, 189, 248, 0.92);
  border-radius: 999px;
  box-shadow:
    0 0 0 1px rgba(56, 189, 248, 0.12),
    0 0 18px rgba(56, 189, 248, 0.28),
    0 0 40px rgba(56, 189, 248, 0.16);
}

.about-s4__tags {
  margin-top: 0.95rem;
  justify-content: flex-start;
}

.about-s4__tags span {
  position: relative;
  padding-left: 0;
  font-weight: 700;
  font-style: italic;
}

.about-s4__tags span::before {
  content: none;
}

.about-s4__tags span:hover {
  transform: none;
  background: none;
  border-color: inherit;
  box-shadow: none;
}

.about-s4__tags span:hover::before {
  content: none;
}

.about-page--light .about-s4__kicker {
  color: rgba(10, 43, 78, 0.85);
}

.about-page--light .about-s4__kicker::before {
  background: rgba(3, 105, 161, 0.7);
  box-shadow: none;
}

.about-s4.about-split {
  position: relative;
  min-height: clamp(320px, 42vw, 420px);
  overflow: hidden;
}

/* Full-bleed immersive band (edge-to-edge, no card radius) */
.about-s4.about-page__panel.about-split {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  border-radius: 0;
  padding: 0;
}

/* (Arrow connector removed because closing section removed.) */

.about-page--light .about-s4.about-page__panel.about-split {
  border-radius: 0;
}

.about-s4 .about-split__art {
  position: absolute;
  inset: 0;
  margin: 0;
  border-radius: 0;
  padding: 0;
  /* No top scrim 鈥?only a light bottom read fade so copy stays legible */
  background: linear-gradient(180deg, rgba(2, 6, 23, 0.28) 0%, rgba(2, 6, 23, 0.42) 38%, rgba(2, 6, 23, 0.68) 76%, rgba(2, 6, 23, 0.88) 100%);
}

/* About 搂4: real-world photo backdrop (replaces line art) */
.about-s4 .about-split__art::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 1;
  /* Narrower decode than 2400w 鈥?enough for band, less main-thread work while scrolling */
  background-image:
    linear-gradient(180deg, rgba(2, 6, 23, 0.18) 0%, rgba(2, 6, 23, 0.28) 34%, rgba(2, 6, 23, 0.46) 68%, rgba(2, 6, 23, 0.58) 100%),
    url("https://images.pexels.com/photos/256262/pexels-photo-256262.jpeg?auto=compress&cs=tinysrgb&w=1600");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  filter: none;
  transform: translateZ(0);
  transition: none;
  will-change: auto;
}

.about-s4.reveal.is-in .about-split__art::before {
  transform: translateZ(0);
}

.about-page--light .about-s4 .about-split__art {
  background: linear-gradient(180deg, transparent 0%, transparent 58%, rgba(255, 255, 255, 0.55) 88%, rgba(255, 255, 255, 0.88) 100%);
}

.about-page--light .about-s4 .about-split__art::before {
  opacity: 1;
  background-image:
    url("https://images.pexels.com/photos/256262/pexels-photo-256262.jpeg?auto=compress&cs=tinysrgb&w=1600");
  filter: none;
  transform: translateZ(0);
  transition: none;
  will-change: auto;
}

.about-page--light .about-s4.reveal.is-in .about-split__art::before {
  transform: translateZ(0);
}

.about-s4 .about-s4__svg {
  max-width: 520px;
  opacity: 0.22;
  transform: translateY(6px);
}

.about-s4 .about-split__body {
  position: relative;
  z-index: 2;
  max-width: 46rem;
  margin: 0 auto;
  padding: clamp(1.4rem, 3.2vw, 2.2rem);
  min-height: clamp(320px, 42vw, 420px);
  display: grid;
  place-items: center;
  text-wrap: balance;
  justify-items: start;
}

.about-s4 .about-split__h {
  font-size: clamp(1rem, 2vw, 1.18rem);
  margin: 0.1rem 0 0.2rem;
  letter-spacing: -0.03em;
  text-shadow: 0 2px 14px rgba(0, 0, 0, 0.35);
}

.about-s4__partners {
  margin: 0.15rem 0 0.55rem;
}

.about-s4__partner-row {
  margin: 0;
  font-size: 0.98rem;
  font-weight: 900;
  font-style: italic;
  letter-spacing: -0.01em;
  text-shadow: 0 1px 10px rgba(0, 0, 0, 0.32);
  position: relative;
  padding-left: 1.1rem;
}

.about-s4__partner-row::before {
  content: "路";
  position: absolute;
  left: 0;
  top: 0;
  color: rgba(226, 232, 240, 0.7);
}

.about-s4__partner-row + .about-s4__partner-row {
  margin-top: 0.25rem;
}

.about-s4__partner-em {
  font-weight: 900;
  color: rgba(241, 245, 249, 0.96);
  background: none;
  -webkit-background-clip: initial;
  background-clip: initial;
  filter: none;
}

.about-s4__partner-sep {
  display: none;
}

.about-page--light .about-s4__partners {
  text-shadow: none;
}

.about-page--light .about-s4__partner-row {
  text-shadow: none;
}

.about-page--light .about-s4__partner-em {
  filter: none;
}

.about-s4 .about-split__p {
  max-width: 42rem;
  font-size: clamp(0.92rem, 1.6vw, 1.02rem);
  line-height: 1.72;
  text-shadow: 0 1px 10px rgba(0, 0, 0, 0.32);
}

.about-page:not(.about-page--light) .about-s4 .about-split__p {
  color: rgba(226, 232, 240, 0.88);
}

.about-page--light .about-s4 .about-s4__svg {
  opacity: 0.18;
}

.about-split__h {
  font-size: clamp(1.1rem, 2.2vw, 1.35rem);
  font-weight: 700;
  margin: 0 0 0.65rem;
  letter-spacing: -0.02em;
}

.about-page:not(.about-page--light) .about-split__h {
  color: #f1f5f9;
}

.about-split__p {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.6;
}

.about-page:not(.about-page--light) .about-split__p {
  color: #cbd5e1;
}

.about-page--light .about-split__p {
  font-size: 0.95rem;
}

.about-split__body .about-split__p + .about-split__p {
  margin-top: 0.75rem;
}

.about-page:not(.about-page--light) .about-block {
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.05) 0%, rgba(6, 8, 15, 0.72) 100%);
  box-shadow: 0 22px 56px rgba(0, 0, 0, 0.33);
}

.about-page:not(.about-page--light) .about-block--band {
  border-color: rgba(56, 189, 248, 0.14);
  background: linear-gradient(152deg, rgba(56, 189, 248, 0.07) 0%, rgba(6, 10, 20, 0.82) 55%, rgba(4, 8, 16, 0.94) 100%);
}

.about-page:not(.about-page--light) .about-block--closing {
  position: relative;
  border-color: rgba(56, 189, 248, 0.18);
  background: linear-gradient(165deg, rgba(15, 23, 42, 0.55) 0%, rgba(2, 6, 18, 0.92) 100%);
  box-shadow:
    0 22px 56px rgba(0, 0, 0, 0.33),
    inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.about-page:not(.about-page--light) .about-block--closing::before {
  content: "";
  position: absolute;
  inset: -90px -20px auto -20px;
  height: 180px;
  pointer-events: none;
  background:
    radial-gradient(38px 38px at 18% 85%, rgba(226, 232, 240, 0.16) 0%, rgba(226, 232, 240, 0.06) 38%, rgba(2, 6, 23, 0) 70%),
    radial-gradient(64px 64px at 32% 92%, rgba(56, 189, 248, 0.16) 0%, rgba(56, 189, 248, 0.06) 42%, rgba(2, 6, 23, 0) 74%),
    radial-gradient(52px 52px at 52% 78%, rgba(230, 126, 34, 0.14) 0%, rgba(230, 126, 34, 0.05) 45%, rgba(2, 6, 23, 0) 75%),
    radial-gradient(92px 92px at 72% 90%, rgba(226, 232, 240, 0.14) 0%, rgba(226, 232, 240, 0.05) 44%, rgba(2, 6, 23, 0) 76%),
    radial-gradient(46px 46px at 86% 76%, rgba(56, 189, 248, 0.14) 0%, rgba(56, 189, 248, 0.05) 42%, rgba(2, 6, 23, 0) 76%),
    linear-gradient(180deg, rgba(2, 6, 23, 0.0) 0%, rgba(2, 6, 23, 0.55) 100%);
  filter: blur(0.2px);
  opacity: 0.95;
}

.about-block--closing {
  text-align: left;
}

.about-block--closing .about-block__h {
  margin-bottom: 0.6rem;
  letter-spacing: -0.03em;
}

.about-page:not(.about-page--light) .about-block--closing .about-block__h {
  color: #f1f5f9;
  background: none;
  -webkit-background-clip: initial;
  background-clip: initial;
  filter: none;
}

.about-block--closing .about-block__p {
  max-width: 46rem;
  margin-inline: 0;
  font-size: clamp(0.92rem, 1.4vw, 1.02rem);
  line-height: 1.75;
}

/* Built (closing) 鈥?summary card style */
.about-page:not(.about-page--light) .about-block--closing {
  border-color: rgba(56, 189, 248, 0.14);
  background:
    radial-gradient(900px 280px at 18% 0%, rgba(56, 189, 248, 0.08) 0%, rgba(2, 6, 23, 0) 55%),
    radial-gradient(900px 280px at 78% 18%, rgba(230, 126, 34, 0.08) 0%, rgba(2, 6, 23, 0) 58%),
    linear-gradient(165deg, rgba(15, 23, 42, 0.62) 0%, rgba(2, 6, 18, 0.94) 100%);
  box-shadow:
    0 26px 72px rgba(0, 0, 0, 0.36),
    inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.about-page:not(.about-page--light) .about-block--closing .about-block__h {
  position: relative;
  padding-left: 0.95rem;
}

.about-page:not(.about-page--light) .about-block--closing .about-block__h::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.25rem;
  bottom: 0.25rem;
  width: 3px;
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(56, 189, 248, 0.95) 0%, rgba(230, 126, 34, 0.92) 100%);
  box-shadow:
    0 0 18px rgba(56, 189, 248, 0.18),
    0 0 22px rgba(230, 126, 34, 0.14);
}

.about-page:not(.about-page--light) .about-block--closing .about-block__p {
  color: #cbd5e1;
}

.about-block {
  padding: clamp(1.1rem, 2.6vw, 1.55rem) clamp(1rem, 2.5vw, 1.35rem);
  border-radius: calc(var(--radius) + 4px);
  max-width: 52rem;
  margin-inline: auto;
}

.about-block__h {
  font-size: clamp(1.05rem, 2.1vw, 1.32rem);
  font-weight: 700;
  margin: 0 0 0.85rem;
  letter-spacing: -0.02em;
  line-height: 1.3;
}

.about-page:not(.about-page--light) .about-block__h {
  color: #f1f5f9;
}

.about-block__lead {
  margin: 0 0 0.7rem;
  font-size: 0.92rem;
  line-height: 1.58;
  font-weight: 500;
}

.about-page:not(.about-page--light) .about-block__lead {
  color: #cbd5e1;
}

.about-block__list {
  margin: 0 0 0.9rem;
  padding-left: 1.2rem;
  font-size: 0.9rem;
  line-height: 1.58;
}

.about-page:not(.about-page--light) .about-block__list {
  color: #cbd5e1;
}

.about-block__list li + li {
  margin-top: 0.45rem;
}

.about-block__list--s3 {
  margin-top: 0.5rem;
  margin-bottom: 0.85rem;
}

.about-block__p {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.62;
}

.about-page:not(.about-page--light) .about-block__p {
  color: #cbd5e1;
}

.about-page--light .about-block__p {
  font-size: 0.95rem;
}

.about-block__p + .about-block__p {
  margin-top: 0.7rem;
}

.about-block--accent {
  border-color: rgba(56, 189, 248, 0.2);
  background: linear-gradient(155deg, rgba(15, 23, 42, 0.42) 0%, rgba(2, 6, 23, 0.88) 100%);
  box-shadow:
    0 26px 64px rgba(0, 0, 0, 0.38),
    inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

.about-split__list {
  margin: 0;
  padding-left: 1.15rem;
  color: #cbd5e1;
  font-size: 0.88rem;
  line-height: 1.55;
}

.about-split__list li + li {
  margin-top: 0.45rem;
}

@media (max-width: 900px) {
  .about-split,
  .about-split--reverse {
    grid-template-columns: 1fr;
    direction: ltr;
  }

  .about-split__figure {
    aspect-ratio: 16 / 10;
    max-height: 280px;
  }

  .about-split__exp-visual {
    aspect-ratio: 16 / 10;
    max-height: 280px;
  }
}

.about-s4__partners {
  display: none;
}

.about-s4__partner-row--subtle {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  margin: 0.45rem 0 1rem;
  padding-left: 0;
  list-style: none;
  font-size: clamp(0.88rem, 1.35vw, 0.98rem);
  font-weight: 500;
  line-height: 1.4;
  color: rgba(248, 250, 252, 0.92);
}

.about-s4__partner-row--subtle::before {
  content: "";
  display: block;
  width: 0.38rem;
  height: 0.38rem;
  flex: 0 0 0.38rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.95);
}

.about-s4__partner-row--subtle::marker {
  content: "";
}

.about-s4__partner-row--subtle .about-s4__partner-em {
  font-size: inherit;
  font-weight: inherit;
  color: inherit;
}


/* Technology: hero + flow rail + image path cards */
.tech-hero {
  position: relative;
  min-height: 0;
  display: flex;
  align-items: flex-end;
  background-color: #070a12;
  background-image: var(--tech-hero);
  background-size: cover;
  background-position: center;
}

.tech-hero__scrim {
  position: absolute;
  inset: 0;
  z-index: 0;
  background: linear-gradient(
    190deg,
    rgba(6, 8, 15, 0.2) 0%,
    rgba(6, 8, 15, 0.65) 50%,
    rgba(6, 8, 15, 0.95) 100%
  );
  pointer-events: none;
}

/* Soft bottom fade into the hero鈫攎ature image bridge */
.tech-hero::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  height: min(38%, 260px);
  pointer-events: none;
  background: linear-gradient(
    180deg,
    rgba(6, 8, 15, 0) 0%,
    rgba(6, 8, 15, 0.35) 45%,
    rgba(6, 8, 15, 0.92) 100%
  );
}

.tech-hero__inner {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
  /* Lift title + tagline slightly from the hero bottom (align-items: flex-end on .tech-hero) */
  margin-bottom: clamp(3rem, 8vh, 5.5rem);
  padding: clamp(2.25rem, 7vw, 3.5rem) clamp(1.25rem, 4vw, 2rem) clamp(1rem, 2.5vw, 1.5rem);
}

.about-s4__partner-row--featured {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  margin: 0.8rem 0 1.15rem;
  font-size: clamp(1rem, 1.8vw, 1.18rem);
  font-weight: 700;
  line-height: 1.4;
  color: #f8fafc;
}

.about-s4__partner-row--featured::before {
  content: "";
  width: 0.72rem;
  height: 0.72rem;
  flex: 0 0 0.72rem;
  border-radius: 999px;
  background: #ef4444;
  box-shadow: 0 0 0 4px rgba(239, 68, 68, 0.14);
}

.about-s4__partner-row--featured .about-s4__partner-em {
  font-size: inherit;
  font-weight: inherit;
  color: inherit;
}
  margin: 0 0 0.85rem;
  font-size: clamp(1.55rem, 3.8vw, 2.1rem);
  font-weight: 700;
  letter-spacing: -0.03em;
  color: transparent;
  background: linear-gradient(120deg, #e0f2fe 0%, #38bdf8 55%, #0ea5e9 100%);
  -webkit-background-clip: text;
  background-clip: text;
  filter: drop-shadow(0 2px 20px rgba(0, 0, 0, 0.4));
}

/* Full PFAS treatment train 鈥?single line, emphasised */
.tech-hero__tag-rail {
  margin: 0;
  max-width: 36rem;
}

.tech-hero__rail-label {
  display: inline-block;
  padding: 0.5rem 1.15rem;
  border-radius: 999px;
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #e0f2fe;
  background: linear-gradient(135deg, rgba(56, 189, 248, 0.22), rgba(15, 23, 42, 0.55));
  border: 1px solid rgba(56, 189, 248, 0.38);
  box-shadow:
    0 6px 28px rgba(0, 0, 0, 0.35),
    inset 0 1px 0 rgba(255, 255, 255, 0.07);
  text-shadow: 0 1px 18px rgba(56, 189, 248, 0.35);
}

/* Mature solutions: centered title + full-width gradient band (image row extends); features live inside the band */
.tech-uvcore-bridge {
  position: relative;
  margin-top: 0;
  margin-bottom: clamp(0.9rem, 2.2vw, 1.25rem);
  padding-top: 0;
}

.tech-uvcore-bridge--rail {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: clamp(0.55rem, 1.5vw, 0.85rem);
}

.tech-uvcore-bridge__heading {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  max-width: 1180px;
  margin-inline: auto;
  text-align: center;
}

.tech-uvcore-bridge__title--hero {
  margin: 0;
  width: 100%;
  text-align: center;
  font-size: clamp(1.35rem, 3.15vw, 1.72rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.15;
  background: linear-gradient(
    100deg,
    #38bdf8 0%,
    #7dd3fc 32%,
    #bae6fd 58%,
    #f8fafc 82%,
    #ffffff 100%
  );
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 2px 16px rgba(56, 189, 248, 0.28));
  transform: translateY(0.35rem);
}

@supports not ((-webkit-background-clip: text) or (background-clip: text)) {
  .tech-uvcore-bridge__title--hero {
    color: #bae6fd;
    background: none;
    -webkit-text-fill-color: unset;
    filter: none;
  }
}

.tech-uvcore-bridge__band {
  position: relative;
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  box-sizing: border-box;
  overflow: hidden;
  /* Full-bleed strip: horizontal edge-to-edge; vertical padding only */
  padding: clamp(0.55rem, 1.6vw, 0.95rem) 0;
}

.tech-uvcore-bridge__band-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  /* Multi-stop: black/slate edges 鈫?long smooth falloff 鈫?barely-there cool violet behind photo (reads as one field with the image) */
  background:
    radial-gradient(
      ellipse 145% 135% at 50% 50%,
      rgba(30, 27, 48, 0.55) 0%,
      rgba(18, 16, 32, 0.72) 18%,
      rgba(10, 12, 24, 0.88) 38%,
      rgba(6, 8, 18, 0.94) 58%,
      rgba(2, 4, 12, 0.97) 78%,
      rgba(0, 0, 0, 0.99) 100%
    ),
    radial-gradient(
      ellipse 72% 78% at 50% 48%,
      rgba(165, 180, 252, 0.09) 0%,
      rgba(129, 140, 248, 0.05) 28%,
      rgba(79, 70, 229, 0.03) 48%,
      transparent 72%
    ),
    linear-gradient(
      90deg,
      rgba(0, 0, 0, 0.94) 0%,
      rgba(8, 8, 18, 0.55) 8%,
      rgba(12, 10, 22, 0.18) 22%,
      rgba(10, 10, 20, 0.14) 50%,
      rgba(12, 10, 22, 0.18) 78%,
      rgba(8, 8, 18, 0.55) 92%,
      rgba(0, 0, 0, 0.94) 100%
    ),
    linear-gradient(
      180deg,
      rgba(0, 0, 0, 0.42) 0%,
      rgba(4, 6, 14, 0.12) 28%,
      rgba(4, 6, 14, 0.1) 50%,
      rgba(4, 6, 14, 0.12) 72%,
      rgba(0, 0, 0, 0.38) 100%
    );
}

/* Orbit: L/R copy 路 centre UV 路 dashed link + node 路 soft vignette 路 slide-in toward centre */
.tech-uvcore-bridge__stage {
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  overflow: visible;
}

.tech-uvcore-bridge__stage--orbit {
  display: grid;
  grid-template-columns: minmax(0, 0.66fr) auto minmax(0, 0.66fr);
  align-items: center;
  gap: clamp(0, 0.25vw, 0.25rem);
  min-height: clamp(220px, 34vh, 380px);
  width: 100%;
  max-width: 100%;
  margin: 0;
  box-sizing: border-box;
  padding: clamp(0.35rem, 1.5vw, 0.75rem) clamp(0.75rem, 4vw, 2.25rem);
}

.tech-uvcore-bridge__wing {
  min-width: 0;
}

.tech-uvcore-bridge__wing--left {
  justify-self: stretch;
  padding-right: clamp(0.35rem, 2.4vw, 1.35rem);
}

.tech-uvcore-bridge__wing--left .tech-uvcore-bridge__orbit-list {
  align-items: flex-end;
}

.tech-uvcore-bridge__wing--right {
  justify-self: stretch;
  padding-left: clamp(0.35rem, 2.4vw, 1.35rem);
}

.tech-uvcore-bridge__wing--left,
.tech-uvcore-bridge__wing--right {
  position: relative;
  z-index: 2;
}

.tech-uvcore-bridge__feature-stack {
  position: relative;
  min-height: clamp(180px, 22vw, 230px);
}

.tech-uvcore-bridge__orbit-list--state {
  position: absolute;
  inset: 0;
  justify-content: center;
}

.tech-uvcore-bridge__feature-stack--left .tech-uvcore-bridge__orbit-list--state {
  align-items: flex-end;
}

.tech-uvcore-bridge__feature-stack--right .tech-uvcore-bridge__orbit-list--state {
  align-items: flex-start;
}

.tech-uvcore-bridge__orbit-list--state[data-tech-uv-group^="a"] {
  opacity: calc(var(--tech-uv-a, 1) * 1);
  pointer-events: none;
}

.tech-uvcore-bridge__orbit-list--state[data-tech-uv-group^="b"] {
  opacity: calc(var(--tech-uv-b, 0) * 1);
  pointer-events: none;
}

.tech-uvcore-bridge__orbit-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: clamp(1.1rem, 2.85vw, 1.85rem);
}

.tech-uvcore-bridge__orbit-list--right {
  align-items: flex-start;
}

.tech-uvcore-bridge__wing--right .tech-uvcore-bridge__orbit-item--R {
  justify-content: flex-start;
}

.tech-uvcore-bridge__orbit-item {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  margin: 0;
  padding: 0;
  opacity: 0;
  transition:
    opacity 2.43s cubic-bezier(0.22, 0.61, 0.32, 1),
    transform 2.85s cubic-bezier(0.18, 0.78, 0.22, 1);
}

.tech-uvcore-bridge__orbit-item--L {
  flex-direction: row;
  width: 100%;
  transform: translate3d(calc(-1 * min(92vw, 56rem)), 0, 0);
}

.tech-uvcore-bridge__orbit-item--R {
  flex-direction: row;
  width: 100%;
  transform: translate3d(min(92vw, 56rem), 0, 0);
}

.tech-uvcore-bridge--feat-visible [data-tech-uv-group="a-left"] .tech-uvcore-bridge__orbit-item:nth-child(1) {
  opacity: var(--tech-uv-a, 1);
  transform: translate3d(clamp(0.5rem, 11vw, 5.5rem), 0, 0) scale(calc(0.82 + (var(--tech-uv-a, 1) * 0.18)));
  transition-delay: 0s, 0s;
}

.tech-uvcore-bridge--feat-visible [data-tech-uv-group="a-left"] .tech-uvcore-bridge__orbit-item:nth-child(2) {
  opacity: var(--tech-uv-a, 1);
  transform: translate3d(clamp(0.5rem, 11vw, 5.5rem), 0, 0) scale(calc(0.82 + (var(--tech-uv-a, 1) * 0.18)));
  transition-delay: 0.134s, 0.134s;
}

.tech-uvcore-bridge--feat-visible [data-tech-uv-group="a-right"] .tech-uvcore-bridge__orbit-item:nth-child(1) {
  opacity: var(--tech-uv-a, 1);
  transform: translate3d(clamp(-5.5rem, -11vw, -0.5rem), 0, 0) scale(calc(0.82 + (var(--tech-uv-a, 1) * 0.18)));
  transition-delay: 0.268s, 0.268s;
}

.tech-uvcore-bridge--feat-visible [data-tech-uv-group="a-right"] .tech-uvcore-bridge__orbit-item:nth-child(2) {
  opacity: var(--tech-uv-a, 1);
  transform: translate3d(clamp(-5.5rem, -11vw, -0.5rem), 0, 0) scale(calc(0.82 + (var(--tech-uv-a, 1) * 0.18)));
  transition-delay: 0.402s, 0.402s;
}

.tech-uvcore-bridge--feat-visible [data-tech-uv-group="b-left"] .tech-uvcore-bridge__orbit-item:nth-child(1) {
  opacity: var(--tech-uv-b, 0);
  transform: translate3d(calc(clamp(0.5rem, 11vw, 5.5rem) * var(--tech-uv-b, 0)), 0, 0) scale(calc(0.82 + (var(--tech-uv-b, 0) * 0.18)));
  transition-delay: 0s, 0s;
}

.tech-uvcore-bridge--feat-visible [data-tech-uv-group="b-left"] .tech-uvcore-bridge__orbit-item:nth-child(2) {
  opacity: var(--tech-uv-b, 0);
  transform: translate3d(calc(clamp(0.5rem, 11vw, 5.5rem) * var(--tech-uv-b, 0)), 0, 0) scale(calc(0.82 + (var(--tech-uv-b, 0) * 0.18)));
  transition-delay: 0.134s, 0.134s;
}

.tech-uvcore-bridge--feat-visible [data-tech-uv-group="b-right"] .tech-uvcore-bridge__orbit-item:nth-child(1) {
  opacity: var(--tech-uv-b, 0);
  transform: translate3d(calc(clamp(-5.5rem, -11vw, -0.5rem) * var(--tech-uv-b, 0)), 0, 0) scale(calc(0.82 + (var(--tech-uv-b, 0) * 0.18)));
  transition-delay: 0.268s, 0.268s;
}

.tech-uvcore-bridge--feat-visible [data-tech-uv-group="b-right"] .tech-uvcore-bridge__orbit-item:nth-child(2) {
  opacity: var(--tech-uv-b, 0);
  transform: translate3d(calc(clamp(-5.5rem, -11vw, -0.5rem) * var(--tech-uv-b, 0)), 0, 0) scale(calc(0.82 + (var(--tech-uv-b, 0) * 0.18)));
  transition-delay: 0.402s, 0.402s;
}

.tech-uvcore-bridge__orbit-link--L,
.tech-uvcore-bridge__orbit-link--R {
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  min-width: 0;
  gap: 0;
}

.tech-uvcore-bridge__orbit-link--L {
  flex-direction: row;
  position: relative;
  z-index: 4;
  margin-right: clamp(-1.1rem, -2.2vw, -0.35rem);
}

.tech-uvcore-bridge__orbit-link--R {
  flex-direction: row;
  position: relative;
  z-index: 4;
  margin-left: clamp(-1.1rem, -2.2vw, -0.35rem);
}

.tech-uvcore-bridge__orbit-dash {
  flex: 1 1 auto;
  min-width: 3.25rem;
  height: 0;
  align-self: center;
  border: none;
  display: none;
}

.tech-uvcore-bridge__orbit-node {
  position: relative;
  flex-shrink: 0;
  width: 1.125rem;
  height: 1.125rem;
  margin: 0 1px;
}

.tech-uvcore-bridge__orbit-node__outer {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 2px solid rgba(251, 146, 60, 0.9);
  background:
    radial-gradient(circle at 30% 30%, rgba(254, 215, 170, 0.22), rgba(251, 146, 60, 0) 62%);
  box-sizing: border-box;
  box-shadow:
    0 0 10px rgba(251, 146, 60, 0.18),
    0 0 14px rgba(249, 115, 22, 0.12);
}

.tech-uvcore-bridge__orbit-node__inner {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 8px;
  height: 8px;
  margin: -4px 0 0 -4px;
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(254, 215, 170, 1), rgba(249, 115, 22, 1));
  box-shadow:
    0 0 9px rgba(251, 146, 60, 0.38),
    0 0 14px rgba(249, 115, 22, 0.24);
}

/* Feature-derived concentric rings (from the 4 feature nodes) 鈥?pink 鈫?red */
.tech-uvcore-bridge__orbit-node::after {
  content: "";
  position: absolute;
  inset: -18px;
  border-radius: 50%;
  pointer-events: none;
  opacity: 0;
  transform: scale(0.72);
  background:
    radial-gradient(circle at 50% 50%, rgba(249, 115, 22, 0) 54%, rgba(251, 146, 60, 0.24) 55%, rgba(251, 146, 60, 0) 62%),
    radial-gradient(circle at 50% 50%, rgba(249, 115, 22, 0) 68%, rgba(249, 115, 22, 0.3) 69%, rgba(249, 115, 22, 0) 76%),
    radial-gradient(circle at 50% 50%, rgba(249, 115, 22, 0) 82%, rgba(249, 115, 22, 0.22) 83%, rgba(249, 115, 22, 0) 90%);
  mix-blend-mode: screen;
}

@keyframes techUvNodeRings {
  0% {
    opacity: 0;
    transform: scale(0.62);
  }
  22% {
    opacity: 0.92;
  }
  65% {
    opacity: 0.22;
  }
  100% {
    opacity: 0;
    transform: scale(1.14);
  }
}

.tech-uvcore-bridge--feat-visible [data-tech-uv-group^="a"] .tech-uvcore-bridge__orbit-node::after,
.tech-uvcore-bridge--feat-visible [data-tech-uv-group^="b"] .tech-uvcore-bridge__orbit-node::after {
  animation: techUvNodeRings 1.5s cubic-bezier(0.18, 0.78, 0.22, 1) infinite;
  animation-play-state: running;
}

.tech-uvcore-bridge--feat-visible [data-tech-uv-group="a-left"] .tech-uvcore-bridge__orbit-item:nth-child(1) .tech-uvcore-bridge__orbit-node::after,
.tech-uvcore-bridge--feat-visible [data-tech-uv-group="b-left"] .tech-uvcore-bridge__orbit-item:nth-child(1) .tech-uvcore-bridge__orbit-node::after {
  animation-delay: 0.067s;
}

.tech-uvcore-bridge--feat-visible [data-tech-uv-group="a-left"] .tech-uvcore-bridge__orbit-item:nth-child(2) .tech-uvcore-bridge__orbit-node::after,
.tech-uvcore-bridge--feat-visible [data-tech-uv-group="b-left"] .tech-uvcore-bridge__orbit-item:nth-child(2) .tech-uvcore-bridge__orbit-node::after {
  animation-delay: 0.174s;
}

.tech-uvcore-bridge--feat-visible [data-tech-uv-group="a-right"] .tech-uvcore-bridge__orbit-item:nth-child(1) .tech-uvcore-bridge__orbit-node::after,
.tech-uvcore-bridge--feat-visible [data-tech-uv-group="b-right"] .tech-uvcore-bridge__orbit-item:nth-child(1) .tech-uvcore-bridge__orbit-node::after {
  animation-delay: 0.107s;
}

.tech-uvcore-bridge--feat-visible [data-tech-uv-group="a-right"] .tech-uvcore-bridge__orbit-item:nth-child(2) .tech-uvcore-bridge__orbit-node::after,
.tech-uvcore-bridge--feat-visible [data-tech-uv-group="b-right"] .tech-uvcore-bridge__orbit-item:nth-child(2) .tech-uvcore-bridge__orbit-node::after {
  animation-delay: 0.214s;
}

.tech-uvcore-bridge__orbit-cell {
  display: inline-block;
  flex: 0 0 auto;
  width: fit-content;
  max-width: 100%;
  padding: 0;
  margin: 0;
  border: none;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  position: relative;
  z-index: 1;
}

.tech-uvcore-bridge__wing--right .tech-uvcore-bridge__orbit-cell {
  text-align: right;
}

.tech-uvcore-bridge__orbit-text {
  display: block;
  padding: 0;
  font-size: clamp(0.93rem, 1.48vw, 1.05rem);
  font-weight: 700;
  font-style: italic;
  letter-spacing: -0.015em;
  line-height: 1.38;
  color: rgba(251, 113, 133, 0.97);
  text-shadow:
    0 0 1px rgba(0, 0, 0, 0.9),
    0 1px 3px rgba(0, 0, 0, 0.75),
    0 0 16px rgba(2, 6, 18, 0.55),
    0 0 18px rgba(244, 63, 94, 0.12);
}

.tech-uvcore-bridge__hub {
  position: relative;
  z-index: 1;
  justify-self: center;
  align-self: center;
  display: block;
  width: auto;
  max-width: 100%;
  padding: 0;
  border: none;
  border-radius: 0;
  overflow: visible;
  box-shadow: none;
  background: transparent;
}

.tech-uvcore-bridge__hub-vignette {
  position: absolute;
  inset: -38%;
  z-index: 4;
  pointer-events: none;
  /* Match band tones so photo + vignette read as one layer */
  background: radial-gradient(
    ellipse 100% 95% at 50% 50%,
    rgba(0, 0, 0, 0) 6%,
    rgba(6, 8, 18, 0.04) 42%,
    rgba(4, 6, 14, 0.35) 72%,
    rgba(2, 4, 10, 0.62) 90%,
    rgba(0, 0, 0, 0.45) 100%
  );
}

.tech-uvcore-bridge__visual {
  position: relative;
  z-index: 0;
  display: block;
  width: auto;
  max-width: 100%;
  line-height: 0;
}

.tech-uvcore-bridge__visual-inner {
  position: relative;
  display: block;
  width: fit-content;
  max-width: min(100%, 92vw);
  margin-inline: auto;
  overflow: visible;
  border-radius: 0;
  line-height: 0;
  isolation: isolate;
  /* Long soft alpha falloff: transparent pixels reveal the same band-bg underneath */
  -webkit-mask-image: radial-gradient(
    ellipse 108% 102% at 50% 50%,
    #000 0%,
    #000 68%,
    rgba(0, 0, 0, 0.82) 80%,
    rgba(0, 0, 0, 0.35) 91%,
    transparent 100%
  );
  mask-image: radial-gradient(
    ellipse 108% 102% at 50% 50%,
    #000 0%,
    #000 68%,
    rgba(0, 0, 0, 0.82) 80%,
    rgba(0, 0, 0, 0.35) 91%,
    transparent 100%
  );
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
}

.tech-uvcore-bridge__visual-stage {
  position: relative;
  width: min(88vw, 640px);
  height: clamp(240px, 33vw, 360px);
  isolation: isolate;
}

.tech-uvcore-bridge__visual-frame {
  position: absolute;
  inset: 0;
  margin: 0;
  display: block;
  opacity: 0;
  pointer-events: none;
  transform: translate3d(0, 18px, 0) scale(0.972);
  transform-origin: 50% 50%;
  will-change: opacity, transform, filter;
}

.tech-uvcore-bridge__visual-frame,
.tech-uvcore-bridge__visual-stage,
.tech-uvcore-bridge__visual-inner,
.tech-uvcore-bridge__visual-img {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  background: transparent !important;
}

.tech-uvcore-bridge--reenter .tech-uvcore-bridge__visual-frame {
  transition-duration: 1.22s;
}

.tech-uvcore-bridge__visual-frame--single {
  z-index: 2;
  opacity: calc(var(--tech-uv-a, 1) * 1);
  transform: translate3d(0, calc((1 - var(--tech-uv-a, 1)) * 22px), 0) scale(calc(0.972 + (var(--tech-uv-a, 1) * 0.028)));
  filter: saturate(calc(0.9 + (var(--tech-uv-a, 1) * 0.16))) contrast(calc(0.96 + (var(--tech-uv-a, 1) * 0.08)));
}

.tech-uvcore-bridge__visual-frame--integrated {
  z-index: 1;
  opacity: calc(var(--tech-uv-b, 0) * 1);
  transform: translate3d(0, calc((1 - var(--tech-uv-b, 0)) * 22px), 0) scale(calc(0.972 + (var(--tech-uv-b, 0) * 0.028)));
  filter: saturate(calc(0.9 + (var(--tech-uv-b, 0) * 0.16))) contrast(calc(0.96 + (var(--tech-uv-b, 0) * 0.08)));
}

.tech-uvcore-bridge__mode-stack {
  position: absolute;
  left: 50%;
  top: calc(clamp(0.4rem, 1.25vw, 0.9rem) - 0.7ch);
  z-index: 8;
  display: inline-flex;
  align-items: center;
  gap: clamp(0.55rem, 1vw, 0.9rem);
  transform: translateX(-50%);
  min-width: max-content;
  pointer-events: auto;
}

.tech-uvcore-bridge__mode-copy {
  position: relative;
  display: inline-grid;
  place-items: center;
  min-width: max-content;
}

.tech-uvcore-bridge__mode-label {
  grid-area: 1 / 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.2rem 0.35rem;
  border: none;
  background: transparent;
  color: rgba(236, 254, 255, 0.98);
  font-size: clamp(1rem, 1.7vw, 1.18rem);
  font-weight: 700;
  font-style: italic;
  letter-spacing: 0.015em;
  text-transform: none;
  white-space: nowrap;
  text-shadow:
    0 1px 2px rgba(0, 0, 0, 0.82),
    0 3px 12px rgba(0, 0, 0, 0.45),
    0 0 14px rgba(14, 165, 233, 0.16);
  box-shadow: none;
  transform: translate3d(0, 12px, 0) scale(0.96);
  opacity: 0;
  transition:
    opacity 1.8s cubic-bezier(0.22, 0.61, 0.36, 1),
    transform 2s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.tech-uvcore-bridge__mode-label--a {
  opacity: calc(var(--tech-uv-a, 1) * 1);
  transform: translate3d(0, calc((1 - var(--tech-uv-a, 1)) * 14px), 0) scale(calc(0.96 + (var(--tech-uv-a, 1) * 0.04)));
}

.tech-uvcore-bridge__mode-label--b {
  opacity: calc(var(--tech-uv-b, 0) * 1);
  transform: translate3d(0, calc((1 - var(--tech-uv-b, 0)) * 14px), 0) scale(calc(0.96 + (var(--tech-uv-b, 0) * 0.04)));
}

.tech-uvcore-bridge__mode-arrow {
  position: relative;
  z-index: 2;
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.15rem;
  height: 1.15rem;
  border: none;
  border-radius: 999px;
  background: transparent;
  color: #8ed8ff;
  cursor: pointer;
  transition:
    transform 0.32s cubic-bezier(0.22, 0.61, 0.36, 1),
    filter 0.32s cubic-bezier(0.22, 0.61, 0.36, 1),
    opacity 0.32s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.tech-uvcore-bridge__mode-arrow span {
  display: block;
  font-size: 0.9rem;
  line-height: 1;
  font-weight: 700;
  background: linear-gradient(135deg, #38bdf8 0%, #60a5fa 45%, #2563eb 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 0 8px rgba(59, 130, 246, 0.28));
}

.tech-uvcore-bridge__mode-arrow:hover,
.tech-uvcore-bridge__mode-arrow:focus-visible {
  transform: scale(1.08);
  filter: brightness(1.08);
  outline: none;
}

.tech-uvcore-bridge__mode-arrow:disabled {
  opacity: 0.38;
  cursor: default;
  transform: none;
  filter: none;
}

.tech-uvcore-bridge__visual-inner::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(0, 0, 0, 0.5) 0%, transparent 22%, transparent 78%, rgba(0, 0, 0, 0.5) 100%),
    linear-gradient(180deg, rgba(0, 0, 0, 0.38) 0%, transparent 14%, transparent 86%, rgba(0, 0, 0, 0.42) 100%);
  opacity: calc(0.2 + ((1 - var(--tech-uv-progress, 0)) * 0.28));
  transition: opacity 0.9s cubic-bezier(0.22, 0.61, 0.36, 1);
}

@keyframes techUvCenterLight {
  0% {
    background-position: 0 0, 0 0, 0 112%;
  }
  100% {
    background-position: 0 0, 0 0, 0 -72%;
  }
}

.tech-uvcore-bridge--feat-visible .tech-uvcore-bridge__visual-inner::before {
  opacity: calc(0.2 + ((1 - var(--tech-uv-progress, 0)) * 0.28));
}

/* UV centre down-line removed (user request) */

.tech-uvcore-bridge__visual-img {
  position: relative;
  z-index: 0;
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  object-fit: contain;
  vertical-align: middle;
  border-radius: 0;
}

.tech-uvcore-bridge__visual-img--single {
  object-position: center center;
}

.tech-uvcore-bridge__visual-img--integrated {
  object-position: center center;
}

.tech-uvcore-bridge__visual-stage {
  transition: transform 1.2s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.tech-uvcore-bridge__visual-frame {
  transition:
    opacity 1.15s cubic-bezier(0.22, 0.61, 0.36, 1),
    transform 1.15s cubic-bezier(0.22, 0.61, 0.36, 1),
    filter 1.15s cubic-bezier(0.22, 0.61, 0.36, 1);
}

@media (max-width: 900px) {
  .tech-uvcore-bridge__stage--orbit {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
    min-height: 0;
    gap: clamp(0.75rem, 2.5vw, 1.15rem);
  }

  .tech-uvcore-bridge__wing--left,
  .tech-uvcore-bridge__wing--right {
    z-index: auto;
    padding-left: 0;
    padding-right: 0;
  }

  .tech-uvcore-bridge__feature-stack {
    min-height: auto;
  }

  .tech-uvcore-bridge__orbit-list--state {
    position: relative;
    inset: auto;
  }

  .tech-uvcore-bridge__feature-stack [data-tech-uv-group^="b"] {
    margin-top: calc(clamp(0.9rem, 2vw, 1.2rem) * -1);
  }

  .tech-uvcore-bridge__wing--left {
    grid-row: 1;
  }

  .tech-uvcore-bridge__hub {
    grid-row: 2;
    margin-inline: auto;
  }

  .tech-uvcore-bridge__visual-stage {
    width: min(100%, 420px);
    height: clamp(220px, 52vw, 320px);
  }

  .tech-uvcore-bridge__mode-stack {
    top: calc(0.35rem - 0.7ch);
  }

  .tech-uvcore-bridge__mode-label {
    font-size: 0.86rem;
    letter-spacing: 0.01em;
  }

  .tech-uvcore-bridge__mode-arrow {
    width: 1rem;
    height: 1rem;
  }

  .tech-uvcore-bridge__wing--right {
    grid-row: 3;
  }

  .tech-uvcore-bridge__orbit-item--L {
    flex-direction: column;
    align-items: stretch;
    gap: 0.45rem;
  }

  .tech-uvcore-bridge__orbit-item--L .tech-uvcore-bridge__orbit-link--L {
    flex-direction: column;
    align-items: center;
    min-height: clamp(1.5rem, 5vw, 2.25rem);
  }

  .tech-uvcore-bridge__orbit-item--L .tech-uvcore-bridge__orbit-dash {
    flex: 1 1 auto;
    width: 0;
    min-height: 0.75rem;
    height: auto;
    border-top: none;
    border-left: 2px dashed rgba(244, 63, 94, 0.88);
  }

  .tech-uvcore-bridge__orbit-item--R {
    flex-direction: column-reverse;
    align-items: stretch;
    gap: 0.45rem;
  }

  .tech-uvcore-bridge__orbit-item--R .tech-uvcore-bridge__orbit-link--R {
    flex-direction: column-reverse;
    align-items: center;
    min-height: clamp(1.5rem, 5vw, 2.25rem);
  }

  .tech-uvcore-bridge__orbit-item--R .tech-uvcore-bridge__orbit-dash {
    flex: 1 1 auto;
    width: 0;
    min-height: 0.75rem;
    height: auto;
    border-top: none;
    border-left: 2px dashed rgba(244, 63, 94, 0.88);
  }

  .tech-uvcore-bridge__orbit-cell {
    max-width: 100%;
  }

  .tech-uvcore-bridge__wing--right .tech-uvcore-bridge__orbit-cell {
    text-align: left;
  }

  .tech-uvcore-bridge__orbit-list--right {
    align-items: stretch;
  }

  .tech-uvcore-bridge__wing--right .tech-uvcore-bridge__orbit-item--R {
    justify-content: flex-start;
  }

  .tech-uvcore-bridge__orbit-link--L,
  .tech-uvcore-bridge__orbit-link--R {
    margin-left: 0;
    margin-right: 0;
  }

  .tech-uvcore-bridge__orbit-item--L {
    transform: translate3d(-32vw, 0, 0);
  }

  .tech-uvcore-bridge__orbit-item--R {
    transform: translate3d(32vw, 0, 0);
  }

  .tech-uvcore-bridge--feat-visible .tech-uvcore-bridge__wing--left .tech-uvcore-bridge__orbit-item:nth-child(1),
  .tech-uvcore-bridge--feat-visible .tech-uvcore-bridge__wing--left .tech-uvcore-bridge__orbit-item:nth-child(2) {
    transform: translate3d(clamp(0.25rem, 4vw, 2rem), 0, 0);
  }

  .tech-uvcore-bridge--feat-visible .tech-uvcore-bridge__wing--right .tech-uvcore-bridge__orbit-item:nth-child(1),
  .tech-uvcore-bridge--feat-visible .tech-uvcore-bridge__wing--right .tech-uvcore-bridge__orbit-item:nth-child(2) {
    transform: translate3d(clamp(-2rem, -4vw, -0.25rem), 0, 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .tech-uvcore-bridge__orbit-item,
  .tech-uvcore-bridge--feat-visible .tech-uvcore-bridge__wing--left .tech-uvcore-bridge__orbit-item:nth-child(1),
  .tech-uvcore-bridge--feat-visible .tech-uvcore-bridge__wing--left .tech-uvcore-bridge__orbit-item:nth-child(2),
  .tech-uvcore-bridge--feat-visible .tech-uvcore-bridge__wing--right .tech-uvcore-bridge__orbit-item:nth-child(1),
  .tech-uvcore-bridge--feat-visible .tech-uvcore-bridge__wing--right .tech-uvcore-bridge__orbit-item:nth-child(2) {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

  .tech-uvcore-bridge,
  .tech-uvcore-bridge__visual-inner::before,
  .tech-uvcore-bridge__visual-stage,
  .tech-uvcore-bridge__visual-frame {
    transition: none !important;
  }

  .tech-uvcore-bridge {
    --tech-uv-progress: 0;
    --tech-uv-a: 1;
    --tech-uv-b: 0;
  }
}

/* Mature coupled layout: show both channels together (no tabs) */
.tech-mature-coupled__channels {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(0.9rem, 2.2vw, 1.25rem);
}

@media (min-width: 900px) {
  .tech-mature-coupled__channels {
    grid-template-columns: 1fr 1fr;
    align-items: stretch;
  }
}

/* Fork lines extend into the two path cards and fade out over the resin / foam bands */
.tech-fork-paths {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  width: 100%;
  scroll-margin-top: calc(var(--header-h, 64px) + 12px);
}

/* Tech page: first snap = section title + UV only (fork is the next sibling block). */
.tech-paths__uv-panel {
  display: flex;
  flex-direction: column;
  width: 100%;
  box-sizing: border-box;
  scroll-margin-top: calc(var(--header-h, 64px) + 12px);
  /* One viewport: mature heading + UV hub + four orbit points 鈥?鈥淢ore advanced鈥?stays off-screen until next scroll. */
  min-height: calc(100svh - var(--header-h, 72px) - 2rem);
}

.tech-paths__uv-panel #tech-mature-uv.tech-uvcore-bridge--rail {
  flex: 1 1 auto;
  min-height: 0;
}

.tech-paths__uv-panel #tech-mature-uv.tech-uvcore-bridge--rail .tech-uvcore-bridge__band {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

#tech-mature-uv {
  scroll-margin-top: calc(var(--header-h, 64px) + 12px);
}

.tech-fork-paths .tech-more-arrow {
  scroll-margin-top: calc(var(--header-h, 64px) + 12px);
}

/* Fork stack: vertical balance for wheel snap (headline + COUPLE + cards). */
.tech-fork-paths > .tech-more-arrow {
  margin-top: clamp(0.15rem, 0.5vh, 0.4rem);
  margin-bottom: clamp(0.35rem, 1.2vh, 0.85rem);
}

.tech-fork-paths .tech-more-arrow__inner {
  min-height: clamp(38px, 4.5vh, 56px);
}

.tech-fork-paths .tech-more-arrow__label--we-more {
  transform: translateY(0.65rem);
  gap: clamp(8px, 1.4vw, 12px);
}

/* Fork: MORE = secondary size; ADVANCED = larger rainbow */
.tech-fork-paths .tech-more-arrow__label--we-more .tech-more-arrow__we {
  font-size: clamp(14px, 2.6vw, 19px);
}

.tech-fork-paths .tech-more-arrow__label--we-more .tech-more-arrow__candomore .tech-cdm-char--advanced {
  font-size: clamp(26px, 5.5vw, 40px);
}

.tech-fork-paths .tech-coupling-toggle {
  margin: 0 0 0.35rem;
}

.tech-fork-paths .tech-coupling-headline {
  font-size: clamp(0.7rem, 1.05vw, 0.82rem);
  letter-spacing: 0.18em;
}

.tech-more-arrow {
  position: relative;
  z-index: 2;
  width: 100%;
  pointer-events: none;
  margin-top: clamp(0.65rem, 2vh, 1.1rem);
  margin-bottom: clamp(-0.15rem, -0.4vh, 0rem);
}

.tech-more-arrow__inner {
  position: relative;
  width: 100%;
  max-width: min(1180px, 100%);
  margin-inline: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: clamp(56px, 8vh, 86px);
}

.tech-more-arrow__label {
  position: relative;
  z-index: 2;
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0.01em;
  font-size: clamp(1.08rem, 2.55vw, 1.55rem);
  padding: 0.2rem 0.65rem;
  border-radius: 999px;
  /* Bright orange tone for "We can couple with..." */
  --tech-more-rainbow: linear-gradient(110deg, #ffedd5 0%, #fb923c 45%, #f97316 100%);
  color: rgba(248, 250, 252, 0.96);
  text-shadow: 0 0 14px rgba(255, 255, 255, 0.08);
  filter: drop-shadow(0 0 10px rgba(56, 189, 248, 0.1));
  display: inline-block;
  transform: translateY(0.9em);
}

/* Keep layout size even when animated phrases are absolute-positioned overlays. */
.tech-more-arrow__label::before {
  content: "";
  visibility: hidden;
  display: inline-block;
  white-space: pre-line;
}

@supports not ((-webkit-background-clip: text) or (background-clip: text)) {
  .tech-more-arrow__label {
    color: #f8fafc;
    background: none;
  }
}

.tech-more-arrow__phrase {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0;
  opacity: 0;
}

.tech-more-arrow__line {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1.05;
}

.tech-more-arrow__line--1 {
  margin-bottom: 0.04em;
  transform: translateY(-0.08em);
}

.tech-more-arrow__line--2 {
  margin-top: -0.06em;
}

.tech-more-arrow__char {
  display: inline-block;
  transform-origin: 50% 75%;
  opacity: 0;
  transform: scale(1.55);
  will-change: transform, opacity;
  color: transparent;
  background-image: var(--tech-more-rainbow);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.tech-more-arrow__char--sp {
  width: 0.35em;
}

@keyframes techMoreFlow {
  0% { background-position: 0% 50%; }
  100% { background-position: 220% 50%; }
}

.tech-more-arrow__char--flow {
  background-size: 220% 100%;
}

/* Keep the original pop-in, then add continuous flowing gradient for "do more". */
.tech-more-arrow.tech-more-arrow--play .tech-more-arrow__phrase--b .tech-more-arrow__char--flow {
  animation:
    techMorePopIn 520ms cubic-bezier(0.22, 1, 0.36, 1) both,
    techMoreFlow 2400ms linear infinite;
  animation-delay:
    calc(var(--i) * 38ms),
    760ms;
}

.tech-more-arrow__label--we-more {
  padding: 0;
  border-radius: 0;
  background: none;
  filter: none;
  text-shadow: none;
  transform: translateY(1.5rem);
  display: inline-flex;
  align-items: flex-end;
  gap: 18px;
}

/* MORE: secondary row (same silver letter treatment as former 鈥?ADVANCED鈥?. */
.tech-more-arrow__label--we-more .tech-more-arrow__we {
  display: inline-flex;
  align-items: flex-end;
  gap: 0.08em;
  font-size: 24px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.04em;
  opacity: 1;
  transform: none;
}

.tech-more-arrow__label--we-more .tech-more-arrow__candomore {
  display: inline-flex;
  align-items: flex-end;
  gap: 0.06em;
  font-weight: 400;
  line-height: 1;
  opacity: 1;
  transform: none;
  animation: none;
}

/* Scroll sequencing: MORE letters (--i 0鈥?), then rainbow ADVANCED (--i 4鈥?1). */
.tech-more-arrow.tech-more-arrow--play .tech-more-arrow__label--we-more .tech-more-arrow__candomore {
  animation: none;
}

.tech-cdm-char {
  display: inline-block;
  opacity: 0;
  transform-origin: 50% 75%;
  transform: translate3d(0, 6px, 0) scale(0.92);
  will-change: transform, opacity, filter, background-position;
  color: transparent;
  background-image: linear-gradient(
    90deg,
    rgba(144, 144, 168, 0.55) 0%,
    rgba(180, 186, 210, 0.95) 36%,
    rgba(255, 255, 255, 1) 50%,
    rgba(180, 186, 210, 0.95) 64%,
    rgba(144, 144, 168, 0.55) 100%
  );
  background-size: 260% 100%;
  background-position: 0% 50%;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 0 0 rgba(0, 0, 0, 0));
}

.tech-cdm-char--sp {
  width: 0.35em;
}

/* ADVANCED letters: rainbow fill + larger than MORE (animation applied when .tech-more-arrow--play). */
.tech-more-arrow__label--we-more .tech-cdm-char--advanced {
  font-size: clamp(30px, 5.5vw, 50px);
  font-weight: 500;
  letter-spacing: -0.03em;
  background-image: linear-gradient(
    90deg,
    #ff4d4d 0%,
    #ff9f1c 18%,
    #f9d423 38%,
    #3adb76 56%,
    #3a8bff 76%,
    #b26bff 100%
  );
  background-size: 200% 100%;
  background-position: 50% 50%;
}

@keyframes techCdmReveal {
  0% { opacity: 0; transform: translate3d(0, 8px, 0) scale(0.92); }
  70% { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
  100% { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
}

@keyframes techCdmRevealAdvanced {
  0% {
    opacity: 0;
    transform: translate3d(0, 10px, 0) scale(0.78);
  }
  68% {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1.14);
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1.1);
  }
}

/* MORE: silver letter reveal only (matches former ADVANCED look, less busy than rainbow). */
.tech-more-arrow.tech-more-arrow--play .tech-more-arrow__label--we-more .tech-more-arrow__we .tech-cdm-char--more {
  animation: techCdmReveal 200ms cubic-bezier(0.22, 1, 0.36, 1) both;
  animation-delay: calc(30ms + (var(--i) * 49ms));
}

/*
 * ADVANCED: rainbow pop-in, then a smooth red 鈥渂eam鈥?that marches A鈫扗 (staggered per --i),
 * fades in/out naturally, then rests dark before repeating 鈥?red-only glow (no white flash).
 */
@keyframes advancedCharRedFlow {
  0% {
    filter: none;
  }
  16% {
    filter: brightness(1.06) saturate(1.18)
      drop-shadow(0 0 6px rgba(255, 38, 38, 0.35))
      drop-shadow(0 0 14px rgba(255, 72, 48, 0.18));
  }
  34% {
    filter: brightness(1.18) saturate(1.34)
      drop-shadow(0 0 10px rgba(255, 28, 28, 0.78))
      drop-shadow(0 0 26px rgba(255, 72, 48, 0.32));
  }
  54% {
    filter: brightness(1.07) saturate(1.2)
      drop-shadow(0 0 6px rgba(255, 38, 38, 0.26))
      drop-shadow(0 0 14px rgba(255, 72, 48, 0.14));
  }
  72%,
  100% {
    filter: none;
  }
}

.tech-more-arrow.tech-more-arrow--play .tech-more-arrow__label--we-more .tech-more-arrow__candomore .tech-cdm-char--advanced {
  animation:
    techCdmRevealAdvanced 260ms cubic-bezier(0.22, 1, 0.36, 1) both,
    advancedCharRedFlow 2.35s ease-in-out infinite;
  animation-delay:
    calc(30ms + (var(--i) * 49ms)),
    calc(30ms + (var(--i) * 49ms) + 260ms + (var(--i) - 4) * 180ms);
}

@media (prefers-reduced-motion: reduce) {
  .tech-more-arrow.tech-more-arrow--play .tech-more-arrow__label--we-more .tech-more-arrow__we .tech-cdm-char--more,
  .tech-more-arrow.tech-more-arrow--play .tech-more-arrow__label--we-more .tech-more-arrow__candomore .tech-cdm-char--advanced {
    animation: none !important;
  }

  .tech-more-arrow__label--we-more .tech-cdm-char {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
  }
}

@keyframes techMorePopIn {
  0% { opacity: 0; transform: scale(1.6); }
  55% { opacity: 1; transform: scale(1); }
  76% { transform: scale(1.06); }
  100% { opacity: 1; transform: scale(1); }
}

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

/* Sequence on trigger (UV-based touches top) */
.tech-more-arrow.tech-more-arrow--play .tech-more-arrow__phrase--b {
  opacity: 1;
}

.tech-more-arrow.tech-more-arrow--play .tech-more-arrow__phrase--b .tech-more-arrow__char {
  animation: techMorePopIn 520ms cubic-bezier(0.22, 1, 0.36, 1) both;
  animation-delay: calc(var(--i) * 38ms);
}

.tech-more-arrow__arms {
  --tech-more-arm-len: clamp(110px, 22vw, 260px);
  --tech-more-arm-gap: 1.35rem;
  --tech-more-arm-w: 5px;
  position: absolute;
  inset: 0;
  z-index: 1;
}

/* Titles: prefix + emphasised main (italic, light orange, slightly larger) */
.tech-path-card__mega {
  display: inline-flex;
  gap: 0.45rem;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: center;
}

.tech-path-card__mega-prefix {
  color: rgba(241, 245, 249, 0.92);
  font-style: normal;
  font-weight: 800;
  letter-spacing: -0.01em;
}

.tech-path-card__mega-main {
  color: rgba(248, 250, 252, 0.96);
  font-style: italic;
  font-weight: 800;
  letter-spacing: -0.01em;
  font-size: 1.08em;
  text-shadow: 0 1px 18px rgba(0, 0, 0, 0.32);
  display: inline-block;
  padding-bottom: 0;
  border-bottom: none;
  border-image: none;
}

.tech-more-arrow__arms::before,
.tech-more-arrow__arms::after {
  content: "";
  position: absolute;
  top: 50%;
  width: var(--tech-more-arm-len);
  height: 0;
  border-top: var(--tech-more-arm-w) solid transparent;
  border-image: linear-gradient(
      90deg,
      rgba(56, 189, 248, 0),
      rgba(125, 211, 252, 0.72) 20%,
      rgba(56, 189, 248, 0.85) 55%,
      rgba(56, 189, 248, 0)
    )
    1;
  /* Slightly softer, more "integrated" tech line */
  box-shadow: 0 0 10px rgba(56, 189, 248, 0.18);
  opacity: 0.95;
}

.tech-more-arrow__arms::before {
  left: calc(50% - var(--tech-more-arm-len) - var(--tech-more-arm-gap));
  transform: translateY(-50%) rotate(-7deg);
}

.tech-more-arrow__arms::after {
  right: calc(50% - var(--tech-more-arm-len) - var(--tech-more-arm-gap));
  transform: translateY(-50%) rotate(7deg);
}

.tech-more-arrow__inner::before,
.tech-more-arrow__inner::after {
  display: none;
  content: "";
}

.tech-fork-paths .tech-mature-coupled__channels {
  position: relative;
  z-index: 1;
  margin-top: 0;
  /* Space between 鈥淢ore advanced鈥?block and COUPLE (still compact for one-viewport snap). */
  padding-top: clamp(1.35rem, 3.4vh, 2.65rem);
  gap: clamp(0.45rem, 1.2vw, 0.85rem);
}

@media (max-width: 899px) {
  .tech-fork-paths .tech-mature-coupled__channels {
    margin-top: 0;
    padding-top: clamp(1.1rem, 3vh, 2.25rem);
  }
}

/* Resin/Foam cards: slightly smaller overall */
.tech-path-card--coupling .tech-path-card__banner {
  padding: clamp(0.6rem, 1.6vw, 0.8rem) clamp(0.75rem, 1.8vw, 0.95rem);
}

.tech-path-card--coupling .tech-path-card__mega {
  font-size: clamp(0.94rem, 2.05vw, 1.25rem);
  line-height: 1.18;
}

.tech-path-card__media--resin,
.tech-path-card__media--foam {
  /* Let the media grow as needed so the full image is always visible */
  height: auto;
}

/* Resin/Foam cards: no reveal motion (user requirement) */

.tech-path-card--coupling .tech-path-card__lead {
  opacity: 0.92;
}

.tech-paths__head {
  margin-bottom: 1rem;
  text-align: center;
}

.tech-paths__head::after {
  content: "";
  display: block;
  height: 2px;
  margin: 0.75rem auto 0;
  max-width: min(100%, 32rem);
  border-radius: 2px;
  transform-origin: center;
  background: linear-gradient(
    90deg,
    rgba(56, 189, 248, 0.15) 0%,
    rgba(56, 189, 248, 0.5) 70%,
    rgba(125, 211, 252, 0.28) 100%
  );
  transition:
    transform 1.23s var(--ease-smooth) 0.14s,
    opacity 0.73s ease 0.1s;
}

.tech-paths__title {
  margin: 0;
  font-size: clamp(1.45rem, 3.5vw, 2rem);
  font-weight: 800;
  color: #f8fafc;
  letter-spacing: -0.03em;
  text-shadow: 0 2px 24px rgba(0, 0, 0, 0.25);
}

.tech-paths__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(1rem, 2.5vw, 1.5rem);
  align-items: stretch;
}

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

.tech-paths-switch {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  align-items: stretch;
  width: 100%;
  max-width: min(1180px, 100%);
  margin-inline: auto;
  padding: clamp(0.45rem, 1.4vw, 0.85rem);
  border-radius: 22px;
  box-sizing: border-box;
  transition: box-shadow 0.65s ease, background 0.65s ease;
}

.tech-paths-switch::before {
  content: "";
  position: absolute;
  inset: -1px;
  border-radius: inherit;
  pointer-events: none;
  opacity: 0;
  z-index: 0;
  transition: opacity 0.85s ease;
  background: radial-gradient(ellipse 92% 78% at 50% 38%, rgba(56, 189, 248, 0.16), transparent 62%);
}

.tech-paths-switch > * {
  position: relative;
  z-index: 1;
}

.tech-paths-switch--in-view::before {
  opacity: 1;
}

.tech-paths-switch--in-view {
  background: radial-gradient(120% 95% at 50% 0%, rgba(15, 23, 42, 0.55), rgba(2, 6, 23, 0.12) 52%, transparent 72%);
  box-shadow:
    0 22px 70px rgba(0, 0, 0, 0.42),
    inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

.tech-paths-switch__tabs {
  display: inline-flex;
  align-self: center;
  gap: 0.5rem;
  padding: 0.35rem;
  border-radius: 999px;
  background: rgba(2, 6, 23, 0.55);
  border: 1px solid rgba(56, 189, 248, 0.18);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.35);
}

.tech-paths-switch__tab {
  appearance: none;
  border: 1px solid transparent;
  background: transparent;
  color: rgba(226, 232, 240, 0.88);
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-size: 0.66rem;
  padding: 0.42rem 0.78rem;
  border-radius: 999px;
  cursor: pointer;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.tech-paths-switch__tab.is-active {
  background: linear-gradient(135deg, rgba(56, 189, 248, 0.22), rgba(15, 23, 42, 0.65));
  border-color: rgba(56, 189, 248, 0.35);
  color: #e0f2fe;
}

.tech-paths-switch__tab:focus-visible {
  outline: none;
  border-color: rgba(56, 189, 248, 0.55);
  box-shadow: 0 0 0 1px rgba(56, 189, 248, 0.32);
}

.tech-paths-switch__scene {
  position: relative;
  width: 100%;
  box-sizing: border-box;
}

.tech-paths-switch__duo {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(0.65rem, 1.5vw, 1rem);
  align-items: stretch;
}

/*
 * Narrow phones + 鈥渄esktop site鈥?on touch: one row, horizontal snap (no stacked columns).
 * Mouse desktops keep the two-column grid above.
 */
@media (hover: none) and (pointer: coarse) and (min-width: 901px) {
  .tech-paths-switch__scene {
    overflow: visible;
  }

  .tech-paths-switch__duo {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: stretch;
    min-width: 0;
    gap: clamp(0.75rem, 3vw, 1.1rem);
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: max(0.75rem, calc((100% - min(36rem, calc(100vw - 2.5rem))) / 2));
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    scrollbar-width: thin;
    padding-bottom: 2px;
  }

  .tech-paths-switch__panel {
    flex: 0 0 min(calc(100vw - 2.5rem), 36rem);
    width: min(calc(100vw - 2.5rem), 36rem);
    min-width: 0;
    max-width: min(calc(100vw - 2.5rem), 36rem);
    scroll-snap-align: center;
    scroll-snap-stop: normal;
  }

  /* In swipe mode both cards stay fully readable; active state follows scroll / tabs */
  .tech-paths-switch[data-path-active="resin"] .tech-paths-switch__panel--foam,
  .tech-paths-switch[data-path-active="foam"] .tech-paths-switch__panel--resin,
  .tech-paths-switch[data-path-active="resin"] .tech-paths-switch__panel--resin,
  .tech-paths-switch[data-path-active="foam"] .tech-paths-switch__panel--foam {
    opacity: 1 !important;
    filter: none !important;
    transform: none !important;
    box-shadow: 0 8px 26px rgba(0, 0, 0, 0.28) !important;
  }

  .tech-paths-switch[data-path-active="resin"] .tech-paths-switch__panel--resin,
  .tech-paths-switch[data-path-active="foam"] .tech-paths-switch__panel--foam {
    border-color: rgba(14, 165, 233, 0.45) !important;
  }

  .tech-paths-switch[data-path-active="resin"] .tech-paths-switch__panel--foam,
  .tech-paths-switch[data-path-active="foam"] .tech-paths-switch__panel--resin {
    border-color: rgba(255, 255, 255, 0.1) !important;
  }
}

/* Phones: stable one-column stack (avoid scroll-snap/flex glitches on some mobile Edge builds). */
@media (max-width: 767px) {
  .tech-paths-switch__duo {
    display: grid;
    grid-template-columns: 1fr;
    gap: clamp(0.75rem, 3.2vw, 1.1rem);
  }

  .tech-paths-switch__panel {
    width: 100%;
    max-width: none;
  }
}

.tech-paths-switch__panel {
  position: relative;
  z-index: 0;
  transform-origin: center center;
}

/* Wins over generic .tech-path-card transition so scale/filter animate */
.tech-paths-switch .tech-path-card {
  transition:
    transform 0.5s var(--ease-smooth),
    filter 0.5s ease,
    opacity 0.5s ease,
    box-shadow 0.45s ease,
    border-color 0.35s ease;
}

.tech-paths-switch .tech-path-card:hover {
  /* keep scale/brightness from active vs inactive rules; only a subtle lift */
  box-shadow: 0 14px 36px rgba(0, 0, 0, 0.32);
}

/* Inactive path: slightly smaller + dimmer 鈥?full card (title, diagram, copy) reads as 鈥渋dle鈥?*/
.tech-paths-switch[data-path-active="resin"] .tech-paths-switch__panel--foam,
.tech-paths-switch[data-path-active="foam"] .tech-paths-switch__panel--resin {
  z-index: 1;
  opacity: 0.78;
  filter: brightness(0.88) saturate(0.93);
  transform: scale(0.98);
  border-color: rgba(255, 255, 255, 0.06);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.32);
}

/* Active path: whole card pops forward 鈥?diagram + chrome scale up slightly and glow */
.tech-paths-switch[data-path-active="resin"] .tech-paths-switch__panel--resin,
.tech-paths-switch[data-path-active="foam"] .tech-paths-switch__panel--foam {
  z-index: 2;
  opacity: 1;
  filter: brightness(1.06);
  transform: scale(1.03);
  border-color: rgba(14, 165, 233, 0.55);
  box-shadow:
    0 0 0 1px rgba(14, 165, 233, 0.45),
    0 0 36px rgba(14, 165, 233, 0.38),
    0 0 72px rgba(56, 189, 248, 0.18);
}

@keyframes tech-paths-path-tick {
  0%,
  100% {
    filter: brightness(1.06);
  }
  50% {
    filter: brightness(1.14);
  }
}

.tech-paths-switch--path-tick[data-path-active="resin"] .tech-paths-switch__panel--resin,
.tech-paths-switch--path-tick[data-path-active="foam"] .tech-paths-switch__panel--foam {
  animation: tech-paths-path-tick 0.48s ease-out;
}

@media (prefers-reduced-motion: reduce) {
  .tech-paths-switch--path-tick[data-path-active="resin"] .tech-paths-switch__panel--resin,
  .tech-paths-switch--path-tick[data-path-active="foam"] .tech-paths-switch__panel--foam {
    animation: none;
  }
}

/* Coarse pointers: filter + scale + large glows on path cards are a major scroll bottleneck */
@media (pointer: coarse) {
  .tech-paths-switch::before {
    display: none;
  }

  .tech-paths-switch--in-view {
    background: transparent;
    box-shadow: none;
  }

  .tech-paths-switch[data-path-active="resin"] .tech-paths-switch__panel--foam,
  .tech-paths-switch[data-path-active="foam"] .tech-paths-switch__panel--resin {
    opacity: 0.86;
    filter: none !important;
    transform: none !important;
    box-shadow: 0 6px 22px rgba(0, 0, 0, 0.28) !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
  }

  .tech-paths-switch[data-path-active="resin"] .tech-paths-switch__panel--resin,
  .tech-paths-switch[data-path-active="foam"] .tech-paths-switch__panel--foam {
    filter: none !important;
    transform: none !important;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.34) !important;
    border-color: rgba(14, 165, 233, 0.5) !important;
  }

  .tech-paths-switch[data-path-active="resin"] .tech-paths-switch__panel--resin:hover,
  .tech-paths-switch[data-path-active="foam"] .tech-paths-switch__panel--foam:hover {
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.34) !important;
  }

  .tech-paths-switch[data-path-active="resin"] .tech-paths-switch__panel--foam:hover,
  .tech-paths-switch[data-path-active="foam"] .tech-paths-switch__panel--resin:hover {
    box-shadow: 0 6px 22px rgba(0, 0, 0, 0.28) !important;
  }

  .tech-paths-switch--path-tick[data-path-active="resin"] .tech-paths-switch__panel--resin,
  .tech-paths-switch--path-tick[data-path-active="foam"] .tech-paths-switch__panel--foam {
    animation: none;
  }

  .tech-paths-switch__media::after {
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 35%, rgba(0, 0, 0, 0.45) 100%);
  }
}

.tech-paths-switch__click-zone {
  cursor: pointer;
}

.tech-paths-switch__figure {
  margin: 0;
}

.tech-paths-switch__media {
  position: relative;
  overflow: hidden;
  border-radius: 10px;
}

/* Dark frame + vignette on both path diagrams (evens out PNG brightness vs letterbox/cover) */
.tech-paths-switch__media::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 1;
  border-radius: inherit;
  background:
    radial-gradient(
      ellipse 98% 96% at 50% 45%,
      rgba(0, 0, 0, 0) 38%,
      rgba(0, 0, 0, 0.28) 68%,
      rgba(0, 0, 0, 0.62) 100%
    ),
    linear-gradient(180deg, rgba(0, 0, 0, 0.12) 0%, transparent 42%, rgba(0, 0, 0, 0.4) 100%);
}

@keyframes tech-paths-kenburns-a {
  0% {
    transform: translate(0.35%, -0.2%);
  }
  100% {
    transform: translate(-0.35%, 0.25%);
  }
}

@keyframes tech-paths-kenburns-b {
  0% {
    transform: translate(-0.3%, 0.15%);
  }
  100% {
    transform: translate(0.3%, -0.2%);
  }
}

.tech-paths-switch--in-view .tech-media-resin__img--paths-motion {
  animation: tech-paths-kenburns-a 26s ease-in-out infinite alternate;
}

.tech-paths-switch--in-view .tech-media-resin__img--paths-motion-alt {
  animation: tech-paths-kenburns-b 30s ease-in-out infinite alternate;
}

@media (prefers-reduced-motion: reduce) {
  .tech-paths-switch .tech-path-card {
    transition: opacity 0.35s ease, filter 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
  }

  .tech-paths-switch[data-path-active="resin"] .tech-paths-switch__panel--foam,
  .tech-paths-switch[data-path-active="foam"] .tech-paths-switch__panel--resin,
  .tech-paths-switch[data-path-active="resin"] .tech-paths-switch__panel--resin,
  .tech-paths-switch[data-path-active="foam"] .tech-paths-switch__panel--foam {
    transform: none !important;
  }

  .tech-media-resin__img--paths-motion,
  .tech-media-resin__img--paths-motion-alt {
    animation: none !important;
  }
}

.tech-paths-switch .tech-paths-switch__panel-head {
  padding: clamp(0.4rem, 1vw, 0.55rem) clamp(0.5rem, 1.2vw, 0.7rem);
}

.tech-paths-switch .tech-path-card__icon {
  width: 1.35rem;
  height: 1.35rem;
}

.tech-paths-switch .tech-path-card__mega {
  font-size: clamp(0.82rem, 1.2vw, 1.05rem);
}

.tech-paths-switch .tech-path-card__body {
  min-height: auto;
  padding: clamp(0.45rem, 1.2vw, 0.65rem) clamp(0.55rem, 1.4vw, 0.75rem) clamp(0.55rem, 1.4vw, 0.75rem);
}

.tech-paths-switch .tech-path-card__lead {
  max-width: none;
  font-size: clamp(0.74rem, 1vw, 0.88rem);
}

.tech-paths-switch .tech-media-resin {
  padding: clamp(0.28rem, 0.8vw, 0.45rem);
}

.tech-paths-switch .tech-media-resin__below {
  position: relative;
  z-index: 2;
  padding: 0.45rem 0.15rem 0;
}

.tech-paths-switch .tech-media-resin__flow {
  font-size: 0.62rem;
  letter-spacing: 0.11em;
}

.tech-paths-switch .tech-path-card__divider {
  padding: 0.1rem 0 0.28rem;
}

.tech-paths-switch .tech-path-card__divider::after {
  height: 2px;
  width: clamp(1.85rem, 9vw, 2.75rem);
  box-shadow: 0 0 8px rgba(56, 189, 248, 0.28);
}

.tech-paths-switch .tech-path-card__divider--foam::after {
  box-shadow: 0 0 8px rgba(14, 165, 233, 0.28);
}

.tech-path-card {
  display: flex;
  flex-direction: column;
  border-radius: calc(var(--radius) + 2px);
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(255, 255, 255, 0.025);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.28);
  transition: border-color 0.25s ease, box-shadow 0.25s ease;
}

.tech-path-card:hover {
  border-color: rgba(56, 189, 248, 0.3);
  box-shadow: 0 16px 40px rgba(56, 189, 248, 0.06);
}

.tech-path-card--coupling:hover {
  border-color: transparent;
  box-shadow: none;
}

.tech-path-card--foam {
  border-color: rgba(14, 165, 233, 0.2);
}

.tech-path-card__media {
  position: relative;
  margin: 0;
  aspect-ratio: 16 / 9;
  background: #0a0e16;
}

.tech-path-card__media--resin,
.tech-path-card__media--foam {
  background: transparent;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  aspect-ratio: auto;
  min-height: 0;
}

.tech-path-card__media--resin .tech-media-resin,
.tech-path-card__media--foam .tech-media-resin {
  position: relative;
  flex: 0 0 auto;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-radius: 10px;
  background: #04060c;
  border: 1px solid rgba(255, 255, 255, 0.07);
  display: grid;
  place-items: center;
  padding: clamp(0.5rem, 1.5vw, 0.85rem);
  box-sizing: border-box;
  box-shadow:
    inset 0 0 0 1px rgba(0, 0, 0, 0.75),
    inset 0 0 0 2px rgba(255, 255, 255, 0.04),
    inset 0 0 70px rgba(0, 0, 0, 0.42),
    0 0 0 1px rgba(0, 0, 0, 0.5);
}

/* Resin: trim padding so the same PNG renders a bit larger inside the frame; object-fit: contain keeps the full image 鈥?no crop, no forced upscale */
.tech-paths-switch .tech-path-card__media--resin .tech-media-resin {
  padding: clamp(0.38rem, 1.1vw, 0.68rem);
}

.tech-media-resin__img,
.tech-media-resin__svg {
  position: relative;
  width: 100%;
  height: 100%;
  display: block;
  opacity: 1;
  transform: none;
  transition: none;
}

.tech-media-resin__img--full {
  object-fit: contain;
  object-position: center;
}

/* Source assets differ in luminance; nudge toward a matched pair (contain vs cover) */
.tech-path-card__media--resin .tech-media-resin__img--full {
  filter: brightness(0.9) contrast(1.05) saturate(0.97);
}

.tech-path-card__media--foam .tech-media-resin__img--full {
  object-fit: cover;
  filter: brightness(0.86) contrast(1.06) saturate(0.95);
}

.tech-media-resin__img.is-active,
.tech-media-resin__svg.is-active {
  opacity: 1;
}

.tech-media-resin__flow {
  display: inline-block;
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(226, 232, 240, 0.86);
}

.tech-media-resin__below {
  margin: 0;
  padding: 0.75rem 0.25rem 0;
  text-align: center;
}

.tech-media-resin__below .tech-media-resin__flow {
  padding: 0.4rem 0.65rem;
  border-radius: 999px;
  background: rgba(2, 6, 23, 0.72);
  border: 1px solid rgba(56, 189, 248, 0.18);
  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.35);
  letter-spacing: 0.16em;
}

.tech-media-resin__nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  width: 2.1rem;
  height: 2.1rem;
  border-radius: 999px;
  border: 1px solid rgba(56, 189, 248, 0.35);
  background: rgba(2, 6, 23, 0.65);
  color: #e0f2fe;
  display: grid;
  place-items: center;
  cursor: pointer;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.22s ease, transform 0.22s ease, border-color 0.22s ease;
}

.tech-media-resin__nav svg {
  width: 1.05rem;
  height: 1.05rem;
}

.tech-media-resin__nav--prev {
  left: 0.6rem;
}

.tech-media-resin__nav--next {
  right: 0.6rem;
}

.tech-path-card__media--resin:hover .tech-media-resin__nav,
.tech-path-card__media--resin:focus-within .tech-media-resin__nav {
  opacity: 1;
  pointer-events: auto;
}

.tech-media-resin__nav:hover {
  border-color: rgba(125, 211, 252, 0.55);
  transform: translateY(-50%) scale(1.04);
}

.tech-media-resin__caption {
  position: absolute;
  left: 0.85rem;
  bottom: 0.75rem;
  z-index: 2;
  pointer-events: none;
}

.tech-media-resin__badge {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.45rem 0.7rem;
  border-radius: 999px;
  background: rgba(2, 6, 23, 0.72);
  border: 1px solid rgba(56, 189, 248, 0.22);
  color: rgba(226, 232, 240, 0.92);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.35);
}

.tech-path-card__media svg {
  width: 100%;
  height: 100%;
  display: block;
}

.tech-path-card__media .tpm-bg {
  fill: url(#tpm-bg);
}

.tech-path-card__media .tpm-frame {
  fill: rgba(2, 6, 23, 0.35);
  stroke: rgba(148, 163, 184, 0.18);
  stroke-width: 1;
}

.tech-path-card__media .tpm-line {
  stroke: rgba(226, 232, 240, 0.24);
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.tech-path-card__media .tpm-accent {
  stroke: rgba(56, 189, 248, 0.95);
  stroke-width: 2.75;
  stroke-linecap: round;
  stroke-linejoin: round;
  filter: drop-shadow(0 0 10px rgba(56, 189, 248, 0.35));
}

.tech-path-card__media .tpm-flow {
  stroke-dasharray: 7 8;
  animation: tpm-flow 1.4s var(--ease-out-soft) infinite;
}

.tech-path-card__media .tpm-flow--slow {
  animation-duration: 1.9s;
}

.tech-path-card__media .tpm-pipe {
  fill: none;
  stroke: rgba(125, 211, 252, 0.55);
  stroke-width: 3.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.tech-path-card__media .tpm-pipe-flow {
  fill: none;
  stroke: rgba(56, 189, 248, 0.95);
  stroke-width: 3.2;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-dasharray: 10 10;
  animation: tpm-flow 1.35s var(--ease-out-soft) infinite;
  filter: drop-shadow(0 0 10px rgba(56, 189, 248, 0.28));
}

.tech-path-card__media .tpm-label {
  font: 600 6.6px/1.1 "DM Sans", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  fill: rgba(226, 232, 240, 0.82);
}

.tech-path-card__media .tpm-device {
  fill: rgba(2, 6, 23, 0.32);
  stroke: rgba(148, 163, 184, 0.22);
  stroke-width: 1.1;
}

.tech-path-card__media .tpm-device-hi {
  fill: rgba(226, 232, 240, 0.12);
}

.tech-path-card__media .tpm-uv {
  stroke: rgba(167, 139, 250, 0.9);
  stroke-width: 2.2;
  stroke-linecap: round;
  filter: drop-shadow(0 0 10px rgba(167, 139, 250, 0.35));
  opacity: 0.9;
  animation: tpm-uv 1.1s ease-in-out infinite;
}

.tech-path-card__media .tpm-bolt {
  fill: rgba(167, 139, 250, 0.95);
  filter: drop-shadow(0 0 10px rgba(167, 139, 250, 0.35));
  animation: tpm-bolt 0.9s ease-in-out infinite;
}

.tech-path-card__media .tpm-bubble {
  fill: rgba(125, 211, 252, 0.7);
  opacity: 0.85;
  animation: tpm-bubble 2.6s ease-in-out infinite;
}

.tech-path-card__media .tpm-bubble--b {
  animation-duration: 3.1s;
  animation-delay: -0.8s;
  opacity: 0.7;
}

.tech-path-card__media .tpm-bubble--c {
  animation-duration: 2.9s;
  animation-delay: -1.4s;
  opacity: 0.62;
}

@keyframes tpm-flow {
  to {
    stroke-dashoffset: -30;
  }
}

@keyframes tpm-bubble {
  0% {
    transform: translateY(8px);
    opacity: 0.15;
  }
  35% {
    opacity: 0.85;
  }
  100% {
    transform: translateY(-16px);
    opacity: 0.05;
  }
}

@keyframes tpm-uv {
  0%,
  100% {
    opacity: 0.55;
  }
  50% {
    opacity: 0.95;
  }
}

@keyframes tpm-bolt {
  0%,
  100% {
    transform: translateY(0);
    opacity: 0.75;
  }
  50% {
    transform: translateY(-1px);
    opacity: 1;
  }
}

@media (prefers-reduced-motion: reduce) {
  .tech-path-card__media .tpm-flow,
  .tech-path-card__media .tpm-bubble,
  .tech-path-card__media .tpm-pipe-flow,
  .tech-path-card__media .tpm-uv,
  .tech-path-card__media .tpm-bolt {
    animation: none;
  }
}

.tech-path-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Resin/Foam: show the whole image (no cropping) */
.tech-path-card__media--resin img,
.tech-path-card__media--foam img {
  object-fit: contain;
  object-position: center;
  height: auto;
  max-height: none;
  background: radial-gradient(120% 100% at 50% 15%, rgba(15, 23, 42, 0.6), rgba(2, 6, 23, 0.85));
}

/* Resin/Foam: below-the-image copy */
.tech-path-card__below {
  padding: 0.6rem clamp(0.75rem, 1.8vw, 0.95rem) 0.45rem;
  text-align: center;
}

.tech-path-card__chain {
  margin: 0 0 0.45rem;
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(226, 232, 240, 0.88);
  display: inline-block;
  padding: 0.22rem 0.55rem;
  border-radius: 999px;
  border: 1px solid rgba(125, 211, 252, 0.28);
  background: rgba(2, 6, 23, 0.14);
}

.tech-path-card__features {
  margin: 0;
  padding: 0;
  list-style: none;
  /* Center the block, but keep each row left-aligned
     so bullet dots sit on one vertical line */
  display: inline-grid;
  gap: 0.35rem;
  justify-items: start;
  color: rgba(226, 232, 240, 0.82);
  font-size: clamp(0.78rem, 1.05vw, 0.85rem);
  font-weight: 700;
  line-height: 1.35;
  white-space: normal;
}

.tech-path-card__features li {
  position: relative;
  padding-left: 1.1rem;
  white-space: nowrap;
  text-align: left;
  display: block;
}

.tech-path-card__features li::after {
  content: "";
}

.tech-path-card__features li + li::before {
  content: "";
  margin: 0;
}

.tech-path-card__features li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.62em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(56, 189, 248, 0.75);
  box-shadow: 0 0 10px rgba(56, 189, 248, 0.18);
}

/* =========================
 * Tech coupling: wheel snap uses .tech-fork-paths (More advanced + COUPLE + both cards); click scales cards
 * ========================= */

.tech-mature-coupled__channels[data-tech-coupling] {
  position: relative;
}

.tech-mature-coupled__channels[data-tech-coupling] .tech-path-card[data-tech-coupling-card] {
  cursor: default;
  overflow: visible;
  transform: translateZ(0) scale(1);
  transform-origin: center center;
  border: none;
  box-shadow: none;
  will-change: transform;
  transition: transform 320ms cubic-bezier(0.22, 1, 0.36, 1);
}

.tech-path-card--coupling .tech-path-card__media {
  min-width: 0;
}

/* COUPLE resin/foam: flush with page mid-band 鈥?no card chrome or inner frame lines. */
.tech-path-card--coupling {
  background: transparent;
  border: none;
  box-shadow: none;
}

.tech-path-card--coupling .tech-path-card__banner {
  background: linear-gradient(180deg, rgba(12, 18, 32, 0.35) 0%, transparent 100%);
}

.tech-path-card--coupling .tech-path-card__media--resin,
.tech-path-card--coupling .tech-path-card__media--foam {
  background: transparent;
}

.tech-path-card--coupling .tech-path-card__media--resin .tech-media-resin,
.tech-path-card--coupling .tech-path-card__media--foam .tech-media-resin {
  border-radius: 0;
  border: none;
  padding: 0;
  background: transparent;
  box-shadow: none;
}

.tech-path-card--coupling .tech-path-card__media--resin .tech-media-resin {
  transform: scale(1.07);
  transform-origin: center center;
}

@media (prefers-reduced-motion: reduce) {
  .tech-path-card--coupling .tech-path-card__media--resin .tech-media-resin {
    transform: none;
  }
}

.tech-path-card--coupling .tech-path-card__media--resin img,
.tech-path-card--coupling .tech-path-card__media--foam img {
  background: transparent;
  filter: saturate(1.04) contrast(1.03);
}

/* Coupling resin/foam: feathered edges (soft vignette via mask) */
.tech-path-card--coupling .tech-path-card__media--resin .tech-media-resin,
.tech-path-card--coupling .tech-path-card__media--foam .tech-media-resin {
  -webkit-mask-image: radial-gradient(
    ellipse 96% 94% at 50% 50%,
    #000 0%,
    #000 52%,
    rgba(0, 0, 0, 0.55) 74%,
    transparent 100%
  );
  mask-image: radial-gradient(
    ellipse 96% 94% at 50% 50%,
    #000 0%,
    #000 52%,
    rgba(0, 0, 0, 0.55) 74%,
    transparent 100%
  );
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  -webkit-mask-position: center;
  mask-position: center;
}

/* Short vertical rule between resin / foam mega titles (gutter on wide; centered in gap on narrow) */
.tech-coupling-mega-divider {
  box-sizing: border-box;
  width: 2px;
  height: clamp(1.85rem, 8vh, 3.25rem);
  margin: clamp(0.2rem, 0.9vw, 0.45rem) auto;
  border: 0;
  padding: 0;
  justify-self: center;
  border-radius: 2px;
  transform: translateY(-0.32rem);
  background: linear-gradient(
    180deg,
    rgba(37, 99, 235, 0) 0%,
    rgba(37, 99, 235, 0.45) 22%,
    rgba(14, 165, 233, 0.92) 48%,
    rgba(59, 130, 246, 0.95) 52%,
    rgba(14, 165, 233, 0.88) 78%,
    rgba(30, 64, 175, 0) 100%
  );
  box-shadow:
    0 0 10px rgba(59, 130, 246, 0.28),
    0 0 18px rgba(14, 165, 233, 0.12);
  opacity: 0.94;
}

@media (min-width: 900px) {
  .tech-mature-coupled__channels[data-tech-coupling] {
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  }

  .tech-mature-coupled__channels[data-tech-coupling] .tech-path-card[data-tech-coupling-card="resin"] {
    grid-column: 1;
    grid-row: 2;
  }

  .tech-mature-coupled__channels[data-tech-coupling] .tech-coupling-mega-divider {
    grid-column: 2;
    grid-row: 2;
    align-self: start;
    /* Slightly above previous anchor 鈥?aligns tighter to mega title band */
    margin-top: clamp(0.48rem, 1.25vw, 0.88rem);
    width: 2px;
    height: clamp(1.65rem, 4.5vh, 2.85rem);
    margin-left: clamp(0.12rem, 0.45vw, 0.32rem);
    margin-right: clamp(0.12rem, 0.45vw, 0.32rem);
    margin-bottom: 0;
    transform: translateY(-0.45rem);
  }

  .tech-mature-coupled__channels[data-tech-coupling] .tech-path-card[data-tech-coupling-card="foam"] {
    grid-column: 3;
    grid-row: 2;
  }
}

.tech-coupling-toggle {
  grid-column: 1 / -1;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  margin: 0.15rem 0 0.65rem;
  position: relative;
  z-index: 5;
}

.tech-coupling-headline {
  margin: 0;
  padding: 0;
  width: 100%;
  text-align: center;
  font-size: clamp(0.7rem, 1.12vw, 0.86rem);
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  line-height: 1.2;
  background: linear-gradient(
    100deg,
    #38bdf8 0%,
    #7dd3fc 32%,
    #bae6fd 58%,
    #e0f2fe 82%,
    #f8fafc 100%
  );
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 2px 14px rgba(56, 189, 248, 0.22));
}

@supports not ((-webkit-background-clip: text) or (background-clip: text)) {
  .tech-coupling-headline {
    color: #bae6fd;
    background: none;
    -webkit-text-fill-color: unset;
    filter: none;
  }
}

/* After 鈥淢ore advanced鈥? reveal COUPLE headline (slower entrance: 2脳 base duration). */
.tech-fork-paths .tech-mature-coupled__channels[data-tech-coupling] > .tech-coupling-toggle {
  opacity: 0;
  transform: translate3d(0, 8px, 0);
  pointer-events: none;
  transition:
    opacity 840ms cubic-bezier(0.22, 1, 0.36, 1),
    transform 840ms cubic-bezier(0.22, 1, 0.36, 1);
  transition-delay: 0s;
}

.tech-fork-paths .tech-more-arrow.tech-more-arrow--play ~ .tech-mature-coupled__channels[data-tech-coupling] > .tech-coupling-toggle {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  pointer-events: auto;
  /* After last ADVANCED letter (--i 11) reveal: 30 + 11*49 + 260 + 10 ms */
  transition-delay: calc(30ms + 539ms + 260ms + 10ms);
}

@media (prefers-reduced-motion: reduce) {
  .tech-fork-paths .tech-mature-coupled__channels[data-tech-coupling] > .tech-coupling-toggle {
    opacity: 1 !important;
    transform: none !important;
    pointer-events: auto !important;
    transition: none !important;
  }
}

@media (max-width: 520px) {
  .tech-path-card__features {
    white-space: normal;
  }
}

/* Cancel resin/foam image motion effects */
.tech-media-resin__img--paths-motion,
.tech-media-resin__img--paths-motion-alt {
  animation: none !important;
  transform: none !important;
  transition: none !important;
}


.tech-path-card__banner {
  padding: clamp(0.75rem, 2vw, 1rem) clamp(0.85rem, 2vw, 1.1rem);
  text-align: center;
  background: linear-gradient(180deg, rgba(15, 23, 42, 0.5) 0%, rgba(6, 8, 15, 0.32) 100%);
  border-bottom: none;
}

.tech-path-card__title-row {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  flex-wrap: wrap;
}

.tech-path-card__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  flex-shrink: 0;
  color: #7dd3fc;
  opacity: 0.92;
  filter: drop-shadow(0 0 10px rgba(56, 189, 248, 0.35));
}

.tech-path-card__icon svg {
  width: 100%;
  height: 100%;
}

.tech-path-card__icon--foam {
  color: #7dd3fc;
}

.tech-path-card__mega {
  margin: 0;
  /* Below .tech-paths__title (Mature) at all breakpoints */
  font-size: clamp(1.02rem, 2.35vw, 1.42rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.22;
  color: #f1f5f9;
  text-shadow: 0 1px 16px rgba(0, 0, 0, 0.35);
}

.tech-path-card__mega--foam {
  color: #dbeafe;
  text-shadow: 0 0 20px rgba(14, 165, 233, 0.25);
}

.tech-path-card__divider {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0.15rem 0 0.4rem;
  flex-shrink: 0;
  background: linear-gradient(180deg, rgba(6, 8, 15, 0.28) 0%, rgba(6, 8, 15, 0.08) 100%);
}

.tech-path-card__divider--chain {
  padding: 0.18rem 0 0.05rem;
  margin-top: -0.22rem;
  background: none;
}

.tech-path-card__divider::after {
  content: "";
  display: block;
  width: clamp(1.125rem, 5.5vw, 1.75rem);
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(56, 189, 248, 0.45), #38bdf8, rgba(14, 165, 233, 0.75));
  box-shadow: 0 0 14px rgba(56, 189, 248, 0.4);
}

.tech-path-card__divider--foam::after {
  background: linear-gradient(90deg, rgba(14, 165, 233, 0.5), #0ea5e9, rgba(56, 189, 248, 0.7));
  box-shadow: 0 0 14px rgba(14, 165, 233, 0.38);
}

.tech-path-card__body {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  min-height: clamp(4.25rem, 12vw, 5.5rem);
  padding: clamp(0.85rem, 2.2vw, 1.15rem) clamp(1rem, 2.5vw, 1.25rem) clamp(1rem, 2.5vw, 1.25rem);
}

.tech-path-card__lead {
  margin: 0;
  max-width: 22rem;
  font-size: clamp(0.9rem, 1.5vw, 1.05rem);
  font-weight: 600;
  letter-spacing: 0.025em;
  line-height: 1.5;
  color: #bae6fd;
}

/* Technology: core strength carousel */
.tech-strength {
  margin-top: clamp(0.25rem, 2vw, 0.75rem);
}

.tech-panel--strength .tech-strength {
  margin-top: 0;
}

.tech-strength__inner {
  max-width: 920px;
  margin: 0 auto;
}

.tech-strength__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
  gap: clamp(1.25rem, 3.5vw, 2rem);
  align-items: center;
  justify-items: center;
}

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

.tech-strength__intro {
  text-align: center;
  max-width: 28rem;
}

.tech-strength__title {
  margin: 0 0 0.55rem;
  font-size: clamp(1.45rem, 3.1vw, 1.85rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  color: #f8fafc;
  text-shadow: 0 2px 18px rgba(0, 0, 0, 0.35);
}

.tech-strength__tagline {
  margin: 0;
  font-size: clamp(1rem, 1.55vw, 1.12rem);
  line-height: 1.55;
  color: #cbd5e1;
  font-weight: 500;
}

.tech-strength__panel {
  outline: none;
  width: 100%;
  max-width: 560px;
}

.tech-strength__panel:focus-visible {
  outline: none;
  border-radius: calc(var(--radius) + 6px);
  box-shadow: 0 0 0 2px rgba(56, 189, 248, 0.35);
}

.tech-strength__stage {
  position: relative;
  display: block;
  width: 100%;
}

.tech-strength__viewport {
  position: relative;
  border-radius: calc(var(--radius) + 10px);
  overflow: hidden;
  min-height: clamp(168px, 22vw, 220px);
  border: 1px solid rgba(56, 189, 248, 0.14);
  box-shadow:
    0 14px 40px rgba(0, 0, 0, 0.32),
    inset 0 1px 0 rgba(255, 255, 255, 0.06);
  background:
    radial-gradient(ellipse 120% 85% at 50% -10%, rgba(56, 189, 248, 0.12), transparent 52%),
    linear-gradient(168deg, rgba(15, 23, 42, 0.72) 0%, rgba(6, 8, 15, 0.42) 48%, rgba(15, 23, 42, 0.58) 100%);
}

.tech-strength__pager {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.35rem;
  margin-top: 0.65rem;
  width: 100%;
}

.tech-strength__mask {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 3;
  width: clamp(40px, 8vw, 64px);
  pointer-events: none;
  opacity: 0.88;
  transition:
    opacity 0.45s var(--ease-smooth),
    width 0.45s var(--ease-smooth);
}

.tech-strength__mask--left {
  left: 0;
  background: linear-gradient(90deg, rgba(6, 8, 15, 0.55) 0%, rgba(6, 8, 15, 0.18) 60%, transparent 100%);
}

.tech-strength__mask--right {
  right: 0;
  background: linear-gradient(270deg, rgba(6, 8, 15, 0.55) 0%, rgba(6, 8, 15, 0.18) 60%, transparent 100%);
}

.tech-strength__viewport--pulse .tech-strength__mask--left,
.tech-strength__viewport--pulse .tech-strength__mask--right {
  opacity: 1;
  width: clamp(52px, 11vw, 84px);
}

.tech-strength__slides {
  position: relative;
  min-height: clamp(168px, 22vw, 220px);
}

.tech-strength__slide {
  position: absolute;
  inset: 0;
  padding:
    clamp(1.25rem, 3.5vw, 1.75rem) clamp(2.35rem, 6vw, 2.85rem)
    clamp(2.75rem, 7vw, 3.35rem);
  display: flex;
  flex-direction: column;
  justify-content: center;
  opacity: 0;
  transform: translateX(18px);
  transition:
    opacity 0.45s var(--ease-smooth),
    transform 0.45s var(--ease-smooth);
  pointer-events: none;
  z-index: 1;
}

.tech-strength__slide.is-active {
  opacity: 1;
  transform: translateX(0);
  pointer-events: auto;
  z-index: 2;
}

.tech-strength__slide-title {
  margin: 0;
  font-size: clamp(1.22rem, 2.75vw, 1.52rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.25;
  color: #f8fafc;
  text-shadow: 0 2px 20px rgba(0, 0, 0, 0.35);
}

.tech-strength__slide-body {
  margin: 0.55rem 0 0;
  font-size: clamp(1rem, 1.5vw, 1.12rem);
  line-height: 1.58;
  color: #bae6fd;
  font-weight: 500;
}

.tech-strength__slide-count {
  position: absolute;
  bottom: clamp(0.5rem, 1.6vw, 0.9rem);
  left: 50%;
  transform: translateX(-50%);
  margin: 0;
  padding: 0.32rem 0.7rem;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  font-variant-numeric: tabular-nums;
  text-transform: uppercase;
  color: rgba(224, 242, 254, 0.92);
  line-height: 1.2;
  pointer-events: none;
  background: rgba(2, 6, 23, 0.62);
  border: 1px solid rgba(56, 189, 248, 0.28);
  box-shadow:
    0 6px 18px rgba(0, 0, 0, 0.35),
    inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.tech-strength__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  cursor: pointer;
  color: #bae6fd;
  transition:
    opacity 0.35s ease,
    border-color 0.25s ease,
    background 0.25s ease,
    color 0.2s ease;
}

.tech-strength__btn--edge {
  position: absolute;
  top: 50%;
  z-index: 5;
  transform: translateY(-50%);
  width: 2.5rem;
  height: 3.25rem;
  border-radius: 999px;
  border: 1px solid rgba(56, 189, 248, 0.18);
  background: rgba(6, 8, 15, 0.45);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.25);
}

html.perf-lite .tech-strength__btn--edge {
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  background: rgba(6, 8, 15, 0.78);
}

.tech-strength__btn--prev {
  left: 0.4rem;
}

.tech-strength__btn--next {
  right: 0.4rem;
}

.tech-strength__btn svg {
  width: 1.15rem;
  height: 1.15rem;
  opacity: 0.85;
}

@media (hover: hover) and (pointer: fine) {
  .tech-strength__btn--edge {
    opacity: 0;
    pointer-events: none;
  }

  .tech-strength__stage:hover .tech-strength__btn--edge {
    opacity: 0.42;
    pointer-events: auto;
  }

  .tech-strength__stage:focus-within .tech-strength__btn--edge {
    opacity: 0.48;
    pointer-events: auto;
  }
}

@media (hover: none), (pointer: coarse) {
  .tech-strength__btn--edge {
    opacity: 0.32;
  }
}

.tech-strength__btn--edge:hover {
  opacity: 0.62 !important;
  border-color: rgba(56, 189, 248, 0.35);
  background: rgba(15, 23, 42, 0.38);
  color: #e0f2fe;
}

.tech-strength__btn--edge:focus-visible {
  opacity: 0.85 !important;
  pointer-events: auto;
  outline: none;
  border-color: rgba(56, 189, 248, 0.55);
  box-shadow: 0 0 0 1px rgba(56, 189, 248, 0.35);
}

.tech-strength__dots {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  margin-top: 0;
}

.tech-strength__dot {
  width: 0.45rem;
  height: 0.45rem;
  padding: 0;
  border: none;
  border-radius: 999px;
  background: rgba(148, 163, 184, 0.45);
  cursor: pointer;
  transition:
    transform 0.2s ease,
    background 0.2s ease,
    width 0.25s ease;
}

.tech-strength__dot.is-active {
  width: 1.35rem;
  background: linear-gradient(90deg, #38bdf8, #0ea5e9);
  box-shadow: 0 0 16px rgba(56, 189, 248, 0.45);
}

.tech-strength__dot:hover {
  background: rgba(125, 211, 252, 0.75);
}

@media (prefers-reduced-motion: reduce) {
  .tech-strength__slide {
    transition: none;
  }

  .tech-strength__mask {
    transition: none;
  }

  .tech-strength__viewport--pulse .tech-strength__mask--left,
  .tech-strength__viewport--pulse .tech-strength__mask--right {
    width: clamp(40px, 8vw, 64px);
  }
}

/*
 * Browser 鈥淩equest desktop site鈥? wide viewport but touch 鈥?`max-width` phone rules
 * don鈥檛 apply; tighten readable column so pages match the polished header lockup.
 */
@media (hover: none) and (pointer: coarse) and (min-width: 901px) {
  html {
    -webkit-text-size-adjust: 100%;
  }

  main.section-block--vta.home-page {
    --home-content-max: min(36rem, calc(100vw - 2rem));
  }

  main.section-block--vta.home-page .vta-article {
    max-width: min(40rem, calc(100vw - 1.5rem));
    margin-inline: auto;
    box-sizing: border-box;
  }

  .home-page .vta-hero--visual {
    max-height: min(620px, 70vh);
    min-height: min(380px, 52vh);
  }

  main.section-block--tech.tech-page .tech-panel__shell {
    max-width: min(44rem, calc(100vw - 2rem));
  }

  main.section-block--tech.tech-page .tech-hero__inner {
    max-width: min(40rem, calc(100vw - 2rem));
    padding-inline: clamp(1rem, 3vw, 1.5rem);
  }

  main.section-block--about.about-page .about-page__shell {
    max-width: min(40rem, calc(100vw - 1.5rem));
  }

  main.section-block--about.about-page .about-hero .about-hero__inner {
    max-width: min(40rem, calc(100vw - 2rem));
  }
}

/*
 * Resin / Foam: force horizontal row + snap (must win over any later grid rules).
 * Phones and 鈥渞equest desktop site鈥?narrow layouts included.
 */
@media (max-width: 900px) {
  .tech-paths-switch .tech-paths-switch__duo {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    grid-template-columns: none !important;
    gap: clamp(0.75rem, 3vw, 1.1rem) !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    min-width: 0 !important;
  }

  .tech-paths-switch .tech-paths-switch__panel {
    flex: 0 0 min(calc(100vw - 2rem), 36rem) !important;
    width: min(calc(100vw - 2rem), 36rem) !important;
    max-width: min(calc(100vw - 2rem), 36rem) !important;
    scroll-snap-align: center !important;
  }
}

@media (hover: none) and (pointer: coarse) and (min-width: 901px) {
  main.section-block--tech.tech-page .tech-paths__uv-panel,
  main.section-block--tech.tech-page #tech-mature-uv,
  main.section-block--tech.tech-page .tech-uvcore-bridge__band {
    min-height: calc(100svh - var(--header-h, 72px) - 2rem);
  }

  main.section-block--tech.tech-page .tech-uvcore-bridge__stage--orbit {
    grid-template-columns: minmax(0, 0.72fr) auto minmax(0, 0.72fr);
    gap: clamp(0.4rem, 1.5vw, 1rem);
    padding-inline: clamp(1rem, 2.5vw, 1.5rem);
  }

  main.section-block--tech.tech-page .tech-uvcore-bridge__feature-stack {
    min-height: clamp(200px, 22vw, 240px);
  }

  main.section-block--tech.tech-page .tech-uvcore-bridge__visual-stage {
    width: min(52vw, 620px);
    height: clamp(250px, 31vw, 360px);
  }

  main.section-block--tech.tech-page .tech-uvcore-bridge__orbit-text {
    font-size: clamp(0.92rem, 1.15vw, 1.02rem);
    line-height: 1.35;
  }
}

@media (max-width: 900px) {
  .tech-paths__uv-panel {
    min-height: auto;
  }

  .tech-paths__uv-panel #tech-mature-uv.tech-uvcore-bridge--rail,
  .tech-paths__uv-panel #tech-mature-uv.tech-uvcore-bridge--rail .tech-uvcore-bridge__band {
    min-height: auto;
  }

  .tech-uvcore-bridge__band {
    padding-bottom: clamp(1.4rem, 4vw, 2rem);
  }

  .tech-uvcore-bridge__stage--orbit {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
    align-items: start;
    gap: clamp(1rem, 3.2vw, 1.4rem);
    padding-inline: clamp(0.7rem, 3.5vw, 1rem);
  }

  .tech-uvcore-bridge__feature-stack {
    display: grid;
    min-height: auto;
    gap: 0;
  }

  .tech-uvcore-bridge__orbit-list--state {
    grid-area: 1 / 1;
    position: relative;
    inset: auto;
    align-items: stretch !important;
    justify-content: center;
  }

  .tech-uvcore-bridge__feature-stack [data-tech-uv-group^="b"] {
    margin-top: 0;
  }

  .tech-uvcore-bridge__wing--left,
  .tech-uvcore-bridge__wing--right,
  .tech-uvcore-bridge__wing--right .tech-uvcore-bridge__orbit-cell {
    text-align: left;
  }

  .tech-uvcore-bridge__orbit-item--L,
  .tech-uvcore-bridge__orbit-item--R {
    width: 100%;
    max-width: min(100%, 32rem);
    margin-inline: auto;
    gap: 0.55rem;
  }

  .tech-uvcore-bridge__orbit-item--L {
    flex-direction: row;
    align-items: center;
    transform: translate3d(-12vw, 0, 0);
  }

  .tech-uvcore-bridge__orbit-item--R {
    flex-direction: row;
    align-items: center;
    transform: translate3d(12vw, 0, 0);
  }

  .tech-uvcore-bridge__orbit-link--L,
  .tech-uvcore-bridge__orbit-link--R {
    flex: 0 0 auto;
    min-width: auto;
    margin: 0;
  }

  .tech-uvcore-bridge__orbit-cell {
    flex: 1 1 auto;
    max-width: none;
  }

  .tech-uvcore-bridge__orbit-text {
    font-size: clamp(0.92rem, 2.9vw, 1rem);
    line-height: 1.42;
  }

  .tech-uvcore-bridge__hub {
    width: 100%;
  }

  .tech-uvcore-bridge__visual-inner {
    width: min(100%, 28rem);
    margin-inline: auto;
  }

  .tech-uvcore-bridge__visual-stage {
    width: 100%;
    height: clamp(220px, 68vw, 320px);
  }

  .tech-uvcore-bridge__mode-stack {
    top: clamp(0.2rem, 1.5vw, 0.5rem);
    gap: clamp(0.35rem, 2vw, 0.6rem);
  }

  .tech-uvcore-bridge__mode-copy {
    max-width: min(86vw, 18rem);
  }

  .tech-uvcore-bridge__mode-label {
    padding-inline: 0.1rem;
    font-size: clamp(0.86rem, 3.5vw, 0.98rem);
    text-align: center;
    white-space: normal;
    line-height: 1.15;
  }

  .tech-uvcore-bridge__mode-arrow {
    width: 1.15rem;
    height: 1.15rem;
  }

  .tech-uvcore-bridge__mode-arrow span {
    font-size: 0.92rem;
  }
}

@media (max-width: 640px) {
  #tech-mature-uv .tech-uvcore-bridge__orbit-node,
  #tech-mature-uv .tech-uvcore-bridge__orbit-node__outer,
  #tech-mature-uv .tech-uvcore-bridge__orbit-node__inner,
  #tech-mature-uv .tech-uvcore-bridge__orbit-link,
  #tech-mature-uv .tech-uvcore-bridge__orbit-link--L,
  #tech-mature-uv .tech-uvcore-bridge__orbit-link--R,
  #tech-mature-uv .tech-uvcore-bridge__orbit-dash,
  #tech-mature-uv .tech-uvcore-bridge__orbit-node::after,
  #tech-mature-uv .tech-uvcore-bridge__orbit-node::before {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    width: 0 !important;
    min-width: 0 !important;
    max-width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
    animation: none !important;
    pointer-events: none !important;
    content: none !important;
  }

  #tech-mature-uv .tech-uvcore-bridge__band {
    padding-bottom: 1rem;
  }

  #tech-mature-uv .tech-uvcore-bridge__stage--orbit {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
    gap: 0.8rem;
    padding-inline: 0.2rem;
  }

  #tech-mature-uv .tech-uvcore-bridge__wing--left,
  #tech-mature-uv .tech-uvcore-bridge__wing--right {
    width: 100%;
  }

  #tech-mature-uv .tech-uvcore-bridge__feature-stack {
    width: 100%;
  }

  #tech-mature-uv .tech-uvcore-bridge__orbit-list--state {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.55rem 0.7rem;
    justify-items: stretch;
    align-items: stretch;
  }

  #tech-mature-uv .tech-uvcore-bridge__orbit-item--L,
  #tech-mature-uv .tech-uvcore-bridge__orbit-item--R {
    max-width: none;
    width: 100%;
    justify-content: center !important;
    align-items: stretch;
    transform: none !important;
    gap: 0;
  }

  #tech-mature-uv .tech-uvcore-bridge__orbit-cell,
  #tech-mature-uv .tech-uvcore-bridge__wing--right .tech-uvcore-bridge__orbit-cell {
    width: 100% !important;
    text-align: center !important;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 3.2rem;
    padding: 0.7rem 0.75rem;
    border-radius: 0.95rem;
    background: linear-gradient(180deg, rgba(15, 23, 42, 0.92), rgba(17, 24, 39, 0.82));
    border: 1px solid rgba(56, 189, 248, 0.12);
    box-shadow: 0 10px 24px rgba(2, 6, 23, 0.24);
  }

  #tech-mature-uv .tech-uvcore-bridge__orbit-text {
    font-size: 0.88rem;
    line-height: 1.34;
  }

  #tech-mature-uv .tech-uvcore-bridge__hub {
    order: 2;
    width: 100%;
  }

  #tech-mature-uv .tech-uvcore-bridge__wing--left {
    order: 1;
  }

  #tech-mature-uv .tech-uvcore-bridge__wing--right {
    order: 3;
  }

  #tech-mature-uv .tech-uvcore-bridge__visual,
  #tech-mature-uv .tech-uvcore-bridge__visual-inner,
  #tech-mature-uv .tech-uvcore-bridge__visual-stage,
  #tech-mature-uv .tech-uvcore-bridge__visual-frame,
  #tech-mature-uv .tech-uvcore-bridge__mode-stack,
  #tech-mature-uv .tech-uvcore-bridge__mode-arrow {
    position: relative;
    z-index: 30 !important;
    pointer-events: auto !important;
  }

  #tech-mature-uv .tech-uvcore-bridge__hub-vignette,
  #tech-mature-uv .tech-uvcore-bridge__visual-inner::before {
    pointer-events: none !important;
  }

  #tech-mature-uv .tech-uvcore-bridge__visual-inner {
    width: min(100%, 24rem);
    border-radius: 1.15rem;
    border: 1px solid rgba(125, 211, 252, 0.16);
    background:
      radial-gradient(circle at 50% 18%, rgba(56, 189, 248, 0.14), transparent 50%),
      linear-gradient(180deg, rgba(15, 23, 42, 0.95), rgba(2, 6, 23, 0.9));
    box-shadow: 0 18px 44px rgba(2, 6, 23, 0.34);
    overflow: hidden;
  }

  #tech-mature-uv .tech-uvcore-bridge__visual-stage {
    height: clamp(190px, 62vw, 255px);
  }

  #tech-mature-uv .tech-uvcore-bridge__mode-stack {
    top: 0.45rem;
    gap: 0.35rem;
    z-index: 20;
  }

  #tech-mature-uv .tech-uvcore-bridge__mode-copy {
    max-width: min(70vw, 10.5rem);
  }

  #tech-mature-uv .tech-uvcore-bridge__mode-label {
    font-size: 0.84rem;
    line-height: 1.05;
  }

  #tech-mature-uv .tech-uvcore-bridge__mode-arrow {
    width: 1.2rem;
    height: 1.2rem;
    pointer-events: auto !important;
    z-index: 20 !important;
    touch-action: pan-y manipulation;
  }

  #tech-mature-uv .tech-uvcore-bridge__mode-arrow span {
    font-size: 0.92rem;
  }
}

.about-core-cards.about-core-cards--stack {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: clamp(0.85rem, 1.8vw, 1.15rem);
  align-items: stretch;
}

.about-core-cards.about-core-cards--stack > .about-core-card {
  display: flex;
  align-items: stretch;
  min-height: 100%;
}

.about-core-card__kicker {
  width: 100%;
  min-height: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.7rem;
  text-align: left;
}

.about-core-card__icon {
  flex: 0 0 auto;
}

@media (max-width: 1024px) {
  .about-core-cards.about-core-cards--stack {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .about-core-cards.about-core-cards--stack > .about-core-card:last-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 640px) {
  .about-core-cards.about-core-cards--stack {
    grid-template-columns: 1fr;
    gap: 0.8rem;
  }

  .about-core-cards.about-core-cards--stack > .about-core-card:last-child {
    grid-column: auto;
  }

  .about-core-card__kicker {
    align-items: flex-start;
    line-height: 1.4;
  }
}


@media (max-width: 640px) {
  .about-core-cards.about-core-cards--stack {
    grid-template-columns: 1fr;
    gap: 0.8rem;
  }

  .about-core-cards.about-core-cards--stack > .about-core-card:last-child {
    grid-column: auto;
  }

  .about-core-card__kicker {
    align-items: flex-start;
    line-height: 1.4;
  }
}

/* Technology Platform rebuild */
.tech-platform-page{max-width:none;padding:0;width:100%;background:#06080f}.tp-snap-section{position:relative;min-height:calc(100svh - var(--header-h,var(--nav-h)));overflow:hidden;display:grid;place-items:center;isolation:isolate;scroll-margin-top:var(--header-h,var(--nav-h))}.tp-hero{background:#050810}.tp-hero__image{position:absolute;inset:-10% -8%;z-index:0;background-image:url("https://images.unsplash.com/photo-1532094349884-543bc11b234d?w=1800&q=88");background-size:cover;background-position:center 42%;transform:scaleY(1.14);filter:brightness(.92) saturate(1.04) contrast(1.04)}.tp-hero__scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(6,8,15,.18),rgba(6,8,15,.88)),radial-gradient(ellipse 70% 55% at 50% 48%,rgba(6,8,15,.04),rgba(6,8,15,.65))}.tp-hero__brand{position:absolute;top:clamp(1.25rem,3vw,2.25rem);left:clamp(1.2rem,4vw,3rem);z-index:2;display:flex;flex-direction:column;align-items:flex-start;line-height:1;color:#fff;filter:drop-shadow(0 16px 34px rgba(0,0,0,.48))}.tp-hero__brand-hema{font-size:clamp(1.65rem,4.2vw,3.2rem);font-weight:900;letter-spacing:.14em}.tp-hero__brand-tech{margin-top:.42rem;font-size:clamp(.54rem,1.1vw,.78rem);font-weight:700;font-style:italic;letter-spacing:.38em;color:rgba(241,245,249,.86)}.tp-hero__center{position:relative;z-index:2;padding:2rem;text-align:center}.tp-hero__title{margin:0;font-size:clamp(3rem,8vw,7rem);line-height:.96;font-weight:850;letter-spacing:-.055em;color:#fff;text-shadow:0 26px 70px rgba(0,0,0,.55)}.tp-intro{background:radial-gradient(ellipse 80% 56% at 50% 0%,rgba(56,189,248,.12),transparent 65%),linear-gradient(180deg,#06080f 0%,#08101c 50%,#06080f 100%)}.tp-intro__inner{width:min(980px,calc(100vw - 2rem));margin:0 auto;text-align:left}.tp-intro__title{margin:0 0 clamp(1rem,3vw,1.55rem);max-width:760px;font-size:clamp(1.85rem,4.5vw,3.65rem);line-height:1.06;font-weight:850;letter-spacing:-.04em;color:#38bdf8}.tp-intro__body{margin:0;max-width:860px;font-size:clamp(1.02rem,1.65vw,1.24rem);line-height:1.78;font-weight:520;color:rgba(248,250,252,.9)}.tp-uv-stage,.tp-verified,.tp-more{background:radial-gradient(ellipse 110% 82% at 50% 50%,rgba(14,165,233,.1),transparent 58%),linear-gradient(180deg,#050810 0%,#07101c 52%,#050810 100%)}.tp-stage__shell{width:min(1280px,calc(100vw - 2rem));margin:0 auto;padding:clamp(2rem,5vw,4rem) 0}.tp-stage__heading{text-align:center;margin-bottom:clamp(1.15rem,2.8vw,2rem)}.tp-stage__kicker{margin:0 0 .6rem;color:#38bdf8;font-size:clamp(1rem,2.1vw,1.45rem);font-weight:800;letter-spacing:.02em}.tp-stage__title{margin:0;font-size:clamp(1.9rem,4.8vw,4.25rem);line-height:1;font-weight:860;letter-spacing:-.055em;color:#f8fafc;text-shadow:0 20px 62px rgba(0,0,0,.48)}.tp-stage__subtitle{margin:.78rem 0 0;font-size:clamp(1rem,1.8vw,1.3rem);font-weight:750;font-style:italic;color:rgba(224,242,254,.96)}.tp-uv-layout{display:grid;grid-template-columns:minmax(180px,.82fr) minmax(360px,1.42fr) minmax(180px,.82fr);align-items:center;gap:clamp(1rem,3vw,2.4rem)}.tp-uv-figure{margin:0;display:grid;place-items:center;min-height:clamp(330px,42vw,560px);border-radius:2rem;background:radial-gradient(ellipse 70% 70% at 50% 45%,rgba(56,189,248,.13),rgba(2,6,23,.16) 68%,transparent 100%)}.tp-uv-figure img,.tp-verified__figure img{display:block;max-width:100%;max-height:min(56vh,560px);object-fit:contain;filter:drop-shadow(0 28px 60px rgba(0,0,0,.45))}.tp-uv-figure--integrated img{width:min(720px,100%)}.tp-uv-figure--core img{width:min(520px,100%)}.tp-feature-list{list-style:none;margin:0;padding:0;display:grid;gap:clamp(1rem,3vw,1.7rem)}.tp-feature-list li{padding:.95rem 1rem;border-radius:1.1rem;color:rgba(251,113,133,.98);font-size:clamp(.95rem,1.45vw,1.1rem);font-weight:750;font-style:italic;line-height:1.35;background:rgba(15,23,42,.52);border:1px solid rgba(255,255,255,.08);box-shadow:0 18px 44px rgba(0,0,0,.28)}.tp-feature-list--left li{transform:translateX(-42px)}.tp-feature-list--right li{transform:translateX(42px)}.tp-feature-list li,.tp-uv-figure,.tp-intro__title,.tp-intro__body,.tp-verified__copy,.tp-verified__figure{opacity:0;transition:opacity .92s var(--ease-smooth),transform .98s var(--ease-smooth)}.reveal.is-in .tp-feature-list li,.tp-uv-stage.reveal.is-in .tp-feature-list li{transform:translateX(0)}.reveal.is-in .tp-feature-list li,.reveal.is-in .tp-uv-figure,.reveal.is-in .tp-intro__title,.reveal.is-in .tp-intro__body,.reveal.is-in .tp-verified__copy,.reveal.is-in .tp-verified__figure{opacity:1}.tp-verified{display:flex;flex-direction:column;justify-content:center;gap:clamp(1rem,3vw,2rem);padding:clamp(2rem,5vw,4rem) clamp(1rem,4vw,2rem)}.tp-verified__visuals{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1rem,4vw,3rem);align-items:center;width:min(1180px,100%);margin:0 auto}.tp-verified__figure{margin:0;display:grid;place-items:center}.tp-verified__figure--core{transform:translateX(80px)}.tp-verified__figure--integrated{transform:translate3d(0,-90px,0)}.tp-verified.reveal.is-in .tp-verified__figure--core,.tp-verified.reveal.is-in .tp-verified__figure--integrated{transform:translate3d(0,0,0)}.tp-verified__copy{width:min(880px,100%);margin:0 auto;text-align:center;transform:translateY(28px)}.tp-verified.reveal.is-in .tp-verified__copy{transform:translateY(0)}.tp-verified__title{margin:0;font-size:clamp(2rem,5vw,4rem);font-weight:900;color:#38bdf8}.tp-verified__rule{width:0;height:2px;margin:1rem auto 1.25rem;border-radius:999px;background:linear-gradient(90deg,transparent,#38bdf8,transparent);transition:width 1s var(--ease-smooth) .2s}.tp-verified.reveal.is-in .tp-verified__rule{width:min(520px,80vw)}.tp-verified__grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem 1rem}.tp-verified__grid li{padding:.95rem 1rem;color:rgba(248,250,252,.94);font-weight:700;border-radius:1rem;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08)}.tech-coupling-toggle{flex-direction:column;gap:.25rem}.tech-coupling-subline{margin:0;font-size:clamp(.72rem,1vw,.86rem);line-height:1.35;color:#38bdf8;font-weight:650;letter-spacing:.08em;text-transform:uppercase;text-align:center}.tp-more{padding:clamp(1.5rem,4vw,3rem) clamp(1rem,3vw,2rem)}.tp-more .tech-fork-paths{width:min(1180px,100%)}.tp-more .tech-path-card--coupling .tech-path-card__media--resin .tech-media-resin,.tp-more .tech-path-card--coupling .tech-path-card__media--foam .tech-media-resin{transform:none;aspect-ratio:16/9}.tp-more .tech-path-card--coupling .tech-path-card__media--resin img,.tp-more .tech-path-card--coupling .tech-path-card__media--foam img{width:100%;height:100%;object-fit:contain}@media (max-width:1020px){.tp-uv-layout{grid-template-columns:1fr;gap:1.2rem}.tp-feature-list{grid-template-columns:repeat(2,minmax(0,1fr))}.tp-feature-list--left,.tp-feature-list--right{order:2}.tp-uv-figure{order:1;min-height:280px}.tp-feature-list--left li,.tp-feature-list--right li{transform:translateY(22px)}.reveal.is-in .tp-feature-list li,.tp-uv-stage.reveal.is-in .tp-feature-list li{transform:translateY(0)}}@media (max-width:640px){.tp-snap-section{min-height:auto;padding-top:clamp(3.5rem,12vh,5rem);padding-bottom:clamp(3rem,9vh,4rem)}.tp-hero{min-height:calc(100svh - var(--header-h,var(--nav-h)))}.tp-hero__brand{top:1rem;left:1rem}.tp-feature-list,.tp-verified__visuals,.tp-verified__grid{grid-template-columns:1fr}.tp-uv-figure img,.tp-verified__figure img{max-height:340px}.tp-intro__inner,.tp-stage__shell{width:min(100% - 1.5rem,560px)}}@media (prefers-reduced-motion:reduce){.tp-feature-list li,.tp-uv-figure,.tp-intro__title,.tp-intro__body,.tp-verified__copy,.tp-verified__figure{opacity:1!important;transform:none!important;transition:none!important}.tp-verified__rule{width:min(520px,80vw);transition:none}}
/* End Technology Platform rebuild */

.placeholder-page{max-width:none;min-height:calc(100svh - var(--header-h,var(--nav-h)));padding:0;display:grid;place-items:center;background:radial-gradient(ellipse 80% 60% at 50% 0%,rgba(56,189,248,.12),transparent 60%),#06080f}.placeholder-page__hero{width:min(1080px,calc(100vw - 2rem));min-height:58vh;display:grid;place-items:center;text-align:center;border-radius:2rem;border:1px solid rgba(255,255,255,.08);background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.018));box-shadow:0 24px 70px rgba(0,0,0,.34)}.placeholder-page__hero h1{margin:0;font-size:clamp(2.4rem,7vw,6rem);font-weight:850;letter-spacing:-.055em;color:#f8fafc;text-shadow:0 24px 70px rgba(0,0,0,.48)}

/* Technology Platform refinement: text breathing, stacked UV, verified spacing */
.tp-hero__title{
  font-size:clamp(2.7rem,7.1vw,6.25rem);
  letter-spacing:-.025em;
  word-spacing:.08em;
}

.tp-intro__title{
  max-width:none;
  white-space:nowrap;
  font-size:clamp(1.55rem,3.15vw,3rem);
  letter-spacing:-.018em;
  word-spacing:.08em;
}

.tp-intro__body strong em{
  font-weight:850;
  font-style:italic;
  color:#f8fafc;
}

.tp-stage__kicker{
  margin-bottom:.55rem;
}

.tp-stage__rule{
  width:clamp(3rem,7vw,5.2rem);
  height:3px;
  margin:0 auto clamp(.7rem,1.9vh,1.05rem);
  border-radius:999px;
  background:linear-gradient(90deg,rgba(56,189,248,.15),#38bdf8,rgba(56,189,248,.15));
  box-shadow:0 0 18px rgba(56,189,248,.38);
}

.tp-stage__title{
  font-size:clamp(1.65rem,3.85vw,3.35rem);
  letter-spacing:-.025em;
  word-spacing:.07em;
  text-transform:none;
}

.tp-uv-stage--stack{
  align-items:center;
}

.tp-uv-stage--stack .tp-stage__shell{
  padding-top:clamp(2.2rem,5.2vh,4.2rem);
  padding-bottom:clamp(2.2rem,5.2vh,4.2rem);
}

.tp-uv-stage--stack .tp-stage__heading{
  margin-bottom:clamp(.9rem,2.1vh,1.45rem);
}

.tp-uv-layout--stack{
  grid-template-columns:minmax(180px,.72fr) minmax(360px,1.28fr) minmax(180px,.72fr);
  min-height:clamp(355px,48vh,520px);
}

.tp-uv-stage--stack .tp-feature-list{
  grid-area:auto;
}

.tp-feature-list--a,.tp-feature-list--b{
  grid-row:1;
}

.tp-feature-list--left.tp-feature-list--a,.tp-feature-list--left.tp-feature-list--b{grid-column:1}.tp-feature-list--right.tp-feature-list--a,.tp-feature-list--right.tp-feature-list--b{grid-column:3}.tp-uv-figure--stack{grid-column:2;grid-row:1;position:relative;min-height:clamp(300px,43vh,500px);overflow:visible}.tp-uv-figure--stack .tp-uv-img{position:absolute;left:50%;top:50%;display:block;max-width:100%;object-fit:contain;filter:drop-shadow(0 28px 60px rgba(0,0,0,.45));transition:opacity .72s var(--ease-smooth),transform .82s var(--ease-smooth)}.tp-uv-img--a{width:min(470px,88%);max-height:min(48vh,500px);transform:translate(-50%,-50%) scale(.98);opacity:1}.tp-uv-img--b{width:min(690px,100%);max-height:min(42vh,430px);transform:translate(-50%,-50%) translateY(18px) scale(.96);opacity:0}.tp-uv-stage--stack[data-tp-uv-state="b"] .tp-uv-img--a{opacity:0;transform:translate(-50%,-50%) translateY(-18px) scale(.94)}.tp-uv-stage--stack[data-tp-uv-state="b"] .tp-uv-img--b{opacity:1;transform:translate(-50%,-50%) translateY(0) scale(1)}.tp-uv-stage--stack .tp-feature-list--b{opacity:0;pointer-events:none}.tp-uv-stage--stack[data-tp-uv-state="b"] .tp-feature-list--a{opacity:0;pointer-events:none}.tp-uv-stage--stack[data-tp-uv-state="b"] .tp-feature-list--b{opacity:1;pointer-events:auto}.tp-stage__subtitle{min-height:1.35em}.tp-stage__subtitle-a,.tp-stage__subtitle-b{display:inline-block;transition:opacity .55s var(--ease-smooth),transform .55s var(--ease-smooth)}.tp-stage__subtitle-b{position:absolute;opacity:0;transform:translateY(8px)}.tp-uv-stage--stack[data-tp-uv-state="b"] .tp-stage__subtitle-a{opacity:0;transform:translateY(-8px)}.tp-uv-stage--stack[data-tp-uv-state="b"] .tp-stage__subtitle-b{position:relative;opacity:1;transform:translateY(0)}.tp-verified{justify-content:center;padding-top:clamp(2.3rem,5vh,4.2rem);padding-bottom:clamp(3.3rem,8vh,6.2rem);gap:clamp(1rem,2.3vh,1.7rem)}.tp-verified__visuals{max-height:46vh}.tp-verified__figure img{max-height:min(39vh,420px)}.tp-verified__copy{padding-bottom:clamp(.8rem,2.5vh,1.8rem)}.tp-verified__grid{margin-bottom:clamp(.6rem,2vh,1.5rem)}.tech-coupling-toggle{padding-top:.25rem}.tech-coupling-headline{display:none!important}.tech-coupling-subline{font-size:clamp(.78rem,1.08vw,.92rem)}@media (max-width:1020px){.tp-intro__title{white-space:normal}.tp-uv-layout--stack{grid-template-columns:1fr;min-height:auto}.tp-feature-list--left.tp-feature-list--a,.tp-feature-list--left.tp-feature-list--b,.tp-feature-list--right.tp-feature-list--a,.tp-feature-list--right.tp-feature-list--b,.tp-uv-figure--stack{grid-column:1;grid-row:auto}.tp-feature-list--a,.tp-feature-list--b{grid-row:auto}.tp-uv-stage--stack .tp-feature-list--left{order:2}.tp-uv-stage--stack .tp-feature-list--right{order:3}.tp-uv-figure--stack{order:1}.tp-uv-stage--stack .tp-feature-list--b{display:none}.tp-uv-stage--stack[data-tp-uv-state="b"] .tp-feature-list--a{display:none}.tp-uv-stage--stack[data-tp-uv-state="b"] .tp-feature-list--b{display:grid}.tp-uv-figure--stack .tp-uv-img{max-height:340px}.tp-uv-img--b{width:min(640px,96%)}}@media (max-width:640px){.tp-hero__title{font-size:clamp(2.5rem,15vw,4.2rem);letter-spacing:-.015em}.tp-intro__title{font-size:clamp(1.45rem,8vw,2.35rem)}.tp-stage__title{font-size:clamp(1.55rem,8vw,2.35rem)}.tp-uv-stage--stack .tp-stage__shell{padding-top:2.5rem;padding-bottom:2.8rem}.tp-verified__visuals{max-height:none}.tp-verified__figure img{max-height:280px}.tp-verified{padding-bottom:4rem}}
/* End Technology Platform refinement */

/* Technology Platform refinement patch: UV mode label overlay */
.tp-stage__subtitle{position:relative;display:inline-block;min-width:min(16rem,80vw)}.tp-stage__subtitle-a,.tp-stage__subtitle-b{left:0;right:0;text-align:center}.tp-stage__subtitle-b{position:absolute;top:0}.tp-uv-stage--stack[data-tp-uv-state="b"] .tp-stage__subtitle-a{position:absolute;left:0;right:0}.tp-uv-stage--stack[data-tp-uv-state="b"] .tp-stage__subtitle-b{position:relative;display:inline-block}.tp-uv-stage--stack[data-tp-uv-state="a"] .tp-stage__subtitle-b{pointer-events:none}

/* Technology Platform refinement: UV site photo, feature fly-in, verified lift */
.tp-intro{
  background:
    linear-gradient(90deg,rgba(6,8,15,.88) 0%,rgba(6,8,15,.72) 44%,rgba(6,8,15,.9) 100%),
    radial-gradient(ellipse 80% 56% at 35% 0%,rgba(56,189,248,.16),transparent 68%),
    url("assets/uv-field-optimized.jpg") center center/cover no-repeat;
}

.tp-intro::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(180deg,rgba(6,8,15,.18),rgba(6,8,15,.42));
  pointer-events:none;
}

.tp-intro__inner{
  position:relative;
  z-index:1;
  padding:clamp(1.2rem,3vw,2rem);
  border-radius:1.8rem;
  background:linear-gradient(135deg,rgba(2,6,23,.48),rgba(15,23,42,.2));
  border:1px solid rgba(255,255,255,.07);
  box-shadow:0 26px 72px rgba(0,0,0,.32);
}

.tp-uv-stage--stack .tp-feature-list li{
  opacity:0;
  will-change:transform,opacity;
  transition:opacity .82s var(--ease-smooth),transform .92s var(--ease-smooth),box-shadow .28s ease,border-color .28s ease;
}

.tp-uv-stage--stack .tp-feature-list--left li{transform:translate3d(-82px,22px,0) scale(.96)}
.tp-uv-stage--stack .tp-feature-list--right li{transform:translate3d(82px,22px,0) scale(.96)}
.tp-uv-stage--stack.reveal.is-in[data-tp-uv-state="a"] .tp-feature-list--a li,
.tp-uv-stage--stack.reveal.is-in[data-tp-uv-state="b"] .tp-feature-list--b li{
  opacity:1;
  transform:translate3d(0,0,0) scale(1);
}

.tp-uv-stage--stack.reveal.is-in[data-tp-uv-state="a"] .tp-feature-list--a li:nth-child(2),
.tp-uv-stage--stack.reveal.is-in[data-tp-uv-state="b"] .tp-feature-list--b li:nth-child(2){
  transition-delay:90ms;
}

.tp-uv-stage--stack[data-tp-uv-state="a"] .tp-feature-list--b li,
.tp-uv-stage--stack[data-tp-uv-state="b"] .tp-feature-list--a li{
  opacity:0!important;
  transition-delay:0ms;
}

.tp-feature-list li::before{
  content:"";
  display:inline-block;
  width:.42rem;
  height:.42rem;
  margin-right:.55rem;
  border-radius:999px;
  vertical-align:.12em;
  background:#fb7185;
  box-shadow:0 0 14px rgba(251,113,133,.55);
}

.tp-verified{
  justify-content:start;
  padding-top:clamp(1.15rem,2.8vh,2.3rem);
  padding-bottom:clamp(4rem,10vh,7rem);
  gap:clamp(.55rem,1.35vh,1rem);
}

.tp-verified__visuals{
  transform:translateY(clamp(-1.7rem,-3vh,-.75rem));
  max-height:42vh;
}

.tp-verified__figure img{
  max-height:min(34vh,360px);
}

.tp-verified__copy{
  transform:translateY(clamp(-1.4rem,-2.3vh,-.55rem));
  padding-bottom:clamp(1.6rem,4.5vh,3.2rem);
}

.tp-verified.reveal.is-in .tp-verified__copy{
  transform:translateY(clamp(-1.4rem,-2.3vh,-.55rem));
}

.tp-verified__title{
  font-size:clamp(1.9rem,4.4vw,3.45rem);
}

.tp-verified__rule{
  margin:.65rem auto .95rem;
}

.tp-verified__grid{
  gap:.78rem 1rem;
  margin-bottom:clamp(1.4rem,4vh,2.8rem);
}

.tp-verified__grid li{
  display:flex;
  align-items:center;
  gap:.62rem;
  text-align:left;
  min-height:3.05rem;
}

.tp-verified__grid li span{
  flex:0 0 auto;
  display:grid;
  place-items:center;
  width:1.45rem;
  height:1.45rem;
  border-radius:999px;
  color:#020617;
  font-size:.78rem;
  font-weight:900;
  background:linear-gradient(135deg,#7dd3fc,#38bdf8);
  box-shadow:0 0 18px rgba(56,189,248,.42);
}

@media (max-width:1020px){
  .tp-uv-stage--stack .tp-feature-list--left li,
  .tp-uv-stage--stack .tp-feature-list--right li{transform:translate3d(0,34px,0) scale(.97)}
  .tp-uv-stage--stack.reveal.is-in[data-tp-uv-state="a"] .tp-feature-list--a li,
  .tp-uv-stage--stack.reveal.is-in[data-tp-uv-state="b"] .tp-feature-list--b li{transform:translate3d(0,0,0) scale(1)}
}

@media (max-width:640px){
  .tp-intro__inner{padding:1rem;border-radius:1.2rem}
  .tp-verified{padding-top:2.3rem;padding-bottom:4.6rem}
  .tp-verified__visuals,.tp-verified__copy{transform:none!important}
  .tp-verified__figure img{max-height:240px}
  .tp-verified__grid li{min-height:auto}
}
/* End Technology Platform refinement: UV site photo, feature fly-in, verified lift */

.tp-uv-stage--feature-replay .tp-feature-list li{animation:tpFeatureFlyReplay .76s var(--ease-smooth) both}.tp-uv-stage--feature-replay .tp-feature-list li:nth-child(2){animation-delay:90ms}@keyframes tpFeatureFlyReplay{0%{opacity:0;transform:translate3d(var(--tp-feature-x,0),26px,0) scale(.96);filter:blur(3px)}100%{opacity:1;transform:translate3d(0,0,0) scale(1);filter:blur(0)}}.tp-feature-list--left li{--tp-feature-x:-72px}.tp-feature-list--right li{--tp-feature-x:72px}

/* Technology correction pass: exact hero title, intro site photo, aligned UV feature transitions */
.tp-hero__title{
  color:#9bdcff!important;
  text-shadow:0 0 32px rgba(56,189,248,.38),0 24px 70px rgba(0,0,0,.55);
}

.tp-intro{
  background-image:
    linear-gradient(90deg,rgba(6,8,15,.9) 0%,rgba(6,8,15,.68) 44%,rgba(6,8,15,.9) 100%),
    radial-gradient(ellipse 80% 56% at 35% 0%,rgba(56,189,248,.16),transparent 68%),
    url("assets/uv-field-optimized.jpg")!important;
  background-position:center center!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
}

.tp-uv-layout--stack{
  align-items:center;
}

.tp-uv-stage--stack .tp-feature-list{
  align-self:center;
  display:grid;
  grid-template-rows:repeat(2,minmax(4.25rem,auto));
  gap:clamp(1rem,3.4vh,1.65rem);
  width:100%;
}

.tp-uv-stage--stack .tp-feature-list li{
  display:flex;
  align-items:center;
  min-height:4.25rem;
  margin:0;
  opacity:0;
  pointer-events:none;
  will-change:transform,opacity,filter;
  transition:
    opacity .46s ease,
    transform .62s cubic-bezier(.22,1,.36,1),
    filter .5s ease,
    box-shadow .28s ease,
    border-color .28s ease;
}

.tp-uv-stage--stack .tp-feature-list--left li{
  justify-content:flex-end;
  text-align:right;
  transform:translate3d(-92px,0,0) scale(.97);
  filter:blur(3px);
}

.tp-uv-stage--stack .tp-feature-list--right li{
  justify-content:flex-start;
  text-align:left;
  transform:translate3d(92px,0,0) scale(.97);
  filter:blur(3px);
}

.tp-uv-stage--stack[data-tp-uv-state="a"].reveal.is-in .tp-feature-list--a li,
.tp-uv-stage--stack[data-tp-uv-state="b"].reveal.is-in .tp-feature-list--b li{
  opacity:1;
  pointer-events:auto;
  transform:translate3d(0,0,0) scale(1);
  filter:blur(0);
}

.tp-uv-stage--stack[data-tp-uv-state="a"] .tp-feature-list--b li,
.tp-uv-stage--stack[data-tp-uv-state="b"] .tp-feature-list--a li{
  opacity:0!important;
  pointer-events:none!important;
  filter:blur(3px)!important;
}

.tp-uv-stage--stack[data-tp-uv-state="a"] .tp-feature-list--left.tp-feature-list--b li,
.tp-uv-stage--stack[data-tp-uv-state="b"] .tp-feature-list--left.tp-feature-list--a li{
  transform:translate3d(-92px,0,0) scale(.97)!important;
}

.tp-uv-stage--stack[data-tp-uv-state="a"] .tp-feature-list--right.tp-feature-list--b li,
.tp-uv-stage--stack[data-tp-uv-state="b"] .tp-feature-list--right.tp-feature-list--a li{
  transform:translate3d(92px,0,0) scale(.97)!important;
}

.tp-uv-stage--stack.reveal.is-in .tp-feature-list li:nth-child(2){
  transition-delay:80ms;
}

.tp-uv-stage--feature-replay[data-tp-uv-state="a"] .tp-feature-list--a li,
.tp-uv-stage--feature-replay[data-tp-uv-state="b"] .tp-feature-list--b li{
  animation:tpFeatureFlyInStrict .72s cubic-bezier(.22,1,.36,1) both;
}

.tp-uv-stage--feature-replay[data-tp-uv-state="a"] .tp-feature-list--a li:nth-child(2),
.tp-uv-stage--feature-replay[data-tp-uv-state="b"] .tp-feature-list--b li:nth-child(2){
  animation-delay:80ms;
}

.tp-uv-stage--feature-exit-left li{
  animation:tpFeatureExitLeft .42s ease both;
}

.tp-uv-stage--feature-exit-right li{
  animation:tpFeatureExitRight .42s ease both;
}

@keyframes tpFeatureFlyInStrict{
  0%{opacity:0;transform:translate3d(var(--tp-feature-x,0),0,0) scale(.97);filter:blur(3px)}
  100%{opacity:1;transform:translate3d(0,0,0) scale(1);filter:blur(0)}
}

@keyframes tpFeatureExitLeft{
  0%{opacity:1;transform:translate3d(0,0,0) scale(1);filter:blur(0)}
  100%{opacity:0;transform:translate3d(-92px,0,0) scale(.97);filter:blur(3px)}
}

@keyframes tpFeatureExitRight{
  0%{opacity:1;transform:translate3d(0,0,0) scale(1);filter:blur(0)}
  100%{opacity:0;transform:translate3d(92px,0,0) scale(.97);filter:blur(3px)}
}

@media (max-width:1020px){
  .tp-uv-stage--stack .tp-feature-list{
    grid-template-rows:none;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .tp-uv-stage--stack .tp-feature-list li{
    justify-content:center!important;
    text-align:center!important;
    transform:translate3d(0,34px,0) scale(.97)!important;
  }
  .tp-uv-stage--stack[data-tp-uv-state="a"].reveal.is-in .tp-feature-list--a li,
  .tp-uv-stage--stack[data-tp-uv-state="b"].reveal.is-in .tp-feature-list--b li{
    transform:translate3d(0,0,0) scale(1)!important;
  }
}
/* End Technology correction pass */

/* Desktop-only hard fix: real UV field background + correct A/B feature visibility */
@media (min-width:1021px){
  .tp-intro{background:#050810!important;position:relative!important;overflow:hidden!important}.tp-intro__bg-img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center center!important;z-index:0!important;opacity:1!important;filter:saturate(1.06) contrast(1.04) brightness(.82)!important;transform:scale(1.02)!important}.tp-intro__shade{position:absolute!important;inset:0!important;z-index:1!important;background:linear-gradient(90deg,rgba(4,8,18,.86) 0%,rgba(4,8,18,.66) 45%,rgba(4,8,18,.88) 100%),radial-gradient(ellipse 72% 60% at 32% 48%,rgba(56,189,248,.2),transparent 68%)!important;pointer-events:none!important}.tp-intro__inner{position:relative!important;z-index:2!important}.tp-uv-layout--stack{grid-template-columns:minmax(230px,.78fr) minmax(500px,1.38fr) minmax(230px,.78fr)!important;column-gap:clamp(1.5rem,3.2vw,3.2rem)!important;align-items:center!important}.tp-uv-figure--stack{grid-column:2!important;grid-row:1!important;width:100%!important;min-height:clamp(360px,46vh,520px)!important}.tp-feature-list--left.tp-feature-list--a,.tp-feature-list--left.tp-feature-list--b{grid-column:1!important;grid-row:1!important}.tp-feature-list--right.tp-feature-list--a,.tp-feature-list--right.tp-feature-list--b{grid-column:3!important;grid-row:1!important}.tp-uv-stage--stack .tp-feature-list{display:grid!important;grid-template-rows:repeat(2,4.55rem)!important;align-content:center!important;gap:clamp(1rem,3vh,1.65rem)!important;width:100%!important;opacity:1!important;visibility:visible!important;position:relative!important;pointer-events:none!important}.tp-uv-stage--stack .tp-feature-list li{width:100%!important;min-height:4.55rem!important;box-sizing:border-box!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;filter:blur(3px)!important;transition:opacity .48s ease,visibility .48s ease,transform .68s cubic-bezier(.22,1,.36,1),filter .52s ease!important}.tp-uv-stage--stack .tp-feature-list--left li{justify-content:flex-end!important;text-align:right!important;transform:translate3d(-96px,0,0) scale(.97)!important}.tp-uv-stage--stack .tp-feature-list--right li{justify-content:flex-start!important;text-align:left!important;transform:translate3d(96px,0,0) scale(.97)!important}.tp-uv-stage--stack[data-tp-uv-state="a"].reveal.is-in .tp-feature-list--a li,.tp-uv-stage--stack[data-tp-uv-state="b"].reveal.is-in .tp-feature-list--b li{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:translate3d(0,0,0) scale(1)!important;filter:blur(0)!important}.tp-uv-stage--stack[data-tp-uv-state="a"] .tp-feature-list--b li,.tp-uv-stage--stack[data-tp-uv-state="b"] .tp-feature-list--a li{opacity:0!important;visibility:hidden!important;pointer-events:none!important}.tp-uv-img--a{width:min(480px,88%)!important}.tp-uv-img--b{width:min(720px,100%)!important}.tp-feature-list li::before{flex:0 0 auto!important}}

/* Desktop UV text and feature integration polish */
@media (min-width:1021px){
  .tp-intro__subline{margin:clamp(.35rem,1vh,.55rem) 0 clamp(1rem,2vh,1.35rem);font-size:clamp(.95rem,1.2vw,1.12rem);line-height:1.35;font-weight:650;font-style:italic;letter-spacing:.08em;color:rgba(186,230,253,.92);text-transform:none;text-shadow:0 10px 30px rgba(0,0,0,.45)}
  .tp-uv-layout--stack{grid-template-columns:minmax(260px,.8fr) minmax(520px,1.34fr) minmax(260px,.8fr)!important;column-gap:clamp(1.2rem,2.5vw,2.6rem)!important}.tp-uv-stage--stack .tp-feature-list{height:clamp(330px,43vh,500px)!important;align-content:center!important;justify-content:center!important;justify-items:center!important;gap:clamp(1.15rem,3.2vh,1.85rem)!important}.tp-uv-stage--stack .tp-feature-list li{width:min(100%,18.5rem)!important;min-height:4.2rem!important;padding:.3rem .1rem!important;border:none!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:rgba(251,113,133,.98)!important;text-shadow:0 0 18px rgba(251,113,133,.24),0 12px 34px rgba(0,0,0,.48)!important;font-size:clamp(.98rem,1.2vw,1.12rem)!important;line-height:1.38!important}.tp-uv-stage--stack .tp-feature-list--left li{justify-content:center!important;text-align:center!important;margin-inline:auto!important}.tp-uv-stage--stack .tp-feature-list--right li{justify-content:center!important;text-align:center!important;margin-inline:auto!important}.tp-feature-list li::before{width:.36rem!important;height:.36rem!important;margin-right:.58rem!important;background:#fb7185!important;box-shadow:0 0 16px rgba(251,113,133,.62)!important}.tp-uv-figure--stack{min-height:clamp(330px,43vh,500px)!important;align-self:center!important}.tp-uv-figure{background:transparent!important;border:none!important;box-shadow:none!important}}

/* Desktop UV title sizing and feature dot alignment */
@media (min-width:1021px){
  .tp-uv-stage--stack .tp-stage__title{font-size:clamp(1.42rem,3.15vw,2.75rem)!important;letter-spacing:-.014em!important;line-height:1.02!important}.tp-uv-stage--stack .tp-feature-list li{display:grid!important;grid-template-columns:.7rem minmax(0,1fr)!important;column-gap:.62rem!important;align-items:center!important;justify-content:normal!important;text-align:left!important}.tp-uv-stage--stack .tp-feature-list li::before{content:""!important;grid-column:1!important;grid-row:1!important;justify-self:center!important;align-self:center!important;width:.38rem!important;height:.38rem!important;margin:0!important;border-radius:999px!important}.tp-uv-stage--stack .tp-feature-list--left li,.tp-uv-stage--stack .tp-feature-list--right li{justify-content:normal!important;text-align:left!important}.tp-uv-stage--stack .tp-feature-list li{padding-left:.25rem!important;padding-right:.25rem!important}}

/* Desktop final: red subline and corrected feature spacing / exit visibility */
@media (min-width:1021px){
  .tp-intro__subline{color:rgba(248,151,151,.95)!important;text-shadow:0 0 20px rgba(248,113,113,.28),0 10px 30px rgba(0,0,0,.48)!important}.tp-uv-layout--stack{grid-template-columns:minmax(300px,.92fr) minmax(500px,1.16fr) minmax(300px,.92fr)!important;column-gap:clamp(2.5rem,5.2vw,5.2rem)!important}.tp-stage__shell{width:min(1320px,calc(100vw - 6rem))!important}.tp-uv-stage--stack .tp-feature-list{width:min(100%,21rem)!important}.tp-uv-stage--stack .tp-feature-list--left{justify-self:end!important;margin-right:clamp(1.2rem,2.4vw,2.4rem)!important}.tp-uv-stage--stack .tp-feature-list--right{justify-self:start!important;margin-left:clamp(1.2rem,2.4vw,2.4rem)!important}.tp-uv-stage--stack .tp-feature-list li{width:20rem!important}.tp-uv-stage--stack[data-tp-uv-outgoing="a"] .tp-feature-list--a li,.tp-uv-stage--stack[data-tp-uv-outgoing="b"] .tp-feature-list--b li{opacity:1!important;visibility:visible!important;pointer-events:none!important;filter:blur(0)!important}.tp-uv-stage--stack[data-tp-uv-outgoing="a"] .tp-feature-list--left.tp-feature-list--a li,.tp-uv-stage--stack[data-tp-uv-outgoing="b"] .tp-feature-list--left.tp-feature-list--b li{animation:tpFeatureExitLeft .46s ease both!important}.tp-uv-stage--stack[data-tp-uv-outgoing="a"] .tp-feature-list--right.tp-feature-list--a li,.tp-uv-stage--stack[data-tp-uv-outgoing="b"] .tp-feature-list--right.tp-feature-list--b li{animation:tpFeatureExitRight .46s ease both!important}.tp-uv-stage--feature-replay[data-tp-uv-state="a"] .tp-feature-list--a li,.tp-uv-stage--feature-replay[data-tp-uv-state="b"] .tp-feature-list--b li{animation:tpFeatureFlyInStrict .78s cubic-bezier(.22,1,.36,1) both!important}.tp-uv-stage--feature-replay[data-tp-uv-state="a"] .tp-feature-list--a li:nth-child(2),.tp-uv-stage--feature-replay[data-tp-uv-state="b"] .tp-feature-list--b li:nth-child(2){animation-delay:90ms!important}}

/* Revert UV subline and feature style to previous presentation */
@media (min-width:1021px){
  .tp-intro__subline{color:rgba(186,230,253,.92)!important;font-style:italic!important;font-weight:650!important;letter-spacing:.08em!important;text-shadow:0 10px 30px rgba(0,0,0,.45)!important}.tp-uv-stage--stack .tp-feature-list li{display:flex!important;grid-template-columns:none!important;column-gap:0!important;justify-content:center!important;align-items:center!important;text-align:center!important;width:min(100%,18.5rem)!important;padding:.3rem .1rem!important;border:none!important;background:transparent!important;box-shadow:none!important}.tp-uv-stage--stack .tp-feature-list--left li,.tp-uv-stage--stack .tp-feature-list--right li{justify-content:center!important;text-align:center!important}.tp-uv-stage--stack .tp-feature-list li::before{content:""!important;display:inline-block!important;flex:0 0 auto!important;width:.36rem!important;height:.36rem!important;margin:0 .58rem 0 0!important;border-radius:999px!important;vertical-align:.12em!important;background:#fb7185!important;box-shadow:0 0 16px rgba(251,113,133,.62)!important}}

/* Desktop UV final layout: centered image, no feature motion, safe feature columns */
@media (min-width:1021px){
  .tp-uv-stage--stack .tp-stage__shell{width:min(1180px,calc(100vw - 4rem))!important;margin-inline:auto!important}.tp-uv-layout--stack{position:relative!important;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(430px,560px) minmax(0,1fr)!important;column-gap:clamp(1rem,2vw,2rem)!important;width:100%!important;max-width:1180px!important;margin-inline:auto!important;align-items:center!important;justify-items:center!important;overflow:visible!important}.tp-uv-figure--stack{grid-column:2!important;grid-row:1!important;justify-self:center!important;align-self:center!important;width:min(560px,100%)!important;min-width:0!important;min-height:clamp(320px,42vh,480px)!important;margin:0!important;transform:none!important}.tp-uv-figure--stack .tp-uv-img{left:50%!important;top:50%!important}.tp-uv-img--a{width:min(430px,92%)!important;transform:translate(-50%,-50%) scale(1)!important}.tp-uv-img--b{width:min(550px,100%)!important;transform:translate(-50%,-50%) scale(1)!important}.tp-uv-stage--stack[data-tp-uv-state="b"] .tp-uv-img--a{opacity:0!important;transform:translate(-50%,-50%) scale(.98)!important}.tp-uv-stage--stack[data-tp-uv-state="b"] .tp-uv-img--b{opacity:1!important;transform:translate(-50%,-50%) scale(1)!important}.tp-feature-list--left.tp-feature-list--a,.tp-feature-list--left.tp-feature-list--b{grid-column:1!important;grid-row:1!important;justify-self:stretch!important}.tp-feature-list--right.tp-feature-list--a,.tp-feature-list--right.tp-feature-list--b{grid-column:3!important;grid-row:1!important;justify-self:stretch!important}.tp-uv-stage--stack .tp-feature-list{display:grid!important;grid-template-rows:repeat(2,minmax(3.8rem,auto))!important;align-content:space-evenly!important;justify-content:center!important;justify-items:center!important;height:clamp(300px,40vh,440px)!important;width:100%!important;max-width:100%!important;min-width:0!important;padding:0!important;margin:0!important;gap:clamp(.75rem,2vh,1.25rem)!important;opacity:1!important;visibility:visible!important;overflow:visible!important;pointer-events:none!important}.tp-uv-stage--stack .tp-feature-list li{width:min(100%,15.8rem)!important;max-width:15.8rem!important;min-width:0!important;min-height:3.8rem!important;padding:.2rem .1rem!important;margin:0 auto!important;box-sizing:border-box!important;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;white-space:normal!important;overflow:visible!important;text-wrap:balance!important;word-break:normal!important;hyphens:none!important;border:none!important;background:transparent!important;box-shadow:none!important;opacity:0!important;visibility:hidden!important;filter:none!important;transform:none!important;transition:opacity .28s ease,visibility .28s ease!important;animation:none!important}.tp-uv-stage--stack[data-tp-uv-state="a"] .tp-feature-list--a li,.tp-uv-stage--stack[data-tp-uv-state="b"] .tp-feature-list--b li{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:none!important;animation:none!important}.tp-uv-stage--stack[data-tp-uv-state="a"] .tp-feature-list--b li,.tp-uv-stage--stack[data-tp-uv-state="b"] .tp-feature-list--a li{opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:none!important;animation:none!important}.tp-uv-stage--feature-replay .tp-feature-list li,.tp-uv-stage--feature-exit-left li,.tp-uv-stage--feature-exit-right li{animation:none!important;transform:none!important}.tp-feature-list li::before{content:""!important;display:inline-block!important;flex:0 0 auto!important;width:.34rem!important;height:.34rem!important;margin:0 .5rem 0 0!important;border-radius:999px!important;background:#fb7185!important;box-shadow:0 0 14px rgba(251,113,133,.55)!important}}

/* Desktop UV slow motion feature transition: 10x slower */
@media (min-width:1021px){
  .tp-uv-stage--stack .tp-feature-list li{transition:opacity 2.8s ease,visibility 2.8s ease,transform 6.8s cubic-bezier(.22,1,.36,1),filter 5.2s ease!important;animation:none}.tp-uv-stage--stack[data-tp-uv-outgoing="a"] .tp-feature-list--a li,.tp-uv-stage--stack[data-tp-uv-outgoing="b"] .tp-feature-list--b li{opacity:1!important;visibility:visible!important;pointer-events:none!important;filter:blur(0)!important}.tp-uv-stage--stack[data-tp-uv-outgoing="a"] .tp-feature-list--left.tp-feature-list--a li,.tp-uv-stage--stack[data-tp-uv-outgoing="b"] .tp-feature-list--left.tp-feature-list--b li{animation:tpFeatureExitLeftSlow 4.2s ease both!important}.tp-uv-stage--stack[data-tp-uv-outgoing="a"] .tp-feature-list--right.tp-feature-list--a li,.tp-uv-stage--stack[data-tp-uv-outgoing="b"] .tp-feature-list--right.tp-feature-list--b li{animation:tpFeatureExitRightSlow 4.2s ease both!important}.tp-uv-stage--feature-replay[data-tp-uv-state="a"] .tp-feature-list--a li,.tp-uv-stage--feature-replay[data-tp-uv-state="b"] .tp-feature-list--b li{animation:tpFeatureFlyInSlow 7.2s cubic-bezier(.22,1,.36,1) both!important}.tp-uv-stage--feature-replay[data-tp-uv-state="a"] .tp-feature-list--a li:nth-child(2),.tp-uv-stage--feature-replay[data-tp-uv-state="b"] .tp-feature-list--b li:nth-child(2){animation-delay:.8s!important}@keyframes tpFeatureFlyInSlow{0%{opacity:0;transform:translate3d(var(--tp-feature-x,0),0,0) scale(.97);filter:blur(3px)}100%{opacity:1;transform:translate3d(0,0,0) scale(1);filter:blur(0)}}@keyframes tpFeatureExitLeftSlow{0%{opacity:1;transform:translate3d(0,0,0) scale(1);filter:blur(0)}100%{opacity:0;transform:translate3d(-96px,0,0) scale(.97);filter:blur(3px)}}@keyframes tpFeatureExitRightSlow{0%{opacity:1;transform:translate3d(0,0,0) scale(1);filter:blur(0)}100%{opacity:0;transform:translate3d(96px,0,0) scale(.97);filter:blur(3px)}}.tp-feature-list--left li{--tp-feature-x:-96px}.tp-feature-list--right li{--tp-feature-x:96px}}

/* Desktop UV feature transition speed: 8x faster than previous slow pass */
@media (min-width:1021px){
  .tp-uv-stage--stack .tp-feature-list li{transition:opacity .35s ease,visibility .35s ease,transform .85s cubic-bezier(.22,1,.36,1),filter .65s ease!important}.tp-uv-stage--stack[data-tp-uv-outgoing="a"] .tp-feature-list--left.tp-feature-list--a li,.tp-uv-stage--stack[data-tp-uv-outgoing="b"] .tp-feature-list--left.tp-feature-list--b li{animation-duration:.525s!important}.tp-uv-stage--stack[data-tp-uv-outgoing="a"] .tp-feature-list--right.tp-feature-list--a li,.tp-uv-stage--stack[data-tp-uv-outgoing="b"] .tp-feature-list--right.tp-feature-list--b li{animation-duration:.525s!important}.tp-uv-stage--feature-replay[data-tp-uv-state="a"] .tp-feature-list--a li,.tp-uv-stage--feature-replay[data-tp-uv-state="b"] .tp-feature-list--b li{animation-duration:.9s!important}.tp-uv-stage--feature-replay[data-tp-uv-state="a"] .tp-feature-list--a li:nth-child(2),.tp-uv-stage--feature-replay[data-tp-uv-state="b"] .tp-feature-list--b li:nth-child(2){animation-delay:.1s!important}}

/* Desktop UV: faster image switch, features follow image with no motion */
@media (min-width:1021px){
  .tp-uv-stage--stack .tp-uv-img{transition:opacity .28s ease,transform .32s ease,filter .32s ease!important}.tp-uv-stage--stack .tp-feature-list li{transition:none!important;animation:none!important;transform:none!important;filter:none!important}.tp-uv-stage--stack[data-tp-uv-state="a"] .tp-feature-list--a li,.tp-uv-stage--stack[data-tp-uv-state="b"] .tp-feature-list--b li{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:none!important;filter:none!important;animation:none!important}.tp-uv-stage--stack[data-tp-uv-state="a"] .tp-feature-list--b li,.tp-uv-stage--stack[data-tp-uv-state="b"] .tp-feature-list--a li{opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:none!important;filter:none!important;animation:none!important}.tp-uv-stage--stack[data-tp-uv-outgoing] .tp-feature-list li,.tp-uv-stage--feature-replay .tp-feature-list li{animation:none!important;transition:none!important;transform:none!important;filter:none!important}}

/* Desktop UV polished crossfade: smooth, no flashing */
@media (min-width:1021px){
  .tp-uv-stage--stack .tp-uv-img{transition:opacity .62s cubic-bezier(.22,.61,.36,1),transform .72s cubic-bezier(.22,.61,.36,1),filter .72s cubic-bezier(.22,.61,.36,1)!important;will-change:opacity,transform,filter!important}.tp-uv-stage--stack .tp-feature-list li{transition:opacity .48s cubic-bezier(.22,.61,.36,1),visibility 0s linear .48s,filter .48s cubic-bezier(.22,.61,.36,1)!important;animation:none!important;transform:none!important;will-change:opacity,filter!important}.tp-uv-stage--stack[data-tp-uv-state="a"] .tp-feature-list--a li,.tp-uv-stage--stack[data-tp-uv-state="b"] .tp-feature-list--b li{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:none!important;filter:blur(0)!important;transition-delay:.12s,0s,.12s!important}.tp-uv-stage--stack[data-tp-uv-state="a"] .tp-feature-list--b li,.tp-uv-stage--stack[data-tp-uv-state="b"] .tp-feature-list--a li{opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:none!important;filter:blur(1.5px)!important;transition-delay:0s,.48s,0s!important}.tp-uv-stage--stack[data-tp-uv-outgoing] .tp-feature-list li,.tp-uv-stage--feature-replay .tp-feature-list li{animation:none!important;transform:none!important}}

/* Desktop UV features: match image crossfade exactly */
@media (min-width:1021px){
  .tp-uv-stage--stack .tp-feature-list li{transition:opacity .62s cubic-bezier(.22,.61,.36,1),visibility 0s linear .62s,filter .72s cubic-bezier(.22,.61,.36,1)!important;transition-delay:0s,0s,0s!important;animation:none!important;transform:none!important;will-change:opacity,filter!important}.tp-uv-stage--stack[data-tp-uv-state="a"] .tp-feature-list--a li,.tp-uv-stage--stack[data-tp-uv-state="b"] .tp-feature-list--b li{opacity:1!important;visibility:visible!important;pointer-events:auto!important;filter:blur(0)!important;transform:none!important;transition:opacity .62s cubic-bezier(.22,.61,.36,1),visibility 0s linear 0s,filter .72s cubic-bezier(.22,.61,.36,1)!important;transition-delay:0s,0s,0s!important}.tp-uv-stage--stack[data-tp-uv-state="a"] .tp-feature-list--b li,.tp-uv-stage--stack[data-tp-uv-state="b"] .tp-feature-list--a li{opacity:0!important;visibility:hidden!important;pointer-events:none!important;filter:blur(0)!important;transform:none!important;transition:opacity .62s cubic-bezier(.22,.61,.36,1),visibility 0s linear .62s,filter .72s cubic-bezier(.22,.61,.36,1)!important;transition-delay:0s,.62s,0s!important}.tp-uv-stage--stack[data-tp-uv-outgoing] .tp-feature-list li,.tp-uv-stage--feature-replay .tp-feature-list li{animation:none!important;transform:none!important}}

/* Desktop UV requested fixes only: lower label, instant features */
@media (min-width:1021px){
  .tp-uv-stage--stack .tp-stage__subtitle{position:relative!important;z-index:3!important;transform:translateY(clamp(.45rem,1.05vh,.8rem))!important;margin-bottom:0!important}.tp-uv-stage--stack .tp-stage__heading{margin-bottom:clamp(.35rem,.9vh,.65rem)!important}.tp-uv-stage--stack .tp-uv-layout--stack{margin-top:clamp(.45rem,1.1vh,.75rem)!important}.tp-uv-stage--stack .tp-feature-list li{transition:none!important;animation:none!important;transform:none!important;filter:none!important}.tp-uv-stage--stack[data-tp-uv-state="a"] .tp-feature-list--a li,.tp-uv-stage--stack[data-tp-uv-state="b"] .tp-feature-list--b li{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transition:none!important;animation:none!important;transform:none!important;filter:none!important}.tp-uv-stage--stack[data-tp-uv-state="a"] .tp-feature-list--b li,.tp-uv-stage--stack[data-tp-uv-state="b"] .tp-feature-list--a li{opacity:0!important;visibility:hidden!important;pointer-events:none!important;transition:none!important;animation:none!important;transform:none!important;filter:none!important}.tp-uv-stage--feature-replay .tp-feature-list li,.tp-uv-stage--stack[data-tp-uv-outgoing] .tp-feature-list li{transition:none!important;animation:none!important;transform:none!important;filter:none!important}}
/* About page clean rebuild: Technology-style reveal, native scrolling */
html.hema-about,body.page-about{margin:0;padding:0;background:#050914;overflow-x:hidden;scroll-behavior:auto}.page-about #hema-app,.page-about main.about-page,.page-about .about-page__shell{width:100%;max-width:none;margin:0;padding:0;background:#050914;overflow-x:hidden}.page-about .about-page__hero-bridge{height:clamp(4rem,8vw,7rem);margin:0;background:linear-gradient(180deg,rgba(5,9,20,0),#050914 76%,#050914)}.page-about .about-sec1{width:min(1180px,calc(100% - 3rem));margin:0 auto;padding:clamp(2.4rem,5vw,4rem) 0 clamp(2.8rem,5vw,4.5rem)}.page-about .about-vision{position:relative;isolation:isolate;overflow:hidden;width:100%;max-width:none;margin:0;padding:clamp(2.6rem,5.2vw,4.8rem) max(clamp(1.5rem,5vw,4.6rem),calc((100% - 1180px)/2 + 2rem));border:0;border-radius:0;background:#050b18}.page-about .about-vision__bg-img{position:absolute;inset:0;z-index:-3;width:100%;height:100%;object-fit:cover;object-position:center center;filter:brightness(.9) saturate(1.04) contrast(1.03)}.page-about .about-vision__bg-shade{position:absolute;inset:0;z-index:-2;pointer-events:none;background:linear-gradient(135deg,rgba(3,7,18,.68),rgba(7,18,34,.5)),radial-gradient(circle at 18% 8%,rgba(56,189,248,.12),transparent 34%),radial-gradient(circle at 88% 18%,rgba(20,184,166,.09),transparent 36%)}.page-about .about-vision__head{max-width:920px;margin:0 auto clamp(1.35rem,3vw,2.2rem);text-align:center}.page-about .about-vision__kicker{margin:0 0 .65rem;color:#7dd3fc;font-size:clamp(.9rem,1.15vw,1.08rem);font-weight:800;letter-spacing:.2em;text-transform:uppercase}.page-about .about-vision__title{margin:0;color:#f8fafc;font-size:clamp(2rem,4.7vw,4.35rem);line-height:1.08;letter-spacing:.012em;word-spacing:.05em;text-wrap:balance}.page-about .about-vision__intro{max-width:1040px;margin:0 auto;color:rgba(226,232,240,.88);font-size:clamp(1rem,1.35vw,1.12rem);line-height:1.78;text-align:justify;text-justify:inter-word}.page-about .about-vision__intro p{margin:0}.page-about .about-vision__intro p+p{margin-top:1rem}.page-about .about-vision__intro strong,.page-about .about-vision__intro em{font-weight:800;font-style:italic;color:#f8fafc}.page-about .about-vision__cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(.65rem,1.2vw,.95rem);width:min(980px,100%);margin:clamp(1.6rem,3.6vw,2.4rem) auto 0}.page-about .about-vision-card{display:flex;flex-direction:column;align-items:stretch;min-height:auto;padding:clamp(.85rem,1.35vw,1.08rem);border:1px solid rgba(125,211,252,.18);border-radius:.95rem;background:linear-gradient(180deg,rgba(15,23,42,.72),rgba(15,23,42,.42));transition:background .28s ease,border-color .28s ease}.page-about .about-vision-card:hover{border-color:rgba(125,211,252,.34);background:linear-gradient(180deg,rgba(15,23,42,.82),rgba(14,48,70,.42))}.page-about .about-vision-card__icon{display:grid;place-items:center;width:2.85rem;height:2.85rem;margin:0 auto .65rem;border:1px solid rgba(125,211,252,.32);border-radius:999px;color:#7dd3fc;background:radial-gradient(circle at 35% 25%,rgba(125,211,252,.24),rgba(15,23,42,.58))}.page-about .about-vision-card__icon svg{width:1.38rem;height:1.38rem}.page-about .about-vision-card h3{display:flex;align-items:center;justify-content:center;min-height:2.65rem;margin:0 0 .5rem;color:#f8fafc;font-size:clamp(1.34rem,1.9vw,1.68rem);line-height:1.12;font-weight:800;letter-spacing:-.035em;text-align:center}.page-about .about-vision-card p{margin:0;color:rgba(203,213,225,.86);font-size:clamp(1rem,1.15vw,1.08rem);line-height:1.52;text-align:left}.page-about .about-s4{position:relative;overflow:hidden;width:100%;max-width:none;min-height:clamp(320px,42vw,420px);margin:0;padding:clamp(3rem,6vw,5rem) max(clamp(1.5rem,5vw,4rem),calc((100% - 1180px)/2 + 2rem));border:0;border-radius:0;background:#050914}.page-about .about-s4__art{position:absolute;inset:0;z-index:0;margin:0;padding:0;border:0;border-radius:0;background:#050914}.page-about .about-s4__art::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(180deg,rgba(2,6,23,.18),rgba(2,6,23,.28) 34%,rgba(2,6,23,.46) 68%,rgba(2,6,23,.58)),url("https://images.pexels.com/photos/256262/pexels-photo-256262.jpeg?auto=compress&cs=tinysrgb&w=1600");background-repeat:no-repeat;background-position:center;background-size:cover}.page-about .about-s4 .about-split__body{position:relative;z-index:2;display:grid;place-items:center;justify-items:start;max-width:min(760px,calc(100% - 3rem));min-height:clamp(320px,42vw,420px);margin:0 auto;padding:clamp(1.4rem,3.2vw,2.2rem);text-align:left;text-wrap:balance}.page-about .about-s4 .about-split__h{margin:.1rem 0 .2rem;font-size:clamp(1rem,2vw,1.18rem);letter-spacing:-.03em;color:#f8fafc;text-shadow:0 2px 14px rgba(0,0,0,.35)}.page-about .about-s4__kicker{margin:0 0 .4rem;color:#7dd3fc;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.page-about .about-split__p{color:rgba(226,232,240,.88)}main.section-block--about.about-page .reveal:not(.is-in),.about-page .about-core-cards[data-about-core-cards]>.about-core-card:not(.is-visible){opacity:0;transform:translate3d(0,34px,0) scale(.992)}main.section-block--about.about-page .reveal.is-in,.about-page .about-core-cards[data-about-core-cards]>.about-core-card.is-visible{opacity:1;transform:translate3d(0,0,0) scale(1)}main.section-block--about.about-page .reveal,.about-page .about-core-cards[data-about-core-cards]>.about-core-card{transition:opacity .62s var(--ease-smooth),transform .68s var(--ease-smooth);will-change:auto;backface-visibility:hidden}.page-about .about-s4 .about-split__body>*{transition:opacity .48s var(--ease-smooth),transform .56s var(--ease-smooth)}.page-about .about-s4.reveal:not(.is-in) .about-split__body>*{opacity:0;transform:translate3d(0,22px,0)}.page-about .about-s4.reveal.is-in .about-split__body>*{opacity:1;transform:translate3d(0,0,0)}@media (max-width:1180px){.page-about .about-vision__cards{grid-template-columns:repeat(2,minmax(0,1fr));width:min(760px,100%)}}@media (max-width:720px){.page-about .about-sec1{width:min(100% - 2rem,42rem)}.page-about .about-vision{padding:2.2rem 1.1rem}.page-about .about-vision__cards{grid-template-columns:1fr;width:min(420px,100%)}.page-about .about-s4{padding-left:1.1rem;padding-right:1.1rem}.page-about .about-s4 .about-split__body{max-width:100%;padding:1.2rem}}@media (prefers-reduced-motion:reduce){main.section-block--about.about-page .reveal,.about-page .about-core-cards[data-about-core-cards]>.about-core-card,.page-about .about-s4 .about-split__body>*{opacity:1!important;transform:none!important;transition:none!important}}

/* About clean fixes: header clearance and single page scrollbar */
body.page-about{padding-top:var(--header-h,72px)}.page-about .site-header{top:0}.page-about main.about-page{margin-top:0}.page-about .about-hero{min-height:calc(100svh - var(--header-h,72px));padding-top:clamp(1rem,3vh,2rem);box-sizing:border-box}.page-about .about-hero__inner{position:absolute;inset:0;max-width:none;width:100%;padding:0}.page-about .about-hero__brand,.page-about .about-hero__hema{line-height:1.02}.page-about .about-sec1,.page-about .about-core-cards,.page-about .about-core-card{overflow-y:visible!important;max-height:none!important;height:auto!important}.page-about .about-core-cards{overflow-x:visible!important;scrollbar-width:none!important;-ms-overflow-style:none!important}.page-about .about-core-cards::-webkit-scrollbar{width:0!important;height:0!important;display:none!important}.page-about [data-about-core-deck],.page-about [data-about-core-cards]{overflow:visible!important;max-height:none!important}.page-about #hema-app,.page-about main.about-page,.page-about .about-page__shell{overflow-y:visible!important;max-height:none!important}

/* About: remove inner vertical scrollbar, keep only document scroll */
html.hema-about{overflow-y:auto!important;overflow-x:hidden!important}body.page-about{overflow-y:visible!important;overflow-x:hidden!important;scrollbar-width:none!important;-ms-overflow-style:none!important}body.page-about::-webkit-scrollbar{width:0!important;height:0!important;display:none!important}body.page-about #hema-app,body.page-about main.section-block,body.page-about main.about-page,body.page-about .about-page__shell,body.page-about .about-sec1,body.page-about .about-core-cards,body.page-about .about-vision,body.page-about .about-s4{overflow-y:visible!important;max-height:none!important;height:auto!important;scrollbar-width:none!important;-ms-overflow-style:none!important}body.page-about #hema-app::-webkit-scrollbar,body.page-about main.section-block::-webkit-scrollbar,body.page-about main.about-page::-webkit-scrollbar,body.page-about .about-page__shell::-webkit-scrollbar,body.page-about .about-sec1::-webkit-scrollbar,body.page-about .about-core-cards::-webkit-scrollbar,body.page-about .about-vision::-webkit-scrollbar,body.page-about .about-s4::-webkit-scrollbar{width:0!important;height:0!important;display:none!important}.page-about .about-vision,.page-about .about-s4{overflow-x:hidden!important}.page-about .about-s4__art{overflow:hidden!important}

/* About: lock Core and Vision during scroll, no vertical shifting */
.page-about .about-sec1__h,.page-about .about-core-cards,.page-about .about-core-card,.page-about .about-vision,.page-about .about-vision__head,.page-about .about-vision__intro,.page-about .about-vision-card{opacity:1!important;transform:none!important;transition:background .24s ease,border-color .24s ease,color .24s ease!important;animation:none!important;will-change:auto!important}.page-about .about-core-cards[data-about-core-cards]>.about-core-card,.page-about .about-core-cards[data-about-core-cards]>.about-core-card:not(.is-visible),.page-about .about-core-cards[data-about-core-cards]>.about-core-card.is-visible{opacity:1!important;transform:none!important}.page-about main.section-block--about.about-page .about-sec1__h.reveal:not(.is-in),.page-about main.section-block--about.about-page .about-sec1__h.reveal.is-in,.page-about main.section-block--about.about-page .about-vision.reveal:not(.is-in),.page-about main.section-block--about.about-page .about-vision.reveal.is-in{opacity:1!important;transform:none!important}.page-about .about-vision.reveal:not(.is-in) .about-vision-card,.page-about .about-vision.reveal.is-in .about-vision-card{opacity:1!important;transform:none!important}.page-about .about-sec1,.page-about .about-vision{contain:layout paint style}

/* About: restore motion without vertical shifting */
.page-about .about-sec1__h,.page-about .about-core-card,.page-about .about-vision,.page-about .about-vision__kicker,.page-about .about-vision__title,.page-about .about-vision__intro,.page-about .about-vision-card{transform:none!important;will-change:opacity,filter!important}.page-about .about-sec1__h.reveal:not(.is-in){opacity:0!important;filter:blur(8px)!important}.page-about .about-sec1__h.reveal.is-in{opacity:1!important;filter:blur(0)!important;transition:opacity .72s var(--ease-smooth),filter .72s var(--ease-smooth)!important}.page-about .about-core-cards[data-about-core-cards]>.about-core-card{opacity:0!important;filter:blur(8px)!important;transition:opacity .62s var(--ease-smooth),filter .62s var(--ease-smooth),background .24s ease,border-color .24s ease!important}.page-about .about-core-cards[data-about-core-cards]>.about-core-card.is-visible{opacity:1!important;filter:blur(0)!important}.page-about .about-core-cards[data-about-core-cards]>.about-core-card:nth-child(1){transition-delay:.03s!important}.page-about .about-core-cards[data-about-core-cards]>.about-core-card:nth-child(2){transition-delay:.09s!important}.page-about .about-core-cards[data-about-core-cards]>.about-core-card:nth-child(3){transition-delay:.15s!important}.page-about .about-core-cards[data-about-core-cards]>.about-core-card:nth-child(4){transition-delay:.21s!important}.page-about .about-core-cards[data-about-core-cards]>.about-core-card:nth-child(5){transition-delay:.27s!important}.page-about .about-vision.reveal:not(.is-in){opacity:0!important;filter:blur(8px)!important}.page-about .about-vision.reveal.is-in{opacity:1!important;filter:blur(0)!important;transition:opacity .72s var(--ease-smooth),filter .72s var(--ease-smooth)!important}.page-about .about-vision.reveal.is-in .about-vision__kicker{animation:aboutFadeSharp .58s var(--ease-smooth) .04s both!important}.page-about .about-vision.reveal.is-in .about-vision__title{animation:aboutFadeSharp .66s var(--ease-smooth) .1s both!important}.page-about .about-vision.reveal.is-in .about-vision__intro{animation:aboutFadeSharp .7s var(--ease-smooth) .16s both!important}.page-about .about-vision.reveal.is-in .about-vision-card{animation:aboutFadeSharp .58s var(--ease-smooth) both!important}.page-about .about-vision.reveal.is-in .about-vision-card:nth-child(1){animation-delay:.22s!important}.page-about .about-vision.reveal.is-in .about-vision-card:nth-child(2){animation-delay:.28s!important}.page-about .about-vision.reveal.is-in .about-vision-card:nth-child(3){animation-delay:.34s!important}.page-about .about-vision.reveal.is-in .about-vision-card:nth-child(4){animation-delay:.4s!important}.page-about .about-core-card:hover,.page-about .about-vision-card:hover{filter:brightness(1.08)!important}.page-about .about-core-card:hover .about-core-card__icon,.page-about .about-vision-card:hover .about-vision-card__icon{filter:drop-shadow(0 0 14px rgba(125,211,252,.34))!important}@keyframes aboutFadeSharp{from{opacity:0;filter:blur(8px)}to{opacity:1;filter:blur(0)}}

/* About final scroll fix: no scroll traps, no section movement */
html.hema-about{height:auto!important;min-height:100%!important;overflow-x:hidden!important;overflow-y:auto!important;scroll-behavior:auto!important;overscroll-behavior:auto!important;scrollbar-gutter:auto!important}html.hema-about body.page-about{display:block!important;height:auto!important;min-height:0!important;overflow:visible!important;padding-top:var(--header-h,72px)!important;background:#050914!important}html.hema-about body.page-about::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}html.hema-about body.page-about #hema-app,html.hema-about body.page-about main.about-page,html.hema-about body.page-about .section-block--about,html.hema-about body.page-about .about-page__shell,html.hema-about body.page-about .about-sec1,html.hema-about body.page-about [data-about-core-deck],html.hema-about body.page-about [data-about-core-cards],html.hema-about body.page-about .about-vision,html.hema-about body.page-about .about-s4{height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;overscroll-behavior:auto!important;scrollbar-width:none!important;-ms-overflow-style:none!important;contain:none!important}html.hema-about body.page-about #hema-app::-webkit-scrollbar,html.hema-about body.page-about main.about-page::-webkit-scrollbar,html.hema-about body.page-about .section-block--about::-webkit-scrollbar,html.hema-about body.page-about .about-page__shell::-webkit-scrollbar,html.hema-about body.page-about .about-sec1::-webkit-scrollbar,html.hema-about body.page-about [data-about-core-deck]::-webkit-scrollbar,html.hema-about body.page-about [data-about-core-cards]::-webkit-scrollbar,html.hema-about body.page-about .about-vision::-webkit-scrollbar,html.hema-about body.page-about .about-s4::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}.page-about .about-vision,.page-about .about-s4{overflow-x:hidden!important}.page-about .about-s4__art{overflow:hidden!important}.page-about .about-sec1__h,.page-about .about-core-cards,.page-about .about-core-card,.page-about .about-vision,.page-about .about-vision *{transform:none!important}.page-about .about-core-cards[data-about-core-cards]>.about-core-card{opacity:1!important;filter:none!important;animation:none!important;transition:background .24s ease,border-color .24s ease,filter .24s ease!important}.page-about .about-sec1__h.reveal,.page-about .about-sec1__h.reveal:not(.is-in),.page-about .about-sec1__h.reveal.is-in,.page-about .about-vision.reveal,.page-about .about-vision.reveal:not(.is-in),.page-about .about-vision.reveal.is-in{opacity:1!important;filter:none!important;animation:none!important;transition:none!important;transform:none!important}.page-about .about-core-card:hover,.page-about .about-vision-card:hover{filter:brightness(1.06)!important}.page-about .about-hero{min-height:calc(100svh - var(--header-h,72px))!important}.page-about .about-hero__inner{position:absolute!important;inset:0!important;width:100%!important;max-width:none!important;padding:0!important}.page-about .about-hero__center{position:absolute!important;inset:0!important;display:grid!important;place-items:center!important;padding:var(--header-h,var(--nav-h)) clamp(1rem,4vw,2.5rem) 0!important;text-align:center!important}

/* About Research: UQ logo and seamless background join */
.page-about .about-vision{margin-bottom:-1px!important}.page-about .about-s4{margin-top:-1px!important;padding-top:clamp(3.2rem,6vw,5.2rem)!important}.page-about .about-s4__art{top:-2px!important}.page-about .about-s4__art::before{top:-2px!important}.page-about .about-s4__uq-line{display:inline-flex;align-items:center;gap:.78rem;margin:.62rem 0 1.05rem;padding:.55rem .82rem .55rem .62rem;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(2,6,23,.42);box-shadow:0 12px 32px rgba(0,0,0,.22)}.page-about .about-s4__uq-logo{display:block;width:clamp(2.45rem,4.2vw,3.2rem);height:clamp(2.45rem,4.2vw,3.2rem);object-fit:contain;border-radius:.55rem;background:rgba(255,255,255,.94);padding:.18rem}.page-about .about-s4__uq-name{margin:0;color:rgba(248,250,252,.94);font-size:clamp(.94rem,1.15vw,1rem);font-weight:650;line-height:1.3}.page-about .about-s4 .about-split__h{font-size:clamp(1.08rem,2.1vw,1.28rem)}@media (max-width:640px){.page-about .about-s4__uq-line{align-items:center;border-radius:1rem;padding:.55rem .7rem}.page-about .about-s4__uq-logo{width:2.35rem;height:2.35rem}.page-about .about-s4__uq-name{font-size:.9rem}}

/* About Research: UQ without outer frame */
.page-about .about-s4__uq-line{border:0!important;background:transparent!important;box-shadow:none!important;padding:.35rem 0!important;border-radius:0!important}.page-about .about-s4__uq-logo{border:0!important;box-shadow:none!important}

/* Project page */
body.page-project{background:#050914}.project-page{min-height:100vh;padding:calc(var(--header-h,var(--nav-h)) + clamp(2.5rem,7vw,5rem)) clamp(1rem,4vw,2.5rem) clamp(4rem,8vw,6rem);background:radial-gradient(ellipse 80% 45% at 50% 0%,rgba(56,189,248,.12),transparent 62%),linear-gradient(180deg,#050914 0%,#07111f 52%,#050914 100%);overflow-x:hidden}.project-hero{position:relative;display:grid;place-items:center;min-height:clamp(12rem,24vh,18rem);text-align:center}.project-hero h1{margin:0;color:#fff;font-size:clamp(3rem,8vw,7rem);line-height:.96;font-weight:850;letter-spacing:-.055em;text-shadow:0 26px 70px rgba(0,0,0,.55)}.project-showcase{width:min(1180px,100%);margin:clamp(1rem,3vw,2rem) auto 0}.project-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(1rem,2vw,1.35rem);align-items:stretch;transition:grid-template-columns .72s var(--ease-smooth),gap .72s var(--ease-smooth)}.project-card{position:relative;display:grid;grid-template-rows:2fr 3fr;min-height:clamp(28rem,45vw,36rem);border:1px solid rgba(148,163,184,.16);border-radius:clamp(1.1rem,1.8vw,1.4rem);overflow:hidden;background:linear-gradient(180deg,rgba(15,23,42,.9),rgba(9,16,30,.96));box-shadow:0 22px 60px rgba(0,0,0,.24);cursor:pointer;transition:opacity .58s var(--ease-smooth),transform .72s var(--ease-smooth),box-shadow .42s ease,border-color .42s ease,filter .58s ease;outline:none;transform-origin:center center}.project-card:focus-visible{border-color:rgba(125,211,252,.58);box-shadow:0 0 0 3px rgba(56,189,248,.22),0 22px 60px rgba(0,0,0,.26)}.project-card__media{position:relative;min-height:0;overflow:hidden;background:#07111f}.project-card__media img{display:block;width:100%;height:100%;object-fit:cover;transform:scale(1.012);transition:transform .72s var(--ease-smooth),filter .72s var(--ease-smooth)}.project-card__veil{position:absolute;inset:0;display:grid;place-items:center;background:rgba(4,22,44,.8);opacity:0;transition:opacity .48s ease;pointer-events:none}.project-card__arrow{position:relative;display:grid;place-items:center;width:clamp(3rem,5.2vw,4rem);height:clamp(3rem,5.2vw,4rem);border:1px solid rgba(255,255,255,.42);border-radius:999px;background:rgba(8,18,32,.42);box-shadow:0 18px 46px rgba(0,0,0,.28);transform:scale(.9);opacity:0;transition:opacity .46s ease,transform .52s var(--ease-smooth)}.project-card__arrow::before{content:"";width:.82rem;height:.82rem;border-top:2px solid #fff;border-right:2px solid #fff;transform:translateX(-.12rem) rotate(45deg)}.project-card:hover,.project-card:focus-visible{border-color:rgba(125,211,252,.34);box-shadow:0 28px 76px rgba(0,0,0,.36)}.project-card:hover .project-card__media img,.project-card:focus-visible .project-card__media img{transform:scale(1.055);filter:saturate(1.04) contrast(1.03)}.project-card:hover .project-card__veil,.project-card:focus-visible .project-card__veil{opacity:1}.project-card:hover .project-card__arrow,.project-card:focus-visible .project-card__arrow{opacity:1;transform:scale(1)}.project-card__body{display:flex;flex-direction:column;justify-content:flex-start;gap:.65rem;padding:clamp(1.15rem,2vw,1.45rem);min-height:0}.project-card__body h2{margin:0;color:#f8fafc;font-size:clamp(1.05rem,1.65vw,1.32rem);line-height:1.12;font-weight:850;letter-spacing:normal;text-wrap:balance}.project-card__body p{margin:0;color:rgba(203,213,225,.82);font-size:clamp(.88rem,1vw,.96rem);line-height:1.45}.project-card__detail{margin-top:auto;padding-top:clamp(1rem,2vw,1.4rem);color:rgba(224,242,254,.96);font-size:clamp(1rem,1.5vw,1.24rem);line-height:1.45;font-weight:750;opacity:0;max-height:0;transform:translateY(.7rem);overflow:hidden;transition:opacity .58s ease,transform .64s var(--ease-smooth),max-height .64s var(--ease-smooth)}.project-grid.is-focused{grid-template-columns:.2fr .2fr .2fr .2fr;gap:0}.project-grid.is-focused .project-card:not(.is-active){opacity:0;transform:scale(.86);filter:blur(8px);pointer-events:none}.project-grid.is-focused .project-card.is-active{grid-column:1/-1;justify-self:center;width:min(42rem,100%);min-height:clamp(34rem,62vw,44rem);transform:scale(1.06);z-index:3;box-shadow:0 34px 100px rgba(0,0,0,.42);border-color:rgba(125,211,252,.34)}.project-grid.is-focused .project-card.is-active .project-card__veil{opacity:1}.project-grid.is-focused .project-card.is-active .project-card__arrow{opacity:1;transform:scale(1)}.project-grid.is-focused .project-card.is-active .project-card__detail{opacity:1;max-height:8rem;transform:translateY(0)}.project-grid.is-focused .project-card.is-active .project-card__media img{transform:scale(1.045)}@media (max-width:1100px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-card{min-height:clamp(25rem,52vw,32rem)}}@media (max-width:680px){.project-page{padding-left:1rem;padding-right:1rem}.project-hero{min-height:10rem}.project-grid{grid-template-columns:1fr}.project-card{min-height:26rem}.project-grid.is-focused{grid-template-columns:1fr;gap:1rem}.project-grid.is-focused .project-card:not(.is-active){display:none}.project-grid.is-focused .project-card.is-active{width:100%;min-height:30rem;transform:none}}@media (prefers-reduced-motion:reduce){.project-grid,.project-card,.project-card__media img,.project-card__veil,.project-card__arrow,.project-card__detail{transition:none!important}.project-card,.project-grid.is-focused .project-card.is-active{transform:none!important}.project-grid.is-focused .project-card:not(.is-active){filter:none!important}}

/* Project focused state: inactive cards fade without occupying layout */
.project-grid{position:relative}.project-grid.is-focused{display:grid!important;grid-template-columns:1fr!important;place-items:center;min-height:clamp(36rem,64vw,48rem)}.project-grid.is-focused .project-card:not(.is-active){position:absolute;inset:50% auto auto 50%;width:min(17rem,22vw);min-height:28rem;opacity:0;transform:translate(-50%,-50%) scale(.78);filter:blur(10px);pointer-events:none}.project-grid.is-focused .project-card.is-active{grid-column:1!important;grid-row:1!important;align-self:center;justify-self:center}

/* Project revision: compact 2x2 grid and calm focus state */
.project-showcase{position:relative;width:min(1040px,100%)}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:clamp(1rem,2.2vw,1.45rem)!important;align-items:stretch!important}.project-card{grid-template-rows:2fr 3fr!important;min-height:clamp(18.5rem,27vw,22.5rem)!important;border-radius:1.15rem!important}.project-card__body{padding:clamp(.95rem,1.6vw,1.25rem)!important;gap:.48rem!important}.project-card__body h2{font-size:clamp(1.08rem,1.7vw,1.42rem)!important;line-height:1.12!important;font-weight:900!important;letter-spacing:normal!important;background:linear-gradient(135deg,#0f5f93 0%,#073f6e 45%,#021f46 100%)!important;-webkit-background-clip:text!important;background-clip:text!important;color:transparent!important}.project-card__body p{color:rgba(96,116,139,.98)!important;font-weight:650!important;font-size:clamp(.86rem,.98vw,.95rem)!important}.project-card__detail{color:#153c64!important;font-size:clamp(1rem,1.25vw,1.12rem)!important}.project-grid.is-focused{grid-template-columns:1fr!important;place-items:center!important;min-height:clamp(22rem,42vw,30rem)!important;gap:0!important}.project-grid.is-focused .project-card:not(.is-active){position:absolute!important;inset:50% auto auto 50%!important;width:min(28rem,42vw)!important;min-height:clamp(18.5rem,27vw,22.5rem)!important;opacity:0!important;transform:translate(-50%,-50%)!important;filter:blur(8px)!important;pointer-events:none!important}.project-grid.is-focused .project-card.is-active{grid-column:1!important;grid-row:1!important;width:min(31rem,100%)!important;min-height:clamp(18.5rem,27vw,22.5rem)!important;transform:none!important;box-shadow:0 26px 82px rgba(0,0,0,.34)!important}.project-grid.is-focused .project-card.is-active .project-card__veil,.project-grid.is-focused .project-card.is-active .project-card__arrow{opacity:0!important;visibility:hidden!important}.project-grid.is-focused .project-card.is-active .project-card__media img{transform:scale(1.012)!important;filter:none!important}.project-grid.is-focused .project-card.is-active .project-card__detail{opacity:1!important;max-height:6rem!important;transform:none!important}.project-back{position:fixed;right:clamp(1rem,2.6vw,1.8rem);bottom:clamp(1rem,2.6vw,1.8rem);z-index:180;display:inline-flex;align-items:center;justify-content:center;min-width:5.6rem;height:2.65rem;padding:0 1.05rem;border:1px solid rgba(125,211,252,.28);border-radius:999px;color:#e0f2fe;background:rgba(8,18,32,.86);box-shadow:0 18px 48px rgba(0,0,0,.28);font:800 .9rem/1 var(--font-sans);letter-spacing:.02em;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(.5rem);transition:opacity .32s ease,visibility .32s ease,transform .36s var(--ease-smooth),background .22s ease,border-color .22s ease}.project-back:hover{background:rgba(14,48,70,.9);border-color:rgba(125,211,252,.44)}.project-back[aria-hidden="false"]{opacity:1;visibility:visible;transform:translateY(0)}@media (max-width:760px){.project-grid{grid-template-columns:1fr!important}.project-card{min-height:20rem!important}.project-grid.is-focused .project-card.is-active{width:100%!important}.project-grid.is-focused .project-card:not(.is-active){width:100%!important}}

/* Project revision 2: one-third compact cards and cleaner Back state */
.project-showcase{width:min(900px,100%)!important}.project-grid{gap:clamp(.72rem,1.45vw,1rem)!important}.project-card{min-height:clamp(10.5rem,16vw,12.4rem)!important;border-radius:.9rem!important}.project-card__body{padding:clamp(.62rem,1vw,.82rem)!important;gap:.24rem!important}.project-card__body h2{font-size:clamp(.9rem,1.22vw,1.08rem)!important;line-height:1.08!important}.project-card__body p{font-size:clamp(.72rem,.86vw,.8rem)!important;line-height:1.25!important}.project-card__detail{padding-top:.45rem!important;font-size:clamp(.78rem,.94vw,.88rem)!important;line-height:1.25!important}.project-grid.is-focused{min-height:clamp(13rem,22vw,16rem)!important}.project-grid.is-focused .project-card.is-active{width:min(28rem,100%)!important;min-height:clamp(10.5rem,16vw,12.4rem)!important}.project-grid.is-focused .project-card:not(.is-active){width:min(20rem,36vw)!important;min-height:clamp(10.5rem,16vw,12.4rem)!important}.project-back::before{content:"←";display:inline-block;margin-right:.42rem;font-size:1.05em;line-height:1}.page-project.project-card-focused .back-to-top{opacity:0!important;visibility:hidden!important;pointer-events:none!important}.project-card__arrow{width:clamp(2.35rem,3.6vw,3rem)!important;height:clamp(2.35rem,3.6vw,3rem)!important}@media (max-width:760px){.project-card,.project-grid.is-focused .project-card.is-active{min-height:11rem!important}.project-showcase{width:min(520px,100%)!important}}

/* Project revision 3: cards end at text, smoother FLIP transition */
.project-grid{align-items:start!important}.project-card{display:block!important;height:auto!important;min-height:0!important;max-height:none!important;overflow:hidden!important}.project-card__media{height:clamp(4.4rem,7.2vw,5.8rem)!important;min-height:0!important}.project-card__body{min-height:0!important;height:auto!important;padding:.58rem .7rem .66rem!important}.project-card__body h2{margin:0 0 .2rem!important}.project-card__body p{margin:0!important}.project-card__detail{margin-top:.32rem!important;padding-top:.32rem!important;max-height:0!important}.project-grid.is-focused{min-height:0!important;align-items:start!important}.project-grid.is-focused .project-card.is-active{height:auto!important;min-height:0!important;width:min(27rem,100%)!important;transform:none!important}.project-grid.is-focused .project-card:not(.is-active){height:auto!important;min-height:0!important}.project-grid.is-focused .project-card.is-active .project-card__detail{max-height:3rem!important}.project-grid.is-focused .project-card.is-active .project-card__media{height:clamp(4.4rem,7.2vw,5.8rem)!important}.project-grid.is-focused .project-card.is-active .project-card__body{padding:.58rem .7rem .72rem!important}.project-card,.project-card__media img,.project-card__veil,.project-card__arrow,.project-card__detail{transition-timing-function:var(--ease-smooth)!important}.project-card{transition-duration:.68s!important}.project-card__detail{transition-duration:.46s!important}@media (max-width:760px){.project-card__media,.project-grid.is-focused .project-card.is-active .project-card__media{height:5rem!important}}

/* Project revision 4: keep images original scale and allow smooth FLIP movement */
.project-card__media img,.project-card:hover .project-card__media img,.project-card:focus-visible .project-card__media img,.project-grid.is-focused .project-card.is-active .project-card__media img{transform:none!important;filter:none!important}.project-card{will-change:transform,opacity,filter}.project-grid.is-focused .project-card.is-active{transform:none}.project-card__media{display:flex;align-items:center;justify-content:center}.project-card__media img{object-fit:cover!important;object-position:center center!important}.project-card.is-active:hover .project-card__veil,.project-card.is-active:focus-visible .project-card__veil{opacity:0!important;visibility:hidden!important}.project-card.is-active:hover .project-card__arrow,.project-card.is-active:focus-visible .project-card__arrow{opacity:0!important;visibility:hidden!important}

/* Project revision 5: complete image frame and no transient double scrollbar */
.project-card{display:grid!important;grid-template-rows:2fr 3fr!important;height:clamp(12rem,18vw,14rem)!important;min-height:0!important}.project-card__media{height:auto!important;min-height:0!important;background:linear-gradient(180deg,rgba(3,7,18,.72),rgba(7,17,31,.9))!important}.project-card__media img,.project-card:hover .project-card__media img,.project-card:focus-visible .project-card__media img,.project-grid.is-focused .project-card.is-active .project-card__media img{width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center center!important;transform:none!important;filter:none!important}.project-card__body{height:auto!important;min-height:0!important;overflow:hidden!important}.project-grid.is-focused .project-card.is-active{height:clamp(12rem,18vw,14rem)!important;min-height:0!important}.project-grid.is-focused .project-card.is-active .project-card__media{height:auto!important}.page-project,.page-project #hema-app,.page-project .project-page,.page-project .project-showcase,.page-project .project-grid{overflow-x:hidden!important;scrollbar-width:none!important;-ms-overflow-style:none!important}.page-project #hema-app::-webkit-scrollbar,.page-project .project-page::-webkit-scrollbar,.page-project .project-showcase::-webkit-scrollbar,.page-project .project-grid::-webkit-scrollbar{width:0!important;height:0!important;display:none!important}.page-project.project-is-animating{overflow:hidden!important;scrollbar-gutter:stable!important}.page-project.project-is-animating #hema-app,.page-project.project-is-animating .project-page,.page-project.project-is-animating .project-showcase,.page-project.project-is-animating .project-grid{overflow:hidden!important}@media (max-width:760px){.project-card,.project-grid.is-focused .project-card.is-active{height:12.5rem!important}}

/* Project revision 6: enlarge complete project images proportionally */
.project-card__media{overflow:hidden!important}.project-card__media img,.project-card:hover .project-card__media img,.project-card:focus-visible .project-card__media img,.project-grid.is-focused .project-card.is-active .project-card__media img{width:300%!important;height:300%!important;max-width:none!important;max-height:none!important;object-fit:contain!important;object-position:center center!important;transform:none!important;filter:none!important}

/* Project revision 7: hero background first, portfolio starts below */
body.page-project{background:#050914!important}.project-page{padding:0!important;background:#050914!important;overflow-x:hidden!important}.project-hero{position:relative;isolation:isolate;display:grid!important;place-items:center!important;min-height:calc(100svh - var(--header-h,var(--nav-h)))!important;margin:0!important;padding:var(--header-h,var(--nav-h)) clamp(1rem,4vw,2.5rem) 0!important;text-align:center!important;overflow:hidden!important;background:#050914!important}.project-hero::before{content:"";position:absolute;inset:0;z-index:-2;background:url("assets/project-hero-optimized.jpg") center center/cover no-repeat;filter:brightness(.78) saturate(1.06) contrast(1.04)}.project-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(3,7,18,.28),rgba(3,7,18,.5) 58%,#050914 100%),radial-gradient(ellipse 60% 44% at 50% 48%,rgba(56,189,248,.13),transparent 70%)}.project-hero h1{margin:0!important;color:#9bdcff!important;font-size:clamp(2.7rem,7.1vw,6.25rem)!important;line-height:.96!important;font-weight:850!important;letter-spacing:-.025em!important;word-spacing:.08em!important;text-shadow:0 0 32px rgba(56,189,248,.38),0 24px 70px rgba(0,0,0,.55)!important}.project-showcase{width:min(1180px,calc(100% - 2rem))!important;margin:0 auto!important;padding:clamp(3rem,7vw,5.5rem) 0 clamp(4rem,8vw,6rem)!important}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:clamp(1.2rem,2.4vw,1.8rem)!important;align-items:stretch!important}.project-card{display:grid!important;grid-template-rows:2fr 3fr!important;height:clamp(21rem,32vw,27rem)!important;min-height:0!important;border-radius:1.2rem!important}.project-card__media{height:auto!important;min-height:0!important;overflow:hidden!important;background:rgba(3,7,18,.72)!important}.project-card__media img,.project-card:hover .project-card__media img,.project-card:focus-visible .project-card__media img,.project-grid.is-focused .project-card.is-active .project-card__media img{display:block!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center center!important;transform:none!important;filter:none!important}.project-card__body{display:flex!important;flex-direction:column!important;justify-content:flex-start!important;align-items:flex-start!important;padding:clamp(1rem,1.6vw,1.35rem)!important;gap:.45rem!important;text-align:left!important}.project-card__body h2{min-height:2.45em!important;margin:0!important;font-size:clamp(1.12rem,1.55vw,1.4rem)!important;line-height:1.12!important}.project-card__body p{min-height:2.5em!important;margin:0!important;font-size:clamp(.86rem,1vw,.98rem)!important;line-height:1.28!important}.project-card__detail{margin-top:auto!important;padding-top:.8rem!important}.project-grid.is-focused{min-height:clamp(24rem,36vw,30rem)!important;place-items:center!important}.project-grid.is-focused .project-card.is-active{width:min(36rem,100%)!important;height:clamp(21rem,32vw,27rem)!important;min-height:0!important}.project-grid.is-focused .project-card:not(.is-active){height:clamp(21rem,32vw,27rem)!important;width:min(28rem,42vw)!important}@media (max-width:760px){.project-showcase{width:min(560px,calc(100% - 2rem))!important}.project-grid{grid-template-columns:1fr!important}.project-card,.project-grid.is-focused .project-card.is-active{height:clamp(20rem,72vw,25rem)!important}.project-hero h1{font-size:clamp(2.5rem,15vw,4.2rem)!important}}

/* Project portfolio cards: dark editorial card layout */
.page-project .project-showcase{width:min(1120px,calc(100% - 2rem))!important;margin:0 auto!important;padding:clamp(3rem,7vw,5.5rem) 0 clamp(4rem,8vw,6rem)!important}
.page-project .project-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:clamp(1.35rem,2.8vw,2.2rem)!important;align-items:stretch!important}
.page-project .project-card{display:grid!important;grid-template-rows:minmax(13rem,1.05fr) minmax(16rem,.95fr)!important;height:clamp(32rem,45vw,38rem)!important;min-height:0!important;overflow:hidden!important;border:1px solid rgba(148,163,184,.2)!important;border-radius:0!important;background:#0a101b!important;box-shadow:0 28px 80px rgba(0,0,0,.34)!important;cursor:pointer!important;transform:none;transition:border-color .32s ease,box-shadow .32s ease,transform .42s var(--ease-smooth),opacity .42s var(--ease-smooth)!important}
.page-project .project-card:hover,.page-project .project-card:focus-visible{border-color:rgba(56,189,248,.46)!important;box-shadow:0 34px 96px rgba(0,0,0,.44),0 0 0 1px rgba(56,189,248,.16)!important;transform:translateY(-4px)!important}
.page-project .project-card__media{position:relative!important;display:block!important;height:auto!important;min-height:0!important;overflow:hidden!important;background:#07111f!important}
.page-project .project-card__media img,.page-project .project-card:hover .project-card__media img,.page-project .project-card:focus-visible .project-card__media img,.page-project .project-grid.is-focused .project-card.is-active .project-card__media img{display:block!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:cover!important;object-position:center center!important;transform:none!important;filter:saturate(1.02) contrast(1.02)!important}
.page-project .project-card__veil,.page-project .project-card__arrow{display:none!important;opacity:0!important;visibility:hidden!important}
.page-project .project-card__body{display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;min-height:0!important;height:auto!important;padding:clamp(2rem,3.2vw,3rem)!important;gap:clamp(1rem,1.5vw,1.3rem)!important;text-align:left!important;background:linear-gradient(180deg,#0b1220 0%,#070b13 100%)!important;overflow:hidden!important}
.page-project .project-card__body h2{min-height:0!important;margin:0!important;max-width:12.5em!important;font-size:clamp(2rem,4.2vw,3.85rem)!important;line-height:.98!important;font-weight:500!important;letter-spacing:-.045em!important;color:#38bdf8!important;background:none!important;-webkit-background-clip:initial!important;background-clip:initial!important;text-wrap:balance!important}
.page-project .project-card__body p{min-height:0!important;margin:0!important;max-width:26rem!important;font-size:clamp(1rem,1.55vw,1.28rem)!important;line-height:1.35!important;font-weight:500!important;color:rgba(203,213,225,.78)!important}
.page-project .project-card__detail{display:none!important}
.page-project .project-card__more{display:inline-flex!important;margin-top:auto!important;padding-top:clamp(.9rem,1.5vw,1.2rem)!important;font-size:clamp(1rem,1.5vw,1.25rem)!important;line-height:1!important;font-weight:900!important;letter-spacing:.045em!important;color:#38bdf8!important;text-transform:uppercase!important}
.page-project .project-card__more::after{content:"→";margin-left:.55rem;transform:translateX(0);transition:transform .28s ease}
.page-project .project-card:hover .project-card__more::after,.page-project .project-card:focus-visible .project-card__more::after{transform:translateX(.25rem)}
.page-project .project-grid.is-focused{grid-template-columns:1fr!important;place-items:center!important;min-height:clamp(34rem,52vw,42rem)!important}
.page-project .project-grid.is-focused .project-card.is-active{width:min(42rem,100%)!important;height:clamp(32rem,45vw,38rem)!important;transform:none!important}
.page-project .project-grid.is-focused .project-card:not(.is-active){position:absolute!important;opacity:0!important;pointer-events:none!important;filter:blur(8px)!important}
@media (max-width:760px){.page-project .project-showcase{width:min(560px,calc(100% - 2rem))!important}.page-project .project-grid{grid-template-columns:1fr!important}.page-project .project-card,.page-project .project-grid.is-focused .project-card.is-active{height:clamp(31rem,125vw,37rem)!important}.page-project .project-card__body{padding:clamp(1.5rem,7vw,2.15rem)!important}.page-project .project-card__body h2{font-size:clamp(2rem,11vw,3.2rem)!important}.page-project .project-card__body p{font-size:clamp(.95rem,4.2vw,1.12rem)!important}}

/* Project portfolio cards: refined compact scale */
.page-project .project-showcase{width:min(980px,calc(100% - 2rem))!important;padding:clamp(2.4rem,5.5vw,4rem) 0 clamp(3.5rem,7vw,5rem)!important}
.page-project .project-grid{gap:clamp(1rem,2.1vw,1.55rem)!important}
.page-project .project-card{grid-template-rows:minmax(10.5rem,.9fr) minmax(12rem,1fr)!important;height:clamp(25rem,34vw,30rem)!important;box-shadow:0 22px 62px rgba(0,0,0,.3)!important}
.page-project .project-card:hover,.page-project .project-card:focus-visible{transform:translateY(-3px)!important;box-shadow:0 28px 78px rgba(0,0,0,.38),0 0 0 1px rgba(56,189,248,.14)!important}
.page-project .project-card__body{padding:clamp(1.45rem,2.35vw,2.05rem)!important;gap:clamp(.72rem,1.15vw,1rem)!important}
.page-project .project-card__body h2{max-width:13.5em!important;font-size:clamp(1.55rem,2.75vw,2.55rem)!important;line-height:1.02!important;letter-spacing:-.035em!important}
.page-project .project-card__body p{font-size:clamp(.9rem,1.15vw,1.05rem)!important;line-height:1.35!important}
.page-project .project-card__more{font-size:clamp(.86rem,1.12vw,1rem)!important;padding-top:clamp(.6rem,1vw,.85rem)!important}
.page-project .project-grid.is-focused{min-height:clamp(27rem,40vw,34rem)!important}
.page-project .project-grid.is-focused .project-card.is-active{width:min(34rem,100%)!important;height:clamp(25rem,34vw,30rem)!important}
@media (max-width:760px){.page-project .project-card,.page-project .project-grid.is-focused .project-card.is-active{height:clamp(25rem,100vw,31rem)!important}.page-project .project-card__body h2{font-size:clamp(1.65rem,8.5vw,2.45rem)!important}}

/* Project portfolio cards: smaller 3D modules */
.page-project .project-showcase{width:min(900px,calc(100% - 2rem))!important;padding:clamp(2rem,4.8vw,3.5rem) 0 clamp(3.25rem,6vw,4.5rem)!important;perspective:1200px!important}
.page-project .project-grid{gap:clamp(.85rem,1.8vw,1.25rem)!important;perspective:1200px!important}
.page-project .project-card{grid-template-rows:minmax(8.8rem,.88fr) minmax(10.8rem,1fr)!important;height:clamp(21.5rem,29vw,25.5rem)!important;border-radius:1rem!important;border:1px solid rgba(148,163,184,.18)!important;background:linear-gradient(145deg,rgba(15,23,42,.98) 0%,rgba(8,14,26,.98) 52%,rgba(3,7,18,.98) 100%)!important;box-shadow:0 18px 38px rgba(0,0,0,.34),0 42px 90px rgba(0,0,0,.26),inset 0 1px 0 rgba(255,255,255,.07)!important;transform:translateZ(0) rotateX(0deg)!important;transform-style:preserve-3d!important}
.page-project .project-card::before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;border-radius:inherit;background:linear-gradient(135deg,rgba(255,255,255,.13) 0%,rgba(255,255,255,0) 34%,rgba(56,189,248,.08) 100%);opacity:.72!important}
.page-project .project-card::after{content:"";position:absolute;left:8%;right:8%;bottom:-16px;height:26px;z-index:-1;border-radius:50%;background:rgba(0,0,0,.45);filter:blur(18px);opacity:.75!important;pointer-events:none}
.page-project .project-card:hover,.page-project .project-card:focus-visible{transform:translateY(-5px) rotateX(1.2deg)!important;border-color:rgba(56,189,248,.42)!important;box-shadow:0 24px 46px rgba(0,0,0,.38),0 54px 110px rgba(0,0,0,.32),0 0 0 1px rgba(56,189,248,.14),inset 0 1px 0 rgba(255,255,255,.1)!important}
.page-project .project-card__media{border-bottom:1px solid rgba(255,255,255,.08)!important;transform:translateZ(10px)!important}
.page-project .project-card__media img{filter:saturate(1.04) contrast(1.04) brightness(.96)!important}
.page-project .project-card__body{padding:clamp(1.15rem,1.95vw,1.65rem)!important;gap:clamp(.52rem,.9vw,.78rem)!important;transform:translateZ(16px)!important;background:linear-gradient(180deg,rgba(11,18,32,.98) 0%,rgba(5,10,19,.98) 100%)!important}
.page-project .project-card__body h2{font-size:clamp(1.22rem,2.15vw,2rem)!important;line-height:1.04!important;font-weight:620!important;letter-spacing:-.03em!important;text-shadow:0 10px 28px rgba(56,189,248,.12)!important}
.page-project .project-card__body p{font-size:clamp(.82rem,1vw,.95rem)!important;line-height:1.32!important;color:rgba(203,213,225,.74)!important}
.page-project .project-card__more{font-size:clamp(.78rem,.98vw,.9rem)!important;padding-top:clamp(.45rem,.8vw,.65rem)!important}
.page-project .project-grid.is-focused{min-height:clamp(24rem,34vw,29rem)!important}
.page-project .project-grid.is-focused .project-card.is-active{width:min(30rem,100%)!important;height:clamp(21.5rem,29vw,25.5rem)!important}
@media (max-width:760px){.page-project .project-showcase{width:min(500px,calc(100% - 2rem))!important}.page-project .project-card,.page-project .project-grid.is-focused .project-card.is-active{height:clamp(22rem,92vw,27rem)!important}.page-project .project-card__body h2{font-size:clamp(1.45rem,7.2vw,2.1rem)!important}}

/* Project final interaction: compact 3D list + left-image detail */
.page-project .project-showcase{width:min(900px,calc(100% - 2rem))!important;perspective:1400px!important}
.page-project .project-grid{position:relative!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:clamp(.85rem,1.8vw,1.25rem)!important;align-items:stretch!important;transition:min-height 1.05s var(--ease-smooth),gap 1.05s var(--ease-smooth)!important}
.page-project .project-card{position:relative!important;display:grid!important;grid-template-rows:3fr 2fr!important;height:clamp(18.5rem,25vw,22.5rem)!important;min-height:0!important;border-radius:1rem!important;overflow:hidden!important;border:1px solid rgba(148,163,184,.18)!important;background:linear-gradient(145deg,rgba(15,23,42,.98),rgba(3,7,18,.98))!important;box-shadow:0 16px 34px rgba(0,0,0,.32),0 34px 72px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.07)!important;transform:translateZ(0) scale(1)!important;transform-style:preserve-3d!important;transition:opacity 1s var(--ease-smooth),transform 1.08s var(--ease-smooth),filter 1.08s var(--ease-smooth),box-shadow .42s ease,border-color .42s ease!important}
.page-project .project-card:hover,.page-project .project-card:focus-visible{transform:translateY(-4px) rotateX(1deg)!important;border-color:rgba(56,189,248,.42)!important;box-shadow:0 22px 44px rgba(0,0,0,.36),0 46px 92px rgba(0,0,0,.3),0 0 0 1px rgba(56,189,248,.14),inset 0 1px 0 rgba(255,255,255,.1)!important}
.page-project .project-card__media{position:relative!important;display:block!important;height:auto!important;min-height:0!important;overflow:hidden!important;background:#07111f!important;border-bottom:1px solid rgba(255,255,255,.08)!important;transform:translateZ(10px)!important}
.page-project .project-card__media img,.page-project .project-card:hover .project-card__media img,.page-project .project-card:focus-visible .project-card__media img,.page-project .project-grid.is-focused .project-card.is-active .project-card__media img{display:block!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:cover!important;object-position:center center!important;transform:none!important;filter:saturate(1.04) contrast(1.04) brightness(.96)!important;transition:filter 1s var(--ease-smooth)!important}
.page-project .project-card__body{display:flex!important;flex-direction:column!important;justify-content:flex-start!important;align-items:flex-start!important;min-height:0!important;height:auto!important;padding:clamp(1rem,1.65vw,1.35rem)!important;gap:.45rem!important;text-align:left!important;background:linear-gradient(180deg,rgba(11,18,32,.98),rgba(5,10,19,.98))!important;transform:translateZ(16px)!important}
.page-project .project-card__body h2{margin:0!important;min-height:0!important;max-width:14em!important;font-size:clamp(1.02rem,1.85vw,1.62rem)!important;line-height:1.08!important;font-weight:650!important;letter-spacing:-.025em!important;color:#38bdf8!important;background:none!important;-webkit-background-clip:initial!important;background-clip:initial!important;text-shadow:0 10px 28px rgba(56,189,248,.12)!important}
.page-project .project-card__body p{margin:0!important;min-height:0!important;font-size:clamp(.76rem,.92vw,.86rem)!important;line-height:1.32!important;font-weight:500!important;color:rgba(203,213,225,.76)!important}
.page-project .project-card__detail{display:block!important;margin:0!important;padding:0!important;max-height:0!important;opacity:0!important;overflow:hidden!important;color:rgba(226,232,240,.84)!important;font-size:clamp(.9rem,1.05vw,1rem)!important;line-height:1.7!important;font-weight:450!important;transform:none!important;transition:opacity .85s var(--ease-smooth),max-height .95s var(--ease-smooth)!important}
.page-project .project-card__more{display:inline-flex!important;margin-top:auto!important;padding-top:.4rem!important;font-size:clamp(.72rem,.9vw,.82rem)!important;font-weight:900!important;letter-spacing:.05em!important;color:#38bdf8!important;text-transform:uppercase!important}
.page-project .project-card__veil,.page-project .project-card__arrow{display:none!important}
.page-project .project-grid.is-focused{grid-template-columns:1fr!important;place-items:center!important;min-height:clamp(22rem,32vw,28rem)!important;gap:0!important}
.page-project .project-grid.is-focused .project-card:not(.is-active){position:absolute!important;inset:50% auto auto 50%!important;width:min(20rem,36vw)!important;height:clamp(18.5rem,25vw,22.5rem)!important;opacity:0!important;transform:translate(-50%,-50%) scale(.58) rotateX(8deg)!important;filter:blur(12px)!important;pointer-events:none!important}
.page-project .project-grid.is-focused .project-card.is-active{grid-column:1!important;grid-row:1!important;width:min(860px,100%)!important;height:clamp(20rem,31vw,26rem)!important;display:grid!important;grid-template-columns:3fr 2fr!important;grid-template-rows:1fr!important;align-self:center!important;justify-self:center!important;opacity:1!important;transform:translateZ(0) scale(1)!important;filter:none!important;border-color:rgba(56,189,248,.34)!important;box-shadow:0 28px 60px rgba(0,0,0,.42),0 60px 120px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.08)!important}
.page-project .project-grid.is-focused .project-card.is-active .project-card__media{height:auto!important;border-bottom:0!important;border-right:1px solid rgba(255,255,255,.1)!important;transform:none!important}
.page-project .project-grid.is-focused .project-card.is-active .project-card__media img{object-fit:cover!important;object-position:center center!important;filter:saturate(1.06) contrast(1.04) brightness(.98)!important}
.page-project .project-grid.is-focused .project-card.is-active .project-card__body{padding:clamp(1.35rem,2.3vw,2.25rem)!important;gap:clamp(.7rem,1.2vw,1rem)!important;transform:none!important;background:linear-gradient(135deg,rgba(11,18,32,.98),rgba(5,10,19,.98))!important}
.page-project .project-grid.is-focused .project-card.is-active .project-card__body h2{font-size:clamp(1.25rem,2.1vw,1.9rem)!important;line-height:1.08!important}
.page-project .project-grid.is-focused .project-card.is-active .project-card__body p{font-size:clamp(.82rem,1vw,.95rem)!important}
.page-project .project-grid.is-focused .project-card.is-active .project-card__detail{max-height:14rem!important;opacity:1!important;margin-top:.35rem!important}
.page-project .project-grid.is-focused .project-card.is-active .project-card__more{display:none!important}
@media (max-width:760px){.page-project .project-showcase{width:min(500px,calc(100% - 2rem))!important}.page-project .project-grid{grid-template-columns:1fr!important}.page-project .project-card{height:clamp(19rem,82vw,24rem)!important}.page-project .project-grid.is-focused .project-card.is-active{width:100%!important;height:auto!important;min-height:clamp(31rem,118vw,38rem)!important;grid-template-columns:1fr!important;grid-template-rows:3fr 2fr!important}.page-project .project-grid.is-focused .project-card.is-active .project-card__media{border-right:0!important;border-bottom:1px solid rgba(255,255,255,.1)!important}.page-project .project-grid.is-focused{min-height:clamp(31rem,118vw,38rem)!important}}

/* Project final polish: one-screen modules, no borders, subtle damping-ready layout */
.page-project .project-showcase{width:min(1160px,calc(100% - 1.5rem))!important;min-height:calc(100svh - var(--header-h,var(--nav-h)))!important;margin:0 auto!important;padding:clamp(1.2rem,2.2vh,1.8rem) 0 clamp(1.4rem,2.6vh,2rem)!important;display:grid!important;grid-template-rows:auto 1fr!important;align-content:center!important;gap:clamp(.85rem,1.6vh,1.25rem)!important;perspective:1400px!important}
.page-project .project-intro{width:min(980px,100%)!important;margin:0 auto!important;text-align:center!important;color:rgba(226,232,240,.86)!important}
.page-project .project-intro h2{margin:0 0 clamp(.45rem,.9vh,.7rem)!important;color:#9bdcff!important;font-size:clamp(1.25rem,2.4vw,2.1rem)!important;line-height:1.08!important;font-weight:850!important;letter-spacing:-.025em!important;text-shadow:0 0 24px rgba(56,189,248,.22)!important;text-wrap:balance!important}
.page-project .project-intro p{margin:0 auto!important;max-width:920px!important;color:rgba(203,213,225,.78)!important;font-size:clamp(.78rem,1vw,.92rem)!important;line-height:1.55!important;font-weight:500!important;text-wrap:pretty!important}
.page-project .project-grid{width:100%!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-rows:1fr!important;gap:clamp(.8rem,1.6vh,1.15rem) clamp(.9rem,1.7vw,1.25rem)!important;align-self:stretch!important;align-items:stretch!important;perspective:1400px!important;transition:min-height 1.25s cubic-bezier(.2,.86,.25,1.02),gap 1.25s cubic-bezier(.2,.86,.25,1.02)!important}
.page-project .project-card{display:grid!important;grid-template-rows:3fr 2fr!important;height:auto!important;min-height:0!important;border:0!important;border-radius:1rem!important;overflow:hidden!important;background:linear-gradient(145deg,rgba(15,23,42,.98),rgba(3,7,18,.98))!important;box-shadow:0 16px 34px rgba(0,0,0,.32),0 34px 72px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.06)!important;transform:translateZ(0) scale(1)!important;transform-style:preserve-3d!important;transition:opacity 1.05s cubic-bezier(.2,.86,.25,1.02),transform 1.22s cubic-bezier(.2,.86,.25,1.02),filter 1.05s ease,box-shadow .55s ease!important}
.page-project .project-card::before{border-radius:inherit!important;opacity:.58!important}
.page-project .project-card:hover,.page-project .project-card:focus-visible{border:0!important;transform:translateY(-3px) rotateX(.8deg)!important;box-shadow:0 22px 44px rgba(0,0,0,.36),0 46px 92px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.09)!important;outline:none!important}
.page-project .project-card__media{border:0!important;border-bottom:1px solid rgba(255,255,255,.06)!important;min-height:0!important;overflow:hidden!important;background:#07111f!important}
.page-project .project-card__body{min-height:0!important;padding:clamp(.85rem,1.35vw,1.12rem)!important;gap:.22rem!important;overflow:hidden!important;border:0!important;background:linear-gradient(180deg,rgba(11,18,32,.98),rgba(5,10,19,.98))!important}
.page-project .project-card__body h2{display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;margin:0!important;min-height:0!important;max-width:100%!important;font-size:clamp(.96rem,1.55vw,1.28rem)!important;line-height:1.04!important;font-weight:760!important;letter-spacing:-.025em!important;color:#38bdf8!important;text-shadow:0 8px 22px rgba(56,189,248,.12)!important}
.page-project .project-card__body p{display:block!important;margin:.08rem 0 0!important;min-height:0!important;max-width:100%!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;font-size:clamp(.64rem,.8vw,.74rem)!important;line-height:1.2!important;color:rgba(203,213,225,.72)!important}
.page-project .project-card__more{margin-top:auto!important;padding-top:.28rem!important;font-size:clamp(.62rem,.78vw,.72rem)!important;letter-spacing:.06em!important;color:#38bdf8!important}
.page-project .project-card__detail{display:block!important;max-height:0!important;opacity:0!important;overflow:hidden!important;border:0!important}
.page-project .project-grid.is-focused{grid-template-columns:1fr!important;grid-auto-rows:auto!important;place-items:center!important;min-height:min(58vh,32rem)!important;align-self:center!important;gap:0!important}
.page-project .project-grid.is-focused .project-card:not(.is-active){position:absolute!important;inset:50% auto auto 50%!important;width:min(20rem,34vw)!important;height:clamp(14rem,22vw,18rem)!important;opacity:0!important;transform:translate(-50%,-50%) scale(.52) rotateX(5deg)!important;filter:blur(10px)!important;pointer-events:none!important}
.page-project .project-grid.is-focused .project-card.is-active{width:min(1080px,calc(100vw - 1rem))!important;height:clamp(20rem,34vw,28rem)!important;display:grid!important;grid-template-columns:3fr 2fr!important;grid-template-rows:1fr!important;justify-self:center!important;align-self:center!important;border:0!important;border-radius:1rem!important;transform:translateZ(0) scale(1)!important;filter:none!important;box-shadow:0 28px 60px rgba(0,0,0,.42),0 60px 120px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.08)!important}
.page-project .project-grid.is-focused .project-card.is-active .project-card__media{border:0!important;border-right:1px solid rgba(255,255,255,.06)!important;transform:none!important;margin-left:0!important}
.page-project .project-grid.is-focused .project-card.is-active .project-card__media img{object-fit:cover!important;object-position:center center!important}
.page-project .project-grid.is-focused .project-card.is-active .project-card__body{padding:clamp(1.25rem,2.1vw,2rem)!important;gap:.65rem!important;transform:none!important;overflow:hidden!important}
.page-project .project-grid.is-focused .project-card.is-active .project-card__body h2{display:block!important;-webkit-line-clamp:unset!important;overflow:visible!important;font-size:clamp(1.15rem,1.9vw,1.75rem)!important;line-height:1.08!important}
.page-project .project-grid.is-focused .project-card.is-active .project-card__body p{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;font-size:clamp(.78rem,.95vw,.9rem)!important;line-height:1.35!important}
.page-project .project-grid.is-focused .project-card.is-active .project-card__detail{max-height:16rem!important;opacity:1!important;margin-top:.25rem!important;font-size:clamp(.84rem,1vw,.95rem)!important;line-height:1.65!important;color:rgba(226,232,240,.84)!important}
.page-project .project-grid.is-focused .project-card.is-active .project-card__more{display:none!important}
.page-project .project-grid.is-focused .project-card.is-active::before{opacity:.35!important}
@media (max-width:900px){.page-project .project-showcase{min-height:auto!important;padding:2.2rem 0 3.2rem!important}.page-project .project-grid{grid-template-columns:1fr!important}.page-project .project-card{height:clamp(17rem,72vw,22rem)!important}.page-project .project-grid.is-focused .project-card.is-active{width:100%!important;height:auto!important;min-height:clamp(30rem,110vw,38rem)!important;grid-template-columns:1fr!important;grid-template-rows:3fr 2fr!important}.page-project .project-grid.is-focused .project-card.is-active .project-card__media{border-right:0!important;border-bottom:1px solid rgba(255,255,255,.06)!important}}

/* Project adjustment: compact normal cards, larger intro, hide intro in detail mode */
.page-project:not(.project-card-focused) .project-showcase{width:min(900px,calc(100% - 1.5rem))!important;gap:clamp(1rem,1.8vh,1.45rem)!important;padding:clamp(1.45rem,2.4vh,2rem) 0 clamp(1.45rem,2.4vh,2rem)!important}
.page-project:not(.project-card-focused) .project-intro{width:min(1020px,100%)!important;transition:opacity .72s cubic-bezier(.2,.86,.25,1.02),filter .72s ease,transform .78s cubic-bezier(.2,.86,.25,1.02),max-height .78s cubic-bezier(.2,.86,.25,1.02),margin .78s cubic-bezier(.2,.86,.25,1.02)!important}
.page-project .project-intro h2{font-size:clamp(1.65rem,3vw,2.75rem)!important;line-height:1.12!important;letter-spacing:.005em!important;font-weight:900!important;margin-bottom:clamp(.65rem,1.1vh,.9rem)!important}
.page-project .project-intro p{max-width:1040px!important;font-size:clamp(.94rem,1.22vw,1.08rem)!important;line-height:1.75!important;letter-spacing:.012em!important;color:rgba(218,228,240,.82)!important}
.page-project:not(.project-card-focused) .project-grid{width:min(900px,100%)!important;margin:0 auto!important;gap:clamp(.7rem,1.35vh,1rem) clamp(.8rem,1.55vw,1.1rem)!important;align-self:center!important}
.page-project:not(.project-card-focused) .project-card{height:clamp(14.5rem,20vw,18rem)!important;grid-template-rows:3fr 2fr!important;border:0!important;border-radius:.9rem!important;box-shadow:0 14px 28px rgba(0,0,0,.3),0 28px 60px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.055)!important}
.page-project:not(.project-card-focused) .project-card__body{padding:clamp(.72rem,1.15vw,.95rem)!important;gap:.18rem!important}
.page-project:not(.project-card-focused) .project-card__body h2{font-size:clamp(.86rem,1.28vw,1.1rem)!important;line-height:1.04!important;letter-spacing:-.02em!important;-webkit-line-clamp:2!important}
.page-project:not(.project-card-focused) .project-card__body p{font-size:clamp(.58rem,.72vw,.68rem)!important;line-height:1.18!important;margin:.04rem 0 0!important}
.page-project:not(.project-card-focused) .project-card__more{font-size:clamp(.58rem,.72vw,.68rem)!important;padding-top:.22rem!important}
.page-project.project-card-focused .project-intro{opacity:0!important;filter:blur(8px)!important;transform:translateY(-.6rem)!important;max-height:0!important;margin:0!important;overflow:hidden!important;pointer-events:none!important}
.page-project.project-card-focused .project-showcase{grid-template-rows:0fr 1fr!important;gap:0!important;align-content:center!important}
@media (max-width:900px){.page-project:not(.project-card-focused) .project-showcase{width:min(520px,calc(100% - 1.5rem))!important}.page-project:not(.project-card-focused) .project-grid{width:100%!important;grid-template-columns:1fr!important}.page-project:not(.project-card-focused) .project-card{height:clamp(15rem,64vw,19rem)!important}.page-project .project-intro h2{font-size:clamp(1.45rem,7vw,2.15rem)!important}.page-project .project-intro p{font-size:.92rem!important;line-height:1.65!important}}

/* Project interaction polish: divider, hover overlay, path fade */
.page-project .project-intro h2::after{content:"";display:block;width:clamp(3.8rem,7vw,6.2rem);height:3px;margin:clamp(.7rem,1.25vh,1rem) auto 0;border-radius:999px;background:linear-gradient(90deg,rgba(56,189,248,0),rgba(56,189,248,.95),rgba(125,211,252,.55),rgba(56,189,248,0));box-shadow:0 0 18px rgba(56,189,248,.35)}
.page-project:not(.project-card-focused) .project-showcase{gap:clamp(1.45rem,2.7vh,2.25rem)!important}
.page-project:not(.project-card-focused) .project-intro{margin-bottom:clamp(.6rem,1.35vh,1rem)!important}
.page-project:not(.project-card-focused) .project-grid{margin-top:clamp(.75rem,1.8vh,1.35rem)!important}
.page-project .project-card__veil{position:absolute!important;inset:0!important;display:grid!important;place-items:center!important;opacity:0!important;visibility:visible!important;pointer-events:none!important;background:linear-gradient(135deg,rgba(14,165,233,.72),rgba(8,145,178,.58))!important;backdrop-filter:saturate(1.05)!important;transition:opacity .55s cubic-bezier(.2,.86,.25,1.02)!important;z-index:4!important}
.page-project .project-card__arrow{position:relative!important;display:grid!important;place-items:center!important;width:clamp(2.6rem,4.6vw,3.7rem)!important;height:clamp(2.6rem,4.6vw,3.7rem)!important;border:3px solid rgba(255,255,255,.92)!important;border-radius:999px!important;background:rgba(255,255,255,.06)!important;box-shadow:0 16px 38px rgba(0,0,0,.22)!important;opacity:0!important;transform:scale(.86) translateX(-.18rem)!important;transition:opacity .58s cubic-bezier(.2,.86,.25,1.02),transform .68s cubic-bezier(.2,.86,.25,1.02)!important}
.page-project .project-card__arrow::before{content:""!important;width:.82rem!important;height:.82rem!important;border-top:3px solid #fff!important;border-right:3px solid #fff!important;transform:translateX(-.12rem) rotate(45deg)!important}
.page-project:not(.project-card-focused) .project-card:hover .project-card__veil,.page-project:not(.project-card-focused) .project-card:focus-visible .project-card__veil{opacity:1!important}
.page-project:not(.project-card-focused) .project-card:hover .project-card__arrow,.page-project:not(.project-card-focused) .project-card:focus-visible .project-card__arrow{opacity:1!important;transform:scale(1) translateX(0)!important}
.page-project.project-card-focused .project-card__veil,.page-project.project-card-focused .project-card__arrow{opacity:0!important;visibility:hidden!important}
.page-project .project-grid.is-focused .project-card:not(.is-active):nth-child(1){transform:translate(calc(-50% - 7rem),calc(-50% - 2.6rem)) scale(.5) rotateX(5deg)!important}
.page-project .project-grid.is-focused .project-card:not(.is-active):nth-child(2){transform:translate(calc(-50% + 7rem),calc(-50% - 2.2rem)) scale(.5) rotateX(5deg)!important}
.page-project .project-grid.is-focused .project-card:not(.is-active):nth-child(3){transform:translate(calc(-50% - 6rem),calc(-50% + 2.4rem)) scale(.5) rotateX(5deg)!important}
.page-project .project-grid.is-focused .project-card:not(.is-active):nth-child(4){transform:translate(calc(-50% + 6rem),calc(-50% + 2.6rem)) scale(.5) rotateX(5deg)!important}
.page-project .project-grid.is-focused .project-card:not(.is-active){transition:opacity 1.12s cubic-bezier(.2,.86,.25,1.02),transform 1.22s cubic-bezier(.2,.86,.25,1.02),filter 1.12s ease!important;opacity:0!important;filter:blur(12px)!important}

/* Project spacing and hover arrow refinements */
.page-project .project-intro h2::after{width:clamp(6.5rem,12vw,10rem)!important;height:3px!important;margin-top:clamp(.8rem,1.35vh,1.08rem)!important}
.page-project:not(.project-card-focused) .project-showcase{gap:clamp(1.8rem,3.2vh,2.65rem)!important}
.page-project:not(.project-card-focused) .project-grid{gap:clamp(1.25rem,2.35vh,1.85rem) clamp(1.45rem,2.6vw,2.2rem)!important;margin-top:clamp(1.2rem,2.4vh,1.85rem)!important;width:min(940px,100%)!important}
.page-project:not(.project-card-focused) .project-card{height:clamp(14.2rem,19.2vw,17.4rem)!important}
.page-project .project-card__veil{display:grid!important;place-items:center!important;background:linear-gradient(135deg,rgba(14,165,233,.74),rgba(8,145,178,.62))!important}
.page-project .project-card__arrow{display:grid!important;place-items:center!important;color:#fff!important}
.page-project .project-card__arrow::before{content:""!important;display:block!important;width:.9rem!important;height:.9rem!important;border-top:3px solid currentColor!important;border-right:3px solid currentColor!important;border-left:0!important;border-bottom:0!important;transform:translateX(-.12rem) rotate(45deg)!important}
.page-project:not(.project-card-focused) .project-card:hover .project-card__veil,.page-project:not(.project-card-focused) .project-card:focus-visible .project-card__veil{opacity:1!important;visibility:visible!important}
.page-project:not(.project-card-focused) .project-card:hover .project-card__arrow,.page-project:not(.project-card-focused) .project-card:focus-visible .project-card__arrow{opacity:1!important;visibility:visible!important;transform:scale(1) translateX(0)!important}
@media (max-width:900px){.page-project:not(.project-card-focused) .project-grid{gap:1.25rem!important;width:100%!important}}

/* Project copy and card text tuning */
.page-project .project-card__veil{background:linear-gradient(135deg,rgba(14,165,233,.48),rgba(8,145,178,.38))!important}
.page-project:not(.project-card-focused) .project-card__body{align-items:center!important;justify-content:center!important;text-align:center!important;padding:clamp(.9rem,1.35vw,1.18rem)!important;gap:.24rem!important}
.page-project:not(.project-card-focused) .project-card__body h2{font-size:clamp(1.02rem,1.55vw,1.32rem)!important;line-height:1.06!important;text-align:center!important;margin-left:auto!important;margin-right:auto!important}
.page-project:not(.project-card-focused) .project-card__body p{font-size:clamp(.7rem,.86vw,.82rem)!important;line-height:1.24!important;text-align:center!important;white-space:normal!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important}
.page-project:not(.project-card-focused) .project-card__more{font-size:clamp(.7rem,.86vw,.82rem)!important;padding-top:.32rem!important;margin-left:auto!important;margin-right:auto!important}

/* Project card text placement: larger metadata and left-bottom read more */
.page-project:not(.project-card-focused) .project-card__body{align-items:stretch!important;justify-content:flex-start!important;text-align:center!important;padding:clamp(.95rem,1.45vw,1.25rem)!important;gap:.28rem!important}
.page-project:not(.project-card-focused) .project-card__body h2{font-size:clamp(1.08rem,1.68vw,1.42rem)!important;line-height:1.08!important;text-align:center!important;margin:0 auto!important}
.page-project:not(.project-card-focused) .project-card__body p{font-size:clamp(.78rem,.98vw,.92rem)!important;line-height:1.28!important;margin:.48rem auto 0!important;text-align:center!important;max-width:100%!important}
.page-project:not(.project-card-focused) .project-card__more{align-self:flex-start!important;margin-top:auto!important;margin-left:0!important;margin-right:0!important;padding-top:.38rem!important;font-size:clamp(.82rem,1vw,.96rem)!important;line-height:1!important;text-align:left!important}

/* Project card text visibility fix: prevent clipped titles/descriptions */
.page-project:not(.project-card-focused) .project-card{grid-template-rows:2.15fr 1.85fr!important;height:clamp(17.8rem,24vw,21.5rem)!important;overflow:hidden!important}
.page-project:not(.project-card-focused) .project-card__media{min-height:0!important}
.page-project:not(.project-card-focused) .project-card__body{min-height:0!important;overflow:visible!important;display:flex!important;flex-direction:column!important;justify-content:flex-start!important;align-items:stretch!important;padding:clamp(1.05rem,1.55vw,1.38rem) clamp(1rem,1.55vw,1.35rem)!important;gap:.36rem!important;text-align:center!important}
.page-project:not(.project-card-focused) .project-card__body h2{display:block!important;-webkit-line-clamp:unset!important;-webkit-box-orient:initial!important;overflow:visible!important;min-height:0!important;max-height:none!important;margin:0 auto!important;font-size:clamp(1.02rem,1.5vw,1.28rem)!important;line-height:1.12!important;text-align:center!important;text-wrap:balance!important}
.page-project:not(.project-card-focused) .project-card__body p{display:block!important;-webkit-line-clamp:unset!important;-webkit-box-orient:initial!important;overflow:visible!important;white-space:normal!important;text-overflow:clip!important;min-height:0!important;max-height:none!important;margin:.42rem auto 0!important;font-size:clamp(.72rem,.9vw,.84rem)!important;line-height:1.3!important;text-align:center!important;color:rgba(203,213,225,.78)!important}
.page-project:not(.project-card-focused) .project-card__more{position:static!important;align-self:flex-start!important;margin-top:auto!important;margin-left:0!important;padding-top:.55rem!important;font-size:clamp(.82rem,.98vw,.94rem)!important;line-height:1.1!important;text-align:left!important}
@media (max-width:900px){.page-project:not(.project-card-focused) .project-card{height:clamp(20rem,82vw,25rem)!important}}

/* Project cards: remove normal metadata and emphasize title lower */
.page-project:not(.project-card-focused) .project-card__body{justify-content:flex-start!important;padding-top:clamp(1.45rem,2.15vw,1.9rem)!important}
.page-project:not(.project-card-focused) .project-card__body h2{font-size:clamp(1.28rem,2vw,1.72rem)!important;line-height:1.08!important;margin-top:clamp(.35rem,.8vw,.65rem)!important}
.page-project:not(.project-card-focused) .project-card__body p{display:none!important}
.page-project:not(.project-card-focused) .project-card__more{font-size:clamp(.86rem,1.04vw,1rem)!important;margin-top:auto!important}

/* Project detail rich text */
.page-project .project-grid.is-focused .project-card.is-active .project-card__detail{overflow:auto!important;padding-right:.25rem!important;scrollbar-width:none!important;-ms-overflow-style:none!important}
.page-project .project-grid.is-focused .project-card.is-active .project-card__detail::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}
.page-project .project-card__detail h3{margin:0 0 .75rem!important;color:#9bdcff!important;font-size:clamp(1.02rem,1.45vw,1.28rem)!important;line-height:1.16!important;font-weight:850!important;letter-spacing:-.02em!important}
.page-project .project-card__detail p{display:block!important;margin:0!important;color:rgba(226,232,240,.86)!important;font-size:clamp(.78rem,.95vw,.9rem)!important;line-height:1.58!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
.page-project .project-card__detail p + p{margin-top:.62rem!important}

/* Project detail structured sections and media-only trigger cues */
.page-project:not(.project-card-focused) .project-card__body p:empty{display:none!important}
.page-project .project-card__media{cursor:pointer!important}
.page-project .project-card__body{cursor:default!important}
.page-project .project-card__detail section{margin:0!important;padding:0!important}
.page-project .project-card__detail section + section{margin-top:.72rem!important}
.page-project .project-card__detail h4{margin:0 0 .24rem!important;color:#7dd3fc!important;font-size:clamp(.82rem,.98vw,.92rem)!important;line-height:1.2!important;font-weight:850!important;letter-spacing:.01em!important}
.page-project .project-card__detail ul{list-style:none!important;margin:.15rem 0 0!important;padding:0!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.22rem .75rem!important}
.page-project .project-card__detail li{margin:0!important;color:rgba(226,232,240,.86)!important;font-size:clamp(.76rem,.9vw,.86rem)!important;line-height:1.35!important}
@media (max-width:900px){.page-project .project-card__detail ul{grid-template-columns:1fr!important}}

/* Project reveal on scroll and one-screen detail fit */
.page-project:not(.project-card-focused) .project-card{opacity:0;transform:translate3d(0,26px,0) scale(.985)!important;animation:projectCardReveal .78s cubic-bezier(.2,.86,.25,1.02) both!important}
.page-project:not(.project-card-focused) .project-card:nth-child(1){animation-delay:.08s!important}
.page-project:not(.project-card-focused) .project-card:nth-child(2){animation-delay:.16s!important}
.page-project:not(.project-card-focused) .project-card:nth-child(3){animation-delay:.24s!important}
.page-project:not(.project-card-focused) .project-card:nth-child(4){animation-delay:.32s!important}
@keyframes projectCardReveal{from{opacity:0;transform:translate3d(0,30px,0) scale(.985)}to{opacity:1;transform:translate3d(0,0,0) scale(1)}}
.page-project .project-grid.is-focused .project-card.is-active{height:clamp(24rem,39vw,32rem)!important;grid-template-columns:3fr 2fr!important}
.page-project .project-grid.is-focused .project-card.is-active .project-card__body{justify-content:flex-start!important;padding:clamp(1rem,1.55vw,1.55rem)!important;gap:.42rem!important;overflow:hidden!important}
.page-project .project-grid.is-focused .project-card.is-active .project-card__body h2{font-size:clamp(1.05rem,1.65vw,1.48rem)!important;margin:0!important;line-height:1.06!important;text-align:left!important}
.page-project .project-grid.is-focused .project-card.is-active .project-card__body > p{display:block!important;margin:.08rem 0 .28rem!important;color:#9bdcff!important;font-size:clamp(.78rem,.95vw,.9rem)!important;line-height:1.2!important;font-weight:760!important;text-align:left!important;white-space:normal!important}
.page-project .project-grid.is-focused .project-card.is-active .project-card__detail{max-height:none!important;overflow:visible!important;padding-right:0!important;font-size:clamp(.7rem,.82vw,.78rem)!important;line-height:1.38!important}
.page-project .project-grid.is-focused .project-card.is-active .project-card__detail section + section{margin-top:.42rem!important}
.page-project .project-grid.is-focused .project-card.is-active .project-card__detail h4{font-size:clamp(.72rem,.86vw,.82rem)!important;line-height:1.12!important;margin-bottom:.16rem!important}
.page-project .project-grid.is-focused .project-card.is-active .project-card__detail p,.page-project .project-grid.is-focused .project-card.is-active .project-card__detail li{font-size:clamp(.68rem,.78vw,.74rem)!important;line-height:1.34!important}
.page-project .project-grid.is-focused .project-card.is-active .project-card__detail ul{gap:.12rem .55rem!important;margin:.08rem 0 0!important}
@media (prefers-reduced-motion:reduce){.page-project:not(.project-card-focused) .project-card{animation:none!important;opacity:1!important;transform:none!important}}

/* Project detail balance and read-more visibility */
.page-project .project-back{bottom:clamp(1.75rem,4.2vh,3.2rem)!important}
.page-project .project-grid.is-focused .project-card.is-active .project-card__body{padding:clamp(1.05rem,1.6vw,1.7rem)!important;gap:clamp(.48rem,.8vw,.7rem)!important}
.page-project .project-grid.is-focused .project-card.is-active .project-card__body h2{font-size:clamp(1.24rem,1.9vw,1.72rem)!important;line-height:1.08!important}
.page-project .project-grid.is-focused .project-card.is-active .project-card__body > p{font-size:clamp(.9rem,1.08vw,1rem)!important;line-height:1.28!important;margin:.08rem 0 .45rem!important}
.page-project .project-grid.is-focused .project-card.is-active .project-card__detail{font-size:clamp(.78rem,.92vw,.88rem)!important;line-height:1.48!important}
.page-project .project-grid.is-focused .project-card.is-active .project-card__detail section + section{margin-top:clamp(.48rem,.9vw,.72rem)!important}
.page-project .project-grid.is-focused .project-card.is-active .project-card__detail h4{font-size:clamp(.82rem,.98vw,.94rem)!important;margin-bottom:.22rem!important}
.page-project .project-grid.is-focused .project-card.is-active .project-card__detail p,.page-project .project-grid.is-focused .project-card.is-active .project-card__detail li{font-size:clamp(.76rem,.9vw,.86rem)!important;line-height:1.44!important}
.page-project:not(.project-card-focused) .project-card{grid-template-rows:2fr 2fr!important;height:clamp(18.8rem,25.5vw,22.8rem)!important}
.page-project:not(.project-card-focused) .project-card__body{padding-bottom:clamp(1.05rem,1.7vw,1.35rem)!important;overflow:hidden!important}
.page-project:not(.project-card-focused) .project-card__more{padding-top:.65rem!important;margin-bottom:0!important;transform:translateY(-.05rem)!important}
.page-project:not(.project-card-focused) .project-grid{padding-bottom:clamp(.5rem,1.2vh,.9rem)!important}
@media (max-width:900px){.page-project:not(.project-card-focused) .project-card{height:clamp(21rem,88vw,26rem)!important}}

/* Project detail layout fix: keep image size, give text column enough width */
.page-project .project-grid.is-focused .project-card.is-active{width:min(1240px,calc(100vw - 1rem))!important;grid-template-columns:minmax(0,3fr) minmax(520px,2.35fr)!important;overflow:hidden!important}
.page-project .project-grid.is-focused .project-card.is-active .project-card__media{min-width:0!important}
.page-project .project-grid.is-focused .project-card.is-active .project-card__body{min-width:0!important;box-sizing:border-box!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;overflow:hidden!important;padding-right:clamp(1.15rem,1.7vw,1.8rem)!important}
.page-project .project-grid.is-focused .project-card.is-active .project-card__body h2,.page-project .project-grid.is-focused .project-card.is-active .project-card__body > p,.page-project .project-grid.is-focused .project-card.is-active .project-card__detail,.page-project .project-grid.is-focused .project-card.is-active .project-card__detail *{max-width:100%!important;box-sizing:border-box!important;overflow-wrap:normal!important;word-break:normal!important}
.page-project .project-grid.is-focused .project-card.is-active .project-card__body > p{white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important}
.page-project .project-grid.is-focused .project-card.is-active .project-card__detail{display:block!important;min-height:0!important;overflow:visible!important}
.page-project .project-grid.is-focused .project-card.is-active .project-card__detail ul{grid-template-columns:1fr!important}
@media (max-width:1180px){.page-project .project-grid.is-focused .project-card.is-active{grid-template-columns:3fr minmax(430px,2.35fr)!important}.page-project .project-grid.is-focused .project-card.is-active .project-card__body > p{white-space:normal!important}}
@media (max-width:900px){.page-project .project-grid.is-focused .project-card.is-active{grid-template-columns:1fr!important}.page-project .project-grid.is-focused .project-card.is-active .project-card__body > p{white-space:normal!important}}

/* Mobile-only performance and readability tuning. Desktop is intentionally untouched. */
@media (max-width: 760px), (pointer: coarse) {
  .page-project .bg-gradient,
  .page-project .project-card::after {
    display: none !important;
  }

  .page-project .project-showcase {
    width: min(520px, calc(100% - 1.25rem)) !important;
    min-height: auto !important;
    padding: 1.4rem 0 2.4rem !important;
    gap: 1.15rem !important;
    perspective: none !important;
  }

  .page-project .project-intro h2 {
    font-size: clamp(1.5rem, 7vw, 2.15rem) !important;
    line-height: 1.08 !important;
  }

  .page-project .project-intro p {
    font-size: .94rem !important;
    line-height: 1.55 !important;
  }

  .page-project .project-grid {
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
    perspective: none !important;
  }

  .page-project .project-card,
  .page-project .project-card:hover,
  .page-project .project-card:focus-visible {
    height: auto !important;
    min-height: 21rem !important;
    grid-template-rows: minmax(11rem, auto) minmax(8.8rem, auto) !important;
    transform: none !important;
    transform-style: flat !important;
    filter: none !important;
    box-shadow: 0 14px 34px rgba(0, 0, 0, .28) !important;
    animation-duration: .42s !important;
  }

  .page-project .project-card__media,
  .page-project .project-card__body {
    transform: none !important;
    will-change: auto !important;
  }

  .page-project .project-card__body {
    padding: 1.15rem !important;
    gap: .65rem !important;
  }

  .page-project .project-card__body h2 {
    font-size: clamp(1.25rem, 6vw, 1.8rem) !important;
    line-height: 1.08 !important;
  }

  .page-project .project-card__body p {
    font-size: .9rem !important;
    line-height: 1.35 !important;
  }

  .page-project .project-card__more {
    font-size: .82rem !important;
    padding-top: .35rem !important;
  }

  .page-project .project-grid.is-focused {
    min-height: auto !important;
    display: block !important;
  }

  .page-project .project-grid.is-focused .project-card:not(.is-active) {
    display: none !important;
  }

  .page-project .project-grid.is-focused .project-card.is-active,
  .page-project .project-grid.is-focused .project-card.is-active:hover,
  .page-project .project-grid.is-focused .project-card.is-active:focus-visible {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: minmax(13rem, 42vw) auto !important;
    transform: none !important;
    filter: none !important;
  }

  .page-project .project-grid.is-focused .project-card.is-active .project-card__media {
    border-right: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.1) !important;
  }

  .page-project .project-grid.is-focused .project-card.is-active .project-card__body {
    padding: 1.15rem !important;
    gap: .55rem !important;
    overflow: visible !important;
  }

  .page-project .project-grid.is-focused .project-card.is-active .project-card__body h2 {
    font-size: clamp(1.28rem, 6.2vw, 1.9rem) !important;
    line-height: 1.08 !important;
  }

  .page-project .project-grid.is-focused .project-card.is-active .project-card__body > p {
    white-space: normal !important;
    font-size: .88rem !important;
    line-height: 1.3 !important;
    margin: 0 0 .18rem !important;
  }

  .page-project .project-grid.is-focused .project-card.is-active .project-card__detail {
    max-height: none !important;
    overflow: visible !important;
    opacity: 1 !important;
    margin-top: .15rem !important;
  }

  .page-project .project-grid.is-focused .project-card.is-active .project-card__detail section + section {
    margin-top: .58rem !important;
  }

  .page-project .project-grid.is-focused .project-card.is-active .project-card__detail h4 {
    font-size: .86rem !important;
    line-height: 1.18 !important;
    margin-bottom: .18rem !important;
  }

  .page-project .project-grid.is-focused .project-card.is-active .project-card__detail p,
  .page-project .project-grid.is-focused .project-card.is-active .project-card__detail li {
    font-size: .8rem !important;
    line-height: 1.42 !important;
  }

  .page-project .project-grid.is-focused .project-card.is-active .project-card__detail ul {
    grid-template-columns: 1fr !important;
    gap: .18rem !important;
  }

  .page-project .project-back {
    position: sticky !important;
    bottom: .8rem !important;
    margin: 1rem auto 0 !important;
    transform: none !important;
  }
}

/* Chrome desktop image rendering cost reduction: scoped, no DOM/layout/interaction changes */
@media (hover: hover) and (pointer: fine) {
  html.chrome-desktop body.page-tech-platform .tp-intro__bg-img,
  html.chrome-desktop body.page-tech-platform .tp-verified__figure img,
  html.chrome-desktop body.page-tech-platform .tech-media-resin__img,
  html.chrome-desktop body.page-tech-platform .tp-uv-figure--stack .tp-uv-img,
  html.chrome-desktop body.page-about .about-hero__bg,
  html.chrome-desktop body.page-about .about-vision__bg-img,
  html.chrome-desktop body.page-about .about-s4__uq-logo,
  html.chrome-desktop body.page-project .project-card__media img {
    filter: none !important;
    backface-visibility: hidden;
  }

  html.chrome-desktop body.page-tech-platform .tp-uv-figure,
  html.chrome-desktop body.page-tech-platform .tp-verified__figure,
  html.chrome-desktop body.page-tech-platform .tech-media-resin,
  html.chrome-desktop body.page-about .about-vision-card,
  html.chrome-desktop body.page-about .about-core-card,
  html.chrome-desktop body.page-project .project-card,
  html.chrome-desktop body.page-project .project-card::after {
    box-shadow: none !important;
  }

  html.chrome-desktop body.page-project .project-card__media,
  html.chrome-desktop body.page-project .project-card__body {
    transform: none !important;
  }

  html.chrome-desktop body.page-project .project-card__veil {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  html.chrome-desktop body.page-project:not(.project-card-focused) .project-card:hover,
  html.chrome-desktop body.page-project:not(.project-card-focused) .project-card:focus-visible {
    transform: none !important;
  }

  html.chrome-desktop body.page-tech-platform .tp-hero__image,
  html.chrome-desktop body.page-project .project-hero::before,
  html.chrome-desktop body.page-about .about-s4__art::before {
    filter: none !important;
    transform: none !important;
    background-attachment: scroll !important;
  }

  html.chrome-desktop body.page-tech-platform .tp-intro__inner,
  html.chrome-desktop body.page-about .about-vision-card,
  html.chrome-desktop body.page-about .about-core-card,
  html.chrome-desktop body.page-project .project-card,
  html.chrome-desktop body.page-project .project-card:hover,
  html.chrome-desktop body.page-project .project-card:focus-visible {
    transform-style: flat !important;
    perspective: none !important;
  }

  html.chrome-desktop body.page-tech-platform .tp-verified__visuals,
  html.chrome-desktop body.page-tech-platform .tp-verified__copy,
  html.chrome-desktop body.page-about .about-vision,
  html.chrome-desktop body.page-about .about-s4,
  html.chrome-desktop body.page-project .project-showcase,
  html.chrome-desktop body.page-project .project-grid {
    contain: paint !important;
  }

  html.chrome-desktop body.page-project .project-card::before,
  html.chrome-desktop body.page-project .project-card::after,
  html.chrome-desktop body.page-tech-platform .tech-paths-switch__media::after,
  html.chrome-desktop body.page-about .about-block--closing::before {
    display: none !important;
  }

  html.chrome-desktop body.page-project .project-card__media img,
  html.chrome-desktop body.page-tech-platform .tech-media-resin__img,
  html.chrome-desktop body.page-about .about-hero__bg,
  html.chrome-desktop body.page-about .about-vision__bg-img {
    image-rendering: auto;
  }

  html.chrome-desktop body.page-tech-platform .bg-gradient,
  html.chrome-desktop body.page-project .bg-gradient,
  html.chrome-desktop body.page-about .bg-gradient {
    display: none !important;
  }

  html.chrome-desktop body.page-tech-platform .site-header,
  html.chrome-desktop body.page-project .site-header,
  html.chrome-desktop body.page-about .site-header,
  html.chrome-desktop body.page-tech-platform .nav-fab__panel,
  html.chrome-desktop body.page-project .nav-fab__panel,
  html.chrome-desktop body.page-about .nav-fab__panel,
  html.chrome-desktop body.page-tech-platform .project-back,
  html.chrome-desktop body.page-project .project-back,
  html.chrome-desktop body.page-about .project-back {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    box-shadow: none !important;
  }

  html.chrome-desktop body.page-tech-platform .tech-page *,
  html.chrome-desktop body.page-project .project-page *,
  html.chrome-desktop body.page-about .about-page * {
    text-shadow: none !important;
  }

  html.chrome-desktop body.page-project:not(.project-card-focused) .project-card,
  html.chrome-desktop body.page-tech-platform .tech-path-card,
  html.chrome-desktop body.page-tech-platform .tp-verified__figure,
  html.chrome-desktop body.page-about .about-vision-card,
  html.chrome-desktop body.page-about .about-core-card {
    transition-property: opacity, transform, border-color, background-color !important;
  }

  html.chrome-desktop.chrome-is-scrolling body.page-tech-platform .tech-page *,
  html.chrome-desktop.chrome-is-scrolling body.page-project .project-page *,
  html.chrome-desktop.chrome-is-scrolling body.page-about .about-page * {
    transition-duration: 0s !important;
    animation-play-state: paused !important;
  }

  html.chrome-desktop.chrome-is-scrolling body.page-tech-platform .tp-hero__image,
  html.chrome-desktop.chrome-is-scrolling body.page-tech-platform .tp-intro__bg-img,
  html.chrome-desktop.chrome-is-scrolling body.page-tech-platform .tech-media-resin__img,
  html.chrome-desktop.chrome-is-scrolling body.page-project .project-hero::before,
  html.chrome-desktop.chrome-is-scrolling body.page-project .project-card__media img,
  html.chrome-desktop.chrome-is-scrolling body.page-about .about-hero__bg,
  html.chrome-desktop.chrome-is-scrolling body.page-about .about-vision__bg-img {
    transform: none !important;
    filter: none !important;
    will-change: auto !important;
  }

  html.chrome-desktop.chrome-is-scrolling body.page-tech-platform .reveal:not(.tp-more):not(.tp-uv-stage--stack),
  html.chrome-desktop.chrome-is-scrolling body.page-project .reveal,
  html.chrome-desktop.chrome-is-scrolling body.page-about .reveal,
  html.chrome-desktop.chrome-is-scrolling body.page-about .about-core-card,
  html.chrome-desktop.chrome-is-scrolling body.page-about .about-vision-card,
  html.chrome-desktop.chrome-is-scrolling body.page-project .project-card {
    will-change: auto !important;
  }
}

/* debugPerf diagnostics: default page behavior is unchanged unless URL contains ?debugPerf=... */
html.debug-perf-no-reveal body.page-tech-platform .reveal:not(.tp-uv-stage--stack),
html.debug-perf-no-reveal body.page-about .reveal {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
  animation: none !important;
  will-change: auto !important;
}

html.debug-perf-no-images body.page-tech-platform main.tech-page img:not(.brand__hema-img):not(.footer-brand__hema-img),
html.debug-perf-no-images body.page-about main.about-page img:not(.brand__hema-img):not(.footer-brand__hema-img) {
  visibility: hidden !important;
}

html.debug-perf-no-project-transitions body.page-project .project-page *,
html.debug-perf-no-project-transitions body.page-project .project-page *::before,
html.debug-perf-no-project-transitions body.page-project .project-page *::after {
  transition: none !important;
  animation: none !important;
}

html.debug-perf-no-fixed body.page-project .project-back {
  position: static !important;
  margin: 1rem auto 0 !important;
  transform: none !important;
}

html.debug-perf-no-transform body.page-project .project-card,
html.debug-perf-no-transform body.page-project .project-card::before,
html.debug-perf-no-transform body.page-project .project-card::after,
html.debug-perf-no-transform body.page-project .project-card__media,
html.debug-perf-no-transform body.page-project .project-card__body,
html.debug-perf-no-transform body.page-project .project-card__media img,
html.debug-perf-no-transform body.page-project .project-card__arrow,
html.debug-perf-no-transform body.page-project .project-grid.is-focused .project-card:not(.is-active),
html.debug-perf-no-transform body.page-project .project-grid.is-focused .project-card.is-active {
  transform: none !important;
}

/* Mobile-only Chrome smoothness + Technology layout repair. Desktop is intentionally untouched. */
@media (max-width: 760px), (pointer: coarse) {
  html,
  body {
    scroll-behavior: auto !important;
    overscroll-behavior-y: none !important;
  }

  body,
  #hema-app,
  main,
  section {
    -webkit-font-smoothing: antialiased;
  }

  .bg-gradient,
  .tech-more-arrow,
  .tp-hero__scrim,
  .tp-intro__shade {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    filter: none !important;
  }

  .page-tech-platform .bg-gradient {
    display: none !important;
  }

  .page-tech-platform .site-header,
  .page-project .site-header,
  .page-about .site-header,
  .home-page .site-header {
    transition: none !important;
  }

  .page-tech-platform * {
    scroll-snap-align: none !important;
    scroll-snap-stop: normal !important;
  }

  .page-tech-platform .tech-page,
  .page-tech-platform main.section-block--tech {
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  .page-tech-platform .tp-snap-section,
  .page-tech-platform .tp-hero,
  .page-tech-platform .tp-intro,
  .page-tech-platform .tp-uv-stage,
  .page-tech-platform .tp-verified,
  .page-tech-platform .tp-more {
    min-height: auto !important;
    height: auto !important;
    overflow: visible !important;
    transform: none !important;
    filter: none !important;
    contain: layout paint !important;
  }

  .page-tech-platform .tp-hero {
    min-height: 62svh !important;
    padding-top: calc(var(--header-h, var(--nav-h)) + 2rem) !important;
    padding-bottom: 2.5rem !important;
  }

  .page-tech-platform .tp-hero__image {
    transform: none !important;
    filter: none !important;
    background-attachment: scroll !important;
  }

  .page-tech-platform .tp-intro {
    position: relative !important;
    display: grid !important;
    align-items: end !important;
    min-height: 88svh !important;
    padding: calc(var(--header-h, var(--nav-h)) + 1.25rem) 1rem 2rem !important;
    isolation: isolate !important;
  }

  .page-tech-platform .tp-intro__bg-img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
    transform: none !important;
    filter: brightness(.56) contrast(1.02) !important;
    z-index: 0 !important;
  }

  .page-tech-platform .tp-intro__shade {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    background: linear-gradient(180deg, rgba(3,7,18,.35), rgba(3,7,18,.78)) !important;
    z-index: 1 !important;
  }

  .page-tech-platform .tp-intro__inner {
    position: relative !important;
    z-index: 2 !important;
    width: 100% !important;
    max-width: 34rem !important;
    margin: 0 auto !important;
    padding: 1.25rem !important;
    border: 1px solid rgba(148,163,184,.18) !important;
    border-radius: 1.15rem !important;
    background: rgba(7,12,22,.78) !important;
    box-shadow: 0 16px 40px rgba(0,0,0,.28) !important;
    transform: none !important;
  }

  .page-tech-platform .tp-intro__title {
    font-size: clamp(1.55rem, 8vw, 2.2rem) !important;
    line-height: 1.08 !important;
    margin: 0 0 .55rem !important;
  }

  .page-tech-platform .tp-intro__subline,
  .page-tech-platform .tp-intro__body {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
  }

  .page-tech-platform .tp-intro__body {
    font-size: .94rem !important;
    line-height: 1.58 !important;
  }

  .page-tech-platform .tp-uv-stage {
    padding: calc(var(--header-h, var(--nav-h)) + 1.35rem) 1rem 2.4rem !important;
  }

  .page-tech-platform .tp-stage__shell {
    width: 100% !important;
    max-width: 34rem !important;
    margin: 0 auto !important;
    display: block !important;
    transform: none !important;
  }

  .page-tech-platform .tp-stage__heading {
    margin: 0 auto 1.25rem !important;
    text-align: center !important;
  }

  .page-tech-platform .tp-stage__kicker {
    font-size: clamp(1rem, 4.8vw, 1.25rem) !important;
    line-height: 1.45 !important;
  }

  .page-tech-platform .tp-stage__title {
    font-size: clamp(2rem, 9vw, 2.7rem) !important;
    line-height: 1.05 !important;
  }

  .page-tech-platform .tp-uv-layout,
  .page-tech-platform .tp-uv-layout--stack {
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-areas: "figure" "featuresA" "featuresB" !important;
    gap: 1rem !important;
    min-height: 0 !important;
    height: auto !important;
    align-items: stretch !important;
    transform: none !important;
  }

  .page-tech-platform .tp-uv-figure,
  .page-tech-platform .tp-uv-figure--stack {
    grid-area: figure !important;
    position: relative !important;
    width: min(72vw, 18rem) !important;
    height: min(72vw, 18rem) !important;
    margin: 0 auto .25rem !important;
    transform: none !important;
    overflow: visible !important;
  }

  .page-tech-platform .tp-uv-img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    transform: none !important;
    filter: none !important;
  }

  .page-tech-platform .tp-feature-list {
    position: static !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: .8rem !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  .page-tech-platform .tp-feature-list--a {
    grid-area: featuresA !important;
  }

  .page-tech-platform .tp-feature-list--b {
    grid-area: featuresB !important;
  }

  .page-tech-platform [data-tp-uv-state="a"] .tp-feature-list--b,
  .page-tech-platform [data-tp-uv-state="b"] .tp-feature-list--a {
    display: none !important;
  }

  .page-tech-platform .tp-feature-list li {
    min-height: 5.4rem !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: .9rem .7rem !important;
    border-radius: 1rem !important;
    font-size: clamp(.88rem, 4.1vw, 1.04rem) !important;
    line-height: 1.35 !important;
    text-align: center !important;
    transform: none !important;
    filter: none !important;
  }

  .page-tech-platform .tp-verified {
    display: flex !important;
    flex-direction: column !important;
    gap: 1rem !important;
    padding: calc(var(--header-h, var(--nav-h)) + 1.25rem) 1rem 2.4rem !important;
  }

  .page-tech-platform .tp-verified__visuals {
    position: relative !important;
    order: 1 !important;
    width: 100% !important;
    max-width: 34rem !important;
    margin: 0 auto !important;
    display: grid !important;
    gap: .8rem !important;
    transform: none !important;
  }

  .page-tech-platform .tp-verified__figure,
  .page-tech-platform .tp-verified__figure--core,
  .page-tech-platform .tp-verified__figure--integrated {
    position: relative !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    transform: none !important;
    filter: none !important;
  }

  .page-tech-platform .tp-verified__figure img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-height: 18rem !important;
    object-fit: contain !important;
    transform: none !important;
    filter: none !important;
  }

  .page-tech-platform .tp-verified__copy {
    position: relative !important;
    order: 2 !important;
    width: 100% !important;
    max-width: 34rem !important;
    margin: 0 auto !important;
    transform: none !important;
  }

  .page-tech-platform .tp-verified__title {
    font-size: clamp(2rem, 10vw, 3rem) !important;
    line-height: 1.05 !important;
    margin-bottom: .75rem !important;
  }

  .page-tech-platform .tp-verified__grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: .8rem !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .page-tech-platform .tp-verified__grid li {
    min-height: auto !important;
    padding: 1rem !important;
    font-size: clamp(1rem, 4.5vw, 1.18rem) !important;
    line-height: 1.35 !important;
    transform: none !important;
  }

  .page-tech-platform .tp-more {
    padding: calc(var(--header-h, var(--nav-h)) + 1.25rem) 1rem 2.6rem !important;
  }

  .page-tech-platform .tech-fork-paths,
  .page-tech-platform .tech-mature-coupled__channels {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
    width: 100% !important;
    max-width: 34rem !important;
    margin: 0 auto !important;
    transform: none !important;
  }

  .page-tech-platform .tech-path-card,
  .page-tech-platform .tech-path-card--coupling,
  .page-tech-platform .tech-path-card--foam {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    transform: none !important;
    filter: none !important;
  }

  .page-tech-platform .tech-path-card__media {
    height: auto !important;
    min-height: 0 !important;
  }

  .page-tech-platform .tech-media-resin__img,
  .page-tech-platform .tech-media-resin__img--full {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
    transform: none !important;
  }
}

/* Mobile-only: Technology intro becomes text-first, no background image panel. Desktop untouched. */
@media (max-width: 760px), (pointer: coarse) {
  .page-tech-platform .tp-intro {
    min-height: auto !important;
    padding: calc(var(--header-h, var(--nav-h)) + 1.5rem) 1rem 2.2rem !important;
    display: block !important;
    background: linear-gradient(180deg, #070b13 0%, #08111f 100%) !important;
  }

  .page-tech-platform .tp-intro__bg-img,
  .page-tech-platform .tp-intro__shade {
    display: none !important;
  }

  .page-tech-platform .tp-intro__inner {
    display: block !important;
    position: relative !important;
    z-index: 1 !important;
    max-width: 34rem !important;
    margin: 0 auto !important;
    padding: 1.3rem 1.1rem !important;
    background: rgba(10, 18, 32, .96) !important;
    border: 1px solid rgba(56, 189, 248, .18) !important;
    box-shadow: 0 14px 34px rgba(0, 0, 0, .22) !important;
  }

  .page-tech-platform .tp-intro__title,
  .page-tech-platform .tp-intro__subline,
  .page-tech-platform .tp-intro__body {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    max-height: none !important;
    overflow: visible !important;
  }

  .page-tech-platform .tp-intro__title {
    color: #38bdf8 !important;
    font-size: clamp(1.65rem, 8vw, 2.25rem) !important;
    line-height: 1.08 !important;
  }

  .page-tech-platform .tp-intro__subline {
    margin-top: .7rem !important;
    color: rgba(226, 232, 240, .88) !important;
    font-size: .98rem !important;
    line-height: 1.35 !important;
  }

  .page-tech-platform .tp-intro__body {
    margin-top: .95rem !important;
    color: rgba(226, 232, 240, .84) !important;
    font-size: .94rem !important;
    line-height: 1.58 !important;
  }
}

/* Mobile scroll safety: pages must scroll unless the menu is explicitly open. Desktop untouched. */
@media (max-width: 760px), (pointer: coarse) {
  html,
  body:not(.nav-menu-open) {
    height: auto !important;
    min-height: 100% !important;
    max-height: none !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior-y: auto !important;
    touch-action: pan-y !important;
  }

  body.nav-menu-open {
    overflow: hidden !important;
    touch-action: none !important;
  }

  body:not(.nav-menu-open) #hema-app,
  body:not(.nav-menu-open) main,
  body:not(.nav-menu-open) .section-block,
  body:not(.nav-menu-open) .home-page,
  body:not(.nav-menu-open) .project-page,
  body:not(.nav-menu-open) .project-showcase,
  body:not(.nav-menu-open) .project-grid,
  body:not(.nav-menu-open) .tech-page,
  body:not(.nav-menu-open) .tech-platform-page {
    height: auto !important;
    max-height: none !important;
    overflow-y: visible !important;
    overscroll-behavior-y: auto !important;
    touch-action: pan-y !important;
  }

  body.page-project.project-is-animating,
  body.page-project.project-is-animating #hema-app,
  body.page-project.project-is-animating .project-page,
  body.page-project.project-is-animating .project-showcase,
  body.page-project.project-is-animating .project-grid {
    overflow-y: auto !important;
    touch-action: pan-y !important;
  }
}

/* Mobile Technology UV carousel: side feature columns, no overlap. Desktop untouched. */
@media (max-width: 760px), (pointer: coarse) {
  .page-tech-platform .tp-uv-stage {
    overflow: visible !important;
  }

  .page-tech-platform .tp-uv-layout,
  .page-tech-platform .tp-uv-layout--stack {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(7.4rem, 38vw) minmax(0, 1fr) !important;
    grid-template-areas: "left figure right" !important;
    gap: .55rem !important;
    align-items: center !important;
    justify-items: stretch !important;
    touch-action: pan-y !important;
  }

  .page-tech-platform .tp-uv-figure,
  .page-tech-platform .tp-uv-figure--stack {
    grid-area: figure !important;
    width: 100% !important;
    height: clamp(8.2rem, 40vw, 13rem) !important;
    min-height: 0 !important;
    margin: 0 auto !important;
    overflow: visible !important;
    touch-action: pan-y !important;
  }

  .page-tech-platform .tp-feature-list,
  .page-tech-platform .tp-feature-list--left,
  .page-tech-platform .tp-feature-list--right {
    position: static !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-auto-rows: auto !important;
    align-content: center !important;
    gap: .48rem !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    filter: none !important;
  }

  .page-tech-platform .tp-feature-list--left {
    grid-area: left !important;
  }

  .page-tech-platform .tp-feature-list--right {
    grid-area: right !important;
  }

  .page-tech-platform [data-tp-uv-state="a"] .tp-feature-list--b,
  .page-tech-platform [data-tp-uv-state="b"] .tp-feature-list--a {
    display: none !important;
  }

  .page-tech-platform [data-tp-uv-state="a"] .tp-feature-list--a,
  .page-tech-platform [data-tp-uv-state="b"] .tp-feature-list--b {
    display: grid !important;
  }

  .page-tech-platform .tp-feature-list li {
    width: 100% !important;
    min-width: 0 !important;
    min-height: clamp(4.25rem, 18vw, 5.4rem) !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: .55rem .38rem !important;
    overflow: visible !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
    text-align: center !important;
    font-size: clamp(.68rem, 3.25vw, .9rem) !important;
    line-height: 1.18 !important;
    letter-spacing: -.01em !important;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    filter: none !important;
  }

  .page-tech-platform .tp-feature-list li::before {
    flex: 0 0 auto !important;
    margin-right: .28rem !important;
  }

  .page-tech-platform .tp-feature-list--left li {
    text-align: right !important;
  }

  .page-tech-platform .tp-feature-list--right li {
    text-align: left !important;
  }

  .page-tech-platform .tp-uv-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
  }

  .page-tech-platform .tp-stage__subtitle {
    margin-bottom: 1rem !important;
  }

  .page-tech-platform .tp-uv-stage::after {
    content: "Swipe left / right";
    display: block;
    margin: .95rem auto 0;
    color: rgba(125, 211, 252, .64);
    font-size: .72rem;
    line-height: 1;
    text-align: center;
    letter-spacing: .08em;
    text-transform: uppercase;
  }
}

/* GPU-friendly desktop performance pass: keep visual design, reduce paint/layout work. */
@media (hover: hover) and (pointer: fine) {
  .reveal,
  main.section-block--about.about-page .reveal,
  .about-page .about-core-cards[data-about-core-cards] > .about-core-card,
  .page-project:not(.project-card-focused) .project-card {
    will-change: transform, opacity;
    transform: translate3d(0, 32px, 0);
    opacity: 0;
    transition-property: opacity, transform !important;
    transition-duration: .72s !important;
    transition-timing-function: cubic-bezier(.2,.86,.25,1.02) !important;
  }

  .reveal.is-in,
  main.section-block--about.about-page .reveal.is-in,
  .about-page .about-core-cards[data-about-core-cards] > .about-core-card.is-visible,
  .page-project:not(.project-card-focused) .project-card {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }

  .project-card,
  .tech-path-card,
  .about-core-card,
  .about-vision-card,
  .tp-feature-list li,
  .nav-fab__toggle,
  .nav-contact {
    box-shadow: 0 12px 32px rgba(0, 0, 0, .28) !important;
    transition-property: transform, opacity, border-color, background-color !important;
  }

  .project-card:hover,
  .project-card:focus-visible,
  .tech-path-card:hover,
  .about-core-card:hover,
  .about-vision-card:hover {
    box-shadow: 0 14px 36px rgba(0, 0, 0, .3) !important;
  }

  .project-card__media,
  .tech-path-card__media,
  .tech-media-resin,
  .tp-uv-figure,
  .tp-verified__figure,
  .about-hero,
  .about-vision,
  .project-hero {
    contain: layout paint;
    overflow: hidden;
  }

  .project-card__media img,
  .tech-media-resin__img,
  .tp-uv-figure img,
  .tp-verified__figure img {
    transform: translateZ(0) scale(1) !important;
    will-change: transform;
    transition-property: transform, opacity !important;
    transition-duration: .55s !important;
  }

  .project-card:hover .project-card__media img,
  .project-card:focus-visible .project-card__media img,
  .tech-path-card:hover .tech-media-resin__img,
  .tech-path-card:focus-visible .tech-media-resin__img {
    transform: translateZ(0) scale(1.03) !important;
    filter: none !important;
  }

  .tp-hero__image,
  .tp-intro__bg-img,
  .about-hero__bg,
  .about-vision__bg-img,
  .project-hero::before,
  .tp-uv-figure img,
  .tp-verified__figure img {
    backface-visibility: hidden;
    transform: translateZ(0) !important;
    will-change: transform, opacity;
  }

  .tp-uv-figure img,
  .tp-verified__figure img,
  .brand__hema-mark,
  .brand__hema-img,
  .footer-brand__hema-img {
    filter: none !important;
  }

  .nav-fab__panel,
  .nav-fab__backdrop,
  .project-card__veil,
  .tp-intro__shade,
  .about-vision__bg-shade {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  .project-card__veil {
    background: linear-gradient(135deg, rgba(14,165,233,.34), rgba(8,145,178,.26)) !important;
  }

  .project-card,
  .tech-path-card,
  .about-core-card,
  .about-vision-card {
    background: linear-gradient(180deg, rgba(12, 24, 42, .96), rgba(6, 14, 26, .96)) !important;
    border-color: rgba(80, 190, 255, .16) !important;
  }

  .tp-feature-list li,
  .project-card__body,
  .tech-path-card__banner,
  .tech-path-card__below {
    transition-property: transform, opacity, border-color, background-color !important;
  }
}

/* Fix UV A/B device images: keep them centered after GPU optimization overrides. */
.tp-uv-stage--stack .tp-uv-figure--stack {
  position: relative !important;
  display: grid !important;
  place-items: center !important;
  overflow: visible !important;
}

.tp-uv-stage--stack .tp-uv-img {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  right: auto !important;
  bottom: auto !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  transform: translate3d(-50%, -50%, 0) !important;
  transform-origin: center center !important;
  will-change: opacity, transform;
}

.tp-uv-stage--stack .tp-uv-img--a {
  width: min(480px, 88%) !important;
  height: auto !important;
}

.tp-uv-stage--stack .tp-uv-img--b {
  width: min(720px, 100%) !important;
  height: auto !important;
}

@media (max-width: 760px), (pointer: coarse) {
  .page-tech-platform .tp-uv-stage--stack .tp-uv-figure--stack {
    display: grid !important;
    place-items: center !important;
  }

  .page-tech-platform .tp-uv-stage--stack .tp-uv-img {
    top: 50% !important;
    left: 50% !important;
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 100% !important;
    transform: translate3d(-50%, -50%, 0) !important;
  }
}

/* Project-only Chrome desktop stability pass: no global pages, no mobile. */
@media (hover: hover) and (pointer: fine) {
  body.page-project .project-showcase,
  body.page-project .project-grid {
    contain: layout style paint;
  }

  body.page-project .project-card,
  body.page-project .project-card__media,
  body.page-project .project-card__body,
  body.page-project .project-card__detail {
    contain: layout paint;
  }

  body.page-project .project-card,
  body.page-project .project-card__media img,
  body.page-project .project-back {
    backface-visibility: hidden;
    transform: translateZ(0);
    will-change: transform, opacity;
  }

  body.page-project .project-card,
  body.page-project .project-grid.is-focused .project-card.is-active,
  body.page-project .project-grid.is-focused .project-card:not(.is-active) {
    transition-property: opacity, transform, border-color, background-color !important;
  }

  body.page-project .project-card__detail {
    transition-property: opacity, transform !important;
  }

  body.page-project.project-is-animating .project-card,
  body.page-project.project-is-animating .project-card__media,
  body.page-project.project-is-animating .project-card__body,
  body.page-project.project-is-animating .project-card__detail {
    pointer-events: none;
  }

  body.page-project.project-debug-static .project-card,
  body.page-project.project-debug-static .project-card__media img,
  body.page-project.project-debug-static .project-card__detail,
  body.page-project.project-debug-static .project-back {
    transition: none !important;
    animation: none !important;
  }

  body.page-project.project-debug-static .project-grid,
  body.page-project.project-debug-static .project-card {
    transform: none !important;
    filter: none !important;
  }
}

/* Desktop Chrome targeted performance: keep layout/content, simplify two known jank hotspots. */
html.chrome-desktop body.page-tech-platform .tech-more-arrow,
html.chrome-desktop body.page-tech-platform .tech-more-arrow__inner,
html.chrome-desktop body.page-tech-platform .tech-more-arrow__label--we-more,
html.chrome-desktop body.page-tech-platform .tech-cdm-char {
  will-change: opacity, transform !important;
  backface-visibility: hidden !important;
  filter: none !important;
  text-shadow: none !important;
}

html.chrome-desktop body.page-tech-platform .tech-more-arrow.tech-more-arrow--play .tech-more-arrow__label--we-more .tech-cdm-char--more,
html.chrome-desktop body.page-tech-platform .tech-more-arrow.tech-more-arrow--play .tech-more-arrow__label--we-more .tech-more-arrow__candomore .tech-cdm-char--advanced {
  animation-name: techChromeMoreLite !important;
  animation-duration: .22s !important;
  animation-timing-function: ease-out !important;
  animation-delay: calc(var(--i, 0) * 16ms) !important;
  animation-fill-mode: both !important;
  animation-play-state: running !important;
  filter: none !important;
}

html.chrome-desktop.chrome-is-scrolling body.page-tech-platform .tech-more-arrow,
html.chrome-desktop.chrome-is-scrolling body.page-tech-platform .tech-more-arrow *,
html.chrome-desktop.chrome-is-scrolling body.page-tech-platform .tp-more,
html.chrome-desktop.chrome-is-scrolling body.page-tech-platform .tp-more * {
  animation-play-state: running !important;
}

html.chrome-desktop body.page-tech-platform .tp-uv-stage--stack .tp-uv-img,
html.chrome-desktop.chrome-is-scrolling body.page-tech-platform .tp-uv-stage--stack .tp-uv-img {
  top: 50% !important;
  left: 50% !important;
  right: auto !important;
  bottom: auto !important;
  transform-origin: center center !important;
}

html.chrome-desktop body.page-tech-platform .tp-uv-stage--stack .tp-uv-img--a,
html.chrome-desktop.chrome-is-scrolling body.page-tech-platform .tp-uv-stage--stack .tp-uv-img--a {
  transform: translate3d(-50%, -50%, 0) scale(1) !important;
}

html.chrome-desktop body.page-tech-platform .tp-uv-stage--stack .tp-uv-img--b,
html.chrome-desktop.chrome-is-scrolling body.page-tech-platform .tp-uv-stage--stack .tp-uv-img--b {
  transform: translate3d(-50%, -50%, 0) scale(1) !important;
}

html.chrome-desktop body.page-tech-platform .tp-uv-stage--stack[data-tp-uv-state="a"] .tp-uv-img--a,
html.chrome-desktop.chrome-is-scrolling body.page-tech-platform .tp-uv-stage--stack[data-tp-uv-state="a"] .tp-uv-img--a,
html.chrome-desktop body.page-tech-platform .tp-uv-stage--stack[data-tp-uv-state="b"] .tp-uv-img--b,
html.chrome-desktop.chrome-is-scrolling body.page-tech-platform .tp-uv-stage--stack[data-tp-uv-state="b"] .tp-uv-img--b {
  opacity: 1 !important;
}

html.chrome-desktop body.page-tech-platform .tp-uv-stage--stack[data-tp-uv-state="a"] .tp-uv-img--b,
html.chrome-desktop.chrome-is-scrolling body.page-tech-platform .tp-uv-stage--stack[data-tp-uv-state="a"] .tp-uv-img--b,
html.chrome-desktop body.page-tech-platform .tp-uv-stage--stack[data-tp-uv-state="b"] .tp-uv-img--a,
html.chrome-desktop.chrome-is-scrolling body.page-tech-platform .tp-uv-stage--stack[data-tp-uv-state="b"] .tp-uv-img--a {
  opacity: 0 !important;
}

html.chrome-desktop body.page-tech-platform .tech-fork-paths .tech-mature-coupled__channels[data-tech-coupling] > .tech-coupling-toggle {
  transition: opacity .18s ease-out, transform .18s ease-out !important;
  transition-delay: 0s !important;
}

html.chrome-desktop body.page-tech-platform .tech-fork-paths .tech-more-arrow.tech-more-arrow--play ~ .tech-mature-coupled__channels[data-tech-coupling] > .tech-coupling-toggle {
  opacity: 1 !important;
  transform: translate3d(0, 0, 0) !important;
  transition-delay: .08s !important;
}

html.chrome-desktop.chrome-is-scrolling body.page-tech-platform .tech-coupling-toggle,
html.chrome-desktop.chrome-is-scrolling body.page-tech-platform .tech-coupling-subline {
  animation-play-state: running !important;
}

@keyframes techChromeMoreLite {
  from { opacity: 0; transform: translate3d(0, .45rem, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}

html.chrome-desktop body.page-project .project-page,
html.chrome-desktop body.page-project #hema-app {
  width: 100vw !important;
  max-width: none !important;
  margin-inline: calc(50% - 50vw) !important;
  overflow-x: hidden !important;
}

html.chrome-desktop body.page-project .project-hero {
  width: 100vw !important;
  max-width: none !important;
  margin-inline: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

html.chrome-desktop body.page-project .project-hero::before,
html.chrome-desktop body.page-project .project-hero::after {
  inset: 0 !important;
  width: 100vw !important;
  max-width: none !important;
}

html.chrome-desktop body.page-project .project-grid {
  perspective: none !important;
  transition-duration: .24s !important;
}

html.chrome-desktop body.page-project .project-card,
html.chrome-desktop body.page-project .project-card::before,
html.chrome-desktop body.page-project .project-card::after,
html.chrome-desktop body.page-project .project-card__media,
html.chrome-desktop body.page-project .project-card__body,
html.chrome-desktop body.page-project .project-card__media img {
  transform-style: flat !important;
  filter: none !important;
  backface-visibility: hidden !important;
}

html.chrome-desktop body.page-project .project-card {
  transform: translateZ(0) !important;
  box-shadow: 0 14px 30px rgba(0,0,0,.28) !important;
  transition-property: opacity, transform, border-color, box-shadow !important;
  transition-duration: .24s !important;
}

html.chrome-desktop body.page-project .project-card::after {
  display: none !important;
}

html.chrome-desktop body.page-project .project-card:hover,
html.chrome-desktop body.page-project .project-card:focus-visible {
  transform: translate3d(0, -2px, 0) !important;
  box-shadow: 0 18px 40px rgba(0,0,0,.32) !important;
}

html.chrome-desktop body.page-project .project-card__media,
html.chrome-desktop body.page-project .project-card__body {
  transform: none !important;
}

body.page-project .project-card__more {
  cursor: pointer;
  pointer-events: auto;
}

body.page-project .project-grid,
body.page-project .project-card,
body.page-project .project-card__media,
body.page-project .project-card__body {
  touch-action: pan-y;
  overscroll-behavior: auto;
}

html.chrome-desktop body.page-project .project-card__media img,
html.chrome-desktop body.page-project .project-card:hover .project-card__media img,
html.chrome-desktop body.page-project .project-card:focus-visible .project-card__media img {
  filter: none !important;
  transform: none !important;
  transition: none !important;
}

html.chrome-desktop body.page-project .project-card__veil {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  transition-duration: .18s !important;
}

html.chrome-desktop body.page-project .project-grid.is-focused .project-card:not(.is-active) {
  filter: none !important;
  transition-duration: .18s !important;
}
