/* NACREBS About — compact corporate system v24 */
.about-page-shell { background: #f7fbfe; }
.about-page { overflow: clip; background: #fff; }

.about-page__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .62rem;
  margin: 0;
  color: #6ec1f0;
  font-size: .62rem;
  font-weight: 800;
  letter-spacing: .16em;
  line-height: 1;
  text-transform: uppercase;
}
.about-page__eyebrow::before { width: 1.55rem; height: 2px; flex: 0 0 auto; background: currentColor; content: ""; }

/* Dark, quiet first impression */
.about-intro {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding-block: clamp(4.7rem, 6vw, 6rem) clamp(4rem, 5.4vw, 5.2rem);
  background:
    radial-gradient(circle at 77% 46%, rgb(45 143 207 / 24%), transparent 26rem),
    radial-gradient(circle at 16% 0%, rgb(31 103 162 / 15%), transparent 22rem),
    linear-gradient(135deg, #05182b 0%, #07243e 54%, #092d4b 100%);
}
.about-intro::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  background-image:
    linear-gradient(rgb(131 198 236 / 3.5%) 1px, transparent 1px),
    linear-gradient(90deg, rgb(131 198 236 / 3.5%) 1px, transparent 1px);
  background-size: 4.8rem 4.8rem;
  mask-image: linear-gradient(90deg, transparent 0%, #000 28%, #000 100%);
  content: "";
  opacity: .5;
}
.about-intro::after {
  position: absolute;
  right: 0; bottom: 0; left: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgb(125 202 244 / 20%), transparent);
  content: "";
}
.about-intro__grid {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(27rem, .82fr);
  gap: clamp(3rem, 6.6vw, 6.5rem);
  align-items: center;
}
.about-intro__content { max-width: 44rem; }
.about-intro__content h1 {
  margin: .92rem 0 0;
  color: #fff;
  font-size: clamp(3rem, 4.3vw, 4.25rem);
  font-weight: 800;
  letter-spacing: -.065em;
  line-height: .98;
}
.about-intro__lead {
  margin: 1.35rem 0 0;
  color: #d6eaf6;
  font-size: clamp(.99rem, 1.16vw, 1.09rem);
  font-weight: 620;
  line-height: 1.72;
}
.about-intro__copy {
  margin: .88rem 0 0;
  color: #91afc3;
  font-size: clamp(.84rem, .96vw, .92rem);
  line-height: 1.75;
}

/* Signature orbit, adapted to the dark masthead */
.about-orbit { position: relative; display: grid; min-height: clamp(23rem, 30vw, 29rem); place-items: center; isolation: isolate; }
.about-orbit__glow { position: absolute; z-index: -2; width: 80%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, rgb(72 173 232 / 22%), rgb(32 114 175 / 7%) 45%, transparent 70%); filter: blur(5px); }
.about-orbit__ring { position: absolute; border: 1px solid rgb(111 196 243 / 20%); border-radius: 50%; box-shadow: inset 0 0 2.5rem rgb(73 168 224 / 2%); }
.about-orbit__ring--outer { width: 97%; aspect-ratio: 1.9 / 1.2; transform: rotate(-8deg); }
.about-orbit__ring--middle { width: 72%; aspect-ratio: 1.65 / 1.1; transform: rotate(25deg); }
.about-orbit__ring--inner { width: 47%; aspect-ratio: 1.2; border-color: rgb(116 203 249 / 27%); }
.about-orbit__core {
  position: relative;
  display: grid;
  width: clamp(8rem, 11vw, 10rem);
  aspect-ratio: 1;
  place-items: center;
  border: 1px solid rgb(163 219 248 / 16%);
  border-radius: 50%;
  background: rgb(247 252 255 / 96%);
  box-shadow:
    0 2rem 5rem rgb(0 0 0 / 28%),
    0 0 0 clamp(.85rem, 1.3vw, 1.2rem) rgb(210 239 255 / 9%),
    0 0 0 clamp(2rem, 3.2vw, 3rem) rgb(91 184 235 / 7%);
}
.about-orbit__core img { width: 59%; height: auto; filter: drop-shadow(0 .65rem 1rem rgb(2 93 192 / 22%)); }
.about-orbit__node {
  position: absolute; z-index: 2;
  padding: .52rem .75rem;
  border: 1px solid rgb(148 213 248 / 16%);
  border-radius: 999px;
  background: rgb(255 255 255 / 92%);
  color: #4b708e;
  font-size: .59rem;
  font-weight: 800;
  letter-spacing: .1em;
  box-shadow: 0 .75rem 2rem rgb(0 0 0 / 14%);
  backdrop-filter: blur(10px);
}
.about-orbit__node--science { top: 26%; left: 1%; }
.about-orbit__node--engineering { top: 31%; right: 0; }
.about-orbit__node--health { right: 10%; bottom: 20%; }

/* Mission & vision: one quiet corporate surface */
.about-purpose {
  position: relative;
  padding-block: clamp(3.8rem, 5.2vw, 5rem);
  background: #fff;
}
.about-purpose__shell {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 1px minmax(0, 1fr);
  gap: clamp(2rem, 4.6vw, 4.8rem);
  padding: clamp(2rem, 3.6vw, 3.25rem);
  overflow: hidden;
  border: 1px solid rgb(21 74 112 / 8%);
  border-radius: clamp(1.35rem, 2.4vw, 2rem);
  background:
    radial-gradient(circle at 12% 0%, rgb(84 181 234 / 8%), transparent 19rem),
    linear-gradient(145deg, #f8fbfd 0%, #fff 58%, #f7fbfe 100%);
  box-shadow: 0 1.25rem 3.5rem rgb(11 48 76 / 5%);
}
.about-purpose__shell::after {
  position: absolute;
  right: -5rem;
  bottom: -8rem;
  width: 20rem;
  aspect-ratio: 1;
  border: 1px solid rgb(47 139 196 / 8%);
  border-radius: 50%;
  box-shadow:
    0 0 0 2.8rem rgb(47 139 196 / 3%),
    0 0 0 5.8rem rgb(47 139 196 / 2%);
  content: "";
  pointer-events: none;
}
.about-purpose__item {
  position: relative;
  z-index: 1;
  min-width: 0;
}
.about-purpose__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding-bottom: .9rem;
  border-bottom: 1px solid rgb(20 69 103 / 9%);
}
.about-purpose__label {
  margin: 0;
  color: #347ba9;
  font-size: .61rem;
  font-weight: 800;
  letter-spacing: .15em;
}
.about-purpose__index {
  color: rgb(28 91 132 / 34%);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .12em;
}
.about-purpose__item h2 {
  max-width: 25ch;
  margin: 1.25rem 0 0;
  color: #08263f;
  font-size: clamp(1.65rem, 2.45vw, 2.45rem);
  font-weight: 760;
  letter-spacing: -.052em;
  line-height: 1.08;
}
.about-purpose__item > p:last-child {
  max-width: 40rem;
  margin: .95rem 0 0;
  color: #647e91;
  font-size: .86rem;
  line-height: 1.72;
}
.about-purpose__divider {
  position: relative;
  align-self: stretch;
  width: 1px;
  background: linear-gradient(180deg, transparent, rgb(25 82 119 / 13%) 18%, rgb(25 82 119 / 13%) 82%, transparent);
}
.about-purpose__divider span {
  position: absolute;
  top: 50%;
  left: 50%;
  width: .42rem;
  aspect-ratio: 1;
  border: 2px solid #f8fbfd;
  border-radius: 50%;
  background: #5da7d4;
  box-shadow: 0 0 0 .38rem rgb(93 167 212 / 9%);
  transform: translate(-50%, -50%);
}

/* NACRE + BS: a visual brand signature */
.about-story {
  position: relative;
  padding-block: clamp(4rem, 5.4vw, 5.4rem);
  overflow: hidden;
  border-top: 1px solid rgb(4 24 47 / 5%);
  background:
    radial-gradient(circle at 85% 35%, rgb(89 181 230 / 8%), transparent 24rem),
    linear-gradient(180deg, #f6fafc 0%, #fbfdff 100%);
}
.about-story .about-page__eyebrow { color: #4284b4; }
.about-story__head { max-width: 48rem; }
.about-story__head h2 {
  margin: .72rem 0 0;
  color: var(--color-ink);
  font-size: clamp(2.8rem, 4.8vw, 4.9rem);
  font-weight: 800;
  letter-spacing: -.078em;
  line-height: .94;
}
.about-story__head > p:last-child {
  max-width: 42rem;
  margin: .9rem 0 0;
  color: #657e91;
  font-size: .9rem;
  line-height: 1.7;
}
.about-name {
  display: grid;
  grid-template-columns: minmax(0, .93fr) minmax(20rem, 1.07fr);
  gap: clamp(1.4rem, 3vw, 3rem);
  align-items: stretch;
  margin-top: clamp(2rem, 3.4vw, 3.2rem);
}
.about-name__source {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, .78fr);
  gap: clamp(1rem, 2vw, 2rem);
  align-items: start;
  padding: clamp(1.5rem, 2.5vw, 2rem) 0;
}
.about-name__part {
  position: relative;
  min-width: 0;
  padding-top: 1rem;
  border-top: 1px solid rgb(4 24 47 / 11%);
}
.about-name__overline {
  display: block;
  margin-bottom: .75rem;
  color: #7d96a8;
  font-size: .53rem;
  font-weight: 800;
  letter-spacing: .14em;
}
.about-name__word {
  display: block;
  color: #0b2b46;
  font-size: clamp(2.25rem, 3.4vw, 3.45rem);
  font-weight: 800;
  letter-spacing: -.07em;
  line-height: .94;
}
.about-name__meaning {
  display: block;
  margin-top: .52rem;
  color: #4284b4;
  font-size: .57rem;
  font-weight: 800;
  letter-spacing: .13em;
}
.about-name__part p {
  margin: .85rem 0 0;
  color: #6b8192;
  font-size: .79rem;
  line-height: 1.63;
}
.about-name__operator {
  align-self: center;
  color: #8eb9d6;
  font-size: clamp(1.7rem, 2.3vw, 2.35rem);
  font-weight: 400;
  transform: translateY(.4rem);
}
.about-name__result {
  position: relative;
  isolation: isolate;
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: center;
  padding: clamp(2rem, 3.3vw, 3.15rem);
  overflow: hidden;
  border: 1px solid rgb(126 200 239 / 13%);
  border-radius: clamp(1.4rem, 2.2vw, 1.9rem);
  background:
    radial-gradient(circle at 78% 25%, rgb(64 163 223 / 22%), transparent 17rem),
    linear-gradient(145deg, #071c31 0%, #092d4b 100%);
  box-shadow: 0 1.4rem 3.5rem rgb(7 38 64 / 10%);
}
.about-name__result-rings {
  position: absolute;
  z-index: -1;
  top: 50%;
  right: -3.4rem;
  width: min(20rem, 70%);
  aspect-ratio: 1;
  transform: translateY(-50%);
}
.about-name__result-rings span {
  position: absolute;
  inset: 0;
  border: 1px solid rgb(118 201 244 / 12%);
  border-radius: 50%;
}
.about-name__result-rings span:nth-child(2) { inset: 15%; border-color: rgb(118 201 244 / 16%); }
.about-name__result-rings span:nth-child(3) { inset: 31%; border-color: rgb(118 201 244 / 21%); }
.about-name__result-label {
  color: #7fc8ee;
  font-size: .54rem;
  font-weight: 800;
  letter-spacing: .16em;
}
.about-name__brand {
  margin-top: .75rem;
  color: #fff;
  font-size: clamp(3.2rem, 5.6vw, 5.8rem);
  font-weight: 800;
  letter-spacing: -.085em;
  line-height: .9;
}
.about-name__brand strong { color: #78c6f1; font-weight: 800; }
.about-name__result-meaning {
  display: block;
  margin-top: .75rem;
  color: #a9d9f2;
  font-size: .6rem;
  font-weight: 800;
  letter-spacing: .14em;
}
.about-name__result p {
  max-width: 36rem;
  margin: 1rem 0 0;
  color: #a8c0d0;
  font-size: .8rem;
  line-height: 1.68;
}

/* Closing CTA */
.about-cta { padding-block: 0 clamp(4.4rem, 6vw, 6rem); background: #fff; }
.about-cta__panel { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: clamp(2rem, 5vw, 5rem); align-items: center; padding: clamp(2rem, 3vw, 2.8rem); border-radius: clamp(1.2rem, 2vw, 1.65rem); background: radial-gradient(circle at 87% 10%, rgb(87 175 228 / 20%), transparent 20rem), linear-gradient(135deg, #061a2e 0%, #092b49 58%, #0b365a 100%); box-shadow: 0 1.5rem 4rem rgb(5 31 55 / 9%); }
.about-cta__panel h2 { max-width: 21ch; margin: 0; color: #fff; font-size: clamp(1.85rem, 3vw, 3rem); font-weight: 740; letter-spacing: -.05em; line-height: 1.06; }
.about-cta__actions { display: flex; flex-wrap: wrap; gap: .65rem; justify-content: flex-end; }
.about-cta__link { display: inline-flex; gap: .68rem; align-items: center; justify-content: center; min-height: 3.2rem; padding-inline: 1.2rem; border: 1px solid rgb(255 255 255 / 19%); border-radius: 999px; font-size: .74rem; font-weight: 760; text-decoration: none; transition: transform 180ms ease, background-color 180ms ease, border-color 180ms ease; }
.about-cta__link svg { width: 1rem; height: 1rem; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.5; }
.about-cta__link--primary { border-color: #fff; background: #fff; color: #082641; }
.about-cta__link--secondary { background: rgb(255 255 255 / 4%); color: #e9f7ff; }
@media (hover:hover) {
  .about-cta__link:hover { transform: translateY(-2px); }
  .about-cta__link--primary:hover { border-color: #dff2fd; background: #dff2fd; }
  .about-cta__link--secondary:hover { border-color: rgb(255 255 255 / 34%); background: rgb(255 255 255 / 10%); }
}

@media (max-width:1024px) {
  .about-intro__grid { grid-template-columns: minmax(0,1fr) minmax(21rem,.78fr); gap: 2.8rem; }
  .about-purpose__shell { gap:2.5rem; padding:2.25rem; }
  .about-name { grid-template-columns: minmax(0,1fr) minmax(18rem,.9fr); }
  .about-name__source { grid-template-columns:minmax(0,1fr) auto minmax(0,.78fr); gap:1.25rem; }
  .about-cta__panel { grid-template-columns:1fr; }
  .about-cta__actions { justify-content:flex-start; }
}

@media (max-width:720px) {
  .about-page__eyebrow { gap:.48rem; font-size:.56rem; letter-spacing:.12em; }
  .about-page__eyebrow::before { width:1.05rem; }
  .about-intro { padding-block: 3.4rem 3rem; }
  .about-intro::before { background-size:3.6rem 3.6rem; opacity:.35; }
  .about-intro__grid { display:flex; flex-direction:column; gap:1.35rem; }
  .about-intro__content h1 { margin-top:.7rem; font-size:clamp(2.55rem,11.5vw,3.25rem); }
  .about-intro__lead { margin-top:1rem; font-size:.9rem; line-height:1.64; }
  .about-intro__copy { margin-top:.7rem; font-size:.8rem; line-height:1.66; }
  .about-orbit { width:100%; min-height:11.2rem; margin-top:.2rem; }
  .about-orbit__glow { width:64%; }
  .about-orbit__ring--outer { width:82%; }
  .about-orbit__ring--middle { width:61%; }
  .about-orbit__ring--inner { width:40%; }
  .about-orbit__core { width:5.6rem; }
  .about-orbit__node { display:none; }
  .about-purpose { padding-block:2.8rem 3rem; }
  .about-purpose__shell { grid-template-columns:1fr; gap:1.75rem; padding:1.45rem; border-radius:1.25rem; }
  .about-purpose__divider { width:100%; height:1px; background:linear-gradient(90deg,transparent,rgb(25 82 119 / 13%) 18%,rgb(25 82 119 / 13%) 82%,transparent); }
  .about-purpose__divider span { top:50%; left:50%; }
  .about-purpose__meta { padding-bottom:.72rem; }
  .about-purpose__item h2 { margin-top:.85rem; font-size:clamp(1.5rem,6.8vw,1.9rem); }
  .about-purpose__item > p:last-child { margin-top:.62rem; font-size:.8rem; line-height:1.6; }
  .about-story { padding-block:3rem 3.2rem; }
  .about-story__head h2 { margin-top:.65rem; font-size:clamp(2.45rem,12vw,3.4rem); }
  .about-story__head > p:last-child { margin-top:.7rem; font-size:.82rem; line-height:1.62; }
  .about-name { grid-template-columns:1fr; gap:1.25rem; margin-top:1.7rem; }
  .about-name__source { grid-template-columns:1fr; gap:1rem; padding:.4rem 0 0; }
  .about-name__operator { display:none; }
  .about-name__part { padding-top:.9rem; }
  .about-name__word { font-size:2.35rem; }
  .about-name__part p { margin-top:.6rem; font-size:.77rem; line-height:1.58; }
  .about-name__result { padding:1.55rem; border-radius:1.2rem; }
  .about-name__brand { font-size:clamp(3rem,15vw,4.4rem); }
  .about-name__result p { margin-top:.78rem; font-size:.77rem; line-height:1.6; }
  .about-cta { padding-bottom:3.8rem; }
  .about-cta__panel { gap:1.5rem; padding:1.7rem; border-radius:1.2rem; }
  .about-cta__panel h2 { max-width:19ch; font-size:clamp(1.8rem,8.8vw,2.35rem); }
  .about-cta__actions { width:100%; gap:.55rem; }
  .about-cta__link { min-height:3.05rem; padding-inline:1rem; font-size:.7rem; }
}

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