/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties;
@layer theme, base, components, utilities;
@layer theme {
  :root, :host {
    --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji",
      "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
      "Courier New", monospace;
    --spacing: 0.25rem;
    --default-transition-duration: 150ms;
    --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
  }
}
@layer base {
  *,
  ::after,
  ::before,
  ::backdrop,
  ::file-selector-button {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 0 solid;
  }
  html,
  :host {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }
  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }
  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    font-size: inherit;
    font-weight: inherit;
  }
  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }
  b,
  strong {
    font-weight: bolder;
  }
  code,
  kbd,
  samp,
  pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }
  small {
    font-size: 80%;
  }
  sub,
  sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }
  sub {
    bottom: -0.25em;
  }
  sup {
    top: -0.5em;
  }
  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }
  :-moz-focusring {
    outline: auto;
  }
  progress {
    vertical-align: baseline;
  }
  summary {
    display: list-item;
  }
  ol,
  ul,
  menu {
    list-style: none;
  }
  img,
  svg,
  video,
  canvas,
  audio,
  iframe,
  embed,
  object {
    display: block;
    vertical-align: middle;
  }
  img,
  video {
    max-width: 100%;
    height: auto;
  }
  button,
  input,
  select,
  optgroup,
  textarea,
  ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    border-radius: 0;
    background-color: transparent;
    opacity: 1;
  }
  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }
  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }
  ::file-selector-button {
    margin-inline-end: 4px;
  }
  ::placeholder {
    opacity: 1;
  }
  @supports (not (-webkit-appearance: -apple-pay-button))  or
    (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentcolor;
      @supports (color: color-mix(in lab, red, red)) {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }
  textarea {
    resize: vertical;
  }
  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }
  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }
  ::-webkit-datetime-edit {
    display: inline-flex;
  }
  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }
  ::-webkit-datetime-edit,
  ::-webkit-datetime-edit-year-field,
  ::-webkit-datetime-edit-month-field,
  ::-webkit-datetime-edit-day-field,
  ::-webkit-datetime-edit-hour-field,
  ::-webkit-datetime-edit-minute-field,
  ::-webkit-datetime-edit-second-field,
  ::-webkit-datetime-edit-millisecond-field,
  ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }
  ::-webkit-calendar-picker-indicator {
    line-height: 1;
  }
  :-moz-ui-invalid {
    box-shadow: none;
  }
  button,
  input:where([type="button"], [type="reset"], [type="submit"]),
  ::file-selector-button {
    appearance: button;
  }
  ::-webkit-inner-spin-button,
  ::-webkit-outer-spin-button {
    height: auto;
  }
  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }
}
@layer utilities {
  .visible {
    visibility: visible;
  }
  .absolute {
    position: absolute;
  }
  .fixed {
    position: fixed;
  }
  .relative {
    position: relative;
  }
  .static {
    position: static;
  }
  .start {
    inset-inline-start: var(--spacing);
  }
  .hidden {
    display: none;
  }
  .table {
    display: table;
  }
  .filter {
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
  }
  .transition {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
}
:root {
  --ink: #031722;
  --ink2: #082834;
  --blue: #1f80ad;
  --blue2: #56b0d5;
  --mist: #eef5f7;
  --mist2: #e3eff3;
  --line: #cfdee4;
  --white: #fff;
  --ease: cubic-bezier(.2,.75,.25,1);
}
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
}
body {
  margin: 0;
  background: #fff;
  color: var(--ink);
  font-family: Montserrat,"Avenir Next",Arial,sans-serif;
  overflow-x: hidden;
}
a {
  color: inherit;
  text-decoration: none;
}
button,input {
  font: inherit;
}
.srOnly {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}
.skipLink {
  position: fixed;
  left: 1rem;
  top: -5rem;
  background: #fff;
  color: var(--ink);
  padding: 1rem;
  z-index: 100;
}
.skipLink:focus {
  top: 1rem;
}
.nav {
  height: 88px;
  padding: 0 5vw;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: rgba(3,23,34,.92);
  color: #fff;
  position: sticky;
  top: 0;
  z-index: 30;
  border-bottom: 1px solid rgba(255,255,255,.12);
  backdrop-filter: blur(18px);
}
.brand {
  width: 220px;
  height: 66px;
  display: flex;
  align-items: center;
  overflow: hidden;
}
.brand img {
  width: 220px !important;
  height: auto !important;
  object-fit: contain;
  display: block;
}
.nav nav {
  display: flex;
  gap: 1.9rem;
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .04em;
}
.nav nav a {
  opacity: .68;
  position: relative;
  padding: .8rem 0;
  transition: .25s;
}
.nav nav a:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: .35rem;
  width: 0;
  height: 1px;
  background: var(--blue2);
  transition: .3s;
}
.nav nav a:hover {
  opacity: 1;
}
.nav nav a:hover:after {
  width: 100%;
}
.navCta {
  border: 1px solid rgba(255,255,255,.34);
  background: transparent;
  color: #fff;
  padding: .85rem 1.1rem;
  font-size: .72rem;
  font-weight: 700;
  display: flex;
  gap: 1rem;
  cursor: pointer;
  transition: .25s;
}
.navCta:hover {
  background: #fff;
  color: var(--ink);
}
.navTraining {
  color: #69c2e6;
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .04em;
  padding: .8rem .15rem;
  border-bottom: 1px solid rgba(105,194,230,.55);
  white-space: nowrap;
  transition: .25s;
}
.navTraining:hover,.navTraining:focus-visible {
  color: #fff;
  border-bottom-color: #fff;
}
.hero {
  min-height: calc(100vh - 88px);
  padding: 10vh 7vw 5vh;
  background: var(--ink);
  color: #fff;
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
  isolation: isolate;
}
.heroGrid {
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size: 70px 70px;
  mask-image: linear-gradient(90deg,transparent,#000);
  z-index: -2;
  animation: gridDrift 24s linear infinite;
}
.hero:before {
  content: "";
  position: absolute;
  width: 42vw;
  height: 42vw;
  right: 2vw;
  top: 10%;
  background: radial-gradient(circle,rgba(31,128,173,.25),transparent 64%);
  filter: blur(8px);
  z-index: -1;
  animation: breathe 7s ease-in-out infinite;
}
.heroOrbit {
  position: absolute;
  border: 1px solid rgba(86,176,213,.19);
  border-radius: 50%;
  right: -8vw;
  top: 50%;
  z-index: -1;
}
.orbitOne {
  width: 48vw;
  height: 48vw;
  animation: orbit 24s linear infinite;
}
.orbitTwo {
  width: 34vw;
  height: 34vw;
  right: -1vw;
  border-style: dashed;
  animation: orbit 18s linear infinite reverse;
}
.heroOrbit:after {
  content: "";
  position: absolute;
  width: 10px;
  height: 10px;
  background: var(--blue2);
  border-radius: 50%;
  top: 12%;
  left: 17%;
  box-shadow: 0 0 22px var(--blue2);
}
.eyebrow,.kicker {
  font-size: .66rem;
  letter-spacing: .19em;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: .8rem;
}
.eyebrow {
  color: #9fd3e9;
}
.eyebrow span {
  width: 30px;
  height: 1px;
  background: #49a5d0;
}
.hero h1 {
  font-size: clamp(3.1rem,5.8vw,6.3rem);
  line-height: .94;
  letter-spacing: -.055em;
  max-width: 1100px;
  margin: 2rem 0;
  font-weight: 700;
  position: relative;
  z-index: 2;
}
.hero h1 em {
  color: #68b6d7;
  font-style: normal;
  font-weight: 500;
  background: linear-gradient(90deg,#68b6d7,#b4e3f3,#68b6d7);
  background-size: 200% auto;
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  animation: shine 5s linear infinite;
}
.heroLead {
  max-width: 800px;
  font-size: clamp(1rem,1.28vw,1.2rem);
  line-height: 1.72;
  color: #b9c9cf;
  margin: 0 0 2.3rem;
  position: relative;
  z-index: 2;
}
.heroActions {
  display: flex;
  gap: 1rem;
  position: relative;
  z-index: 2;
}
.btn {
  border: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 1.2rem;
  min-height: 54px;
  padding: 0 1.5rem;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .03em;
  transition: .3s var(--ease);
  cursor: pointer;
}
.btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 35px rgba(0,0,0,.14);
}
.btn.primary {
  background: var(--blue);
  color: #fff;
}
.btn.secondary {
  border: 1px solid rgba(255,255,255,.3);
  color: #fff;
  background: transparent;
}
.btn.white {
  background: #fff;
  color: var(--ink);
  white-space: nowrap;
}
.heroProof {
  margin-top: auto;
  padding-top: 6vh;
  display: grid;
  grid-template-columns: repeat(3,1fr);
  max-width: 940px;
  position: relative;
  z-index: 2;
}
.heroProof div {
  border-left: 1px solid rgba(255,255,255,.18);
  padding-left: 1rem;
  display: flex;
  flex-direction: column;
  gap: .4rem;
}
.heroProof b {
  font-size: .77rem;
  letter-spacing: .05em;
}
.heroProof span {
  color: #8fa3ab;
  font-size: .73rem;
}
.motionBand {
  background: var(--blue);
  color: #fff;
  white-space: nowrap;
  overflow: hidden;
  padding: 1rem 0;
  font-size: .62rem;
  font-weight: 700;
  letter-spacing: .18em;
}
.motionBand div {
  display: inline-block;
  min-width: max-content;
  animation: marquee 26s linear infinite;
}
.motionBand i {
  font-style: normal;
  font-size: .42rem;
  margin: 0 1.6rem;
  color: #bce7f5;
}
.purpose {
  padding: 9rem 7vw;
  display: grid;
  grid-template-columns: .65fr 2fr .8fr;
  gap: 4rem;
  align-items: start;
}
.sectionIndex {
  font-size: .62rem;
  letter-spacing: .18em;
  color: #66808a;
  font-weight: 700;
  padding-top: .8rem;
}
.purposeStatement .kicker,.visionIntro .kicker,.outcomesLead .kicker,.partnerLead .kicker,.legacy .kicker {
  color: var(--blue);
  margin-bottom: 1.3rem;
}
.purpose h2,.visionIntro h2,.sectionHead h2,.contract h2,.partners h2,.outcomes h2,.legacy h2,.cta h2 {
  margin: 0;
  font-size: clamp(2.3rem,3.9vw,4.5rem);
  line-height: 1.06;
  letter-spacing: -.047em;
}
.purposeStatement p {
  font-size: 1.04rem;
  line-height: 1.82;
  color: #4f6872;
  max-width: 850px;
  margin: 2rem 0 0;
}
.purposeAside {
  margin-top: 4rem;
  padding: 1.5rem 0 0;
  border-top: 2px solid var(--blue);
}
.purposeAside span {
  font-size: .65rem;
  letter-spacing: .14em;
  font-weight: 700;
  color: var(--blue);
}
.purposeAside p {
  font-size: .85rem;
  line-height: 1.7;
  color: #586f78;
}
.visionSection {
  padding: 8rem 7vw;
  background: var(--mist);
  display: grid;
  grid-template-columns: 1fr 1.35fr;
  gap: 6rem;
}
.visionIntro h2 {
  max-width: 600px;
}
.visionStage {
  display: grid;
  grid-template-columns: 210px 1fr;
  background: #fff;
  min-height: 520px;
}
.visionNav {
  display: flex;
  flex-direction: column;
  border-right: 1px solid var(--line);
}
.visionNav button {
  flex: 1;
  border: 0;
  border-bottom: 1px solid var(--line);
  background: transparent;
  text-align: left;
  padding: 1.2rem;
  color: #6b8088;
  cursor: pointer;
  font-weight: 600;
  transition: .3s;
}
.visionNav button span {
  display: block;
  font-size: .58rem;
  color: #8aa0a8;
  margin-bottom: .45rem;
}
.visionNav button.active {
  background: var(--ink);
  color: #fff;
  padding-left: 1.7rem;
}
.visionContent {
  padding: 4rem;
  display: flex;
  flex-direction: column;
  animation: contentIn .5s var(--ease);
}
.visionContent>span {
  color: var(--blue);
  font-size: .65rem;
}
.visionContent h3 {
  font-size: 3rem;
  letter-spacing: -.045em;
  margin: auto 0 1rem;
}
.visionContent p {
  font-size: 1rem;
  line-height: 1.8;
  color: #56707a;
  max-width: 500px;
  margin: 0;
}
.visionProgress {
  height: 2px;
  background: var(--line);
  margin-top: auto;
}
.visionProgress i {
  display: block;
  height: 100%;
  background: var(--blue);
  transition: width .45s;
}
.transformation {
  padding: 8rem 7vw;
  background: var(--ink);
  color: #fff;
}
.sectionHead {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 5rem;
  align-items: end;
  margin-bottom: 4rem;
}
.sectionHead .kicker,.contractIntro .kicker {
  color: var(--blue);
  margin-bottom: 1.2rem;
}
.sectionHead.light .kicker {
  color: #6fc0df;
}
.sectionHead p {
  color: #5b727b;
  line-height: 1.72;
  margin: 0;
  max-width: 450px;
}
.sectionHead.light p {
  color: #9eb1b9;
}
.dualTrack {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  background: rgba(255,255,255,.13);
  border: 1px solid rgba(255,255,255,.13);
}
.dualTrack article {
  background: var(--ink2);
  padding: 3rem;
  min-height: 600px;
  display: flex;
  flex-direction: column;
  position: relative;
  overflow: hidden;
}
.trackLabel {
  font-size: .62rem;
  letter-spacing: .16em;
  color: #66badb;
  font-weight: 700;
}
.dualTrack h3 {
  font-size: clamp(1.8rem,2.6vw,3rem);
  line-height: 1.16;
  letter-spacing: -.035em;
  max-width: 650px;
  margin: 3rem 0;
}
.dualTrack p {
  color: #9fb1b9;
  line-height: 1.75;
  max-width: 590px;
  margin: 3rem 0 0;
}
.agentFlow {
  display: grid;
  grid-template-columns: repeat(5,1fr);
  gap: 1px;
  background: rgba(255,255,255,.15);
}
.agentFlow div {
  background: #0a2f3e;
  padding: 1.3rem .8rem;
  min-height: 185px;
  display: flex;
  flex-direction: column;
  gap: .8rem;
  transition: .3s;
}
.agentFlow div:hover {
  background: var(--blue);
  transform: translateY(-5px);
}
.agentFlow i {
  font-size: .55rem;
  color: #6eb6d2;
  font-style: normal;
}
.agentFlow b {
  font-size: .72rem;
}
.agentFlow small {
  font-size: .64rem;
  line-height: 1.55;
  color: #a9bec7;
}
.capabilityRings {
  width: 270px;
  height: 270px;
  margin: 0 auto;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.capabilityRings i {
  position: absolute;
  inset: 0;
  border: 1px solid rgba(86,176,213,.3);
  border-radius: 50%;
  animation: orbit 16s linear infinite;
}
.capabilityRings i:nth-child(2) {
  inset: 35px;
  border-style: dashed;
  animation-direction: reverse;
}
.capabilityRings i:nth-child(3) {
  inset: 70px;
  background: rgba(31,128,173,.18);
  animation: none;
}
.capabilityRings i:first-child:after {
  content: "";
  position: absolute;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--blue2);
  top: 12%;
  left: 17%;
  box-shadow: 0 0 18px var(--blue2);
}
.capabilityRings b {
  z-index: 2;
  font-size: .72rem;
  letter-spacing: .16em;
}
.transformationResult {
  display: grid;
  grid-template-columns: 1fr 2fr auto;
  gap: 2rem;
  align-items: center;
  background: linear-gradient(90deg,#18779f,#35a0ca);
  padding: 2rem 2.5rem;
}
.transformationResult span {
  font-size: .61rem;
  letter-spacing: .16em;
  font-weight: 700;
}
.transformationResult b {
  font-size: 1.05rem;
}
.transformationResult i {
  font-style: normal;
  font-size: 1.6rem;
}
.painSection,.catalog,.modules,.partners {
  padding: 8rem 7vw;
}
.painSection,.modules {
  background: var(--mist);
}
.painGrid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 1rem;
}
.painCard {
  text-align: left;
  padding: 2rem;
  min-height: 390px;
  background: #fff;
  border: 1px solid #cad9df;
  cursor: pointer;
  color: var(--ink);
  position: relative;
  transition: .35s var(--ease);
  overflow: hidden;
}
.painCard:before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 0;
  background: var(--ink);
  transition: .4s var(--ease);
  z-index: 0;
}
.painCard>* {
  position: relative;
  z-index: 1;
}
.painCard:hover,.painCard:focus-visible {
  color: #fff;
  box-shadow: 0 20px 55px rgba(3,23,34,.15);
  transform: translateY(-6px);
  z-index: 1;
  outline: none;
}
.painCard:hover:before,.painCard:focus-visible:before {
  height: 100%;
}
.painNum {
  font-size: .64rem;
  color: var(--blue);
  font-weight: 700;
}
.painCard h3 {
  margin: 3.4rem 0 1rem;
  font-size: 1.4rem;
  letter-spacing: -.03em;
}
.painCard p {
  color: #56707a;
  font-size: .85rem;
  line-height: 1.68;
  margin: 0;
  transition: .3s;
}
.painCard:hover p,.painCard:focus-visible p {
  color: #b8c8cf;
}
.tags {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  margin-top: 1.35rem;
  transition: .25s;
}
.tags i {
  font-style: normal;
  font-size: .58rem;
  padding: .35rem .52rem;
  background: #e8f3f7;
  color: #176f98;
}
.painCard:hover .tags i,.painCard:focus-visible .tags i {
  background: rgba(86,176,213,.15);
  color: #7ac6e3;
}
.painImpact {
  position: absolute;
  left: 2rem;
  right: 2rem;
  bottom: 3.3rem;
  font-size: .72rem;
  line-height: 1.5;
  opacity: 0;
  transform: translateY(10px);
  transition: .3s;
}
.painImpact small {
  display: block;
  color: #5fb4d5;
  font-size: .55rem;
  letter-spacing: .13em;
  margin-bottom: .35rem;
}
.painCard:hover .painImpact,.painCard:focus-visible .painImpact {
  opacity: 1;
  transform: none;
}
.drillLabel {
  position: absolute;
  left: 2rem;
  bottom: 1.35rem;
  font-size: .58rem;
  font-weight: 700;
  letter-spacing: .09em;
  text-transform: uppercase;
  color: var(--blue);
}
.sectionSpecialist {
  margin-top: 2.5rem;
  padding: 1.6rem 2rem;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  border-left: 3px solid var(--blue);
}
.sectionSpecialist p {
  margin: 0;
  color: #536a73;
  font-size: .85rem;
}
.journey {
  background: var(--ink);
  color: #fff;
  padding: 8rem 7vw;
}
.journeyFlow {
  display: grid;
  grid-template-columns: repeat(6,1fr);
  border-top: 1px solid rgba(255,255,255,.2);
}
.journeyFlow div {
  padding: 2rem 1rem 4rem;
  border-right: 1px solid rgba(255,255,255,.15);
  display: flex;
  flex-direction: column;
  gap: 3.5rem;
  position: relative;
  transition: .3s;
}
.journeyFlow div:hover {
  background: #0b3040;
  transform: translateY(-6px);
}
.journeyFlow span {
  color: #5eb1d6;
  font-size: .65rem;
}
.journeyFlow b {
  font-size: .83rem;
}
.journeyFlow i {
  position: absolute;
  bottom: -4px;
  left: 50%;
  width: 8px;
  height: 8px;
  background: var(--blue2);
  border-radius: 50%;
  box-shadow: 0 0 16px var(--blue2);
  animation: pulse 2s infinite;
}
.platformBand {
  background: linear-gradient(100deg,#176e98,#2e98c6);
  padding: 2rem 2.5rem;
  display: grid;
  grid-template-columns: .8fr 2fr 1fr;
  align-items: center;
  gap: 2rem;
}
.platformBand span {
  font-size: .6rem;
  letter-spacing: .18em;
  font-weight: 700;
}
.platformBand b {
  font-size: 1.03rem;
}
.platformBand small {
  text-align: right;
  opacity: .75;
}
.outcomes {
  padding: 9rem 7vw;
  background: #fff;
}
.outcomesLead {
  max-width: 950px;
  margin-bottom: 5rem;
}
.outcomePath {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  position: relative;
}
.outcomePath:before {
  content: "";
  position: absolute;
  top: 20px;
  left: 8%;
  right: 8%;
  height: 1px;
  background: var(--line);
}
.outcomePath>a {
  padding-right: 2rem;
  position: relative;
}
.outcomePath>a>span {
  width: 40px;
  height: 40px;
  background: #fff;
  border: 1px solid var(--blue);
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: var(--blue);
  font-size: .58rem;
  position: relative;
  z-index: 1;
  transition: .3s;
}
.outcomePath>a:hover>span {
  background: var(--blue);
  color: #fff;
  transform: scale(1.15);
}
.outcomePath h3 {
  font-size: 1.55rem;
  margin: 3rem 0 1rem;
}
.outcomePath p {
  color: #5e747d;
  font-size: .85rem;
  line-height: 1.7;
}
.outcomePath small {
  color: var(--blue);
  font-size: .57rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.filters {
  display: flex;
  gap: .4rem;
  margin-bottom: 2rem;
  flex-wrap: wrap;
}
.filters button {
  border: 1px solid var(--line);
  background: #fff;
  color: #5a6c74;
  padding: .7rem 1rem;
  font-size: .7rem;
  cursor: pointer;
  transition: .25s;
}
.filters button:hover,.filters button.active {
  background: var(--ink);
  color: #fff;
  border-color: var(--ink);
}
.serviceList {
  border-top: 1px solid var(--line);
}
.serviceRow {
  display: grid;
  grid-template-columns: 130px 1fr 210px;
  gap: 2rem;
  padding: 2rem 0;
  border-bottom: 1px solid var(--line);
  align-items: start;
  transition: .3s;
}
.serviceRow:hover {
  padding-left: 1rem;
  padding-right: 1rem;
  background: var(--mist);
}
.serviceCode {
  font-size: .6rem;
  color: var(--blue);
  letter-spacing: .12em;
  font-weight: 700;
  padding-top: .4rem;
}
.serviceRow h3 {
  margin: 0 0 .6rem;
  font-size: 1.3rem;
  letter-spacing: -.025em;
}
.serviceRow p {
  margin: 0 0 .75rem;
  color: #56707a;
  line-height: 1.6;
  font-size: .85rem;
}
.serviceRow small {
  color: #72878f;
}
.price {
  text-align: right;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: .5rem;
}
.price span {
  font-size: .65rem;
  color: #71858d;
}
.price b {
  font-size: 1.3rem;
  color: var(--blue);
}
.price .specialistCta {
  margin-top: .6rem;
  padding: .55rem .7rem;
  font-size: .55rem;
}
.legalNote {
  margin-top: 1.5rem;
  max-width: 900px;
  color: #70858d;
  font-size: .69rem;
  line-height: 1.6;
}
.moduleGrid {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 1px;
  background: #cad9df;
  border: 1px solid #cad9df;
}
.moduleCard {
  min-height: 230px;
  background: var(--mist);
  padding: 1.6rem;
  position: relative;
  transition: .35s var(--ease);
  overflow: hidden;
}
.moduleCard:hover {
  background: var(--ink);
  color: #fff;
  transform: translateY(-5px);
  z-index: 2;
}
.moduleCard span {
  color: var(--blue);
  font-size: .6rem;
}
.moduleCard h3 {
  font-size: .98rem;
  margin: 3.5rem 0 .6rem;
}
.moduleCard p {
  font-size: .73rem;
  color: #60777f;
  line-height: 1.55;
  margin: 0;
  transition: .3s;
}
.moduleCard:hover p {
  color: #9fb2b9;
}
.moduleCard small {
  position: absolute;
  left: 1.6rem;
  bottom: 1.2rem;
  color: var(--blue);
  font-size: .58rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.contract {
  padding: 8rem 7vw;
  background: #fff;
}
.contractIntro {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  column-gap: 5rem;
}
.contractIntro .kicker {
  grid-column: 1/-1;
}
.contractIntro p {
  color: #5b727b;
  font-size: .97rem;
  line-height: 1.8;
  margin: 0;
  align-self: end;
}
.contractSteps {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 1rem;
  margin: 5rem 0;
}
.contractSteps>a {
  background: var(--mist);
  padding: 2rem;
  min-height: 340px;
  display: flex;
  flex-direction: column;
  transition: .35s;
}
.contractSteps>a:hover {
  background: var(--ink);
  color: #fff;
  transform: translateY(-8px);
}
.contractSteps span {
  color: var(--blue);
  font-size: .62rem;
}
.contractSteps h3 {
  font-size: 1.75rem;
  margin: 4rem 0 1rem;
}
.contractSteps p {
  color: #586f78;
  line-height: 1.65;
  margin: 0;
  transition: .3s;
}
.contractSteps>a:hover p {
  color: #a9bbc2;
}
.contractSteps b {
  margin-top: auto;
  font-size: .72rem;
  color: var(--blue);
}
.contractSteps small {
  font-size: .57rem;
  color: var(--blue);
  font-weight: 700;
  text-transform: uppercase;
  margin-top: .8rem;
  letter-spacing: .05em;
}
.method {
  padding: 0;
  background: var(--ink);
  color: #fff;
  display: grid;
  grid-template-columns: repeat(6,1fr);
}
.method span {
  padding: 1.6rem 1rem;
  border-right: 1px solid rgba(255,255,255,.13);
  font-size: .62rem;
  font-weight: 700;
  text-transform: uppercase;
}
.method i {
  display: block;
  color: #49a7ce;
  font-size: .55rem;
  font-style: normal;
  margin-bottom: .6rem;
}
.partners {
  background: var(--mist2);
}
.partnerLead {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 4rem;
  align-items: start;
}
.partnerGrid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 1rem;
  margin-top: 5rem;
}
.partnerGrid>a {
  background: #fff;
  padding: 2rem;
  min-height: 320px;
  position: relative;
  transition: .35s;
}
.partnerGrid>a:hover {
  transform: translateY(-8px);
  box-shadow: 0 22px 50px rgba(3,23,34,.1);
}
.partnerGrid span {
  color: var(--blue);
  font-size: .6rem;
  letter-spacing: .16em;
  font-weight: 700;
}
.partnerGrid h3 {
  margin: 4rem 0 1rem;
  font-size: 1.3rem;
}
.partnerGrid p {
  color: #5a717a;
  line-height: 1.65;
  font-size: .83rem;
}
.partnerGrid small {
  position: absolute;
  left: 2rem;
  bottom: 1.6rem;
  color: var(--blue);
  font-size: .58rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.specialistCta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--blue);
  color: #fff;
  padding: .85rem 1rem;
  font-size: .65rem;
  font-weight: 700;
  letter-spacing: .04em;
  transition: .25s;
  white-space: nowrap;
}
.specialistCta:hover {
  background: var(--ink);
  transform: translateY(-2px);
}
.drillOverlay {
  position: fixed;
  inset: 0;
  background: rgba(2,18,27,.78);
  backdrop-filter: blur(10px);
  z-index: 70;
  display: grid;
  place-items: center;
  padding: 1.5rem;
  animation: contentIn .25s var(--ease);
}
.drillPanel {
  width: min(760px,100%);
  max-height: calc(100vh - 3rem);
  overflow-y: auto;
  background: #fff;
  padding: 4rem;
  position: relative;
}
.drillClose {
  position: absolute;
  right: 1.5rem;
  top: 1.2rem;
  border: 0;
  background: transparent;
  color: var(--ink);
  font-size: 2rem;
  cursor: pointer;
}
.drillNumber {
  font-size: .6rem;
  letter-spacing: .16em;
  font-weight: 700;
  color: var(--blue);
}
.drillPanel h2 {
  font-size: clamp(2.2rem,5vw,4rem);
  line-height: 1.05;
  letter-spacing: -.045em;
  margin: 1.5rem 0;
}
.drillLead {
  font-size: 1rem;
  line-height: 1.75;
  color: #526b74;
}
.drillDetail {
  border-top: 1px solid var(--line);
  padding-top: 1.2rem;
  margin-top: 1.5rem;
}
.drillDetail span {
  font-size: .58rem;
  letter-spacing: .14em;
  font-weight: 700;
  color: var(--blue);
}
.drillDetail p {
  color: #536b74;
  line-height: 1.7;
}
.drillTags {
  display: flex;
  gap: .5rem;
  flex-wrap: wrap;
  margin: 1.5rem 0;
}
.drillTags i {
  font-style: normal;
  background: var(--mist);
  color: var(--blue);
  padding: .45rem .65rem;
  font-size: .6rem;
}
.legacy {
  padding: 9rem 7vw;
  background: var(--ink);
  color: #fff;
  display: grid;
  grid-template-columns: .8fr 2fr;
  gap: 6rem;
  align-items: center;
}
.legacySymbol {
  width: 300px;
  height: 300px;
  position: relative;
  display: grid;
  place-items: center;
}
.legacyHealthMark {
  display: block;
  width: 150px;
  height: 150px;
  position: relative;
  z-index: 2;
  overflow: visible;
  animation: float 4s ease-in-out infinite;
  filter: drop-shadow(0 12px 28px rgba(31,128,173,.22));
}
.legacyHealthMarkHalo {
  fill: rgba(86,176,213,.09);
  stroke: rgba(111,192,223,.42);
  stroke-width: 2;
}
.legacyHealthMarkCore {
  fill: #f6fbfd;
  stroke: rgba(111,192,223,.34);
  stroke-width: 2;
}
.legacyHealthMarkHeart {
  fill: #1f80ad;
}
.legacyHealthMarkPulse {
  fill: none;
  stroke: #fff;
  stroke-width: 6;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.legacySymbol i {
  position: absolute;
  inset: 0;
  border: 1px solid rgba(86,176,213,.25);
  border-radius: 50%;
  animation: orbit 22s linear infinite;
}
.legacySymbol i:nth-of-type(2) {
  inset: 45px;
  border-style: dashed;
  animation-direction: reverse;
}
.legacy h2 {
  max-width: 900px;
}
.legacy p {
  color: #9fb1b9;
  line-height: 1.8;
  max-width: 800px;
  font-size: 1rem;
}
.cta {
  padding: 6rem 7vw;
  background: linear-gradient(110deg,#1d7fab,#3b9ac3);
  color: #fff;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 4rem;
  align-items: center;
}
.cta span {
  font-size: .62rem;
  letter-spacing: .18em;
  font-weight: 700;
}
.cta h2 {
  margin: 1rem 0;
  max-width: 900px;
}
.cta p {
  max-width: 760px;
  color: #d8edf5;
  line-height: 1.7;
}
footer {
  background: #02131c;
  color: #fff;
  padding: 5rem 7vw 2rem;
}
footer img {
  width: 240px;
}
footer p {
  color: #8ea3ab;
  margin: 2rem 0 5rem;
  max-width: 610px;
  line-height: 1.7;
}
footer>div {
  border-top: 1px solid rgba(255,255,255,.14);
  padding-top: 1.5rem;
  display: flex;
  justify-content: space-between;
  color: #78909a;
  font-size: .65rem;
}
.chatLauncher {
  position: fixed;
  right: 1.5rem;
  bottom: 1.5rem;
  z-index: 50;
  border: 0;
  background: #fff;
  color: var(--ink);
  box-shadow: 0 15px 45px rgba(0,0,0,.2);
  height: 62px;
  padding: 0 1.25rem 0 .55rem;
  border-radius: 34px;
  display: flex;
  align-items: center;
  gap: .7rem;
  cursor: pointer;
  transition: .3s;
}
.chatLauncher:hover {
  transform: translateY(-4px);
}
.chatLauncher img {
  width: 48px;
  height: 48px;
  border-radius: 50%;
}
.chatLauncher b {
  font-size: .73rem;
}
.pulseDot {
  position: absolute;
  left: 46px;
  top: 7px;
  width: 9px;
  height: 9px;
  background: #5fd39a;
  border: 2px solid #fff;
  border-radius: 50%;
  z-index: 2;
}
.pulseDot:after {
  content: "";
  position: absolute;
  inset: -4px;
  border: 1px solid #5fd39a;
  border-radius: 50%;
  animation: pulse 2s infinite;
}
.chatLauncher.isOpen {
  opacity: 0;
  pointer-events: none;
  transform: translateY(20px);
}
.chatPanel {
  position: fixed;
  right: 1.5rem;
  bottom: 1.5rem;
  width: min(420px,calc(100vw - 2rem));
  height: min(680px,calc(100vh - 3rem));
  background: #fff;
  z-index: 51;
  box-shadow: 0 25px 80px rgba(0,0,0,.28);
  display: flex;
  flex-direction: column;
  opacity: 0;
  pointer-events: none;
  transform: translateY(30px) scale(.96);
  transform-origin: bottom right;
  transition: .35s var(--ease);
}
.chatPanel.open {
  opacity: 1;
  pointer-events: auto;
  transform: none;
}
.chatHead {
  background: var(--ink);
  color: #fff;
  padding: 1rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.chatHead>div {
  display: flex;
  align-items: center;
  gap: .8rem;
}
.chatHead img {
  width: 44px;
  height: 44px;
  border-radius: 50%;
}
.chatHead span {
  display: flex;
  flex-direction: column;
  gap: .25rem;
}
.chatHead b {
  font-size: .85rem;
}
.chatHead small {
  font-size: .58rem;
  color: #9fb5bd;
}
.chatHead small i {
  display: inline-block;
  width: 6px;
  height: 6px;
  background: #59cf93;
  border-radius: 50%;
  margin-right: .35rem;
}
.chatHead button {
  border: 0;
  background: transparent;
  color: #fff;
  font-size: 1.5rem;
  cursor: pointer;
}
.chatBody {
  flex: 1;
  overflow-y: auto;
  padding: 1rem;
  background: #f2f7f8;
  display: flex;
  flex-direction: column;
  gap: .75rem;
}
.message {
  max-width: 84%;
  padding: .8rem 1rem;
  font-size: .76rem;
  line-height: 1.55;
}
.message.assistant {
  background: #fff;
  color: #304b55;
  align-self: flex-start;
  border-radius: 2px 14px 14px 14px;
}
.message.user {
  background: var(--blue);
  color: #fff;
  align-self: flex-end;
  border-radius: 14px 2px 14px 14px;
}
.typing {
  display: flex;
  gap: .3rem;
}
.typing i {
  width: 6px;
  height: 6px;
  background: #7f99a3;
  border-radius: 50%;
  animation: typing 1.1s infinite;
}
.typing i:nth-child(2) {
  animation-delay: .15s;
}
.typing i:nth-child(3) {
  animation-delay: .3s;
}
.quickPrompts {
  display: flex;
  gap: .35rem;
  overflow-x: auto;
  padding: .7rem 1rem;
  background: #fff;
  border-top: 1px solid var(--line);
}
.quickPrompts button {
  white-space: nowrap;
  border: 1px solid var(--line);
  background: #fff;
  color: #45606a;
  font-size: .6rem;
  padding: .45rem .6rem;
  cursor: pointer;
}
.quickPrompts button:hover {
  border-color: var(--blue);
  color: var(--blue);
}
.chatForm {
  display: grid;
  grid-template-columns: 1fr 44px;
  gap: .5rem;
  padding: .8rem 1rem;
  border-top: 1px solid var(--line);
}
.chatForm input {
  border: 0;
  background: #eef4f6;
  padding: .8rem;
  font-size: .72rem;
  outline: none;
}
.chatForm input:focus {
  box-shadow: inset 0 0 0 1px var(--blue);
}
.chatForm button {
  border: 0;
  background: var(--blue);
  color: #fff;
  cursor: pointer;
  font-size: 1rem;
}
.chatNote {
  font-size: .53rem;
  color: #80949b;
  margin: 0;
  padding: 0 1rem .75rem;
}
.js [data-reveal] {
  opacity: 0;
  transform: translateY(38px);
  transition: opacity .8s var(--ease),transform .8s var(--ease);
}
.js [data-reveal].revealed {
  opacity: 1;
  transform: none;
}
@keyframes orbit {
  to {
    transform: rotate(360deg);
  }
}
@keyframes breathe {
  0%,100% {
    opacity: .55;
    transform: scale(.94);
  }
  50% {
    opacity: 1;
    transform: scale(1.06);
  }
}
@keyframes pulse {
  0% {
    transform: scale(.7);
    opacity: 1;
  }
  100% {
    transform: scale(2);
    opacity: 0;
  }
}
@keyframes shine {
  to {
    background-position: 200% center;
  }
}
@keyframes marquee {
  to {
    transform: translateX(-50%);
  }
}
@keyframes contentIn {
  from {
    opacity: 0;
    transform: translateY(15px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@keyframes gridDrift {
  to {
    background-position: 70px 70px;
  }
}
@keyframes float {
  0%,100% {
    transform: translateY(-8px);
  }
  50% {
    transform: translateY(8px);
  }
}
@keyframes typing {
  0%,60%,100% {
    transform: translateY(0);
  }
  30% {
    transform: translateY(-4px);
  }
}
@media (max-width:1050px) {
  .nav nav {
    display: none;
  }
  .purpose {
    grid-template-columns: .5fr 2fr;
  }
  .purposeAside {
    grid-column: 2;
  }
  .visionSection {
    grid-template-columns: 1fr;
  }
  .dualTrack {
    grid-template-columns: 1fr;
  }
  .painGrid {
    grid-template-columns: repeat(2,1fr);
  }
  .moduleGrid {
    grid-template-columns: repeat(2,1fr);
  }
  .outcomePath {
    grid-template-columns: repeat(2,1fr);
    gap: 3rem;
  }
  .outcomePath:before {
    display: none;
  }
  .method {
    grid-template-columns: repeat(3,1fr);
  }
}
@media (max-width:760px) {
  .nav {
    height: 72px;
    padding: 0 1.2rem;
    gap: .8rem;
  }
  .brand {
    width: 150px;
    height: 58px;
  }
  .brand img {
    width: 150px !important;
  }
  .navTraining {
    margin-left: auto;
    font-size: .62rem;
  }
  .navCta {
    font-size: 0;
    border-radius: 50%;
    width: 42px;
    height: 42px;
    padding: 0;
    display: grid;
    place-items: center;
    flex: 0 0 42px;
  }
  .navCta span {
    font-size: 1rem;
  }
  .hero {
    min-height: 800px;
    padding: 5rem 1.25rem 2rem;
  }
  .hero h1 {
    font-size: 3.1rem;
  }
  .heroActions {
    flex-direction: column;
    align-items: stretch;
  }
  .heroProof {
    grid-template-columns: 1fr;
    gap: 1.2rem;
  }
  .heroOrbit {
    display: none;
  }
  .purpose,.visionSection,.transformation,.painSection,.journey,.outcomes,.catalog,.modules,.contract,.partners,.legacy {
    padding: 5rem 1.25rem;
  }
  .purpose {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  .purposeAside {
    grid-column: auto;
    margin-top: 1rem;
  }
  .visionStage {
    grid-template-columns: 1fr;
    min-height: 570px;
  }
  .visionNav {
    flex-direction: row;
    border-right: 0;
    border-bottom: 1px solid var(--line);
    overflow-x: auto;
  }
  .visionNav button {
    min-width: 120px;
  }
  .visionContent {
    padding: 2rem;
    min-height: 390px;
  }
  .sectionHead,.contractIntro,.partnerLead {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  .dualTrack article {
    padding: 2rem;
    min-height: 630px;
  }
  .dualTrack p {
    left: 2rem;
    right: 2rem;
    bottom: 2rem;
  }
  .agentFlow {
    grid-template-columns: repeat(2,1fr);
  }
  .agentFlow div:last-child {
    grid-column: 1/-1;
  }
  .transformationResult {
    grid-template-columns: 1fr;
  }
  .painGrid {
    grid-template-columns: 1fr;
  }
  .painCard {
    min-height: 410px;
  }
  .sectionSpecialist {
    align-items: flex-start;
    flex-direction: column;
  }
  .journeyFlow {
    grid-template-columns: repeat(2,1fr);
  }
  .platformBand {
    grid-template-columns: 1fr;
  }
  .platformBand small {
    text-align: left;
  }
  .outcomePath {
    grid-template-columns: 1fr;
  }
  .serviceRow {
    grid-template-columns: 1fr;
    gap: .8rem;
  }
  .price {
    text-align: left;
    align-items: flex-start;
  }
  .moduleGrid {
    grid-template-columns: 1fr;
  }
  .contractSteps,.partnerGrid {
    grid-template-columns: 1fr;
  }
  .method {
    grid-template-columns: repeat(2,1fr);
  }
  .legacy {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  .legacySymbol {
    width: 230px;
    height: 230px;
  }
  .cta {
    padding: 4rem 1.25rem;
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  footer {
    padding: 4rem 1.25rem 2rem;
  }
  footer>div {
    flex-direction: column;
    gap: .8rem;
  }
  .chatPanel {
    right: 1rem;
    bottom: 1rem;
    height: calc(100vh - 2rem);
  }
  .chatLauncher {
    right: 1rem;
    bottom: 1rem;
  }
  .drillPanel {
    padding: 3.5rem 1.5rem 2rem;
  }
}
@media (prefers-reduced-motion:reduce) {
  html {
    scroll-behavior: auto;
  }
  *,*:before,*:after {
    animation: none !important;
    transition: none !important;
  }
  .js [data-reveal] {
    opacity: 1;
    transform: none;
  }
}
button {
  font: inherit;
}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex="-1"]:focus-visible {
  outline: 3px solid #59b9df;
  outline-offset: 3px;
}
.specialistCta {
  border: 0;
  cursor: pointer;
}
.profiles {
  padding: 8rem 7vw;
  background: #fff;
}
.profileExperience {
  display: grid;
  grid-template-columns: 280px 1fr;
  border: 1px solid var(--line);
  min-height: 480px;
}
.profileTabs {
  display: flex;
  flex-direction: column;
  background: var(--mist);
  border-right: 1px solid var(--line);
}
.profileTabs button {
  flex: 1;
  border: 0;
  border-bottom: 1px solid var(--line);
  padding: 1.5rem;
  text-align: left;
  background: transparent;
  color: #526a73;
  cursor: pointer;
  transition: .25s;
}
.profileTabs button.active,.profileTabs button:hover {
  background: var(--ink);
  color: #fff;
  padding-left: 2rem;
}
.profilePanel {
  padding: 4rem;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
  animation: contentIn .35s var(--ease);
}
.profilePanel>span,.profilePanel>h3,.profilePanel>.profileActions {
  grid-column: 1/-1;
}
.profilePanel>span {
  font-size: .62rem;
  letter-spacing: .14em;
  color: var(--blue);
  font-weight: 700;
}
.profilePanel h3 {
  font-size: clamp(2rem,4vw,3.8rem);
  line-height: 1.05;
  letter-spacing: -.04em;
  margin: 0;
  max-width: 900px;
}
.profilePanel>div {
  border-top: 1px solid var(--line);
  padding-top: 1.2rem;
}
.profilePanel small {
  font-size: .58rem;
  letter-spacing: .1em;
  color: var(--blue);
  font-weight: 700;
}
.profilePanel p {
  color: #586f78;
  line-height: 1.7;
}
.profileActions {
  display: flex;
  gap: .75rem;
  flex-wrap: wrap;
}
.profileActions .profileExplore {
  border: 1px solid var(--blue);
  background: #fff;
  color: var(--blue);
  padding: .85rem 1rem;
  font-size: .65rem;
  font-weight: 700;
  cursor: pointer;
}
.outcomePath>button {
  border: 0;
  background: transparent;
  text-align: left;
  color: inherit;
  padding-right: 2rem;
  position: relative;
  cursor: pointer;
}
.outcomePath>button>span {
  width: 40px;
  height: 40px;
  background: #fff;
  border: 1px solid var(--blue);
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: var(--blue);
  font-size: .58rem;
  position: relative;
  z-index: 1;
  transition: .3s;
}
.outcomePath>button:hover>span {
  background: var(--blue);
  color: #fff;
  transform: scale(1.15);
}
.outcomePath>button h3 {
  font-size: 1.55rem;
  margin: 3rem 0 1rem;
}
.outcomePath>button p {
  color: #5e747d;
  font-size: .85rem;
  line-height: 1.7;
}
.outcomePath>button small {
  color: var(--blue);
  font-size: .57rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.demonstrator {
  padding: 8rem 7vw;
  background: var(--ink);
  color: #fff;
}
.scenarioTabs {
  display: flex;
  gap: .5rem;
  margin-bottom: 2rem;
}
.scenarioTabs button {
  border: 1px solid rgba(255,255,255,.2);
  background: transparent;
  color: #9db2ba;
  padding: .8rem 1.2rem;
  cursor: pointer;
}
.scenarioTabs button.active,.scenarioTabs button:hover {
  background: var(--blue);
  border-color: var(--blue);
  color: #fff;
}
.scenarioStage {
  display: grid;
  grid-template-columns: 1fr 220px 1fr;
  align-items: stretch;
  margin-bottom: 2rem;
  animation: contentIn .35s var(--ease);
}
.scenarioStage article {
  padding: 3rem;
  background: #0a2a38;
  min-height: 330px;
}
.scenarioStage article:last-child {
  background: #fff;
  color: var(--ink);
}
.scenarioStage article>span {
  font-size: .6rem;
  letter-spacing: .13em;
  color: #56b0d5;
  font-weight: 700;
}
.scenarioStage h3 {
  font-size: 1.6rem;
  margin: 4rem 0 1rem;
}
.scenarioStage p {
  color: #a9bbc2;
  line-height: 1.75;
}
.scenarioStage article:last-child p {
  color: #536c75;
}
.scenarioStage article>small {
  display: block;
  margin-top: 2rem;
  color: var(--blue);
  font-weight: 700;
}
.scenarioPulse {
  display: grid;
  place-items: center;
  align-content: center;
  position: relative;
  background: linear-gradient(150deg,#146e96,#2c98c5);
  overflow: hidden;
}
.scenarioPulse i {
  position: absolute;
  width: 150px;
  height: 150px;
  border: 1px solid rgba(255,255,255,.4);
  border-radius: 50%;
  animation: breathe 3s infinite;
}
.scenarioPulse b {
  font-size: 1rem;
  z-index: 1;
}
.scenarioPulse small {
  font-size: .55rem;
  margin-top: .5rem;
  z-index: 1;
}
.assessmentCta {
  border: 1px solid rgba(255,255,255,.35);
  background: #fff;
  color: var(--ink);
  padding: 1rem 1.3rem;
  font-size: .72rem;
  font-weight: 700;
  cursor: pointer;
}
.assessmentCta:hover {
  background: var(--blue);
  border-color: var(--blue);
  color: #fff;
}
.assessmentResult {
  margin-top: 2rem;
  padding: 2rem;
  background: var(--mist);
}
.assessmentResult>span {
  font-size: .62rem;
  letter-spacing: .13em;
  color: var(--blue);
  font-weight: 700;
}
.assessmentResult>p {
  line-height: 1.7;
  color: #4f6872;
}
.conversationChoices {
  display: flex;
  gap: .75rem;
  flex-wrap: wrap;
  margin-top: 1.5rem;
}
.secondaryOnLight {
  border: 1px solid var(--blue);
  background: #fff;
  color: var(--blue);
}
.calculator {
  padding: 8rem 7vw;
  background: #eaf2f4;
}
.calculatorIntro {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 3rem;
  margin-bottom: 4rem;
}
.calculatorIntro .kicker {
  grid-column: 1/-1;
}
.calculatorIntro h2 {
  margin: 0;
}
.calculatorIntro p {
  color: #566f78;
  line-height: 1.7;
  align-self: end;
}
.calculatorGrid {
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 1rem;
}
.calculatorControls {
  background: #fff;
  padding: 2.5rem;
  display: grid;
  gap: 2rem;
}
.calculatorControls label {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: .7rem;
  color: #405c66;
  font-size: .78rem;
}
.calculatorControls label b {
  color: var(--blue);
}
.calculatorControls input,.calculatorControls select {
  grid-column: 1/-1;
}
.calculatorControls input[type=range] {
  accent-color: var(--blue);
}
.calculatorControls select {
  border: 1px solid var(--line);
  background: #fff;
  padding: .8rem;
  color: #334f59;
}
.estimate {
  background: var(--ink);
  color: #fff;
  padding: 2.5rem;
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}
.estimate>span {
  font-size: .6rem;
  letter-spacing: .14em;
  color: #5fb5d7;
  font-weight: 700;
}
.estimate>div {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid rgba(255,255,255,.13);
}
.estimate small {
  color: #9eb1b8;
}
.estimate b {
  font-size: 1rem;
}
.estimateTotal strong {
  font-size: 1.4rem;
  color: #6cc3e4;
}
.estimate .specialistCta {
  margin-top: auto;
}
.moduleCard {
  border: 0;
  text-align: left;
  color: inherit;
  cursor: pointer;
}
.contractSteps>button {
  border: 0;
  text-align: left;
  color: inherit;
  background: var(--mist);
  padding: 2rem;
  min-height: 340px;
  display: flex;
  flex-direction: column;
  transition: .35s;
  cursor: pointer;
}
.contractSteps>button:hover {
  background: var(--ink);
  color: #fff;
  transform: translateY(-8px);
}
.contractSteps>button span {
  color: var(--blue);
  font-size: .62rem;
}
.contractSteps>button h3 {
  font-size: 1.75rem;
  margin: 4rem 0 1rem;
}
.contractSteps>button p {
  color: #586f78;
  line-height: 1.65;
  margin: 0;
  transition: .3s;
}
.contractSteps>button:hover p {
  color: #a9bbc2;
}
.contractSteps>button b {
  margin-top: auto;
  font-size: .72rem;
  color: var(--blue);
}
.contractSteps>button small {
  font-size: .57rem;
  color: var(--blue);
  font-weight: 700;
  text-transform: uppercase;
  margin-top: .8rem;
  letter-spacing: .05em;
}
.vendorGrid {
  grid-template-columns: repeat(4,1fr);
}
.vendorGrid article {
  background: #fff;
  padding: 2rem;
  min-height: 360px;
  display: flex;
  flex-direction: column;
  transition: .35s;
}
.vendorGrid article:hover {
  transform: translateY(-8px);
  box-shadow: 0 22px 50px rgba(3,23,34,.1);
}
.vendorGrid article>span {
  color: var(--blue);
  font-size: .55rem;
  letter-spacing: .12em;
  font-weight: 700;
}
.vendorGrid article h3 {
  font-size: 1.5rem;
  margin: 3.5rem 0 1rem;
}
.vendorGrid article p {
  color: #5a717a;
  line-height: 1.65;
  font-size: .82rem;
}
.vendorActions {
  margin-top: auto;
  display: flex;
  flex-direction: column;
  gap: .6rem;
}
.vendorActions>a {
  font-size: .62rem;
  color: var(--blue);
  font-weight: 700;
}
.vendorActions .specialistCta {
  font-size: .57rem;
  padding: .65rem;
}
.messageSources {
  display: block;
  border-top: 1px solid #e1eaed;
  margin-top: .65rem;
  padding-top: .5rem;
  color: #71868e;
  font-size: .54rem;
}
.chatSpecialist {
  border: 0;
  background: var(--ink);
  color: #fff;
  padding: .75rem 1rem;
  margin: 0 1rem 1rem;
  cursor: pointer;
  font-size: .65rem;
  font-weight: 700;
}
.leadPanel {
  width: min(860px,100%);
  max-height: calc(100vh - 3rem);
  overflow: auto;
  background: #fff;
  padding: 4rem;
  position: relative;
}
.leadPanel h2 {
  font-size: clamp(2.2rem,5vw,4rem);
  line-height: 1.05;
  letter-spacing: -.045em;
  margin: 1.5rem 0;
}
.leadPanel>p {
  color: #526b74;
  line-height: 1.7;
}
.leadForm {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  margin-top: 2rem;
}
.leadForm label {
  display: flex;
  flex-direction: column;
  gap: .45rem;
  color: #455f68;
  font-size: .68rem;
  font-weight: 700;
}
.leadForm input,.leadForm select,.leadForm textarea {
  border: 1px solid var(--line);
  background: #f5f8f9;
  padding: .8rem;
  font: inherit;
  color: var(--ink);
}
.leadForm textarea {
  min-height: 120px;
  resize: vertical;
}
.leadForm .wide {
  grid-column: 1/-1;
}
.leadForm small {
  color: #71858d;
  font-weight: 400;
}
.leadSuccess {
  background: var(--mist);
  padding: 2rem;
  color: #37535d;
  display: grid;
  gap: 1.5rem;
}
@media (max-width:1050px) {
  .vendorGrid {
    grid-template-columns: repeat(2,1fr);
  }
  .scenarioStage {
    grid-template-columns: 1fr 150px 1fr;
  }
}
@media (max-width:760px) {
  .profiles,.demonstrator,.calculator {
    padding: 5rem 1.25rem;
  }
  .profileExperience {
    grid-template-columns: 1fr;
  }
  .profileTabs {
    border-right: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .profilePanel {
    padding: 2rem;
    grid-template-columns: 1fr;
  }
  .profilePanel>span,.profilePanel>h3,.profilePanel>.specialistCta {
    grid-column: auto;
  }
  .scenarioTabs {
    overflow: auto;
  }
  .scenarioStage {
    grid-template-columns: 1fr;
  }
  .scenarioPulse {
    min-height: 150px;
  }
  .calculatorIntro,.calculatorGrid {
    grid-template-columns: 1fr;
  }
  .calculatorIntro .kicker {
    grid-column: auto;
  }
  .vendorGrid {
    grid-template-columns: 1fr;
  }
  .leadPanel {
    padding: 3.5rem 1.25rem 2rem;
  }
  .leadForm {
    grid-template-columns: 1fr;
  }
  .leadForm .wide {
    grid-column: auto;
  }
}
.adminShell {
  min-height: 100vh;
  background: #eef4f5;
  color: var(--ink);
  padding: 4rem 6vw 7rem;
}
.adminHead {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  border-bottom: 1px solid #cddadd;
  padding-bottom: 2rem;
}
.adminHead span,.adminTitle span,.learningCycle>span,.adminDenied>span {
  font-size: .62rem;
  letter-spacing: .14em;
  color: var(--blue);
  font-weight: 800;
}
.adminHead h1 {
  font-size: clamp(2.4rem,6vw,5rem);
  margin: .6rem 0 0;
  letter-spacing: -.055em;
}
.adminHead nav {
  display: flex;
  gap: 1rem;
}
.adminHead a,.adminDenied a {
  color: var(--blue);
  font-size: .68rem;
  font-weight: 800;
}
.adminMetrics {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 1rem;
  margin: 3rem 0;
}
.adminMetrics article {
  background: #fff;
  padding: 2rem;
  min-height: 210px;
  display: flex;
  flex-direction: column;
}
.adminMetrics span {
  font-size: .58rem;
  color: var(--blue);
  font-weight: 800;
  letter-spacing: .12em;
}
.adminMetrics strong {
  font-size: 4rem;
  margin: 1.5rem 0;
}
.adminMetrics p {
  color: #5c747c;
  font-size: .75rem;
  line-height: 1.6;
  margin: auto 0 0;
}
.adminGrid {
  display: grid;
  grid-template-columns: 1.25fr .75fr;
  gap: 1rem;
}
.adminPanel {
  background: #fff;
  padding: 2.5rem;
}
.adminTitle h2 {
  font-size: 2rem;
  margin: .7rem 0 2rem;
}
.leadList,.signalList {
  display: grid;
  gap: .75rem;
}
.leadList article {
  border: 1px solid #dce6e8;
  padding: 1.2rem;
}
.leadList article>div {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
}
.leadList strong {
  font-size: .9rem;
}
.leadList a,.leadList small,.signalList small {
  font-size: .61rem;
  color: var(--blue);
}
.leadList span {
  display: block;
  color: #657b83;
  font-size: .64rem;
  margin: .45rem 0;
}
.leadList p {
  font-size: .75rem;
  line-height: 1.6;
  margin: .7rem 0;
}
.signalList article {
  display: grid;
  grid-template-columns: 36px 1fr auto;
  align-items: center;
  border-bottom: 1px solid #dce6e8;
  padding: 1rem 0;
}
.signalList i {
  font-style: normal;
  color: var(--blue);
  font-size: .6rem;
}
.signalList div {
  display: grid;
  gap: .3rem;
}
.signalList strong {
  font-size: .72rem;
}
.signalList b {
  color: var(--blue);
}
.learningCycle {
  background: var(--ink);
  color: #fff;
  padding: 3rem;
  margin-top: 1rem;
}
.learningCycle h2 {
  font-size: 2rem;
  margin: .7rem 0 2rem;
}
.learningCycle>div {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 1rem;
}
.learningCycle article {
  border-top: 1px solid rgba(255,255,255,.2);
  padding-top: 1rem;
}
.learningCycle i {
  font-style: normal;
  color: #5fb5d7;
  font-size: .6rem;
}
.learningCycle p {
  font-size: .72rem;
  line-height: 1.6;
  color: #b5c4c9;
}
.adminDenied {
  max-width: 700px;
  margin: 10vh auto;
  background: #fff;
  padding: 4rem;
}
.adminDenied h1 {
  font-size: 4rem;
  margin: 1rem 0;
}
.adminDenied p {
  color: #61777f;
  line-height: 1.7;
  margin-bottom: 2rem;
}
.adminAlert,.adminLoading {
  padding: 2rem;
  background: #fff;
  margin-top: 2rem;
}
@media (max-width:800px) {
  .adminShell {
    padding: 2rem 1.25rem 5rem;
  }
  .adminHead {
    display: grid;
    gap: 1.5rem;
  }
  .adminMetrics,.adminGrid,.learningCycle>div {
    grid-template-columns: 1fr;
  }
  .adminMetrics article {
    min-height: 170px;
  }
  .adminPanel {
    padding: 1.5rem;
  }
  .leadList article>div {
    display: grid;
  }
  .adminDenied {
    padding: 2.5rem;
  }
  .adminDenied h1 {
    font-size: 2.7rem;
  }
}
.trainingPasswordField {
  display: grid;
  grid-template-columns: 1fr auto;
}
.trainingPasswordField button {
  border: 1px solid #cad9df;
  border-left: 0;
  background: #edf4f5;
  color: var(--blue);
  padding: 0 .8rem;
  font-size: .62rem;
  font-weight: 800;
}
.trainingLoginCard form>button:disabled {
  opacity: .62;
  cursor: wait;
}
.trainingAdminTableHead,.trainingAdminTable>button {
  display: grid;
  grid-template-columns: 1.4fr 1fr .6fr .8fr;
  gap: 1rem;
  align-items: center;
}
.trainingAdminTableHead {
  padding: .8rem 1rem;
  color: #587079;
  font-size: .58rem;
  letter-spacing: .08em;
}
.trainingAdminTable>button {
  width: 100%;
  border: 1px solid #dce6e8;
  border-bottom: 0;
  background: #fff;
  color: inherit;
  padding: 1rem;
  text-align: left;
  cursor: pointer;
}
.trainingAdminTable>button:last-of-type {
  border-bottom: 1px solid #dce6e8;
}
.trainingAdminTable>button[data-selected=true] {
  border-left: 4px solid var(--blue);
  background: #eef6f8;
}
.curatorEmpty {
  padding: 2rem;
  background: #f1f6f7;
  border: 1px solid #d7e3e6;
}
.curatorEmpty p {
  color: #607780;
}
.curatorEmpty button {
  border: 0;
  background: transparent;
  color: var(--blue);
  font-weight: 800;
  margin-right: 1rem;
  cursor: pointer;
}
@media (max-width:760px) {
  .trainingAdminTableHead {
    display: none;
  }
  .trainingAdminTable>button {
    grid-template-columns: 1fr;
    padding: 1.2rem;
  }
  .trainingAdminTable>button span:before {
    content: attr(data-label) ": ";
    font-weight: 800;
    color: #607780;
  }
  .trainingHeader {
    height: auto;
    min-height: 84px;
    align-items: flex-start;
    flex-wrap: wrap;
    padding: 1rem 1.25rem;
  }
  .trainingHeader nav {
    display: flex !important;
    order: 3;
    width: 100%;
    overflow: auto;
    gap: 1rem;
    padding: .8rem 0 .2rem;
  }
  .trainingHeader nav a {
    white-space: nowrap;
  }
  .trainingHeaderActions small {
    display: none;
  }
}
.competencyFramework {
  margin-top: 3rem;
  padding: clamp(1.5rem,4vw,3rem);
  background: #061f2b;
  color: #fff;
}
.competencyFramework>div:first-child>span,.competencyDomains article>span {
  font-size: .58rem;
  letter-spacing: .14em;
  color: #69c2e6;
  font-weight: 900;
}
.competencyFramework h3 {
  font-size: clamp(2rem,4vw,3.8rem);
  letter-spacing: -.045em;
  margin: .7rem 0;
}
.competencyFramework>div:first-child>p {
  max-width: 850px;
  color: #b8cbd1;
  line-height: 1.7;
}
.competencyDomains {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 1px;
  background: rgba(255,255,255,.15);
  margin-top: 2rem;
}
.competencyDomains article {
  background: #0a3141;
  padding: 1.5rem;
}
.competencyDomains h4 {
  font-size: 1.25rem;
}
.competencyDomains article>div {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: .35rem 1rem;
  border-top: 1px solid rgba(255,255,255,.14);
  padding: 1rem 0;
}
.competencyDomains b {
  font-size: .7rem;
}
.competencyDomains small {
  grid-column: 1;
  color: #a9c0c8;
  line-height: 1.5;
}
.competencyDomains strong {
  grid-column: 2;
  grid-row: 1/3;
  color: #b9f227;
  font-size: 1.3rem;
}
.competencyFramework aside {
  margin-top: 1px;
  background: #eaf3f5;
  color: var(--ink);
  padding: 1.5rem;
}
.competencyFramework aside p {
  margin: .5rem 0 0;
  color: #526a73;
  line-height: 1.6;
}
@media (max-width:900px) {
  .competencyDomains {
    grid-template-columns: 1fr;
  }
}
.leadForm .consent {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: start;
  font-weight: 500;
  line-height: 1.5;
}
.leadForm .consent input {
  margin-top: .15rem;
}
.footerLink {
  border: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
  font-size: inherit;
}
.footerLink:hover {
  text-decoration: underline;
}
.privacyPanel {
  max-width: 780px;
}
.retentionPanel {
  margin-top: 1rem;
  background: #fff;
  padding: 2.5rem;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 1.5rem;
  align-items: end;
}
.retentionPanel span {
  font-size: .62rem;
  letter-spacing: .14em;
  color: var(--blue);
  font-weight: 800;
}
.retentionPanel h2 {
  font-size: 2rem;
  margin: .7rem 0;
}
.retentionPanel p {
  color: #526a73;
  line-height: 1.7;
  max-width: 850px;
}
.retentionPanel button {
  border: 0;
  background: var(--blue);
  color: #fff;
  padding: 1rem 1.3rem;
  cursor: pointer;
  font-weight: 700;
}
.retentionPanel>p {
  grid-column: 1/-1;
  margin: 0;
}
@media (max-width:800px) {
  .retentionPanel {
    grid-template-columns: 1fr;
  }
}
.ataAccessCard {
  margin-top: 2rem;
  background: var(--ink);
  color: #fff;
  padding: 2rem 2.4rem;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 2rem;
  position: relative;
  overflow: hidden;
}
.ataAccessCard:after {
  content: attr(data-icon);
  position: absolute;
  right: 1rem;
  bottom: -1.5rem;
  font-size: 9rem;
  color: rgba(86,176,213,.09);
  pointer-events: none;
}
.ataAccessCard>div,.ataAccessCard>button {
  position: relative;
  z-index: 1;
}
.ataAccessCard span {
  color: #61b8dc;
  font-size: .58rem;
  letter-spacing: .13em;
  font-weight: 800;
}
.ataAccessCard h3 {
  font-size: 1.5rem;
  margin: .8rem 0;
}
.ataAccessCard p {
  color: #b6c6cc;
  line-height: 1.7;
  margin: 0;
  max-width: 780px;
}
.ataAccessPanel {
  max-width: 840px;
}
.ataProtocol {
  margin-top: 2rem;
  background: var(--mist);
  padding: 2rem;
  display: grid;
  gap: 1rem;
}
.ataProtocol>span {
  font-size: .58rem;
  letter-spacing: .13em;
  color: var(--blue);
  font-weight: 800;
}
.ataProtocol>strong {
  font-size: .8rem;
  word-break: break-all;
}
.ataProtocol label {
  display: grid;
  gap: .45rem;
  font-size: .67rem;
  font-weight: 700;
}
.ataProtocol input {
  border: 1px solid var(--line);
  padding: .8rem;
  background: #fff;
}
.ataProtocol .btn {
  width: max-content;
}
.ataNewRequest {
  border: 0;
  background: transparent;
  color: var(--blue);
  padding: 0;
  text-align: left;
  cursor: pointer;
  font-weight: 700;
  font-size: .65rem;
}
.documentApprovalPanel {
  margin-bottom: 1rem;
}
.documentRequestList {
  display: grid;
  gap: .8rem;
}
.documentRequestList>article {
  border: 1px solid #dce6e8;
  padding: 1.4rem;
}
.documentRequestHead {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
}
.documentRequestHead>div {
  display: grid;
  gap: .3rem;
}
.documentRequestHead a {
  color: var(--blue);
  font-size: .65rem;
}
.documentRequestHead>span {
  height: max-content;
  padding: .35rem .55rem;
  background: #eef4f5;
  color: #526a73;
  font-size: .55rem;
  font-weight: 800;
  text-transform: uppercase;
}
.documentRequestHead>span[data-status="pending"] {
  background: #fff3d7;
  color: #8a5b00;
}
.documentRequestHead>span[data-status="approved"] {
  background: #e1f5e9;
  color: #167243;
}
.documentRequestList small {
  display: block;
  margin-top: .6rem;
  color: #6b7f86;
  font-size: .6rem;
}
.documentRequestList p {
  color: #526a73;
  font-size: .74rem;
  line-height: 1.65;
}
.documentActions {
  display: flex;
  gap: .6rem;
}
.documentActions button {
  border: 0;
  background: var(--blue);
  color: #fff;
  padding: .75rem 1rem;
  cursor: pointer;
  font-weight: 700;
}
.documentActions button:last-child {
  background: #eef3f4;
  color: #526a73;
}
.adminDecisionStatus {
  padding: 1rem;
  background: #e9f4f8;
  color: #176e98;
}
.adminMetrics {
  grid-template-columns: repeat(4,1fr);
}
@media (max-width:800px) {
  .ataAccessCard {
    grid-template-columns: 1fr;
    padding: 1.6rem;
  }
  .ataAccessCard .btn {
    width: max-content;
  }
  .documentRequestHead {
    display: grid;
  }
  .adminMetrics {
    grid-template-columns: 1fr;
  }
}
.painCard:after,.profilePanel:after,.outcomePath>article:after,.catalogGuide article:after,.serviceRow:after,.catalogDepthGrid article:after,.agentFlow details:after,.journeyFlow details:after {
  content: attr(data-icon);
  position: absolute;
  right: .8rem;
  bottom: .2rem;
  font-size: 5.5rem;
  line-height: 1;
  color: rgba(31,128,173,.075);
  font-weight: 700;
  pointer-events: none;
  transition: transform .5s var(--ease),color .5s var(--ease);
}
.painCard:hover:after,.painCard:focus-visible:after,.profilePanel:hover:after,.outcomePath>article:hover:after,.catalogGuide article:hover:after,.serviceRow:hover:after,.catalogDepthGrid article:hover:after,.agentFlow details:hover:after,.agentFlow details[open]:after,.journeyFlow details:hover:after,.journeyFlow details[open]:after {
  color: rgba(86,176,213,.16);
  transform: translateY(-7px) rotate(-5deg) scale(1.08);
}
.profilePanel,.outcomePath>article,.catalogGuide article,.serviceRow,.catalogDepthGrid article,.agentFlow details,.journeyFlow details {
  position: relative;
  overflow: hidden;
}
.painCard>*,.profilePanel>*,.outcomePath>article>*,.catalogGuide article>*,.serviceRow>*,.catalogDepthGrid article>*,.agentFlow details>*,.journeyFlow details>* {
  position: relative;
  z-index: 1;
}
.journeyFlow details:after,.agentFlow details:after {
  font-size: 3.6rem;
  color: rgba(86,176,213,.07);
}
.outcomePath>article:after {
  font-size: 7rem;
}
.catalogHierarchy {
  border-top: 1px solid var(--line);
}
.catalogHierarchyHead {
  padding: 2.5rem;
}
.catalogHierarchyHead>span {
  color: var(--blue);
  font-size: .58rem;
  letter-spacing: .13em;
  font-weight: 800;
}
.catalogHierarchyHead h4 {
  font-size: 1.7rem;
  margin: .7rem 0;
}
.catalogHierarchyHead p {
  color: #587079;
  line-height: 1.7;
  max-width: 850px;
}
.catalogHierarchy>details {
  border-top: 1px solid var(--line);
}
.catalogHierarchy>details>summary {
  list-style: none;
  cursor: pointer;
  padding: 1.5rem 2.5rem;
  display: flex;
  justify-content: space-between;
  gap: 2rem;
  align-items: center;
}
.catalogHierarchy>details>summary::-webkit-details-marker {
  display: none;
}
.catalogHierarchy>details>summary b {
  font-size: .82rem;
  color: var(--ink);
}
.catalogHierarchy>details>summary p {
  font-size: .7rem;
  color: #60767e;
  margin: .45rem 0 0;
}
.catalogHierarchy>details>summary>span {
  color: var(--blue);
  font-size: 1.2rem;
  transition: .25s;
}
.catalogHierarchy>details[open]>summary>span {
  transform: rotate(45deg);
}
.catalogItemDepth {
  background: #edf3f5;
  padding: 1px;
  display: grid;
  gap: 1px;
}
.catalogItemDepth>article {
  background: #fff;
  padding: 2rem;
}
.catalogItemDepth header {
  display: flex;
  justify-content: space-between;
  gap: 2rem;
  align-items: start;
}
.catalogItemDepth header>div:last-child {
  text-align: right;
}
.catalogItemDepth small,.catalogItemDepth header span {
  display: block;
  color: var(--blue);
  font-size: .58rem;
  font-weight: 800;
  letter-spacing: .07em;
}
.catalogItemDepth h5 {
  font-size: 1.35rem;
  margin: .55rem 0;
}
.catalogItemDepth header strong {
  font-size: 1.25rem;
}
.catalogItemDepth>article>p {
  color: #526a73;
  line-height: 1.7;
}
.catalogItemDepth>article>b {
  font-size: .68rem;
}
.catalogItemDepth ul {
  columns: 2;
  gap: 2rem;
  padding-left: 1.1rem;
}
.catalogItemDepth li {
  color: #596f77;
  font-size: .69rem;
  line-height: 1.6;
  margin-bottom: .35rem;
  break-inside: avoid;
}
.catalogItemRules {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 1px;
  background: var(--line);
  margin-top: 1.4rem;
}
.catalogItemRules span {
  background: var(--mist);
  padding: .9rem;
  color: #5b7179;
  font-size: .64rem;
  line-height: 1.5;
}
.catalogItemRules b {
  display: block;
  color: var(--blue);
  margin-bottom: .25rem;
}
.ustCatalog {
  border-top: 1px solid var(--line);
  background: var(--ink);
}
.ustCatalog>details {
  border-bottom: 1px solid rgba(255,255,255,.12);
  color: #fff;
}
.ustCatalog>details>summary {
  list-style: none;
  cursor: pointer;
  display: grid;
  grid-template-columns: 42px 54px 1fr auto;
  align-items: center;
  gap: 1.2rem;
  padding: 1.35rem 2.5rem;
  transition: .3s;
}
.ustCatalog>details>summary::-webkit-details-marker {
  display: none;
}
.ustCatalog>details>summary:hover,.ustCatalog>details[open]>summary {
  background: #0a2f3e;
}
.ustIndex {
  font-size: .56rem;
  color: #6fbddd;
  letter-spacing: .1em;
}
.ustIcon {
  width: 44px;
  height: 44px;
  border: 1px solid rgba(111,189,221,.45);
  display: grid;
  place-items: center;
  color: #78c4e2;
  font-size: 1.1rem;
}
.ustCatalog summary b {
  font-size: .86rem;
}
.ustCatalog summary p {
  margin: .35rem 0 0;
  color: #9eb2ba;
  font-size: .68rem;
}
.ustToggle {
  font-size: 1.3rem;
  color: #72c0df;
  transition: .3s;
}
.ustCatalog details[open] .ustToggle {
  transform: rotate(45deg);
}
.ustServiceBody {
  background: #fff;
  color: var(--ink);
  padding: 2rem 2.5rem 2.5rem;
  display: grid;
  grid-template-columns: 1fr 1.35fr 1fr;
  gap: 1px;
  background-color: var(--line);
}
.ustServiceBody>div {
  background: #fff;
  padding: 1.5rem;
}
.ustServiceBody>div>span {
  font-size: .56rem;
  letter-spacing: .12em;
  color: var(--blue);
  font-weight: 800;
}
.ustServiceBody p {
  color: #526a73;
  line-height: 1.75;
  font-size: .76rem;
}
.ustServiceBody ul {
  list-style: none;
  padding: 0;
  margin: 1rem 0 0;
  display: grid;
  gap: .55rem;
}
.ustServiceBody li {
  font-size: .68rem;
  line-height: 1.5;
  color: #536b74;
  padding-left: .8rem;
  position: relative;
}
.ustServiceBody li:before {
  content: "";
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--blue);
  position: absolute;
  left: 0;
  top: .55em;
}
.ustRules {
  grid-column: 1/-1;
  display: grid !important;
  grid-template-columns: repeat(4,1fr);
  gap: 1px;
  background: var(--line) !important;
  padding: 1px !important;
}
.ustRules span {
  background: var(--mist);
  padding: 1rem;
  color: #526a73;
  font-size: .63rem;
  line-height: 1.5;
}
.ustRules b {
  display: block;
  color: var(--blue);
  margin-bottom: .25rem;
}
.ustServiceBody button {
  grid-column: 1/-1;
  justify-self: start;
  border: 1px solid var(--blue);
  background: #fff;
  color: var(--blue);
  padding: .8rem 1rem;
  font-size: .65rem;
  font-weight: 800;
  cursor: pointer;
  margin-top: 1rem;
}
.ustServiceBody button:hover {
  background: var(--blue);
  color: #fff;
}
.catalogOtherBlocks {
  padding: 2rem 2.5rem;
  background: var(--mist);
  border-top: 1px solid var(--line);
}
.catalogOtherBlocks span {
  font-size: .57rem;
  letter-spacing: .12em;
  color: var(--blue);
  font-weight: 800;
}
.catalogOtherBlocks p {
  color: #587079;
  line-height: 1.7;
  max-width: 850px;
  font-size: .74rem;
}
@media (max-width:760px) {
  .catalogHierarchy>details>summary {
    padding: 1.25rem;
  }
  .catalogHierarchyHead {
    padding: 1.5rem;
  }
  .catalogItemDepth>article {
    padding: 1.25rem;
  }
  .catalogItemDepth header {
    display: grid;
  }
  .catalogItemDepth header>div:last-child {
    text-align: left;
  }
  .catalogItemDepth ul {
    columns: 1;
  }
  .catalogItemRules {
    grid-template-columns: 1fr;
  }
}
@media (max-width:760px) {
  .ustCatalog>details>summary {
    grid-template-columns: 32px 40px 1fr auto;
    padding: 1rem;
  }
  .ustIcon {
    width: 38px;
    height: 38px;
  }
  .ustServiceBody {
    grid-template-columns: 1fr;
    padding: 1px;
  }
  .ustRules {
    grid-template-columns: 1fr;
  }
  .ustServiceBody button {
    margin: 1rem;
  }
  .catalogOtherBlocks {
    padding: 1.5rem;
  }
}
.hero .eyebrow {
  font-size: clamp(.78rem,1.05vw,1rem);
  letter-spacing: .16em;
}
.purposeAside p {
  font-size: clamp(1.15rem,1.65vw,1.55rem);
  line-height: 1.65;
}
.transformation .sectionHead>p {
  font-size: clamp(1.05rem,1.38vw,1.3rem);
  line-height: 1.75;
}
.outcomePath>article p {
  margin: 1.2rem 0 2rem;
  line-height: 1.75;
  min-height: 4.5em;
}
.outcomePath>article ul {
  margin-top: 0;
}
.painCard {
  isolation: isolate;
}
.painCard .tags {
  position: relative;
  z-index: 3;
  pointer-events: none;
}
.painCard .drillLabel {
  z-index: 2;
  pointer-events: none;
}
.painCard:focus-visible {
  outline: 3px solid var(--blue);
  outline-offset: 4px;
}
.moduleGrid {
  grid-template-columns: repeat(4,1fr);
}
.moduleCard h3 {
  display: flex;
  align-items: flex-start;
  gap: .8rem;
}
.moduleCard>span {
  display: inline-flex;
  margin-right: .7rem;
}
.squadGrid article {
  position: relative;
  overflow: hidden;
}
.squadGrid article:after {
  content: attr(data-icon);
  position: absolute;
  right: 1rem;
  bottom: .2rem;
  font-size: 6rem;
  color: rgba(31,128,173,.08);
  pointer-events: none;
  transition: .45s;
}
.squadGrid article:hover:after {
  transform: translateY(-8px) rotate(-5deg);
  color: rgba(31,128,173,.16);
}
.accessibilityWidget {
  position: fixed;
  left: 1rem;
  bottom: 1rem;
  z-index: 80;
  display: grid;
  justify-items: start;
  gap: .65rem;
}
.accessLauncher {
  min-height: 48px;
  border: 0;
  border-radius: 999px;
  background: var(--ink);
  color: #fff;
  padding: .75rem 1rem;
  display: flex;
  align-items: center;
  gap: .55rem;
  box-shadow: 0 10px 28px rgba(3,23,34,.24);
  font: 700 .68rem Montserrat,sans-serif;
  cursor: pointer;
}
.accessLauncher>span {
  width: 24px;
  height: 24px;
  border: 2px solid #69c2e6;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #69c2e6;
  font-size: .56rem;
}
.accessTools {
  width: min(360px,calc(100vw - 2rem));
  max-height: min(620px,calc(100vh - 6rem));
  overflow: auto;
  display: grid;
  gap: .55rem;
  padding: 1rem;
  background: rgba(255,255,255,.98);
  border: 1px solid var(--line);
  box-shadow: 0 18px 48px rgba(3,23,34,.22);
}
.accessTools header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding-bottom: .65rem;
  border-bottom: 1px solid var(--line);
}
.accessTools header div {
  display: grid;
  gap: .2rem;
}
.accessTools header strong {
  font-size: .85rem;
}
.accessTools header small {
  font-size: .6rem;
  color: #607780;
}
.accessTools button {
  min-height: 44px;
  border: 1px solid var(--line);
  background: #fff;
  color: var(--ink);
  padding: .65rem .75rem;
  font: 700 .65rem Montserrat,sans-serif;
  cursor: pointer;
  text-align: left;
}
.accessTools button:hover,.accessTools button:focus-visible {
  border-color: var(--blue);
  background: var(--mist);
}
.accessTools button[aria-pressed="true"] {
  background: var(--ink);
  color: #fff;
}
.accessTools .accessClose {
  width: 44px;
  padding: 0;
  text-align: center;
  font-size: 1.3rem;
}
.accessTools .accessReset {
  text-align: center;
  color: var(--blue);
}
.accessTextSize {
  display: grid;
  grid-template-columns: 1fr 48px 48px;
  gap: .45rem;
  align-items: center;
}
.accessTextSize>span {
  font-size: .65rem;
}
.accessTextSize>span b {
  display: block;
  color: var(--blue);
  margin-top: .2rem;
}
.accessTextSize button {
  text-align: center;
  padding: 0;
}
.accessTextSize button:disabled {
  opacity: .38;
  cursor: not-allowed;
}
.largeText {
  font-size: 118%;
}
.highContrast {
  --ink: #000;
  --blue: #005d8f;
  --mist: #fff;
  --line: #5b6870;
}
.highContrast .kicker,.highContrast a,.highContrast button {
  font-weight: 800;
}
.highContrast :focus-visible {
  outline: 4px solid #ffbf00 !important;
  outline-offset: 4px !important;
}
@media (max-width:1050px) {
  .moduleGrid {
    grid-template-columns: repeat(2,1fr);
  }
}
@media (max-width:760px) {
  .accessibilityWidget {
    left: .75rem;
    bottom: .75rem;
  }
  .moduleGrid {
    grid-template-columns: 1fr;
  }
  .outcomePath>article p {
    min-height: 0;
  }
}
.routingPanel,.vendorAdminPanel {
  margin-top: 1rem;
}
.routingPanel>p,.vendorAdminPanel>p {
  color: #526a73;
  line-height: 1.7;
  max-width: 900px;
}
.routeForm {
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: 1rem;
  margin: 2rem 0;
}
.routeForm label {
  display: grid;
  gap: .45rem;
  color: #455f68;
  font-size: .67rem;
  font-weight: 700;
}
.routeForm input,.routeForm select,.routeForm textarea {
  border: 1px solid #cddadd;
  background: #f5f8f9;
  padding: .8rem;
  font: inherit;
  color: var(--ink);
}
.routeForm textarea {
  min-height: 100px;
}
.routeForm .wide {
  grid-column: 1/-1;
}
.routeForm button {
  border: 0;
  background: var(--blue);
  color: #fff;
  padding: 1rem 1.3rem;
  font-weight: 800;
  cursor: pointer;
}
.routeRegistry {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}
.routeRegistry>div {
  background: #f3f7f8;
  padding: 1.5rem;
}
.routeRegistry h3 {
  margin-top: 0;
}
.routeRegistry article,.vendorRegistry article {
  display: grid;
  gap: .3rem;
  border-top: 1px solid #d7e2e5;
  padding: 1rem 0;
}
.routeRegistry span,.vendorRegistry span {
  font-size: .65rem;
  color: #5c747c;
}
.routeRegistry small,.vendorRegistry small {
  font-size: .58rem;
  color: var(--blue);
}
.vendorRegistry {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 1rem;
}
.vendorRegistry article {
  border: 1px solid #d7e2e5;
  padding: 1rem;
}
.vendorLogo {
  min-width: 0;
  overflow: visible;
}
.vendorLogo img {
  display: block;
  max-width: 100%;
  width: auto !important;
  height: 56px !important;
  object-fit: contain !important;
  object-position: left center !important;
  flex: 0 1 auto;
}
.vendorLogo strong {
  min-width: 0;
  overflow-wrap: anywhere;
}
.routeForm .secondaryAdminButton {
  background: #dfeaec;
  color: var(--ink);
}
.vendorRegistry button {
  justify-self: start;
  border: 1px solid #b9cbd0;
  background: #fff;
  color: var(--ink);
  padding: .55rem .8rem;
  font-size: .62rem;
  font-weight: 800;
  cursor: pointer;
}
@media (max-width:800px) {
  .routeForm,.routeRegistry,.vendorRegistry {
    grid-template-columns: 1fr;
  }
  .routeForm .wide {
    grid-column: auto;
  }
}
.visionIntro h2 {
  font-size: clamp(2rem,3.15vw,3.65rem);
  line-height: 1.08;
}
.sectionHead {
  row-gap: 2.5rem;
  margin-bottom: 4.5rem;
}
.sectionHead>p {
  line-height: 1.82;
  max-width: 680px;
}
.painCard {
  min-height: 430px;
  padding: 2.25rem 2rem 4.8rem;
}
.painCard h3 {
  margin: 2.6rem 0 1.15rem;
  line-height: 1.22;
}
.painCard p {
  line-height: 1.72;
}
.tags {
  margin-top: 1.6rem;
  gap: .45rem;
}
.tags i {
  padding: .4rem .55rem;
}
.drillLabel {
  right: 2rem;
  bottom: 1.5rem;
  padding-top: .85rem;
  border-top: 1px solid var(--line);
}
.sectionSpecialist {
  margin-top: 3rem;
  padding: 1.8rem 2rem;
}
.sectionSpecialist p {
  line-height: 1.7;
}
.partnerLead {
  margin-bottom: 5rem;
}
.partnerGrid {
  margin-top: 0;
}
.vendorGrid article {
  min-height: 430px;
  gap: 1.35rem;
}
.vendorGrid article>span {
  line-height: 1.5;
}
.vendorLogo {
  height: 82px;
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem 0;
  color: var(--ink);
  border-block: 1px solid var(--line);
}
.vendorLogo svg {
  width: 54px;
  height: 54px;
  flex: 0 0 auto;
}
.vendorLogo img {
  width: 82px;
  height: 46px;
  object-fit: contain;
  object-position: left center;
}
.vendorLogo strong {
  font-size: 1rem;
  letter-spacing: .04em;
}
.vendorMonogram {
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  border: 1px solid var(--line);
  background: var(--mist);
  color: var(--blue);
  font-size: .75rem;
  font-weight: 800;
  letter-spacing: .04em;
  flex: 0 0 auto;
}
.vendorLogoCISCO svg {
  color: #1ba0d7;
}
.vendorLogoREDHAT svg {
  color: #ee0000;
}
.vendorLogoHUAWEI svg {
  color: #cf0a2c;
}
.vendorGrid article p {
  margin: 0;
  line-height: 1.75;
}
.vendorActions {
  padding-top: .7rem;
  gap: .75rem;
}
.vendorActions>a {
  line-height: 1.45;
}
footer>img {
  display: block;
  width: min(320px,72vw);
  height: auto;
  object-fit: contain;
}
footer p {
  margin-top: 2.5rem;
  line-height: 1.8;
}
@media (max-width:760px) {
  .visionIntro h2 {
    font-size: clamp(2rem,10vw,3rem);
  }
  .sectionHead {
    margin-bottom: 3.25rem;
  }
  .painCard {
    min-height: 0;
    padding-bottom: 5rem;
  }
  .partnerLead {
    margin-bottom: 3.25rem;
  }
  .vendorGrid article {
    min-height: 400px;
  }
}
.profileExplore {
  grid-column: 1/-1;
  justify-self: start;
  border: 1px solid var(--blue);
  background: transparent;
  color: var(--blue);
  padding: .85rem 1rem;
  font-size: .68rem;
  font-weight: 700;
  cursor: pointer;
}
.journeyFlow div {
  gap: 1.5rem;
  min-height: 320px;
}
.journeyFlow ul,.outcomePath ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: .65rem;
}
.journeyFlow li {
  color: #a8bbc2;
  font-size: .68rem;
  line-height: 1.45;
  padding-left: .8rem;
  position: relative;
}
.journeyFlow li:before,.outcomePath li:before {
  content: "";
  position: absolute;
  left: 0;
  top: .58em;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--blue2);
}
.outcomePath>article {
  padding-right: 2rem;
  position: relative;
}
.outcomePath>article>span {
  width: 40px;
  height: 40px;
  background: #fff;
  border: 1px solid var(--blue);
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: var(--blue);
  font-size: .58rem;
  position: relative;
  z-index: 1;
}
.outcomePath li {
  color: #536b74;
  font-size: .72rem;
  line-height: 1.5;
  padding-left: .85rem;
  position: relative;
}
.serviceDetails {
  margin-top: 1.25rem;
  border-top: 1px solid var(--line);
  padding-top: 1rem;
}
.serviceDetails summary {
  color: var(--blue);
  font-size: .67rem;
  font-weight: 700;
  cursor: pointer;
}
.serviceDetails ul {
  margin: 1rem 0;
  padding-left: 1.1rem;
  display: grid;
  gap: .55rem;
  color: #526a73;
  font-size: .75rem;
  line-height: 1.5;
}
.serviceDetails>small {
  display: block;
  line-height: 1.55;
}
.journeyComposer {
  border: 1px solid var(--line);
  padding: 1.3rem;
  display: grid;
  gap: .3rem;
}
.journeyComposer legend {
  padding: 0 .4rem;
  color: var(--ink);
  font-size: .78rem;
  font-weight: 700;
}
.journeyComposer>p {
  grid-column: 1/-1;
  color: #71858d;
  font-size: .65rem;
  margin: .1rem 0 .7rem;
}
.journeyComposer label {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: .7rem;
  padding: .65rem 0;
  border-top: 1px solid #e5edef;
  cursor: pointer;
}
.journeyComposer label span {
  color: #405c66;
  font-size: .7rem;
}
.journeyComposer label b {
  color: var(--blue);
  font-size: .68rem;
}
.journeyComposer input {
  accent-color: var(--blue);
}
.contractSteps>article {
  background: var(--mist);
  padding: 2rem;
  min-height: 340px;
  display: flex;
  flex-direction: column;
}
.contractSteps>article span {
  color: var(--blue);
  font-size: .62rem;
}
.contractSteps>article h3 {
  font-size: 1.75rem;
  margin: 4rem 0 1rem;
}
.contractSteps>article p {
  color: #586f78;
  line-height: 1.65;
  margin: 0;
}
.contractSteps>article b {
  margin-top: auto;
  font-size: .72rem;
  color: var(--blue);
}
.moduleCard {
  cursor: default;
}
@media (max-width:1050px) {
  .journeyFlow {
    grid-template-columns: repeat(3,1fr);
  }
}
@media (max-width:760px) {
  .journeyFlow {
    grid-template-columns: 1fr;
  }
  .journeyFlow div {
    min-height: 0;
    padding-bottom: 2.5rem;
  }
  .outcomePath>article {
    padding-right: 0;
  }
}
.agentFlow details {
  background: #0a2f3e;
  min-height: 112px;
  transition: .3s;
}
.agentFlow details:hover,.agentFlow details[open] {
  background: #10435a;
}
.agentFlow summary {
  list-style: none;
  cursor: pointer;
  padding: 1.25rem .9rem;
  min-height: 112px;
  display: grid;
  grid-template-columns: 1fr auto;
  align-content: start;
  gap: .65rem;
}
.agentFlow summary::-webkit-details-marker,.journeyFlow summary::-webkit-details-marker,.moduleCard summary::-webkit-details-marker,.contractSteps summary::-webkit-details-marker {
  display: none;
}
.agentFlow summary i,.agentFlow summary b {
  grid-column: 1;
}
.agentFlow summary span {
  grid-column: 2;
  grid-row: 1/3;
  color: #64b8dc;
  font-size: 1rem;
  transition: .25s;
}
.agentFlow details[open] summary span,.journeyFlow details[open] summary em,.moduleCard[open] summary>b {
  transform: rotate(45deg);
}
.agentFlow details>small {
  display: block;
  padding: 0 .9rem 1.25rem;
  color: #b9cbd2;
  font-size: .66rem;
  line-height: 1.65;
}
.journeyFlow {
  grid-template-columns: repeat(7,1fr);
}
.journeyFlow details {
  min-width: 0;
  padding: 1.7rem .8rem 2.8rem;
  border-right: 1px solid rgba(255,255,255,.15);
  position: relative;
  transition: .3s;
}
.journeyFlow details:hover,.journeyFlow details[open] {
  background: #0b3040;
}
.journeyFlow summary {
  list-style: none;
  cursor: pointer;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: .85rem;
  align-items: start;
}
.journeyFlow summary span,.journeyFlow summary b {
  grid-column: 1;
}
.journeyFlow summary em {
  grid-column: 2;
  grid-row: 1/3;
  color: #5eb1d6;
  font-style: normal;
  font-size: 1rem;
  transition: .25s;
}
.journeyFlow details>ul {
  margin-top: 1.4rem;
}
.journeyFlow details>i {
  position: absolute;
  bottom: -4px;
  left: 50%;
  width: 8px;
  height: 8px;
  background: var(--blue2);
  border-radius: 50%;
  box-shadow: 0 0 16px var(--blue2);
  animation: pulse 2s infinite;
}
.catalogGuide {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
  margin-bottom: 3rem;
}
.catalogGuide article {
  background: var(--mist);
  padding: 1.8rem;
}
.catalogGuide span {
  color: var(--blue);
  font-size: .58rem;
  font-weight: 800;
  letter-spacing: .1em;
}
.catalogGuide h3 {
  font-size: 1.08rem;
  margin: 1.25rem 0 .75rem;
}
.catalogGuide p {
  color: #59717a;
  font-size: .76rem;
  line-height: 1.7;
  margin: 0;
}
.serviceDetails h4 {
  font-size: .72rem;
  margin: 1.35rem 0 .6rem;
  color: var(--ink);
}
.serviceRules {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: .7rem;
  margin: 1.2rem 0;
}
.serviceRules span {
  background: var(--mist);
  padding: .85rem;
  color: #526a73;
  font-size: .66rem;
  line-height: 1.55;
}
.serviceRules b {
  display: block;
  color: var(--blue);
  margin-bottom: .3rem;
}
.moduleCard {
  min-height: 255px;
}
.moduleCard summary {
  list-style: none;
  cursor: pointer;
  min-height: 220px;
  position: relative;
}
.moduleCard summary>b {
  position: absolute;
  right: 0;
  top: 0;
  color: var(--blue);
  font-size: 1rem;
  transition: .25s;
}
.moduleCard[open] {
  background: var(--ink);
  color: #fff;
  transform: translateY(-5px);
  z-index: 2;
}
.moduleCard[open] p {
  color: #9fb2b9;
}
.moduleCard>ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: .5rem;
}
.moduleCard>ul li {
  color: #b3c4ca;
  font-size: .66rem;
  line-height: 1.45;
  padding-left: .8rem;
  position: relative;
}
.moduleCard>ul li:before {
  content: "";
  position: absolute;
  left: 0;
  top: .55em;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--blue2);
}
.contractSteps {
  grid-template-columns: repeat(5,1fr);
  gap: 1px;
  background: var(--line);
  margin-bottom: 1rem;
}
.contractSteps>details {
  background: var(--mist);
  padding: 1.7rem;
  min-height: 350px;
  transition: .3s;
}
.contractSteps>details:after {
  content: attr(data-icon);
  position: absolute;
  right: .9rem;
  bottom: .3rem;
  font-size: 6.4rem;
  line-height: 1;
  color: rgba(31,128,173,.08);
  font-weight: 700;
  pointer-events: none;
  transition: .35s;
}
.contractSteps>details {
  position: relative;
  overflow: hidden;
}
.contractSteps>details:hover:after,.contractSteps>details[open]:after {
  color: rgba(86,176,213,.13);
  transform: scale(1.08) rotate(-4deg);
}
.contractSteps>details:hover,.contractSteps>details[open] {
  background: var(--ink);
  color: #fff;
}
.contractSteps summary {
  list-style: none;
  cursor: pointer;
  min-height: 310px;
  display: flex;
  flex-direction: column;
}
.contractSteps summary span {
  color: var(--blue);
  font-size: .62rem;
}
.contractSteps summary h3 {
  font-size: 1.25rem;
  margin: 3.2rem 0 1rem;
  line-height: 1.18;
}
.contractSteps summary p {
  color: #586f78;
  font-size: .72rem;
  line-height: 1.65;
  margin: 0;
}
.contractSteps details:hover summary p,.contractSteps details[open] summary p {
  color: #a9bbc2;
}
.contractSteps summary b {
  margin-top: auto;
  color: var(--blue);
  font-size: .65rem;
}
.contractSteps details>ul {
  list-style: none;
  padding: 1.1rem 0 0;
  margin: 0;
  border-top: 1px solid rgba(255,255,255,.15);
  display: grid;
  gap: .55rem;
}
.contractSteps details>ul li {
  font-size: .66rem;
  color: #b8c8ce;
  line-height: 1.5;
}
.stackHighlights {
  background: var(--ink);
  color: #fff;
  padding: 2rem;
  display: grid;
  grid-template-columns: .7fr repeat(3,1fr);
  gap: 1px;
}
.stackHighlights>span {
  font-size: .58rem;
  letter-spacing: .13em;
  color: #62b7d9;
  font-weight: 800;
  padding: 1rem;
}
.stackHighlights article {
  border-left: 1px solid rgba(255,255,255,.15);
  padding: 1rem 1.4rem;
}
.stackHighlights b {
  font-size: .95rem;
}
.stackHighlights p {
  font-size: .68rem;
  line-height: 1.6;
  color: #adbec4;
  margin: .65rem 0 0;
}
.vendorLogo {
  justify-content: center;
  text-align: center;
  text-decoration: none;
}
.vendorLogo img {
  object-position: center;
}
.vendorActions {
  align-items: center;
  text-align: center;
}
.vendorGrid article>span {
  text-align: center;
}
.chatLauncher img {
  object-fit: contain;
  background: #eaf4f7;
  padding: 7px;
}
.chatHead img {
  object-fit: contain;
  background: #eaf4f7;
  padding: 6px;
  border-radius: 50%;
}
.chatBrandMark {
  width: 56px;
  height: 56px;
  flex: 0 0 56px;
  border-radius: 50%;
  background-color: #eaf4f7;
  background-image: url("/brand/onni-health-symbol.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 44px 44px;
  box-shadow: inset 0 0 0 1px rgba(86,176,213,.18);
}
@media (max-width:1180px) {
  .journeyFlow {
    grid-template-columns: repeat(4,1fr);
  }
  .contractSteps {
    grid-template-columns: repeat(3,1fr);
  }
}
@media (max-width:760px) {
  .agentFlow {
    grid-template-columns: 1fr;
  }
  .agentFlow details {
    min-height: 0;
  }
  .agentFlow summary {
    min-height: 0;
  }
  .journeyFlow {
    grid-template-columns: 1fr;
  }
  .journeyFlow details {
    padding: 1.35rem 1rem 2rem;
  }
  .catalogGuide,.serviceRules,.contractSteps,.stackHighlights {
    grid-template-columns: 1fr;
  }
  .contractSteps>details,.contractSteps summary {
    min-height: 0;
  }
  .contractSteps summary h3 {
    margin: 2rem 0 .8rem;
  }
  .contractSteps summary b {
    margin-top: 1.5rem;
  }
  .stackHighlights article {
    border-left: 0;
    border-top: 1px solid rgba(255,255,255,.15);
  }
}
.chatHead {
  position: relative;
  justify-content: center;
  padding: 1rem 3.25rem 1rem 1rem;
}
.chatHead .chatIdentity {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .55rem;
  text-align: center;
}
.chatHead .chatIdentity img {
  display: block;
  width: 56px;
  height: 56px;
}
.chatHead button {
  position: absolute;
  right: 1rem;
  top: 1rem;
}
.summaryTitle {
  display: inline-flex !important;
  align-items: center;
  gap: .42rem;
  width: max-content;
  max-width: 100%;
}
.summaryTitle em {
  color: #5eb1d6;
  font-style: normal;
  font-size: 1rem;
  line-height: 1;
  transition: .25s;
}
.agentFlow summary {
  grid-template-columns: 1fr;
}
.agentFlow summary i,.agentFlow summary .summaryTitle {
  grid-column: 1;
}
.agentFlow summary .summaryTitle {
  grid-row: auto;
  color: inherit;
  font-size: inherit;
}
.agentFlow details[open] summary .summaryTitle {
  transform: none;
}
.agentFlow details[open] summary .summaryTitle em {
  transform: rotate(45deg);
}
.journeyFlow summary {
  grid-template-columns: 1fr;
}
.journeyFlow summary>span:first-child,.journeyFlow summary .summaryTitle {
  grid-column: 1;
}
.journeyFlow summary .summaryTitle em {
  grid-column: auto;
  grid-row: auto;
}
.moduleCard .summaryTitle {
  margin: 2rem 0 1rem;
}
.moduleCard .summaryTitle h3 {
  margin: 0;
}
.moduleCard .summaryTitle>b {
  position: static;
  color: var(--blue);
  font-size: 1rem;
  line-height: 1;
  transition: .25s;
}
.scenarioHeart {
  position: relative;
  z-index: 1;
  display: block;
  width: 82px;
  height: 82px;
  background-color: transparent;
  background-image: url("/brand/onni-health-symbol.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  border-radius: 50%;
  box-shadow: 0 0 0 0 rgba(255,255,255,.34);
  animation: onniHeartbeat 1.7s ease-in-out infinite;
}
@keyframes onniHeartbeat {
  0%,30%,100% {
    transform: scale(1);
    box-shadow: 0 0 0 0 rgba(255,255,255,.28);
  }
  10% {
    transform: scale(1.1);
  }
  18% {
    transform: scale(1.03);
    box-shadow: 0 0 0 14px rgba(255,255,255,0);
  }
  24% {
    transform: scale(1.08);
  }
}
@media (prefers-reduced-motion:reduce) {
  .scenarioHeart {
    animation: none;
  }
}
#conteudo>section {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}
#conteudo>section:before {
  content: "";
  position: absolute;
  inset: -18%;
  z-index: -1;
  pointer-events: none;
  background: radial-gradient(circle at 18% 28%,rgba(86,176,213,.08),transparent 22%),radial-gradient(circle at 82% 70%,rgba(31,128,173,.07),transparent 24%);
  animation: ambientDrift 18s ease-in-out infinite alternate;
}
#conteudo>section:nth-of-type(even):before {
  animation-direction: alternate-reverse;
  background: radial-gradient(circle at 78% 22%,rgba(86,176,213,.09),transparent 21%),radial-gradient(circle at 22% 78%,rgba(31,128,173,.06),transparent 25%);
}
#conteudo>section:after {
  content: "";
  position: absolute;
  z-index: -1;
  pointer-events: none;
  opacity: .42;
}
.purpose:after {
  width: 25rem;
  height: 25rem;
  right: -8rem;
  top: 16%;
  border: 1px solid rgba(31,128,173,.13);
  border-radius: 50%;
  box-shadow: 0 0 0 4rem rgba(31,128,173,.025),0 0 0 8rem rgba(31,128,173,.018);
  animation: ambientOrbit 28s linear infinite;
}
.visionSection:after {
  content: "SONHAR  ·  CONECTAR  ·  REALIZAR  ·  COMPARTILHAR";
  left: -8%;
  bottom: 6%;
  font-size: clamp(2.5rem,7vw,8rem);
  font-weight: 800;
  letter-spacing: .12em;
  color: rgba(31,128,173,.045);
  white-space: nowrap;
  animation: ambientTicker 32s linear infinite;
}
.transformation:after {
  width: 42rem;
  height: 42rem;
  right: -20rem;
  top: 12%;
  background: repeating-radial-gradient(circle,transparent 0 38px,rgba(111,192,223,.08) 39px 40px);
  animation: ambientSpin 42s linear infinite;
}
.painSection:after {
  content: "✚";
  right: 3%;
  top: 9%;
  font-size: 16rem;
  color: rgba(31,128,173,.055);
  animation: ambientFloat 10s ease-in-out infinite;
}
.profiles:after {
  width: 34rem;
  height: 2px;
  left: 8%;
  bottom: 10%;
  background: linear-gradient(90deg,transparent,var(--blue),transparent);
  box-shadow: 0 -7rem 0 rgba(31,128,173,.08),0 7rem 0 rgba(31,128,173,.08);
  animation: ambientScan 9s ease-in-out infinite;
}
.journey:after {
  content: "↗  ◌  ✚  ⇄  ◇  ▦  ∞";
  left: 3%;
  bottom: 5%;
  font-size: 4rem;
  letter-spacing: .8em;
  color: rgba(111,192,223,.055);
  white-space: nowrap;
  animation: ambientTicker 26s linear infinite reverse;
}
.outcomes:after {
  width: 32rem;
  height: 32rem;
  right: -12rem;
  bottom: -14rem;
  border: 2px dotted rgba(31,128,173,.14);
  border-radius: 50%;
  animation: ambientSpin 36s linear infinite reverse;
}
.demonstrator:after {
  width: 2px;
  height: 62%;
  left: 50%;
  top: 19%;
  background: linear-gradient(transparent,rgba(111,192,223,.28),transparent);
  box-shadow: 0 0 34px rgba(111,192,223,.2);
  animation: ambientPulse 3.4s ease-in-out infinite;
}
.catalog:after {
  content: "▦";
  right: 1%;
  top: 10%;
  font-size: 22rem;
  color: rgba(31,128,173,.035);
  animation: ambientFloat 12s ease-in-out infinite reverse;
}
.calculator:after {
  width: 46rem;
  height: 46rem;
  left: -28rem;
  top: 5%;
  background: repeating-conic-gradient(from 0deg,rgba(31,128,173,.055) 0 1deg,transparent 1deg 15deg);
  border-radius: 50%;
  animation: ambientSpin 55s linear infinite;
}
.modules:after {
  content: "◎  ✦  ⇄  ∞";
  right: -5%;
  bottom: 4%;
  font-size: 7rem;
  letter-spacing: .35em;
  color: rgba(31,128,173,.04);
  white-space: nowrap;
  animation: ambientFloat 11s ease-in-out infinite;
}
.contract:after {
  width: 55%;
  height: 55%;
  right: -12%;
  bottom: -20%;
  background: linear-gradient(135deg,transparent 48%,rgba(111,192,223,.1) 49% 51%,transparent 52%);
  animation: ambientScan 12s ease-in-out infinite;
}
.partners:after {
  width: 28rem;
  height: 28rem;
  left: -12rem;
  top: 16%;
  border: 1px solid rgba(31,128,173,.12);
  border-radius: 50%;
  box-shadow: inset 0 0 0 5rem rgba(31,128,173,.018);
  animation: ambientOrbit 30s linear infinite reverse;
}
.legacy:after {
  content: "∞";
  right: 5%;
  top: 2%;
  font-size: 25rem;
  color: rgba(111,192,223,.045);
  animation: ambientPulse 6s ease-in-out infinite;
}
.cta:after {
  width: 42rem;
  height: 42rem;
  right: -16rem;
  top: -18rem;
  background: radial-gradient(circle,rgba(111,192,223,.15),transparent 63%);
  animation: ambientFloat 9s ease-in-out infinite;
}
.transformation:before,.journey:before,.demonstrator:before,.contract:before,.cta:before {
  background: radial-gradient(circle at 16% 22%,rgba(86,176,213,.14),transparent 24%),radial-gradient(circle at 84% 76%,rgba(31,128,173,.15),transparent 26%) !important;
}
@keyframes ambientDrift {
  0% {
    transform: translate3d(-1.5%,0,0) scale(1);
  }
  100% {
    transform: translate3d(1.5%,-1.5%,0) scale(1.04);
  }
}
@keyframes ambientOrbit {
  to {
    transform: rotate(360deg);
  }
}
@keyframes ambientSpin {
  to {
    transform: rotate(360deg);
  }
}
@keyframes ambientTicker {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(12%);
  }
}
@keyframes ambientFloat {
  0%,100% {
    transform: translate3d(0,0,0) rotate(-2deg);
  }
  50% {
    transform: translate3d(-1.5rem,1.2rem,0) rotate(3deg);
  }
}
@keyframes ambientScan {
  0%,100% {
    transform: translateY(-1.5rem);
    opacity: .18;
  }
  50% {
    transform: translateY(1.5rem);
    opacity: .5;
  }
}
@keyframes ambientPulse {
  0%,100% {
    opacity: .18;
    transform: scale(.97);
  }
  50% {
    opacity: .5;
    transform: scale(1.04);
  }
}
.outcomePath>article p {
  margin: 0 0 1.8rem;
  line-height: 1.75;
}
.outcomePath>article ul {
  margin-top: 0;
  gap: .85rem;
}
.outcomePath>article li {
  line-height: 1.65;
}
.catalogDepth {
  margin: 3.5rem 0 2rem;
  border: 1px solid var(--line);
  background: #fff;
}
.catalogDepthIntro {
  padding: 2.5rem;
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 1rem 3rem;
  border-bottom: 1px solid var(--line);
}
.catalogDepthIntro>span {
  grid-column: 1/-1;
  color: var(--blue);
  font-size: .58rem;
  letter-spacing: .13em;
  font-weight: 800;
}
.catalogDepthIntro h3 {
  font-size: clamp(1.7rem,3vw,3rem);
  line-height: 1.08;
  margin: .6rem 0;
}
.catalogDepthIntro p {
  color: #5a717a;
  line-height: 1.75;
  margin: .6rem 0;
}
.catalogDepthGrid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 1px;
  background: var(--line);
}
.catalogDepthGrid article {
  background: #fff;
  padding: 2rem;
  min-height: 245px;
}
.catalogDepthGrid b {
  color: var(--blue);
  font-size: .62rem;
}
.catalogDepthGrid h4 {
  font-size: 1.15rem;
  margin: 2.5rem 0 .8rem;
}
.catalogDepthGrid p {
  color: #526a73;
  font-size: .76rem;
  line-height: 1.65;
}
.catalogDepthGrid small {
  color: var(--blue);
  font-size: .58rem;
  line-height: 1.5;
}
.catalogPossibilities {
  padding: 1.5rem 2rem;
  display: flex;
  gap: .65rem;
  align-items: center;
  flex-wrap: wrap;
  background: var(--ink);
  color: #fff;
}
.catalogPossibilities b {
  font-size: .65rem;
  margin-right: .6rem;
}
.catalogPossibilities span {
  font-size: .57rem;
  padding: .5rem .7rem;
  border: 1px solid rgba(255,255,255,.18);
  color: #b6c7cd;
}
.ataShowcase {
  margin: 4rem 0 1.5rem;
  border: 1px solid #bfd3dc;
  background: linear-gradient(145deg,#f7fbfc 0%,#fff 48%,#edf7fa 100%);
  position: relative;
  overflow: hidden;
}
.ataShowcase:before {
  content: "ARP";
  position: absolute;
  right: -.04em;
  top: -.28em;
  font-size: 18rem;
  font-weight: 900;
  letter-spacing: -.08em;
  color: rgba(31,128,173,.035);
  pointer-events: none;
}
.ataShowcaseLead {
  padding: 3rem;
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  gap: 1rem 4rem;
  border-bottom: 1px solid var(--line);
  position: relative;
}
.ataShowcaseLead>span {
  grid-column: 1/-1;
  color: var(--blue);
  font-size: .59rem;
  letter-spacing: .16em;
  font-weight: 800;
}
.ataShowcaseLead h3 {
  font-size: clamp(2rem,3.7vw,4.2rem);
  line-height: 1.02;
  letter-spacing: -.05em;
  margin: .8rem 0;
}
.ataShowcaseLead p {
  color: #4e6872;
  line-height: 1.82;
  margin: 1rem 0;
  max-width: 640px;
}
.ataNumbers {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  background: var(--ink);
  color: #fff;
}
.ataNumbers article {
  padding: 2rem;
  border-right: 1px solid rgba(255,255,255,.12);
  min-height: 180px;
}
.ataNumbers article:last-child {
  border-right: 0;
}
.ataNumbers b {
  display: block;
  color: #79c7e5;
  font-size: clamp(1.8rem,3vw,3.3rem);
  letter-spacing: -.05em;
  margin-bottom: 1.1rem;
}
.ataNumbers span {
  display: block;
  color: #a9bbc2;
  font-size: .65rem;
  line-height: 1.62;
}
.ataValueGrid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 1px;
  background: var(--line);
}
.ataValueGrid article {
  background: #fff;
  padding: 2.2rem;
  min-height: 285px;
  position: relative;
  overflow: hidden;
}
.ataValueGrid article:after {
  content: attr(data-icon);
  position: absolute;
  right: .6rem;
  bottom: -1.5rem;
  color: rgba(31,128,173,.06);
  font-size: 8rem;
  transition: .35s var(--ease);
}
.ataValueGrid article:hover:after {
  transform: translateY(-.5rem) rotate(-4deg);
  color: rgba(31,128,173,.11);
}
.ataValueGrid article>span {
  color: var(--blue);
  font-size: .58rem;
  font-weight: 800;
}
.ataValueGrid h4 {
  font-size: 1.25rem;
  line-height: 1.2;
  margin: 2.5rem 0 1rem;
  position: relative;
  z-index: 1;
}
.ataValueGrid p {
  color: #536b74;
  font-size: .76rem;
  line-height: 1.72;
  margin: 0;
  position: relative;
  z-index: 1;
}
.ataFit {
  padding: 2rem 2.5rem;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 2rem;
  background: #dff1f7;
}
.ataFit span {
  color: var(--blue);
  font-size: .56rem;
  letter-spacing: .12em;
  font-weight: 800;
}
.ataFit p {
  margin: .65rem 0 0;
  color: #36535e;
  font-size: .75rem;
  line-height: 1.7;
}
.ataTalk {
  border: 1px solid var(--blue);
  background: var(--blue);
  color: #fff;
  padding: 1rem 1.2rem;
  font-size: .66rem;
  font-weight: 800;
  white-space: nowrap;
  cursor: pointer;
}
.ataDisclaimer {
  padding: 1.2rem 2.5rem;
  margin: 0 !important;
  color: #71868e !important;
  font-size: .58rem !important;
  line-height: 1.55 !important;
}
.journeyComposer {
  padding: 1.6rem;
  gap: 1rem;
}
.journeyComposer>p {
  display: none;
}
.composerHead {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: start;
}
.composerHead p {
  color: #71858d;
  font-size: .68rem;
  line-height: 1.55;
  margin: 0;
  max-width: 440px;
}
.composerHead>span {
  color: var(--blue);
  font-size: .62rem;
  font-weight: 800;
  white-space: nowrap;
}
.composerGrid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .65rem;
}
.journeyComposer .composerGrid label {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: .85rem;
  padding: 1rem;
  border: 1px solid #d9e5e9;
  cursor: pointer;
  transition: .25s var(--ease);
  min-height: 118px;
}
.journeyComposer .composerGrid label:hover,.journeyComposer .composerGrid label.selected {
  border-color: var(--blue);
  background: #eef7fa;
  box-shadow: 0 9px 24px rgba(22,98,130,.08);
}
.journeyComposer .composerGrid label>input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.composerCheck {
  width: 30px;
  height: 30px;
  border: 1px solid var(--blue);
  border-radius: 50%;
  display: grid !important;
  place-items: center;
  color: var(--blue) !important;
  font-weight: 800;
}
.selected .composerCheck {
  background: var(--blue);
  color: #fff !important;
}
.composerText {
  display: flex !important;
  flex-direction: column;
  gap: .25rem;
  min-width: 0;
}
.composerText small {
  font-size: .52rem;
  color: var(--blue);
  font-weight: 800;
  letter-spacing: .08em;
}
.composerText strong {
  font-size: .72rem;
  color: var(--ink);
  line-height: 1.3;
}
.composerText em {
  font-size: .57rem;
  color: #6d8189;
  line-height: 1.4;
  font-style: normal;
}
.journeyComposer .composerGrid label>b {
  color: var(--blue);
  font-size: .68rem;
  text-align: right;
  white-space: nowrap;
}
.journeyComposer .composerGrid label>b small {
  display: block;
  font-size: .45rem;
  color: #7d9097;
  font-weight: 500;
  margin-top: .2rem;
}
.composerClear {
  justify-self: start;
  border: 0;
  background: transparent;
  color: var(--blue);
  font-size: .6rem;
  font-weight: 800;
  padding: .35rem 0;
  cursor: pointer;
}
.composerClear:disabled {
  opacity: .35;
  cursor: not-allowed;
}
.moduleCard:after {
  content: attr(data-icon);
  position: absolute;
  right: 1rem;
  bottom: .15rem;
  font-size: 5.8rem;
  line-height: 1;
  color: rgba(31,128,173,.08);
  font-weight: 700;
  pointer-events: none;
  transition: .35s;
}
.moduleCard:hover:after,.moduleCard[open]:after {
  color: rgba(86,176,213,.13);
  transform: scale(1.08) rotate(-4deg);
}
.moduleCard summary>span:first-child {
  display: block;
  margin-bottom: 1.5rem;
  letter-spacing: .08em;
}
.moduleCard .summaryTitle {
  margin-top: .35rem;
}
.siteFooter {
  position: relative;
  overflow: hidden;
}
.siteFooter:before {
  content: "";
  position: absolute;
  right: -12rem;
  top: -15rem;
  width: 42rem;
  height: 42rem;
  border: 1px solid rgba(86,176,213,.11);
  border-radius: 50%;
  box-shadow: 0 0 0 5rem rgba(86,176,213,.025),0 0 0 10rem rgba(86,176,213,.018);
  animation: orbit 35s linear infinite;
  pointer-events: none;
}
.siteFooter .footerMain {
  position: relative;
  display: grid;
  grid-template-columns: 1.5fr repeat(3,1fr);
  gap: 4rem;
  border: 0;
  padding: 0 0 4rem;
}
.footerBrand img {
  width: min(300px,100%);
  height: auto;
}
.siteFooter .footerBrand p {
  margin: 2rem 0;
  max-width: 460px;
}
.footerConversation {
  border: 1px solid rgba(255,255,255,.25);
  background: transparent;
  color: #fff;
  padding: .8rem 1rem;
  font-size: .65rem;
  font-weight: 800;
  cursor: pointer;
}
.footerMain nav {
  display: flex;
  flex-direction: column;
  gap: .9rem;
  padding-top: 1rem;
  position: relative;
}
.footerMain nav b {
  color: #fff;
  font-size: .72rem;
  margin-bottom: .55rem;
}
.footerMain nav a,.footerMain nav button {
  color: #8ea3ab;
  font-size: .65rem;
  text-align: left;
  padding: 0;
}
.footerMain nav a:hover,.footerMain nav button:hover {
  color: #fff;
}
.siteFooter .footerTrust {
  position: relative;
  border-top: 1px solid rgba(255,255,255,.14);
  border-bottom: 1px solid rgba(255,255,255,.14);
  padding: 1.5rem 0;
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 2rem;
  color: #78909a;
  font-size: .6rem;
}
.footerTrust span {
  line-height: 1.65;
}
.footerTrust b {
  display: block;
  color: #a9bcc3;
  margin-bottom: .25rem;
}
.siteFooter .footerBottom {
  position: relative;
  border: 0;
  padding-top: 1.5rem;
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  color: #78909a;
  font-size: .6rem;
}
@media (max-width:1000px) {
  .siteFooter .footerMain {
    grid-template-columns: 1.4fr 1fr 1fr;
  }
  .footerMain nav:last-child {
    grid-column: 2/-1;
  }
  .catalogDepthGrid {
    grid-template-columns: repeat(2,1fr);
  }
  .ataNumbers,.ataValueGrid {
    grid-template-columns: repeat(2,1fr);
  }
  .ataNumbers article:nth-child(2) {
    border-right: 0;
  }
}
@media (max-width:760px) {
  .catalogDepthIntro,.catalogDepthGrid {
    grid-template-columns: 1fr;
  }
  .catalogDepthIntro>span {
    grid-column: auto;
  }
  .catalogDepthGrid article {
    min-height: 0;
  }
  .composerGrid {
    grid-template-columns: 1fr;
  }
  .composerHead {
    display: grid;
  }
  .ataShowcaseLead,.ataNumbers,.ataValueGrid,.ataFit {
    grid-template-columns: 1fr;
  }
  .ataShowcaseLead {
    padding: 2rem;
    gap: 1rem;
  }
  .ataShowcaseLead>span {
    grid-column: auto;
  }
  .ataNumbers article {
    min-height: 0;
    border-right: 0;
    border-bottom: 1px solid rgba(255,255,255,.12);
  }
  .ataValueGrid article {
    min-height: 0;
  }
  .ataFit {
    padding: 1.6rem;
  }
  .ataTalk {
    white-space: normal;
  }
  .siteFooter .footerMain {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }
  .footerMain nav:last-child {
    grid-column: auto;
  }
  .siteFooter .footerTrust {
    grid-template-columns: 1fr;
  }
  .siteFooter .footerBottom {
    flex-direction: column;
  }
}
@media (prefers-reduced-motion:reduce) {
  #conteudo>section:before,#conteudo>section:after,.siteFooter:before {
    animation: none !important;
  }
}
.painCard {
  min-height: 500px;
  padding-bottom: 2rem;
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
.painCard .tags {
  margin-bottom: 0;
}
.painCard .drillLabel {
  position: static;
  display: block;
  margin-top: 5rem;
  align-self: flex-start;
}
.accessTools {
  flex-wrap: wrap;
  justify-content: flex-end;
  max-width: min(760px,calc(100vw - 2rem));
  padding: .45rem;
  background: rgba(255,255,255,.97);
}
.accessTools>span {
  display: flex;
  align-items: center;
  padding: 0 .45rem;
  color: var(--ink);
  font-size: .58rem;
  font-weight: 800;
}
.largeText,.extraLargeText {
  font-size: inherit;
}
.underlinedLinks a:not(.btn),.underlinedLinks .footerLink {
  text-decoration: underline !important;
  text-underline-offset: .22em;
  text-decoration-thickness: .12em !important;
}
.reducedMotion *,.reducedMotion *:before,.reducedMotion *:after {
  animation: none !important;
  transition: none !important;
  scroll-behavior: auto !important;
}
.contractSteps h3 strong {
  display: block;
  color: var(--blue);
  font-weight: 900;
  font-size: 1em;
  letter-spacing: -.02em;
  margin-bottom: .15rem;
}
.vendorLogo {
  min-width: 0;
  overflow: visible;
  height: 112px;
  padding: 1.25rem;
  display: grid;
  grid-template-columns: 1fr;
  place-items: center;
  background: #fff;
}
.vendorLogo img {
  display: block;
  width: 100% !important;
  max-width: 220px !important;
  height: 72px !important;
  object-fit: contain !important;
  object-position: center !important;
  mix-blend-mode: multiply;
}
.vendorLogo strong {
  min-width: 0;
  overflow-wrap: anywhere;
  font-size: .68rem;
  letter-spacing: .08em;
}
.vendorMonogram {
  font-size: 1.35rem !important;
  letter-spacing: -.04em !important;
  color: var(--ink) !important;
}
.vendorVector {
  display: flex;
  align-items: center;
  gap: .8rem;
  min-width: 0;
  color: var(--ink);
}
.vendorVector svg {
  width: 68px;
  height: 68px;
  flex: 0 0 68px;
  color: var(--blue);
}
.vendorVector b {
  font-size: 1.15rem;
  letter-spacing: -.035em;
}
.vendorVectorRedHat svg {
  color: #ee0000 !important;
}
.vendorVectorRedHat b {
  color: #111 !important;
}
.vendorVectorCisco {
  justify-content: center;
}
.vendorVectorCisco svg {
  width: 112px !important;
  height: 62px !important;
  flex: 0 0 auto;
  color: #1ba0d7 !important;
}
.vendorIbm {
  display: inline-block;
  font: 900 3.25rem/1 Arial,sans-serif;
  letter-spacing: -.11em;
  color: transparent;
  background: repeating-linear-gradient(to bottom,#0f62fe 0 5px,transparent 5px 8px);
  background-clip: text;
  -webkit-background-clip: text;
  padding-right: .16em;
}
.vendorMonogramOUTSYSTEMS {
  width: 100% !important;
  height: auto !important;
  display: block !important;
  text-align: center;
  font-size: 1.75rem !important;
  font-weight: 900 !important;
  letter-spacing: -.07em !important;
  color: #111 !important;
  transform: translateX(-.12em);
}
.vendorLogoSALESFORCE img {
  max-width: 250px !important;
  height: 92px !important;
  transform: scale(1.18);
}
.vendorLogoIBM img {
  width: 132px !important;
  max-width: 132px !important;
  height: 86px !important;
  object-position: center !important;
  mix-blend-mode: normal;
}
.vendorLogoOUTSYSTEMS img {
  width: min(100%,240px) !important;
  max-width: 240px !important;
  height: 88px !important;
  object-position: center !important;
  mix-blend-mode: normal;
}
.vendorLogoMICROSOFT img {
  width: min(100%,210px) !important;
  max-width: 210px !important;
  height: 82px !important;
  object-position: center !important;
  mix-blend-mode: normal;
}
.vendorLogoSAS img {
  width: min(100%,225px) !important;
  max-width: 225px !important;
  height: 88px !important;
  object-position: center !important;
  mix-blend-mode: normal;
}
.vendorLogoREDHAT img {
  width: min(100%,245px) !important;
  max-width: 245px !important;
  height: 94px !important;
  object-position: center !important;
  mix-blend-mode: normal;
}
.vendorLogoGOOGLECLOUD img {
  width: min(100%,255px) !important;
  max-width: 255px !important;
  height: 90px !important;
  object-position: center !important;
  mix-blend-mode: normal;
}
.vendorLogoSALESFORCE img {
  width: min(100%,250px) !important;
  max-width: 250px !important;
  height: 100px !important;
  object-position: center !important;
  mix-blend-mode: normal;
  transform: none;
}
@media (max-width:760px) {
  .accessTools {
    top: auto;
    right: .75rem;
    bottom: .75rem;
    left: .75rem;
    max-height: 38vh;
    overflow: auto;
  }
  .accessTools>span {
    width: 100%;
  }
  .painCard {
    min-height: 520px;
    padding-bottom: 2rem;
  }
  .vendorLogo {
    height: auto;
    min-height: 130px;
  }
  .vendorLogo img {
    object-position: center !important;
  }
  .vendorLogoIBM img {
    width: 124px !important;
    height: 82px !important;
  }
  .vendorLogoOUTSYSTEMS img {
    width: min(100%,220px) !important;
    height: 84px !important;
  }
  .vendorLogoMICROSOFT img {
    width: min(100%,190px) !important;
    height: 78px !important;
  }
  .vendorLogoSAS img {
    width: min(100%,210px) !important;
    height: 84px !important;
  }
  .vendorLogoREDHAT img {
    width: min(100%,220px) !important;
    height: 88px !important;
  }
  .vendorLogoGOOGLECLOUD img {
    width: min(100%,230px) !important;
    height: 84px !important;
  }
  .vendorLogoSALESFORCE img {
    width: min(100%,230px) !important;
    height: 94px !important;
  }
}
.accessibilityWidget .accessTools {
  position: static;
  inset: auto;
  display: grid;
  flex-wrap: initial;
  justify-content: initial;
  width: min(360px,calc(100vw - 2rem));
  max-width: none;
  max-height: min(620px,calc(100vh - 6rem));
  padding: 1rem;
}
.readableSpacing p,.readableSpacing li {
  line-height: 1.8 !important;
  letter-spacing: .04em !important;
  word-spacing: .12em !important;
}
.readableSpacing p+p {
  margin-top: 1.5em !important;
}
.officialTechGrid {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
}
.officialTechMark {
  min-width: 0;
  min-height: 180px;
  background: #fff;
  display: grid;
  place-items: center;
  padding: 2rem;
  text-decoration: none;
  transition: transform .25s,background .25s,box-shadow .25s;
}
.officialTechMark:hover,.officialTechMark:focus-visible {
  position: relative;
  z-index: 1;
  background: var(--mist);
  transform: translateY(-4px);
  box-shadow: 0 14px 30px rgba(3,23,34,.12);
}
.officialTechMark img {
  display: block;
  width: 100% !important;
  max-width: 210px !important;
  height: 82px !important;
  object-fit: contain !important;
  object-position: center !important;
  mix-blend-mode: multiply;
}
.officialTechMark .vendorVector {
  justify-content: center;
}
.officialTechMark .vendorVector svg {
  width: 76px;
  height: 76px;
}
.officialTechMark .vendorMonogram {
  border: 0;
  background: transparent;
  width: auto;
  height: auto;
  white-space: nowrap;
}
.partnerLead>p {
  max-width: 620px;
  color: #5b737c;
  line-height: 1.7;
  margin-top: 1.25rem;
}
@media (max-width:900px) {
  .officialTechGrid {
    grid-template-columns: repeat(2,1fr);
  }
}
@media (max-width:560px) {
  .officialTechGrid {
    grid-template-columns: 1fr;
  }
  .officialTechMark {
    min-height: 150px;
  }
  .accessibilityWidget .accessTools {
    width: calc(100vw - 1.5rem);
    max-height: calc(100vh - 6rem);
  }
  .accessLauncher b {
    display: none;
  }
}
.trainingApp,.curatorShell,.adminShell {
  --portal-type-body: clamp(.95rem,.9rem + .12vw,1.05rem);
  --portal-type-small: clamp(.72rem,.69rem + .08vw,.8rem);
  --portal-type-title: clamp(1.65rem,1.35rem + 1vw,2.55rem);
}
.trainingApp p,.curatorShell p,.adminShell p,
.trainingApp input,.trainingApp select,.trainingApp textarea,
.curatorShell input,.curatorShell select,.curatorShell textarea,
.adminShell input,.adminShell select,.adminShell textarea {
  font-size: var(--portal-type-body);
  line-height: 1.55;
}
.trainingApp h2,.curatorShell h2,.adminShell h2 {
  font-size: var(--portal-type-title);
  line-height: 1.08;
  letter-spacing: -.035em;
}
.trainingApp span,.trainingApp small,.curatorShell span,.curatorShell small,.adminShell span,.adminShell small {
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}
.portalTabs {
  position: sticky;
  top: 0;
  z-index: 30;
  display: flex;
  align-items: center;
  gap: .35rem;
  width: min(100% - 3rem,1480px);
  margin: 0 auto 1.5rem;
  padding: .45rem;
  overflow-x: auto;
  white-space: nowrap;
  border: 1px solid rgba(9,55,72,.1);
  border-radius: 1.1rem;
  background: rgba(248,252,253,.92);
  box-shadow: 0 16px 38px rgba(6,31,43,.08);
  backdrop-filter: blur(18px);
}
.portalTabs button,.portalTabs a {
  flex: 0 0 auto;
  border: 0;
  border-radius: .78rem;
  padding: .78rem 1rem;
  color: #365765;
  background: transparent;
  font: 750 .78rem/1.1 inherit;
  letter-spacing: .015em;
  text-decoration: none;
  cursor: pointer;
  transition: .22s ease;
}
.portalTabs button:hover,.portalTabs a:hover {
  color: #062633;
  background: #e9f5f8;
  transform: translateY(-1px);
}
.portalTabs button[aria-selected=true] {
  color: #fff;
  background: #092f3e;
  box-shadow: 0 8px 22px rgba(9,47,62,.2);
}
.portalTabPanel {
  animation: portalTabReveal .36s cubic-bezier(.2,.8,.2,1) both;
}
.portalTabPanel>section:first-child {
  margin-top: 0;
}
.portalQuickActions button {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  width: 100%;
  padding: 1.25rem;
  border: 1px solid rgba(105,194,230,.18);
  background: rgba(255,255,255,.04);
  color: inherit;
  cursor: pointer;
}
.portalQuickActions button span {
  opacity: .72;
  margin-top: .35rem;
}
.portalPrimaryAction,.portalEmptyState button {
  margin-top: 1rem;
}
.portalEmptyState {
  min-height: 320px;
  display: grid;
  align-content: center;
  justify-items: start;
}
.adminShell[data-active-tab] #visao-geral,
.adminShell[data-active-tab] #acessos,
.adminShell[data-active-tab] #academia-admin,
.adminShell[data-active-tab] #aprendizagem,
.adminShell[data-active-tab] #capacidades,
.adminShell[data-active-tab] #solicitacoes,
.adminShell[data-active-tab] #oportunidades,
.adminShell[data-active-tab] #roteamentos,
.adminShell[data-active-tab] #tecnologias,
.adminShell[data-active-tab] .learningCycle,
.adminShell[data-active-tab] #governanca {
  display: none;
}
.adminShell[data-active-tab=visao] #visao-geral,
.adminShell[data-active-tab=pessoas] #acessos,
.adminShell[data-active-tab=pessoas] #academia-admin,
.adminShell[data-active-tab=pessoas] #aprendizagem,
.adminShell[data-active-tab=pessoas] #capacidades,
.adminShell[data-active-tab=solicitacoes] #solicitacoes,
.adminShell[data-active-tab=oportunidades] #oportunidades,
.adminShell[data-active-tab=ecossistema] #roteamentos,
.adminShell[data-active-tab=ecossistema] #tecnologias,
.adminShell[data-active-tab=governanca] .learningCycle,
.adminShell[data-active-tab=governanca] #governanca {
  display: grid;
  animation: portalTabReveal .36s cubic-bezier(.2,.8,.2,1) both;
}
.adminShell[data-active-tab=pessoas] #acessos,
.adminShell[data-active-tab=pessoas] #academia-admin,
.adminShell[data-active-tab=pessoas] #aprendizagem,
.adminShell[data-active-tab=pessoas] #capacidades,
.adminShell[data-active-tab=solicitacoes] #solicitacoes,
.adminShell[data-active-tab=ecossistema] #roteamentos,
.adminShell[data-active-tab=ecossistema] #tecnologias {
  display: block;
}
@keyframes portalTabReveal {
  from {
    opacity: 0;
    transform: translateY(12px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@media (max-width:760px) {
  .portalTabs {
    top: .35rem;
    width: calc(100% - 1.5rem);
    margin-bottom: 1rem;
    border-radius: .9rem;
  }
  .portalTabs button,.portalTabs a {
    padding: .72rem .82rem;
    font-size: .72rem;
  }
}
@media (prefers-reduced-motion:reduce) {
  .portalTabPanel {
    animation: none;
  }
}
.vendorGrid .vendorLogo {
  box-sizing: border-box;
  width: 100%;
  height: 116px;
  min-height: 116px;
  padding: 18px 16px;
  display: grid;
  place-items: center;
  overflow: hidden;
}
.vendorGrid .vendorLogo img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: 210px !important;
  max-height: 64px !important;
  object-fit: contain !important;
  object-position: 50% 50% !important;
  transform: none !important;
  margin: auto !important;
}
.vendorGrid .vendorLogoCISCO .vendorVector {
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
}
.vendorGrid .vendorLogoCISCO .vendorVector svg {
  width: 142px !important;
  height: 82px !important;
  max-width: 100%;
  max-height: none;
  margin: auto;
}
.vendorGrid .vendorLogoCISCO {
  padding-block: 10px;
}
.vendorGrid .vendorLogoSALESFORCE {
  padding-block: 10px;
}
.vendorGrid .vendorLogoSALESFORCE img {
  width: 228px !important;
  max-width: 228px !important;
  height: 84px !important;
  max-height: 84px !important;
}
.vendorGrid .vendorLogoIBM img {
  width: 116px !important;
  max-width: 116px !important;
  height: 58px !important;
  max-height: 58px !important;
}
.vendorGrid .vendorLogoSAS img {
  width: 188px !important;
  max-width: 188px !important;
  height: 60px !important;
  max-height: 60px !important;
}
@media (max-width:760px) {
  .vendorGrid .vendorLogo {
    height: 112px;
    min-height: 112px;
    padding: 16px;
  }
  .vendorGrid .vendorLogoCISCO,
  .vendorGrid .vendorLogoSALESFORCE {
    padding-block: 10px;
  }
  .vendorGrid .vendorLogoCISCO .vendorVector svg {
    width: 132px !important;
    height: 78px !important;
  }
  .vendorGrid .vendorLogoSALESFORCE img {
    width: 212px !important;
    max-width: 212px !important;
    height: 80px !important;
    max-height: 80px !important;
  }
}
.portalCommand {
  position: relative;
  z-index: 3;
  margin: -4.2rem 5vw 0;
  padding: 1px;
  display: grid;
  grid-template-columns: 1.05fr 1.4fr;
  background: linear-gradient(125deg,rgba(105,194,230,.58),rgba(185,242,39,.36));
  box-shadow: 0 32px 80px rgba(3,28,39,.22);
  animation: portalReveal .65s both;
}
.portalCommandLead {
  padding: clamp(2rem,4vw,4.4rem);
  background: #071f2b;
  color: #fff;
}
.portalCommandLead>span,.portalRoleBrief>div>span {
  font-size: .58rem;
  letter-spacing: .15em;
  color: #71cbe9;
  font-weight: 900;
}
.portalCommandLead h2 {
  font-size: clamp(2rem,3.2vw,4rem);
  line-height: .98;
  letter-spacing: -.055em;
  margin: .9rem 0 1.3rem;
}
.portalCommandLead p {
  max-width: 560px;
  color: #b9ccd2;
  line-height: 1.72;
  font-size: .78rem;
}
.portalCommandLead button {
  margin-top: 1.3rem;
  border: 0;
  background: #b9f227;
  color: #06202b;
  padding: 1rem 1.2rem;
  display: flex;
  align-items: center;
  gap: 3rem;
  font-weight: 900;
  cursor: pointer;
  transition: transform .22s,box-shadow .22s;
}
.portalCommandLead button:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 30px rgba(185,242,39,.15);
}
.portalCommandSignals {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  background: #dbe7e9;
  gap: 1px;
}
.portalCommandSignals article {
  position: relative;
  overflow: hidden;
  background: rgba(255,255,255,.97);
  padding: 2rem 1.5rem;
  min-height: 220px;
  display: flex;
  flex-direction: column;
}
.portalCommandSignals article>span {
  font-size: .54rem;
  letter-spacing: .11em;
  color: #66808a;
  font-weight: 900;
}
.portalCommandSignals article>strong {
  font-size: clamp(2.1rem,3vw,3.8rem);
  letter-spacing: -.055em;
  margin: auto 0 .4rem;
}
.portalCommandSignals article>p {
  font-size: .64rem;
  color: #617982;
  margin: 0;
}
.portalCommandSignals article>i {
  position: absolute;
  left: 0;
  bottom: 0;
  width: var(--signal);
  height: 4px;
  background: linear-gradient(90deg,#1688b7,#b9f227);
  transition: width .7s ease;
}
.portalQuickActions {
  grid-column: 1/-1;
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 1px;
  background: #cadadd;
}
.portalQuickActions a {
  background: #f5f9fa;
  padding: 1.2rem 1.5rem;
  text-decoration: none;
  color: #153a48;
  display: grid;
  gap: .3rem;
  transition: background .22s,transform .22s;
}
.portalQuickActions a:hover {
  background: #fff;
  transform: translateY(-3px);
}
.portalQuickActions b {
  font-size: .7rem;
}
.portalQuickActions span {
  font-size: .58rem;
  color: #667f88;
}
.portalWorkHead {
  min-height: 300px;
  align-items: center;
  padding: 1rem 0 3rem;
}
.portalWorkHead>div {
  max-width: 850px;
}
.portalWorkHead h1 {
  max-width: 760px;
}
.portalWorkHead p {
  max-width: 720px;
  color: #5c747c;
  line-height: 1.7;
}
.portalRoleBrief {
  margin: 2.5rem 0 1rem;
  padding: 2.2rem;
  background: #071f2b;
  color: #fff;
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: 5vw;
  align-items: center;
  box-shadow: 0 22px 54px rgba(6,31,43,.12);
}
.portalRoleBrief h2 {
  font-size: clamp(1.8rem,3vw,3.3rem);
  line-height: 1.02;
  letter-spacing: -.05em;
  margin: .8rem 0;
}
.portalRoleBrief ol {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 1px;
  background: #315261;
}
.portalRoleBrief li {
  background: #0a2c3a;
  padding: 1.4rem;
  min-height: 155px;
  display: flex;
  flex-direction: column;
}
.portalRoleBrief li b {
  color: #69c2e6;
  font-size: .58rem;
}
.portalRoleBrief li span {
  font-weight: 900;
  margin: auto 0 .5rem;
}
.portalRoleBrief li small {
  color: #b7cbd1;
  line-height: 1.5;
}
.adminRoleBrief {
  margin-top: 2.5rem;
}
.portalWorkspaceNav {
  position: sticky;
  top: 0;
  z-index: 20;
  margin: 1rem 0;
  display: flex;
  align-items: center;
  gap: .4rem;
  padding: .65rem;
  background: rgba(238,244,245,.9);
  border: 1px solid #cbdadd;
  backdrop-filter: blur(18px);
}
.portalWorkspaceNav a {
  padding: .7rem .9rem;
  background: #fff;
  color: #214957;
  text-decoration: none;
  font-size: .62rem;
  font-weight: 900;
  border: 1px solid transparent;
}
.portalWorkspaceNav a:hover,.portalWorkspaceNav a:focus-visible {
  border-color: #69c2e6;
  color: #0f7ca6;
}
.portalWorkspaceNav span {
  margin-left: auto;
  font-size: .58rem;
  color: #64808a;
}
.curatorPriorityGrid {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 1px;
  background: #c7d8dc;
  border: 1px solid #c7d8dc;
  margin: 1rem 0;
}
.curatorPriorityGrid article {
  background: #fff;
  padding: 1.6rem;
  min-height: 180px;
  display: flex;
  flex-direction: column;
  transition: transform .25s,box-shadow .25s;
}
.curatorPriorityGrid article:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 35px rgba(6,31,43,.09);
  z-index: 1;
}
.curatorPriorityGrid span {
  font-size: .53rem;
  letter-spacing: .11em;
  color: #69818a;
  font-weight: 900;
}
.curatorPriorityGrid strong {
  font-size: 2.6rem;
  letter-spacing: -.05em;
  margin: auto 0 .4rem;
}
.curatorPriorityGrid p {
  font-size: .64rem;
  line-height: 1.55;
  color: #617983;
  margin: 0;
}
.curatorPriorityGrid .priorityAction {
  background: #b9f227;
}
.curatorPriorityGrid .priorityAction strong {
  font-size: 1.35rem;
  letter-spacing: -.025em;
}
.adminShell {
  padding-top: 2rem;
}
.adminHead nav {
  flex-wrap: wrap;
  justify-content: flex-end;
}
.adminHead nav a,.adminHead nav button {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  padding: .55rem .75rem;
  border: 1px solid #c5d6da;
  background: rgba(255,255,255,.72);
  text-decoration: none;
  cursor: pointer;
}
.adminHead small {
  display: block;
  margin-top: .7rem;
  color: #789099;
}
.adminSectionNav {
  top: .65rem;
  border: 1px solid #c8d8dc;
  box-shadow: 0 12px 32px rgba(6,31,43,.08);
  scrollbar-width: thin;
}
.adminMetrics {
  gap: 1px;
  background: #c8d8dc;
  border: 1px solid #c8d8dc;
}
.adminMetrics article {
  min-height: 185px;
}
.adminMetrics strong {
  font-size: 3.4rem;
}
.adminPanel {
  border: 1px solid rgba(194,211,216,.74);
  box-shadow: 0 8px 22px rgba(6,31,43,.035);
}
.adminTitle h2 {
  max-width: 820px;
  line-height: 1.04;
  letter-spacing: -.035em;
}
.adminTitle p {
  max-width: 820px;
  line-height: 1.7;
  color: #5d7680;
}
.trainingAdminTable {
  overflow-x: auto;
}
.trainingAdminTable>div {
  min-width: 720px;
}
.academyAdminGrid,.academyOperations {
  gap: 1px;
  background: #cbdadd;
}
.academyAdminGrid>*,.academyOperations>* {
  background: #fff;
  padding: 1.5rem;
}
@media (max-width:1050px) {
  .portalCommand {
    grid-template-columns: 1fr;
    margin-top: -2rem;
  }
  .portalCommandSignals {
    min-height: 200px;
  }
  .portalRoleBrief {
    grid-template-columns: 1fr;
  }
  .curatorPriorityGrid {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width:720px) {
  .portalCommand {
    margin: -1.5rem .75rem 0;
  }
  .portalCommandSignals,.portalQuickActions {
    grid-template-columns: 1fr;
  }
  .portalCommandSignals article {
    min-height: 145px;
  }
  .portalCommandSignals article>strong {
    margin: 1.8rem 0 .4rem;
  }
  .portalRoleBrief {
    padding: 1.3rem;
  }
  .portalRoleBrief ol {
    grid-template-columns: 1fr;
  }
  .portalRoleBrief li {
    min-height: 120px;
  }
  .curatorPriorityGrid {
    grid-template-columns: 1fr;
  }
  .portalWorkspaceNav {
    overflow: auto;
    white-space: nowrap;
  }
  .portalWorkspaceNav span {
    display: none;
  }
  .adminHead {
    display: grid;
    gap: 1.5rem;
  }
  .adminHead nav {
    justify-content: flex-start;
  }
  .adminShell {
    padding-inline: 1rem;
  }
}
@media (prefers-reduced-motion:reduce) {
  .portalCommand,.portalCommandLead button,.portalQuickActions a,.curatorPriorityGrid article {
    animation: none !important;
    transition: none !important;
  }
}
.panelLoginShell {
  min-height: 100vh;
  background: var(--ink);
  color: #fff;
  display: grid;
  grid-template-columns: 1.15fr .85fr;
}
.panelLoginBrand {
  position: relative;
  overflow: hidden;
  padding: 7vh 7vw;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background: radial-gradient(circle at 18% 85%,rgba(86,176,213,.2),transparent 28%),linear-gradient(135deg,#061f2b,#0a3141);
}
.panelLoginBrand:after {
  content: "";
  position: absolute;
  width: 620px;
  height: 620px;
  border: 1px solid rgba(111,192,223,.18);
  border-radius: 50%;
  right: -270px;
  bottom: -270px;
  box-shadow: 0 0 0 70px rgba(111,192,223,.025),0 0 0 140px rgba(111,192,223,.02);
}
.panelLoginBrand>img {
  width: min(310px,70%);
  height: auto;
  position: relative;
  z-index: 1;
}
.panelLoginBrand>div,.panelLoginBrand>ul {
  position: relative;
  z-index: 1;
}
.panelLoginBrand span,.panelLoginCard>span {
  font-size: .62rem;
  letter-spacing: .17em;
  color: #69c2e6;
  font-weight: 800;
}
.panelLoginBrand h1 {
  font-size: clamp(2.8rem,5.2vw,5.8rem);
  line-height: 1;
  letter-spacing: -.055em;
  max-width: 850px;
  margin: 1rem 0 1.5rem;
}
.panelLoginBrand p {
  color: #b5c6cc;
  max-width: 720px;
  line-height: 1.75;
}
.panelLoginBrand ul {
  list-style: none;
  padding: 0;
  display: grid;
  gap: .8rem;
  color: #c7d5da;
  font-size: .72rem;
}
.panelLoginBrand li:before {
  content: "✓";
  color: #69c2e6;
  margin-right: .65rem;
}
.panelLoginCard {
  background: #fff;
  color: var(--ink);
  align-self: center;
  margin: 5vw;
  padding: clamp(2rem,5vw,4.5rem);
  display: flex;
  flex-direction: column;
  box-shadow: 0 28px 80px rgba(0,0,0,.22);
}
.panelLoginCard h2 {
  font-size: clamp(2.2rem,4vw,4rem);
  letter-spacing: -.05em;
  line-height: 1.05;
  margin: 1rem 0;
}
.panelLoginCard p {
  color: #587079;
  line-height: 1.75;
  margin-bottom: 2rem;
}
.panelLoginCard p strong {
  color: var(--ink);
}
.panelLoginPrimary,.panelLoginSecondary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 1.2rem;
  text-decoration: none;
  font-size: .72rem;
  font-weight: 800;
}
.panelLoginPrimary {
  background: var(--blue);
  color: #fff;
}
.panelLoginSecondary {
  color: var(--blue);
  justify-content: center;
  margin-top: .6rem;
  border: 1px solid var(--line);
}
.panelLoginCard small {
  color: #789097;
  line-height: 1.6;
  margin-top: 2rem;
}
.adminHead p {
  font-size: .66rem;
  color: #607780;
  margin: .8rem 0 0;
}
.adminHead nav {
  align-items: center;
}
.adminHead nav button {
  border: 1px solid var(--blue);
  background: transparent;
  color: var(--blue);
  padding: .7rem .8rem;
  font-size: .66rem;
  font-weight: 800;
  cursor: pointer;
}
.adminSectionNav {
  position: sticky;
  top: 0;
  z-index: 20;
  background: rgba(238,244,245,.96);
  backdrop-filter: blur(12px);
  display: flex;
  align-items: center;
  gap: .35rem;
  padding: 1rem 0;
  border-bottom: 1px solid #cddadd;
  overflow-x: auto;
}
.adminSectionNav a {
  white-space: nowrap;
  color: #526a73;
  text-decoration: none;
  padding: .65rem .75rem;
  font-size: .62rem;
  font-weight: 800;
}
.adminSectionNav a:hover,.adminSectionNav a:focus-visible {
  background: #fff;
  color: var(--blue);
}
.adminSectionNav span {
  margin-left: auto;
  white-space: nowrap;
  font-size: .58rem;
  color: #6a8189;
}
.adminTitleRow {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 2rem;
}
.adminTitleRow label {
  display: grid;
  gap: .45rem;
  min-width: 220px;
  color: #526a73;
  font-size: .61rem;
  font-weight: 800;
}
.adminTitleRow select,.adminTitleRow input {
  border: 1px solid #cddadd;
  background: #f5f8f9;
  padding: .75rem;
  font: inherit;
  color: var(--ink);
}
html {
  scroll-padding-top: 90px;
}
@media (max-width:900px) {
  .panelLoginShell {
    grid-template-columns: 1fr;
  }
  .panelLoginBrand {
    min-height: 55vh;
    gap: 3rem;
  }
  .panelLoginCard {
    margin: 0;
    padding: 3rem 1.5rem;
  }
  .adminTitleRow {
    display: grid;
  }
  .adminSectionNav span {
    display: none;
  }
}
@media (max-width:560px) {
  .panelLoginBrand {
    padding: 3rem 1.5rem;
  }
  .panelLoginBrand h1 {
    font-size: 2.7rem;
  }
  .adminHead nav {
    flex-wrap: wrap;
  }
  .adminSectionNav {
    margin-inline: -1.25rem;
    padding-inline: 1.25rem;
  }
}
.academyAdmin {
  position: relative;
  overflow: hidden;
}
.academyAdmin:before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 5px;
  background: linear-gradient(var(--blue),#67d8cf);
}
.academyAdmin .adminTitle p {
  max-width: 760px;
  color: #607780;
}
.academyQuickStats {
  display: flex;
  gap: 1rem;
}
.academyQuickStats b,.academyMentorMetrics b {
  display: grid;
  min-width: 90px;
  padding: 1rem;
  background: #e9f2f4;
  color: var(--blue);
  font-size: 1.4rem;
}
.academyQuickStats small,.academyMentorMetrics small {
  font-size: .55rem;
  text-transform: uppercase;
  color: #607780;
  margin-top: .25rem;
}
.academyAdminGrid {
  display: grid;
  grid-template-columns: minmax(330px,.8fr) minmax(420px,1.2fr);
  gap: 1.25rem;
  margin-top: 1.5rem;
}
.academyCreateForm,.academyRoster,.academyMentorPanel {
  background: #f7fafb;
  border: 1px solid #d7e2e5;
  padding: 1.4rem;
}
.academyCreateForm {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .9rem;
}
.academyCreateForm>div,.academyCreateForm>button,.academyCreateForm>.academyCheck {
  grid-column: 1/-1;
}
.academyCreateForm h3,.academyRoster h3,.academyMentorPanel h3 {
  font-size: 1.5rem;
  margin: .25rem 0;
}
.academyCreateForm p {
  font-size: .72rem;
  color: #607780;
  line-height: 1.6;
}
.academyCreateForm label,.academyMentorPanel label {
  display: grid;
  gap: .35rem;
  font-size: .61rem;
  font-weight: 800;
  color: #536b74;
}
.academyCreateForm input,.academyCreateForm select,.academyMentorPanel textarea {
  border: 1px solid #cbd9dd;
  background: #fff;
  padding: .72rem;
  color: var(--ink);
  font: inherit;
}
.academyCreateForm button,.academyMentorPanel button {
  border: 0;
  background: var(--blue);
  color: #fff;
  padding: .85rem 1rem;
  font-weight: 800;
  cursor: pointer;
}
.academyCheck {
  display: flex !important;
  grid-template-columns: auto 1fr !important;
  align-items: center;
}
.academyRoster {
  display: grid;
  align-content: start;
  gap: .65rem;
  max-height: 650px;
  overflow: auto;
}
.academyRoster article {
  background: #fff;
  border: 1px solid #dce6e8;
  padding: .9rem;
}
.academyRoster article[data-status=suspended] {
  opacity: .62;
}
.academyLearnerOpen {
  width: 100%;
  border: 0;
  background: transparent;
  display: flex;
  justify-content: space-between;
  align-items: start;
  text-align: left;
  cursor: pointer;
  color: inherit;
}
.academyLearnerOpen span {
  display: grid;
  gap: .2rem;
}
.academyLearnerOpen small,.academyRoster article>small {
  color: #607780;
}
.academyLearnerOpen b {
  font-size: 1.1rem;
  color: var(--blue);
}
.academyProgress {
  height: 5px;
  background: #e5edef;
  margin: .7rem 0;
}
.academyProgress i {
  display: block;
  height: 100%;
  background: #27b7ab;
}
.academyMentorPanel {
  margin-top: 1.25rem;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 1rem;
}
.academyMentorMetrics {
  display: flex;
  gap: .65rem;
}
.academyMentorPanel form {
  grid-column: 1/-1;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: .75rem;
  align-items: end;
}
.academyMentorPanel textarea {
  min-height: 84px;
  resize: vertical;
}
.academyMentorActions {
  grid-column: 1/-1;
  display: flex;
  gap: .65rem;
}
.academyMentorActions button:last-child {
  background: #dce7e9;
  color: #29424a;
}
@media (max-width:980px) {
  .academyAdminGrid {
    grid-template-columns: 1fr;
  }
  .academyMentorPanel {
    grid-template-columns: 1fr;
  }
  .academyMentorMetrics {
    flex-wrap: wrap;
  }
  .academyMentorPanel form {
    grid-template-columns: 1fr;
  }
}
@media (max-width:560px) {
  .academyCreateForm {
    grid-template-columns: 1fr;
  }
  .academyCreateForm>* {
    grid-column: 1 !important;
  }
  .academyQuickStats {
    width: 100%;
  }
  .academyQuickStats b {
    flex: 1;
  }
  .academyMentorMetrics b {
    flex: 1;
  }
  .academyMentorActions {
    display: grid;
  }
}
.trainingLoginShell {
  min-height: 100vh;
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  background: #061f2b;
  color: #fff;
  position: relative;
  overflow: hidden;
}
.trainingLoginShell:before,.trainingLoginShell:after {
  content: "";
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  filter: blur(2px);
  opacity: .42;
}
.trainingLoginShell:before {
  width: 38vw;
  height: 38vw;
  left: -12vw;
  bottom: -18vw;
  border: 1px solid rgba(105,194,230,.38);
  box-shadow: 0 0 0 4vw rgba(105,194,230,.025),0 0 0 9vw rgba(105,194,230,.02);
  animation: loginOrbit 18s linear infinite;
}
.trainingLoginShell:after {
  width: 22vw;
  height: 22vw;
  right: 28vw;
  top: -11vw;
  background: radial-gradient(circle,rgba(105,194,230,.24),transparent 68%);
  animation: loginFloat 9s ease-in-out infinite;
}
.trainingLoginBrand {
  padding: 7vh 7vw;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background: radial-gradient(circle at 20% 85%,rgba(86,176,213,.2),transparent 30%),linear-gradient(135deg,#061f2b,#0b394a);
  position: relative;
  z-index: 1;
}
.trainingLoginBrand:after {
  content: "ONNI.HEALTH  •  INTELIGÊNCIA QUE CUIDA  •  EXPERIÊNCIA QUE TRANSFORMA  •  ";
  position: absolute;
  left: 7vw;
  right: 0;
  bottom: 2.2vh;
  white-space: nowrap;
  color: rgba(105,194,230,.23);
  font-size: .58rem;
  letter-spacing: .22em;
  animation: loginTicker 18s linear infinite;
}
.trainingLoginBrand img {
  width: min(300px,70%);
  animation: loginBreathe 6s ease-in-out infinite;
}
.trainingLoginBrand span,.trainingLoginCard>span,.trainingApp>section>div>span,.trainingSectionHead span {
  font-size: .62rem;
  letter-spacing: .16em;
  color: #69c2e6;
  font-weight: 800;
}
.trainingLoginBrand h1 {
  font-size: clamp(2.8rem,5vw,5.5rem);
  line-height: 1;
  letter-spacing: -.055em;
  max-width: 820px;
}
.trainingLoginBrand p {
  max-width: 690px;
  color: #bed0d6;
  line-height: 1.75;
}
.trainingLoginBrand small {
  color: #85a2ac;
}
.trainingLoginCard {
  align-self: center;
  margin: 5vw;
  padding: clamp(2rem,5vw,4rem);
  background: rgba(255,255,255,.97);
  color: var(--ink);
  position: relative;
  z-index: 2;
  box-shadow: 0 30px 90px rgba(0,0,0,.25);
  animation: contentIn .65s ease both;
}
.trainingLoginCard h2 {
  font-size: clamp(2.3rem,4vw,4rem);
  letter-spacing: -.05em;
  margin: 1rem 0;
}
.trainingLoginCard>p {
  color: #607780;
  line-height: 1.7;
}
.trainingLoginCard form {
  display: grid;
  gap: 1rem;
  margin: 2rem 0;
}
.trainingLoginCard label {
  display: grid;
  gap: .5rem;
  font-size: .65rem;
  font-weight: 800;
}
.trainingLoginCard input {
  border: 1px solid #cddadd;
  background: #f4f8f9;
  padding: 1rem;
  font: inherit;
  transition: border-color .2s,box-shadow .2s,transform .2s;
}
.trainingLoginCard input:focus {
  outline: 0;
  border-color: #2999c7;
  box-shadow: 0 0 0 4px rgba(41,153,199,.13);
  transform: translateY(-1px);
}
.trainingLoginCard button {
  border: 0;
  background: var(--blue);
  color: #fff;
  padding: 1rem 1.2rem;
  display: flex;
  justify-content: space-between;
  font-weight: 800;
  cursor: pointer;
  transition: transform .2s,box-shadow .2s;
}
.trainingLoginCard button:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(23,110,152,.24);
}
.trainingLoginCard>a {
  display: block;
  text-align: center;
  color: var(--blue);
  font-size: .68rem;
  font-weight: 800;
}
.trainingLoginStatus {
  padding: .8rem;
  background: #e9f4f8 !important;
  color: #176e98 !important;
}
@keyframes loginOrbit {
  to {
    transform: rotate(360deg);
  }
}
@keyframes loginFloat {
  0%,100% {
    transform: translate3d(0,0,0) scale(.95);
  }
  50% {
    transform: translate3d(-2vw,3vh,0) scale(1.06);
  }
}
@keyframes loginBreathe {
  0%,100% {
    opacity: .86;
    transform: translateY(0);
  }
  50% {
    opacity: 1;
    transform: translateY(-6px);
  }
}
@keyframes loginTicker {
  to {
    transform: translateX(-10%);
  }
}
.trainingApp {
  min-height: 100vh;
  background: #edf4f5;
  color: var(--ink);
}
.trainingHeader {
  height: 84px;
  padding: 0 5vw;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #061f2b;
  color: #fff;
  position: sticky;
  top: 0;
  z-index: 30;
}
.trainingHeader img {
  width: 170px;
}
.trainingHeader nav {
  display: flex;
  gap: 1.4rem;
}
.trainingHeader a {
  color: inherit;
  text-decoration: none;
  font-size: .67rem;
  font-weight: 800;
}
.trainingHeader button {
  border: 1px solid #69c2e6;
  background: transparent;
  color: #fff;
  padding: .65rem 1rem;
  font-weight: 800;
  cursor: pointer;
}
.trainingHero {
  min-height: 650px;
  padding: 8vh 7vw;
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  align-items: center;
  background: #061f2b;
  color: #fff;
  overflow: hidden;
}
.trainingHero h1 {
  font-size: clamp(3.2rem,6.2vw,7rem);
  line-height: .96;
  letter-spacing: -.06em;
  margin: 1rem 0 2rem;
}
.trainingHero p {
  max-width: 700px;
  color: #bdd0d6;
  line-height: 1.8;
}
.trainingHero a {
  display: inline-block;
  margin-top: 1.5rem;
  background: #69c2e6;
  color: #06202b;
  padding: 1rem 1.3rem;
  text-decoration: none;
  font-size: .7rem;
  font-weight: 900;
}
.trainingHero img {
  width: 100%;
  filter: saturate(.8);
  mix-blend-mode: screen;
}
.trainingJourney {
  display: grid;
  grid-template-columns: repeat(5,1fr);
  padding: 0 5vw;
  background: #0a3141;
  color: #fff;
}
.trainingJourney article {
  padding: 2rem 1.3rem;
  border-right: 1px solid rgba(255,255,255,.12);
}
.trainingJourney span {
  color: #69c2e6;
  font-size: .64rem;
  font-weight: 800;
}
.trainingJourney h2 {
  font-size: 1rem;
  margin: 1.5rem 0 .8rem;
}
.trainingJourney p {
  font-size: .68rem;
  line-height: 1.6;
  color: #b8cbd1;
}
.trainingLibrary {
  padding: 8rem 6vw;
}
.trainingSectionHead {
  display: flex;
  justify-content: space-between;
  gap: 3rem;
  align-items: end;
  margin-bottom: 3rem;
}
.trainingSectionHead h2 {
  font-size: clamp(2.8rem,5vw,5rem);
  max-width: 900px;
  letter-spacing: -.055em;
  margin: .8rem 0 0;
}
.trainingSectionHead label {
  display: grid;
  gap: .5rem;
  font-size: .62rem;
  font-weight: 800;
  min-width: 260px;
}
.trainingSectionHead input {
  padding: 1rem;
  border: 1px solid #c8d6d9;
  background: #fff;
}
.trainingMaterials {
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: 1rem;
}
.trainingMaterials>article {
  background: #fff;
  padding: 2.3rem;
  border-top: 5px solid var(--blue);
  display: flex;
  flex-direction: column;
  min-height: 390px;
}
.trainingMaterials>article>div {
  display: flex;
  justify-content: space-between;
}
.trainingMaterials>article>div span {
  font-size: 2rem;
  color: var(--blue);
  font-weight: 800;
}
.trainingMaterials small,.trainingMaterials>article>p:first-of-type {
  font-size: .6rem;
  letter-spacing: .08em;
  color: #5e7881;
  font-weight: 800;
}
.trainingMaterials h3 {
  font-size: 2rem;
  letter-spacing: -.035em;
}
.trainingMaterials>article>p {
  color: #5c737b;
  line-height: 1.7;
}
.trainingMaterials footer {
  display: flex;
  gap: .6rem;
  margin-top: auto;
}
.trainingMaterials button,.trainingMaterials a {
  border: 0;
  background: var(--blue);
  color: #fff;
  padding: .8rem 1rem;
  text-decoration: none;
  font-size: .65rem;
  font-weight: 800;
  cursor: pointer;
}
.trainingMaterials a {
  background: #e6eef0;
  color: var(--ink);
}
.trainingReader {
  position: fixed;
  inset: 0;
  z-index: 100;
}
.trainingBackdrop {
  position: absolute;
  inset: 0;
  border: 0;
  background: rgba(2,20,29,.72);
}
.trainingReader>section {
  position: absolute;
  inset: 3vh 3vw;
  background: #eef4f5;
  overflow: auto;
}
.trainingReader>section>header {
  position: sticky;
  top: 0;
  z-index: 2;
  display: flex;
  justify-content: space-between;
  align-items: start;
  padding: 1.5rem 2rem;
  background: #061f2b;
  color: #fff;
}
.trainingReader header span {
  font-size: .6rem;
  color: #69c2e6;
  font-weight: 800;
}
.trainingReader header h2 {
  font-size: 2rem;
  margin: .5rem 0;
}
.trainingReader header button {
  border: 0;
  background: transparent;
  color: #fff;
  font-size: 2rem;
}
.trainingReaderTools {
  position: sticky;
  top: 122px;
  z-index: 2;
  display: flex;
  gap: 1rem;
  padding: 1rem 2rem;
  background: #fff;
  border-bottom: 1px solid #ccdadd;
}
.trainingReaderTools input {
  flex: 1;
  padding: .8rem;
  border: 1px solid #cbdadd;
}
.trainingReaderTools a {
  background: var(--blue);
  color: #fff;
  padding: .8rem 1rem;
  text-decoration: none;
  font-size: .65rem;
  font-weight: 800;
}
.trainingPages {
  max-width: 1050px;
  margin: auto;
  padding: 2rem;
}
.trainingPages article {
  background: #fff;
  padding: 2.5rem;
  margin-bottom: 1rem;
}
.trainingPages article>span {
  font-size: .58rem;
  color: var(--blue);
  font-weight: 800;
}
.trainingPages h3 {
  font-size: 1.8rem;
}
.trainingPages pre {
  white-space: pre-wrap;
  font: 400 .78rem/1.75 Montserrat,sans-serif;
  color: #405a63;
}
@media (max-width:900px) {
  .trainingLoginShell,.trainingHero {
    grid-template-columns: 1fr;
  }
  .trainingLoginBrand {
    min-height: 56vh;
    gap: 3rem;
  }
  .trainingLoginCard {
    margin: 0;
  }
  .trainingHeader nav {
    display: none;
  }
  .trainingJourney {
    grid-template-columns: 1fr 1fr;
  }
  .trainingSectionHead {
    display: grid;
    align-items: start;
  }
  .trainingMaterials {
    grid-template-columns: 1fr;
  }
  .trainingHero img {
    max-height: 420px;
    object-fit: contain;
  }
  .trainingReader>section {
    inset: 0;
  }
  .trainingReaderTools {
    top: 120px;
  }
  .trainingPages {
    padding: 1rem;
  }
  .trainingPages article {
    padding: 1.5rem;
  }
}
@media (max-width:560px) {
  .trainingLoginBrand {
    padding: 3rem 1.5rem;
  }
  .trainingLoginBrand h1 {
    font-size: 2.8rem;
  }
  .trainingHeader {
    padding: 0 1rem;
  }
  .trainingJourney {
    grid-template-columns: 1fr;
  }
  .trainingLibrary {
    padding: 5rem 1.25rem;
  }
  .trainingMaterials>article {
    padding: 1.5rem;
  }
}
.trainingHeaderActions {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.trainingHeaderActions>span {
  font-size: .58rem;
  letter-spacing: .08em;
  color: #9fc5d2;
  font-weight: 800;
}
.trainingBrand {
  display: flex;
  align-items: center;
}
.trainingHero {
  position: relative;
  min-height: calc(100vh - 84px);
  display: flex;
  align-items: center;
  padding: 8vh 7vw;
  isolation: isolate;
  background: #031824;
  overflow: hidden;
}
.trainingHeroArt {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  z-index: -3;
  filter: none;
  mix-blend-mode: normal;
}
.trainingHeroShade {
  position: absolute;
  inset: 0;
  z-index: -2;
  background: linear-gradient(90deg,rgba(3,24,36,.98) 0%,rgba(3,24,36,.91) 34%,rgba(3,24,36,.42) 62%,rgba(3,24,36,.1) 100%),linear-gradient(0deg,rgba(3,24,36,.75),transparent 35%);
}
.trainingHeroContent {
  width: min(720px,55vw);
  position: relative;
  z-index: 1;
}
.trainingHeroContent>span,.trainingRole span,.trainingPath>div>span,.trainingPrinciples span {
  font-size: .62rem;
  letter-spacing: .17em;
  color: #69c2e6;
  font-weight: 900;
}
.trainingHeroContent h1 {
  font-size: clamp(4rem,7.2vw,8.5rem);
  line-height: .88;
  letter-spacing: -.065em;
  margin: 1.1rem 0 2rem;
}
.trainingHeroContent h1 em {
  font-style: normal;
  color: #b9f227;
}
.trainingHeroContent p {
  font-size: clamp(.85rem,1.1vw,1.05rem);
  max-width: 650px;
  color: #d2e1e5;
  line-height: 1.85;
}
.trainingHeroActions {
  display: flex;
  gap: .65rem;
  margin-top: 2rem;
}
.trainingHeroActions a,.trainingHeroActions button {
  border: 0;
  padding: 1rem 1.25rem;
  text-decoration: none;
  font-size: .68rem;
  font-weight: 900;
  cursor: pointer;
}
.trainingHeroActions a {
  background: #69c2e6;
  color: #06202b;
}
.trainingHeroActions button {
  background: rgba(255,255,255,.1);
  color: #fff;
  border: 1px solid rgba(255,255,255,.25);
}
.trainingHeroActions button span {
  margin-left: 1rem;
}
.trainingHeroCard {
  position: absolute;
  right: 5vw;
  bottom: 5vh;
  width: 230px;
  padding: 1.4rem;
  background: rgba(4,31,44,.86);
  border: 1px solid rgba(105,194,230,.28);
  backdrop-filter: blur(18px);
  color: #fff;
}
.trainingHeroCard>span {
  font-size: .55rem;
  letter-spacing: .14em;
  color: #9bc2ce;
}
.trainingHeroCard strong {
  display: block;
  font-size: 3rem;
  letter-spacing: -.06em;
  margin: .4rem 0;
}
.trainingHeroCard>div {
  height: 3px;
  background: rgba(255,255,255,.15);
}
.trainingHeroCard i {
  display: block;
  height: 100%;
  background: #b9f227;
}
.trainingHeroCard p {
  font-size: .58rem;
  color: #a8c0c8;
  margin: .8rem 0 0;
}
.trainingRole {
  padding: 8rem 6vw 3rem;
  background: #edf4f5;
}
.trainingIntro {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem 6rem;
  align-items: end;
}
.trainingIntro h2 {
  font-size: clamp(3rem,5.6vw,6rem);
  line-height: .98;
  letter-spacing: -.06em;
  margin: 1rem 0;
  max-width: 980px;
}
.trainingIntro p {
  grid-column: 2;
  grid-row: 1/3;
  color: #577079;
  line-height: 1.8;
  max-width: 520px;
}
.trainingRoleGrid {
  display: grid;
  grid-template-columns: repeat(5,1fr);
  margin-top: 4rem;
  border-top: 1px solid #bdced3;
}
.trainingRoleGrid button {
  min-height: 180px;
  text-align: left;
  padding: 1.5rem;
  border: 0;
  border-right: 1px solid #bdced3;
  background: transparent;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  color: var(--ink);
  transition: .25s;
}
.trainingRoleGrid button:first-child {
  border-left: 1px solid #bdced3;
}
.trainingRoleGrid button span {
  font-size: .78rem;
  letter-spacing: 0;
  color: inherit;
}
.trainingRoleGrid button small {
  font-size: .66rem;
  line-height: 1.6;
  color: #647c84;
}
.trainingRoleGrid button.active {
  background: #0a3141;
  color: #fff;
  transform: translateY(-10px);
}
.trainingRoleGrid button.active small {
  color: #bdd0d6;
}
.trainingPath {
  padding: 3rem 6vw 7rem;
  background: #edf4f5;
  display: grid;
  grid-template-columns: .75fr 1.25fr;
  gap: 6vw;
}
.trainingPath>div h2 {
  font-size: 2.6rem;
  letter-spacing: -.045em;
  margin: 1rem 0;
}
.trainingPath>div p {
  color: #607780;
  line-height: 1.7;
}
.trainingPath ol {
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 1px solid #bdced3;
}
.trainingPath li {
  border-bottom: 1px solid #bdced3;
}
.trainingPath li button {
  width: 100%;
  border: 0;
  background: transparent;
  padding: 1.2rem .5rem;
  display: grid;
  grid-template-columns: 42px 1fr 32px;
  align-items: center;
  text-align: left;
  cursor: pointer;
  color: var(--ink);
}
.trainingPath li button>span {
  font-size: .62rem;
  color: #5f7b85;
}
.trainingPath li div {
  display: flex;
  flex-direction: column;
  gap: .25rem;
}
.trainingPath li small {
  font-size: .54rem;
  letter-spacing: .1em;
  color: #65808a;
  text-transform: uppercase;
}
.trainingPath li strong {
  font-size: .84rem;
}
.trainingPath li i {
  font-style: normal;
  font-size: 1rem;
  color: var(--blue);
}
.trainingPath li.done {
  background: rgba(185,242,39,.13);
}
.trainingPath li.done i {
  color: #4a7511;
}
.trainingJourney {
  padding: 0 5vw;
}
.trainingJourney article {
  min-height: 190px;
  display: flex;
  flex-direction: column;
}
.trainingJourney h2 {
  font-size: 1.15rem;
}
.trainingJourney p {
  margin-top: auto;
}
.trainingSectionHead>div>p {
  max-width: 760px;
  color: #607780;
  line-height: 1.75;
}
.trainingMaterials>article {
  border-top-color: var(--accent);
  min-height: 460px;
  position: relative;
}
.trainingMaterials>article.completed:after {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid #8faf41;
  pointer-events: none;
}
.trainingMaterialTop {
  align-items: start;
}
.trainingMaterials dl {
  margin: 1.2rem 0 2rem;
  padding-top: 1rem;
  border-top: 1px solid #d9e4e6;
}
.trainingMaterials dt {
  font-size: .55rem;
  letter-spacing: .1em;
  color: #708890;
  font-weight: 900;
  text-transform: uppercase;
}
.trainingMaterials dd {
  font-size: .68rem;
  line-height: 1.65;
  color: #526b74;
  margin: .5rem 0;
}
.trainingMaterials footer {
  padding: 0;
}
.trainingMaterials footer button {
  display: flex;
  justify-content: space-between;
  flex: 1;
}
.trainingMaterials footer a {
  width: auto;
  min-width: 88px;
  padding-inline: 1rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: keep-all;
  flex: 0 0 auto;
}
.trainingPrinciples {
  padding: 8rem 6vw;
  background: #061f2b;
  color: #fff;
  display: grid;
  grid-template-columns: .7fr 1.3fr;
  gap: 7vw;
  align-items: end;
}
.trainingPrinciples h2 {
  font-size: clamp(2.5rem,4.2vw,5rem);
  line-height: 1;
  letter-spacing: -.055em;
}
.trainingPrinciples blockquote {
  font-size: clamp(1.8rem,3vw,3.8rem);
  line-height: 1.16;
  letter-spacing: -.04em;
  margin: 0;
  color: #dce9ec;
}
.trainingReader {
  background: #061f2b;
}
.trainingReaderShell {
  position: absolute;
  inset: 0;
  background: #edf4f5;
  display: grid;
  grid-template-columns: 360px 1fr;
  overflow: hidden;
}
.trainingReaderIndex {
  background: #071f2a;
  color: #fff;
  padding: 2rem 1.4rem;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.trainingReaderIndex>div>span {
  font-size: .55rem;
  color: #69c2e6;
  letter-spacing: .12em;
  font-weight: 900;
}
.trainingReaderIndex h2 {
  font-size: 2rem;
  line-height: 1.02;
  letter-spacing: -.04em;
  margin: .8rem 0;
}
.trainingReaderIndex p {
  font-size: .64rem;
  line-height: 1.65;
  color: #a9c0c8;
}
.trainingReaderIndex label {
  display: grid;
  gap: .45rem;
  font-size: .55rem;
  font-weight: 900;
  color: #b8cbd1;
  margin: 1.2rem 0;
}
.trainingReaderIndex input {
  padding: .8rem;
  border: 1px solid #325362;
  background: #0d3040;
  color: #fff;
}
.trainingReaderIndex nav {
  overflow: auto;
  display: flex;
  flex-direction: column;
  border-top: 1px solid #294957;
}
.trainingReaderIndex nav button {
  border: 0;
  border-bottom: 1px solid #294957;
  background: transparent;
  color: #b9cdd3;
  padding: .75rem 0;
  text-align: left;
  font-size: .62rem;
  line-height: 1.35;
  display: grid;
  grid-template-columns: 30px 1fr;
  cursor: pointer;
}
.trainingReaderIndex nav button span {
  color: #6faec7;
}
.trainingReaderIndex nav button.active {
  color: #fff;
  font-weight: 900;
}
.trainingReaderIndex>a {
  color: #69c2e6;
  text-decoration: none;
  font-size: .62rem;
  font-weight: 900;
  margin-top: 1.2rem;
  display: flex;
  justify-content: space-between;
}
.trainingFocus {
  min-width: 0;
  display: grid;
  grid-template-rows: auto 1fr auto;
  height: 100vh;
  background: #f5f8f8;
}
.trainingFocus>header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.1rem 2rem;
  border-bottom: 1px solid #cedcdf;
  background: #fff;
}
.trainingFocus>header>div {
  width: min(520px,70%);
}
.trainingFocus>header span {
  font-size: .55rem;
  letter-spacing: .1em;
  color: #55737d;
  font-weight: 900;
}
.trainingFocus>header div div {
  height: 3px;
  background: #e1e9eb;
  margin-top: .55rem;
}
.trainingFocus>header i {
  display: block;
  height: 100%;
  background: #1f80ad;
}
.trainingFocus>header button {
  border: 0;
  background: transparent;
  font-size: 2rem;
  color: #31505b;
  cursor: pointer;
}
.trainingFocusBody {
  overflow: auto;
  padding: 7vh max(6vw,3rem);
  max-width: 1100px;
}
.trainingFocusBody>span {
  font-size: .58rem;
  color: #1f80ad;
  letter-spacing: .12em;
  font-weight: 900;
}
.trainingFocusBody>h2 {
  font-size: clamp(3rem,5.3vw,6.2rem);
  line-height: .95;
  letter-spacing: -.06em;
  margin: 1rem 0 3rem;
  max-width: 900px;
}
.trainingReadable {
  max-width: 820px;
}
.trainingReadable p {
  font-size: clamp(.88rem,1vw,1.02rem);
  line-height: 1.85;
  color: #38545e;
  margin: .8rem 0;
}
.trainingReadable h3 {
  font-size: .62rem;
  letter-spacing: .13em;
  color: #1f80ad;
  margin: 2.7rem 0 1rem;
  padding-top: 1.4rem;
  border-top: 1px solid #bfcfd3;
}
.trainingFocus>footer {
  padding: 1rem 2rem;
  border-top: 1px solid #cedcdf;
  background: #fff;
  display: flex;
  justify-content: space-between;
}
.trainingFocus>footer button {
  border: 1px solid #b8cbd0;
  background: #fff;
  color: #183844;
  padding: .8rem 1rem;
  font-weight: 900;
  cursor: pointer;
}
.trainingFocus>footer button:disabled {
  opacity: .35;
}
.trainingFocus>footer .completeAction {
  background: #b9f227;
  border-color: #b9f227;
}
@media (max-width:1000px) {
  .trainingHeader nav {
    display: none;
  }
  .trainingHeroContent {
    width: 75vw;
  }
  .trainingHeroCard {
    display: none;
  }
  .trainingIntro {
    display: block;
  }
  .trainingIntro p {
    max-width: 700px;
  }
  .trainingRoleGrid {
    grid-template-columns: 1fr 1fr;
  }
  .trainingPath {
    grid-template-columns: 1fr;
  }
  .trainingReaderShell {
    grid-template-columns: 280px 1fr;
  }
  .trainingFocusBody {
    padding: 5vh 4vw;
  }
}
@media (max-width:700px) {
  .trainingHeaderActions>span {
    display: none;
  }
  .trainingHero {
    min-height: 760px;
    padding: 5rem 1.5rem;
    align-items: flex-end;
  }
  .trainingHeroArt {
    object-position: 68% center;
  }
  .trainingHeroShade {
    background: linear-gradient(0deg,rgba(3,24,36,.99) 0%,rgba(3,24,36,.88) 52%,rgba(3,24,36,.22) 100%);
  }
  .trainingHeroContent {
    width: 100%;
  }
  .trainingHeroContent h1 {
    font-size: 3.7rem;
  }
  .trainingHeroActions {
    flex-direction: column;
  }
  .trainingRole {
    padding: 5rem 1.25rem 2rem;
  }
  .trainingRoleGrid {
    grid-template-columns: 1fr;
    margin-top: 2rem;
  }
  .trainingRoleGrid button {
    min-height: 130px;
    border-left: 1px solid #bdced3;
  }
  .trainingRoleGrid button.active {
    transform: none;
  }
  .trainingPath {
    padding: 2rem 1.25rem 5rem;
  }
  .trainingPrinciples {
    grid-template-columns: 1fr;
    padding: 5rem 1.25rem;
  }
  .trainingReaderShell {
    display: block;
    overflow: auto;
  }
  .trainingReaderIndex {
    height: auto;
    max-height: none;
    padding: 1.5rem;
  }
  .trainingReaderIndex nav {
    max-height: 210px;
  }
  .trainingFocus {
    height: auto;
    min-height: 100vh;
  }
  .trainingFocusBody {
    padding: 3rem 1.5rem;
  }
  .trainingFocusBody>h2 {
    font-size: 3rem;
  }
  .trainingFocus>footer {
    position: sticky;
    bottom: 0;
    padding: .8rem;
  }
  .trainingFocus>footer button {
    font-size: .62rem;
  }
}
.portalUnifiedHead {
  display: grid;
  grid-template-columns: minmax(150px,220px) 1fr auto;
  align-items: center;
  gap: clamp(1rem,3vw,3rem);
}
.portalUnifiedBrand {
  display: flex;
  align-items: center;
}
.portalUnifiedBrand img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 72px;
  object-fit: contain;
  object-position: left center;
}
.portalUnifiedHead nav,.trainingHeader nav {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: .65rem;
  flex-wrap: wrap;
}
.portalUnifiedHead nav a,.portalUnifiedHead nav button,.trainingHeader nav a,.trainingHeader nav button {
  border: 1px solid rgba(105,194,230,.38);
  background: transparent;
  color: inherit;
  padding: .72rem 1rem;
  font: inherit;
  font-size: .72rem;
  font-weight: 800;
  cursor: pointer;
  text-decoration: none;
}
.portalUnifiedHead nav form,.trainingHeader nav form {
  margin: 0;
}
.portalUnifiedIdentity {
  display: grid;
  gap: .15rem;
}
.portalUnifiedIdentity span {
  font-size: .62rem;
  letter-spacing: .16em;
  color: #69c2e6;
  font-weight: 800;
}
.portalUnifiedIdentity strong {
  font-size: 1rem;
}
.portalUnifiedIdentity small {
  color: #85a2ac;
}
@media (max-width:860px) {
  .portalUnifiedHead {
    grid-template-columns: 1fr;
  }
  .portalUnifiedBrand {
    max-width: 190px;
  }
  .portalUnifiedHead nav,.trainingHeader nav {
    justify-content: flex-start;
  }
  .trainingHeader {
    align-items: flex-start;
    flex-wrap: wrap;
  }
  .portalUnifiedIdentity {
    order: 2;
    width: 100%;
  }
}
.trainingOutcome {
  display: block;
  margin-top: 1.4rem;
  padding: 1rem 1.1rem;
  border-left: 3px solid #1f80ad;
  background: #fff;
  color: #284955;
  font-size: .68rem;
  line-height: 1.65;
}
.trainingAssessment {
  padding: 8rem 6vw;
  background: #071f2a;
  color: #fff;
  display: grid;
  grid-template-columns: .72fr 1.28fr;
  gap: 7vw;
}
.trainingAssessmentIntro {
  position: sticky;
  top: 120px;
  align-self: start;
}
.trainingAssessmentIntro>span,.trainingPerformance>div>div>span,.trainingPersonaMatrix>div>div>span,.trainingGovernance>div>span {
  font-size: .6rem;
  letter-spacing: .16em;
  color: #69c2e6;
  font-weight: 900;
}
.trainingAssessmentIntro h2 {
  font-size: clamp(3rem,5vw,6rem);
  line-height: .94;
  letter-spacing: -.06em;
  margin: 1rem 0 2rem;
}
.trainingAssessmentIntro>p {
  color: #b8cbd1;
  line-height: 1.8;
  max-width: 520px;
}
.trainingScore {
  margin-top: 3rem;
  padding: 1.5rem;
  border: 1px solid #2a5262;
  background: #0b3040;
}
.trainingScore span {
  display: block;
  font-size: .55rem;
  letter-spacing: .12em;
  color: #9cbac4;
}
.trainingScore strong {
  display: block;
  font-size: 3.4rem;
  margin-top: .6rem;
  color: #b9f227;
}
.trainingQuestions {
  display: grid;
  gap: 1rem;
}
.trainingQuestions fieldset {
  border: 1px solid #315261;
  background: #0a2a38;
  padding: 1.6rem;
  margin: 0;
}
.trainingQuestions legend {
  display: flex;
  gap: 1rem;
  align-items: center;
  padding: 0 .6rem;
  font-size: .83rem;
  font-weight: 900;
}
.trainingQuestions legend span {
  color: #69c2e6;
  font-size: .62rem;
}
.trainingQuestions label {
  display: flex;
  align-items: center;
  gap: .7rem;
  padding: .8rem;
  border-bottom: 1px solid rgba(255,255,255,.08);
  font-size: .72rem;
  color: #c8d9de;
  cursor: pointer;
}
.trainingQuestions input {
  accent-color: #b9f227;
}
.trainingQuestions small {
  display: block;
  margin-top: 1rem;
  padding: .8rem;
  font-size: .65rem;
  line-height: 1.55;
}
.trainingQuestions small.correct {
  background: rgba(185,242,39,.12);
  color: #dfffa0;
}
.trainingQuestions small.incorrect {
  background: rgba(255,137,110,.12);
  color: #ffc9bd;
}
.trainingAssessmentAction {
  border: 0;
  background: #b9f227;
  color: #06202b;
  padding: 1.1rem 1.3rem;
  font-weight: 900;
  display: flex;
  justify-content: space-between;
  cursor: pointer;
}
.trainingAssessmentNotice {
  color: #cce1e6;
  font-size: .68rem;
}
.trainingPerformance,.trainingPersonaMatrix {
  padding: 8rem 6vw;
  background: #edf4f5;
}
.trainingMetrics {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 1px;
  background: #bfd0d4;
  border: 1px solid #bfd0d4;
}
.trainingMetrics article {
  background: #fff;
  padding: 2rem;
  min-height: 190px;
  display: flex;
  flex-direction: column;
}
.trainingMetrics article>span {
  font-size: .55rem;
  letter-spacing: .13em;
  color: #4c6871;
  font-weight: 900;
}
.trainingMetrics article>strong {
  font-size: 2.5rem;
  letter-spacing: -.05em;
  margin: auto 0 .6rem;
}
.trainingMetrics article>p {
  font-size: .65rem;
  line-height: 1.55;
  color: #506970;
  margin: 0;
}
.trainingMetrics article.ready {
  background: #b9f227;
}
.trainingCertificate {
  margin-top: 1rem;
  background: #061f2b;
  color: #fff;
  padding: 2.5rem;
  display: flex;
  justify-content: space-between;
  gap: 3rem;
  align-items: center;
}
.trainingCertificate span {
  font-size: .55rem;
  letter-spacing: .14em;
  color: #69c2e6;
  font-weight: 900;
}
.trainingCertificate h3 {
  font-size: 2rem;
  letter-spacing: -.04em;
  margin: .6rem 0;
}
.trainingCertificate p {
  color: #b5c9cf;
  max-width: 760px;
  line-height: 1.65;
}
.trainingCertificate button {
  border: 0;
  background: #b9f227;
  color: #06202b;
  padding: 1rem 1.3rem;
  font-weight: 900;
  white-space: nowrap;
}
.trainingCertificate button:disabled {
  background: #244553;
  color: #d6e2e6;
}
.trainingPersonaMatrix {
  background: #fff;
}
.trainingMatrix {
  border-top: 1px solid #cbd9dc;
}
.trainingMatrix>div {
  display: grid;
  grid-template-columns: .45fr .8fr 1.5fr;
  gap: 2rem;
  padding: 1.1rem .5rem;
  border-bottom: 1px solid #d6e1e3;
  align-items: start;
}
.trainingMatrixHead {
  font-size: .57rem;
  letter-spacing: .12em;
  color: #637d86;
  text-transform: uppercase;
}
.trainingMatrix strong {
  font-size: .72rem;
  color: #0b3444;
}
.trainingMatrix span {
  font-size: .73rem;
  font-weight: 800;
  color: #385760;
}
.trainingMatrix p {
  font-size: .7rem;
  line-height: 1.6;
  color: #607780;
  margin: 0;
}
.trainingGovernance {
  padding: 8rem 6vw;
  background: #0a3141;
  color: #fff;
  display: grid;
  grid-template-columns: .65fr 1.35fr;
  gap: 6vw;
}
.trainingGovernance>div>h2 {
  font-size: clamp(2.8rem,4.7vw,5.3rem);
  line-height: .97;
  letter-spacing: -.055em;
  margin: 1rem 0;
}
.trainingGovernance>div>p {
  color: #bdd0d6;
  line-height: 1.75;
}
.trainingGovernanceGrid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  background: #315768;
}
.trainingGovernanceGrid article {
  background: #0b2a38;
  padding: 2rem;
  min-height: 210px;
}
.trainingGovernanceGrid span {
  color: #69c2e6;
  font-size: .65rem;
}
.trainingGovernanceGrid h3 {
  font-size: 1.4rem;
  margin: 2.5rem 0 .7rem;
}
.trainingGovernanceGrid p {
  font-size: .68rem;
  line-height: 1.65;
  color: #adc4cb;
}
@media (max-width:1000px) {
  .trainingAssessment,.trainingGovernance {
    grid-template-columns: 1fr;
  }
  .trainingAssessmentIntro {
    position: static;
  }
  .trainingMetrics {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width:700px) {
  .trainingAssessment,.trainingPerformance,.trainingPersonaMatrix,.trainingGovernance {
    padding: 5rem 1.25rem;
  }
  .trainingMetrics,.trainingGovernanceGrid {
    grid-template-columns: 1fr;
  }
  .trainingCertificate {
    display: grid;
  }
  .trainingMatrix>div {
    grid-template-columns: 1fr;
    gap: .45rem;
  }
  .trainingMatrixHead {
    display: none !important;
  }
}
@media print {
  body>* {
    display: none;
  }
  .trainingApp {
    display: block;
  }
  .trainingApp>* {
    display: none;
  }
  .trainingPerformance {
    display: block !important;
    padding: 2rem !important;
  }
  .trainingPerformance .trainingSectionHead,.trainingMetrics {
    display: none;
  }
  .trainingCertificate {
    display: flex !important;
    min-height: 65vh;
    border: 8px solid #061f2b;
    background: #fff !important;
    color: #061f2b !important;
  }
  .trainingCertificate button {
    display: none;
  }
}
.trainingHeaderActions {
  flex-wrap: wrap;
}
.trainingHeaderActions small {
  display: block;
  width: 100%;
  font-size: .5rem;
  color: #72909b;
  text-align: right;
}
.trainingStudio {
  padding: 8rem 6vw;
  background: linear-gradient(135deg,#061f2b 0%,#0b3444 70%,#0d4353 100%);
  color: #fff;
}
.trainingStudio .trainingSectionHead>div>span,.trainingStudio article>span {
  color: #71d0ee;
  font-size: .62rem;
  font-weight: 800;
  letter-spacing: .14em;
}
.trainingStudio .trainingSectionHead h2 {
  color: #fff;
}
.trainingStudio .trainingSectionHead p {
  color: #bfd3da;
}
.trainingStudioHead {
  margin-bottom: 1.75rem;
}
.trainingStudioHead>div>span {
  display: block;
  line-height: 1.2;
  letter-spacing: .1em !important;
}
.trainingStudioHead h2 {
  margin-top: .45rem;
}
.assessmentProtocol {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin-top: 1.25rem;
}
.assessmentProtocol span {
  padding: .55rem .7rem;
  border: 1px solid #315261;
  background: #0b3040;
  color: #b9f227;
  font-size: .55rem;
  font-weight: 900;
  letter-spacing: .1em;
}
.trainingQuestions legend {
  align-items: flex-start;
  flex-wrap: wrap;
}
.trainingQuestions legend b {
  color: #b9f227;
  font-size: .54rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  flex: 0 0 100%;
  margin-left: 2rem;
}
.trainingStudioGrid {
  display: grid;
  grid-template-columns: 1.45fr .8fr .7fr;
  gap: 1px;
  background: #315665;
  margin-top: 3.5rem;
}
.trainingStudioGrid>article {
  background: #082936;
  padding: 2rem;
  min-height: 390px;
}
.trainingStudioGrid h3 {
  font-size: 1.5rem;
  line-height: 1.15;
  margin: 2rem 0 1.2rem;
}
.trainingNotebook textarea {
  display: block;
  width: 100%;
  min-height: 130px;
  resize: vertical;
  background: #fff;
  color: #143c49;
  border: 0;
  padding: 1.2rem;
  font: inherit;
  line-height: 1.6;
}
.trainingStudio button {
  border: 1px solid #6ec9e8;
  background: transparent;
  color: #fff;
  padding: .85rem 1rem;
  margin-top: 1rem;
  cursor: pointer;
  font-weight: 750;
}
.trainingStudio button:hover {
  background: #6ec9e8;
  color: #06212c;
}
.trainingNotebookAnswer {
  margin-top: 1.2rem;
  padding: 1.2rem;
  background: #eef9fb;
  color: #173f4c;
}
.trainingNotebookAnswer small {
  color: #147ca1;
}
.trainingNotebookAnswer p {
  line-height: 1.7;
}
.trainingFlashcard {
  min-height: 210px;
  background: #f5fcfd;
  color: #082936;
  margin: 2rem 0 1rem;
  padding: 2rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.trainingFlashcard small {
  color: #137da5;
  font-weight: 850;
  letter-spacing: .12em;
}
.trainingFlashcard p {
  font-size: 1.15rem;
  line-height: 1.45;
}
.trainingCardLab>div:last-child {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.trainingCardLab>div:last-child button {
  margin: 0;
  min-width: 46px;
}
.trainingAudioLab p {
  color: #bdd1d8;
  line-height: 1.75;
}
.trainingAudioLab button {
  display: block;
  min-width: 150px;
}
.trainingLoginCard select {
  width: 100%;
  padding: 1rem;
  border: 1px solid #cfdbde;
  background: #fff;
  color: #173c48;
  font: inherit;
}
@media (max-width:1000px) {
  .trainingStudioGrid {
    grid-template-columns: 1fr;
  }
  .trainingStudioGrid>article {
    min-height: auto;
  }
}
@media (max-width:700px) {
  .trainingStudio {
    padding: 5rem 1.25rem;
  }
  .trainingHeaderActions small {
    display: none;
  }
}
.trainingAdminSummary {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 1px;
  background: #c9d7da;
  margin: 2rem 0;
}
.trainingAdminSummary article {
  background: #f7fafb;
  padding: 1.5rem;
}
.trainingAdminSummary span {
  font-size: .55rem;
  letter-spacing: .12em;
  color: #5f7a84;
}
.trainingAdminSummary strong {
  display: block;
  font-size: 2.5rem;
  margin: 1.3rem 0 .4rem;
}
.trainingAdminSummary p {
  font-size: .65rem;
  color: #647c85;
}
.trainingAdminTable {
  border-top: 1px solid #ccdadd;
}
.trainingAdminTable>div {
  display: grid;
  grid-template-columns: 1.3fr 1fr .55fr .55fr 1fr;
  gap: 1rem;
  padding: 1rem .4rem;
  border-bottom: 1px solid #d5e0e2;
  align-items: center;
  font-size: .68rem;
}
.trainingAdminTable>div:first-child {
  font-size: .55rem;
  letter-spacing: .1em;
  color: #627c85;
}
.trainingAdminTable span>strong,.trainingAdminTable span>small {
  display: block;
}
.trainingAdminTable span>small {
  margin-top: .25rem;
  color: #526b74;
}
@media (max-width:800px) {
  .trainingAdminSummary {
    grid-template-columns: 1fr;
  }
  .trainingAdminTable>div {
    grid-template-columns: 1fr 1fr;
  }
  .trainingAdminTable>div:first-child {
    display: none;
  }
}
.trainingFocusBody.digitalCover {
  position: relative;
  max-width: none;
  padding-right: 46%;
  background: #f3f8f9;
  overflow: hidden;
}
.trainingFocusBody.digitalCover>img {
  position: absolute;
  right: 2%;
  top: 5%;
  width: 42%;
  height: 90%;
  object-fit: contain;
  object-position: center;
  opacity: .96;
  mask-image: linear-gradient(90deg,transparent 0%,#000 22%);
}
.trainingFocusBody.digitalCover>span,.trainingFocusBody.digitalCover>h2,.trainingFocusBody.digitalCover>.trainingReadable {
  position: relative;
  z-index: 1;
}
.trainingFocusBody.digitalCover>h2 {
  font-size: clamp(3.2rem,5vw,6.4rem);
}
@media (max-width:700px) {
  .trainingFocusBody.digitalCover {
    padding-right: 1.5rem;
  }
  .trainingFocusBody.digitalCover>img {
    opacity: .14;
    width: 100%;
    height: 100%;
    right: 0;
    top: 0;
    mask-image: none;
  }
}
.trainingReaderControls {
  display: flex !important;
  align-items: center;
  justify-content: flex-end;
  gap: .45rem;
  white-space: nowrap;
}
.trainingReaderControls button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  min-height: 36px;
  margin: 0 !important;
  font-size: .62rem !important;
  line-height: 1 !important;
  border: 1px solid #c9d7da !important;
  padding: .55rem .7rem !important;
  color: #31505b !important;
  background: #fff !important;
}
.trainingReaderControls button:nth-last-child(2) {
  min-width: 82px;
}
.trainingReaderControls button:last-child {
  min-width: 36px;
  font-size: 1.25rem !important;
  margin-left: .35rem !important;
}
.trainingReaderControls button.active {
  background: #0a3141 !important;
  color: #fff !important;
}
.trainingFocusBody {
  --reader-scale: 1;
}
.trainingReadable p {
  font-size: calc(clamp(.88rem,1vw,1.02rem) * var(--reader-scale));
  transition: font-size .2s;
}
.trainingFocusBody.comfort {
  background: #f2efe6;
}
.trainingFocusBody.comfort .trainingReadable {
  max-width: 700px;
}
.trainingFocusBody.comfort .trainingReadable p {
  color: #243f48;
  line-height: 2;
}
.academyOperations {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.25rem;
  margin-top: 1.25rem;
}
.academyTimeline {
  grid-column: 1/-1;
  border-top: 1px solid #d6e1e3;
  padding-top: 1rem;
}
.academyTimeline h4 {
  margin: .2rem 0 1rem;
}
.academyTimeline article {
  padding: .75rem 0;
  border-bottom: 1px solid #dce6e8;
}
.academyTimeline article p {
  font-size: .68rem;
  color: #536b74;
  margin: .3rem 0;
}
.academyTimeline article small {
  font-size: .56rem;
  color: #526b74;
}
.academyAdmin>.secondaryAdminButton {
  border: 1px solid var(--blue);
  background: transparent;
  color: var(--blue);
  padding: .8rem 1rem;
  font-weight: 800;
  cursor: pointer;
}
@media (max-width:980px) {
  .academyOperations {
    grid-template-columns: 1fr;
  }
}
.certificateVerifyShell {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 32px;
  background: #07150f;
  color: #eaf6ef;
}
.certificateVerifyCard {
  width: min(680px,100%);
  padding: clamp(28px,6vw,64px);
  border: 1px solid rgba(190,224,204,.25);
  border-radius: 28px;
  background: linear-gradient(145deg,rgba(18,52,38,.96),rgba(5,20,14,.98));
  box-shadow: 0 28px 80px rgba(0,0,0,.32);
}
.certificateVerifyBrand {
  display: inline-block;
  margin-bottom: 48px;
  color: #b8f3cd;
  font-weight: 800;
  letter-spacing: .12em;
}
.certificateVerifyCard>span {
  display: block;
  color: #8dd9aa;
  font-size: .75rem;
  letter-spacing: .14em;
}
.certificateVerifyCard h1 {
  margin: 12px 0 16px;
  font-size: clamp(2.2rem,7vw,4.6rem);
  line-height: .95;
}
.certificateVerifyCard p {
  color: #c4d7cc;
  line-height: 1.7;
}
.certificateVerifyCard dl {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 1px;
  margin: 32px 0;
  background: rgba(190,224,204,.18);
}
.certificateVerifyCard dl div {
  padding: 18px;
  background: #0c2117;
}
.certificateVerifyCard dt {
  color: #82bb96;
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .1em;
}
.certificateVerifyCard dd {
  margin: 8px 0 0;
  font-weight: 700;
}
.certificateVerifyCard>a:last-child {
  display: inline-flex;
  padding: 13px 18px;
  border-radius: 999px;
  background: #b8f3cd;
  color: #0b2016;
  font-weight: 750;
}
@media (max-width:600px) {
  .certificateVerifyCard dl {
    grid-template-columns: 1fr;
  }
  .certificateVerifyShell {
    padding: 16px;
  }
}
.certificateQr {
  display: block;
  width: 180px;
  height: 180px;
  margin: 24px auto;
  padding: 8px;
  background: #fff;
  border-radius: 16px;
}
.certificatePrint {
  width: 100%;
  margin-top: 20px;
  padding: 14px 18px;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 999px;
  color: inherit;
  background: rgba(255,255,255,.08);
  font-weight: 750;
  cursor: pointer;
}
.certificateRevocation {
  color: #ffcabf;
}
@media print {
  .certificateVerifyShell {
    min-height: auto;
    background: #fff !important;
  }
  .certificateVerifyCard {
    box-shadow: none !important;
    break-inside: avoid;
  }
  .certificateVerifyCard>a,.certificatePrint {
    display: none !important;
  }
}
.loginPurpose ol {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 1px;
  padding: 0;
  margin: 2rem 0 0;
  background: rgba(105,194,230,.22);
  max-width: 760px;
}
.loginPurpose li {
  display: flex;
  flex-direction: column;
  gap: .65rem;
  min-height: 105px;
  padding: 1.15rem;
  background: rgba(6,31,43,.82);
  color: #d6e5e9;
  font-size: .68rem;
  line-height: 1.4;
  animation: loginStepIn .6s both;
}
.loginPurpose li:nth-child(2) {
  animation-delay: .12s;
}
.loginPurpose li:nth-child(3) {
  animation-delay: .24s;
}
.loginPurpose li b {
  color: #69c2e6;
  font-size: .58rem;
  letter-spacing: .12em;
}
.loginRoleSignal {
  display: grid;
  grid-template-columns: 10px 1fr;
  gap: .25rem .65rem;
  align-items: center;
  margin: 1.2rem 0 0;
  padding: 1rem;
  background: #edf5f7;
  border-left: 3px solid var(--blue);
}
.loginRoleSignal i {
  grid-row: 1/3;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #50c8b8;
  box-shadow: 0 0 0 0 rgba(80,200,184,.45);
  animation: loginSignal 2.4s ease-out infinite;
}
.loginRoleSignal span {
  font-size: .64rem;
  font-weight: 900;
  color: #234b5a;
}
.loginRoleSignal small {
  font-size: .58rem;
  color: #668089;
}
.trainingLoginShell[data-audience=curador] .trainingLoginBrand {
  background: radial-gradient(circle at 18% 82%,rgba(79,200,184,.2),transparent 30%),linear-gradient(135deg,#061f2b,#0a3d43);
}
.trainingLoginShell[data-audience=curador] .trainingLoginCard>span {
  color: #168f82;
}
.trainingLoginShell[data-audience=administrador] .trainingLoginBrand {
  background: radial-gradient(circle at 18% 82%,rgba(185,242,39,.12),transparent 28%),linear-gradient(135deg,#061f2b,#182f36);
}
.trainingLoginShell[data-audience=administrador] .trainingLoginCard>span {
  color: #4f7314;
}
.trainingLoginShell[data-audience=administrador] .loginRoleSignal {
  border-left-color: #719d22;
}
.trainingLoginShell[data-audience=administrador] .loginRoleSignal i {
  background: #b9f227;
}
.trainingLoginCard form button b {
  transition: transform .25s;
}
.trainingLoginCard form button:hover b {
  transform: translate(3px,-3px);
}
@keyframes loginStepIn {
  from {
    opacity: 0;
    transform: translateY(14px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@keyframes loginSignal {
  0% {
    box-shadow: 0 0 0 0 rgba(80,200,184,.45);
  }
  70%,100% {
    box-shadow: 0 0 0 10px rgba(80,200,184,0);
  }
}
@media (max-width:620px) {
  .loginPurpose ol {
    grid-template-columns: 1fr;
  }
  .loginPurpose li {
    min-height: 0;
  }
  .trainingLoginBrand small {
    padding-bottom: 1.5rem;
  }
}
@media (prefers-reduced-motion:reduce) {
  .loginPurpose li,.loginRoleSignal i {
    animation: none !important;
  }
}
.trainingApp,.adminShell,.panelLoginShell {
  isolation: isolate;
}
.trainingApp:before,.adminShell:before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -2;
  pointer-events: none;
  background: radial-gradient(circle at 12% 18%,rgba(76,181,222,.10),transparent 25rem),
    radial-gradient(circle at 88% 72%,rgba(185,242,39,.07),transparent 28rem),
    linear-gradient(rgba(40,127,161,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(40,127,161,.035) 1px,transparent 1px);
  background-size: auto,auto,52px 52px,52px 52px;
  animation: portalGridDrift 28s linear infinite;
}
.trainingApp:after,.adminShell:after {
  content: "";
  position: fixed;
  width: 34rem;
  height: 34rem;
  right: -17rem;
  top: 18vh;
  z-index: -1;
  border: 1px solid rgba(49,148,185,.12);
  border-radius: 50%;
  pointer-events: none;
  box-shadow: 0 0 0 5rem rgba(49,148,185,.018),0 0 0 10rem rgba(49,148,185,.012);
  animation: portalOrbit 34s linear infinite;
}
.trainingHeroArt {
  animation: portalHeroBreathe 16s ease-in-out infinite alternate;
}
.trainingHeroContent>* {
  animation: portalRise .7s both;
}
.trainingHeroContent>*:nth-child(2) {
  animation-delay: .08s;
}
.trainingHeroContent>*:nth-child(3) {
  animation-delay: .16s;
}
.trainingHeroContent>*:nth-child(4) {
  animation-delay: .24s;
}
.trainingHeroCard {
  animation: portalCardFloat 6s ease-in-out infinite;
}
.trainingHeroCard strong {
  animation: portalNumberPulse 3.2s ease-in-out infinite;
}
.trainingHeroCard div {
  overflow: hidden;
  position: relative;
}
.trainingHeroCard div:after {
  content: "";
  position: absolute;
  inset: 0;
  width: 32%;
  transform: translateX(-160%);
  background: linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);
  animation: portalProgressScan 3.8s ease-in-out infinite;
}
.trainingPath li,.trainingMetrics article,.trainingGovernanceGrid article,
.trainingStudioGrid>article,.trainingRoleGrid button {
  transition: transform .28s ease,box-shadow .28s ease,border-color .28s ease,background-color .28s ease;
}
.trainingPath li:hover,.trainingMetrics article:hover,.trainingGovernanceGrid article:hover,
.trainingStudioGrid>article:hover {
  transform: translateY(-5px);
  box-shadow: 0 18px 38px rgba(6,31,43,.10);
  position: relative;
  z-index: 1;
}
.trainingPath li.done i {
  animation: portalDonePulse 2.8s ease-out infinite;
}
.trainingSectionHead,.trainingIntro,.trainingAssessmentIntro,.trainingGovernance>div:first-child {
  animation: portalRise .7s ease both;
}
.trainingFlashcard {
  animation: portalCardFloat 6.5s ease-in-out infinite;
}
.trainingNotebookAnswer {
  animation: portalReveal .35s ease both;
}
.trainingAdminSummary article,.adminMetrics article {
  position: relative;
  overflow: hidden;
  transition: transform .28s ease,box-shadow .28s ease;
}
.trainingAdminSummary article:after,.adminMetrics article:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 3px;
  background: linear-gradient(90deg,#1888b8,#69c2e6,#b9f227);
  transform: scaleX(.2);
  transform-origin: left;
  transition: transform .45s ease;
}
.trainingAdminSummary article:hover,.adminMetrics article:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 34px rgba(6,31,43,.09);
}
.trainingAdminSummary article:hover:after,.adminMetrics article:hover:after {
  transform: scaleX(1);
}
.adminHead {
  position: relative;
  animation: portalRise .65s ease both;
}
.adminHead:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  height: 2px;
  width: 22%;
  background: linear-gradient(90deg,#168dbb,#69c2e6,#b9f227);
  animation: portalHeaderLine 7s ease-in-out infinite alternate;
}
.adminPanel {
  animation: portalRise .58s ease both;
  transition: transform .28s ease,box-shadow .28s ease;
}
.adminPanel:nth-of-type(2) {
  animation-delay: .08s;
}
.adminPanel:hover {
  box-shadow: 0 18px 45px rgba(6,31,43,.07);
}
.trainingAdminTable>button {
  transition: transform .2s ease,background-color .2s ease,border-color .2s ease;
}
.trainingAdminTable>button:hover {
  transform: translateX(5px);
  background: #f2f9fa;
  border-color: #9bc9d8;
}
.trainingAdminTable>button[data-selected=true] {
  box-shadow: inset 6px 0 18px rgba(31,128,173,.08);
}
.competencyEvidence>article {
  animation: portalReveal .45s ease both;
}
.routeForm button,.trainingAssessmentAction,.panelLoginPrimary {
  position: relative;
  overflow: hidden;
}
.routeForm button:after,.trainingAssessmentAction:after,.panelLoginPrimary:after {
  content: "";
  position: absolute;
  inset: 0;
  width: 35%;
  transform: translateX(-180%);
  background: linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent);
  transition: transform .55s ease;
}
.routeForm button:hover:after,.trainingAssessmentAction:hover:after,.panelLoginPrimary:hover:after {
  transform: translateX(360%);
}
.panelLoginBrand:after {
  animation: portalOrbit 30s linear infinite;
}
.panelLoginBrand>img {
  animation: loginBreathe 6s ease-in-out infinite;
}
.panelLoginBrand>div,.panelLoginBrand>ul {
  animation: portalRise .7s ease both;
}
.panelLoginBrand>ul {
  animation-delay: .16s;
}
.panelLoginCard {
  animation: portalReveal .6s ease both;
}
.panelLoginPrimary b {
  transition: transform .25s ease;
}
.panelLoginPrimary:hover b {
  transform: translate(3px,-3px);
}
@keyframes portalGridDrift {
  to {
    background-position: 0 0,0 0,52px 52px,52px 52px;
  }
}
@keyframes portalOrbit {
  to {
    transform: rotate(360deg);
  }
}
@keyframes portalRise {
  from {
    opacity: 0;
    transform: translateY(18px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@keyframes portalReveal {
  from {
    opacity: 0;
    transform: translateY(12px) scale(.985);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@keyframes portalHeroBreathe {
  from {
    transform: scale(1.01) translate3d(-.4%,0,0);
  }
  to {
    transform: scale(1.06) translate3d(.6%,-.6%,0);
  }
}
@keyframes portalCardFloat {
  0%,100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-8px);
  }
}
@keyframes portalNumberPulse {
  0%,100% {
    text-shadow: 0 0 0 rgba(185,242,39,0);
  }
  50% {
    text-shadow: 0 0 28px rgba(185,242,39,.32);
  }
}
@keyframes portalProgressScan {
  0%,28% {
    transform: translateX(-160%);
  }
  75%,100% {
    transform: translateX(420%);
  }
}
@keyframes portalDonePulse {
  0% {
    box-shadow: 0 0 0 0 rgba(185,242,39,.38);
  }
  70%,100% {
    box-shadow: 0 0 0 10px rgba(185,242,39,0);
  }
}
@keyframes portalHeaderLine {
  from {
    width: 18%;
  }
  to {
    width: 58%;
  }
}
@media (max-width:700px) {
  .trainingApp:after,.adminShell:after {
    width: 20rem;
    height: 20rem;
    right: -12rem;
  }
  .trainingPath li:hover,.trainingMetrics article:hover,.trainingGovernanceGrid article:hover,
  .trainingStudioGrid>article:hover,.trainingAdminSummary article:hover,.adminMetrics article:hover {
    transform: none;
    box-shadow: none;
  }
  .trainingAdminTable>button:hover {
    transform: none;
  }
}
@media (prefers-reduced-motion:reduce) {
  .trainingApp:before,.trainingApp:after,.adminShell:before,.adminShell:after,
  .trainingHeroArt,.trainingHeroContent>*,.trainingHeroCard,.trainingHeroCard strong,
  .trainingHeroCard div:after,.trainingPath li.done i,.trainingSectionHead,.trainingIntro,
  .trainingAssessmentIntro,.trainingGovernance>div:first-child,.trainingFlashcard,
  .trainingNotebookAnswer,.adminHead,.adminHead:after,.adminPanel,.competencyEvidence>article,
  .panelLoginBrand:after,.panelLoginBrand>img,.panelLoginBrand>div,.panelLoginBrand>ul,.panelLoginCard {
    animation: none !important;
  }
}
.trainingApp,.adminShell,.curatorShell {
  --surface: #f4f8f8;
  --surface-strong: #fff;
  --line: rgba(9,48,63,.12);
  --shadow: 0 28px 80px rgba(5,35,47,.10);
  background: radial-gradient(circle at 86% 3%,rgba(84,190,224,.13),transparent 25rem),
    linear-gradient(180deg,#f8fbfb 0,#edf4f5 48rem,#f5f8f8 100%);
}
.trainingApp section:not(.trainingHero):not(.portalCommand):not(.trainingReader section),
.adminShell>section,.curatorShell>section {
  width: min(1480px,calc(100% - 4rem));
  margin-inline: auto;
}
.trainingHeader,.portalWorkspaceNav,.adminSectionNav {
  backdrop-filter: blur(22px) saturate(150%);
  -webkit-backdrop-filter: blur(22px) saturate(150%);
}
.trainingHeader {
  position: sticky;
  top: 0;
  z-index: 80;
  border-bottom: 1px solid var(--line);
  background: rgba(247,251,251,.84);
  box-shadow: 0 8px 30px rgba(4,31,42,.05);
}
.trainingHeader nav a,.adminSectionNav a,.portalWorkspaceNav a {
  position: relative;
  border-radius: 999px;
  transition: color .25s ease,background .25s ease,transform .25s ease;
}
.trainingHeader nav a:hover,.adminSectionNav a:hover,.portalWorkspaceNav a:hover {
  background: #092f3f;
  color: #fff;
  transform: translateY(-2px);
}
.trainingHero {
  min-height: min(820px,88vh);
  border-radius: 0 0 3rem 3rem;
  box-shadow: 0 40px 100px rgba(4,31,42,.18);
  overflow: hidden;
}
.trainingHeroContent {
  max-width: 820px;
  z-index: 4;
}
.trainingHeroContent h1 {
  font-size: clamp(3.2rem,6.4vw,7.6rem);
  line-height: .89;
}
.trainingHeroCard {
  z-index: 5;
  border: 1px solid rgba(255,255,255,.2);
  backdrop-filter: blur(20px);
}
.portalCommand {
  width: min(1380px,calc(100% - 4rem));
  margin: -5rem auto 5rem;
  z-index: 10;
  border-radius: 2rem;
  overflow: hidden;
  box-shadow: 0 34px 90px rgba(5,36,48,.2);
}
.portalCommandLead,.portalCommandSignals article,.portalQuickActions a {
  border-color: rgba(255,255,255,.12);
}
.trainingRole,.trainingLibrary,.trainingStudio,.trainingAssessment,.trainingPerformance,
.trainingPersonaMatrix,.trainingGovernance,.trainingPrinciples,.trainingPath {
  border-radius: 2rem !important;
  box-shadow: var(--shadow);
  overflow: hidden;
  margin-block: 2rem !important;
}
.trainingRole,.trainingLibrary,.trainingStudio,.trainingPerformance,.trainingPersonaMatrix,.trainingGovernance {
  background: rgba(255,255,255,.94) !important;
}
.trainingJourney {
  border-radius: 2rem;
  overflow: hidden;
  margin-block: 2rem !important;
}
.trainingMaterials article,.trainingMetrics article,.competencyDomains article,
.curatorPriorityGrid article,.adminMetrics article,.adminPanel {
  border-radius: 1.35rem;
  border: 1px solid var(--line);
  box-shadow: 0 12px 38px rgba(8,42,54,.06);
  transition: transform .32s cubic-bezier(.2,.8,.2,1),box-shadow .32s ease,border-color .32s ease;
}
.trainingMaterials article:hover,.trainingMetrics article:hover,.competencyDomains article:hover,
.curatorPriorityGrid article:hover,.adminMetrics article:hover {
  transform: translateY(-7px);
  box-shadow: 0 24px 60px rgba(8,42,54,.14);
  border-color: rgba(39,148,190,.35);
}
.portalRoleBrief {
  border-radius: 2rem;
  margin-top: 2rem !important;
  background: radial-gradient(circle at 85% 20%,rgba(105,194,230,.22),transparent 22rem),
    linear-gradient(135deg,#061e2a,#0a3a4a);
  box-shadow: 0 30px 80px rgba(6,31,43,.18);
}
.portalRoleBrief li {
  transition: transform .3s ease,background .3s ease;
}
.portalRoleBrief li:hover {
  background: #104759;
  transform: translateY(-5px);
}
.adminShell {
  padding: 1.5rem 2rem 7rem;
}
.adminHead {
  width: min(1480px,100%);
  margin: auto;
  padding: 2rem 0 2.5rem;
  align-items: center;
  border-bottom: 1px solid var(--line);
}
.adminHead h1 {
  font-size: clamp(3rem,6vw,6.5rem);
  line-height: .88;
}
.adminSectionNav,.portalWorkspaceNav {
  position: sticky;
  top: 0;
  z-index: 70;
  width: min(1480px,100%);
  margin: 1.2rem auto !important;
  padding: .7rem;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: rgba(255,255,255,.88);
  box-shadow: 0 14px 40px rgba(6,35,47,.08);
}
.portalWorkspaceNav {
  top: 1rem;
}
.adminMetrics {
  grid-template-columns: repeat(4,1fr);
  gap: 1rem;
}
.adminMetrics article {
  min-height: 190px;
}
.adminPanel {
  margin-top: 1rem;
  background: rgba(255,255,255,.95);
  padding: clamp(1.5rem,3vw,3rem);
}
.academyAdminGrid {
  gap: 1.25rem;
}
.academyCreateForm,.academyRoster,.academyMentorPanel,.routeForm {
  border-radius: 1.2rem !important;
  border: 1px solid var(--line) !important;
}
.trainingAdminTable {
  border-radius: 1.2rem;
  overflow: hidden;
  border: 1px solid var(--line);
}
.trainingAdminTable button:hover {
  background: #eaf5f8;
}
.loginMotionStage {
  position: absolute;
  right: 3vw;
  bottom: 7vh;
  width: min(30vw,420px);
  aspect-ratio: 1;
  pointer-events: none;
  opacity: .95;
}
.loginMotionCore {
  position: absolute;
  inset: 32%;
  border: 1px solid rgba(185,242,39,.55);
  border-radius: 50%;
  display: grid;
  place-items: center;
  animation: portalCoreFloat 5s ease-in-out infinite;
}
.loginMotionCore strong {
  font-size: .62rem;
  letter-spacing: .28em;
  color: #fff;
  transform: translateX(.14em);
}
.loginMotionCore i {
  position: absolute;
  inset: -32%;
  border: 1px solid rgba(105,194,230,.22);
  border-radius: 50%;
  animation: portalSpin 12s linear infinite;
}
.loginMotionCore i:nth-child(2) {
  inset: -70%;
  border-style: dashed;
  animation-duration: 22s;
  animation-direction: reverse;
}
.loginMotionCore i:nth-child(3) {
  inset: -108%;
  border-color: rgba(255,255,255,.1);
  animation-duration: 32s;
}
.loginMotionTrack {
  position: absolute;
  inset: 7%;
  border-radius: 50%;
  border-top: 2px solid #69c2e6;
  animation: portalSpin 9s linear infinite;
}
.loginMotionTrack.trackTwo {
  inset: 20%;
  border-top-color: #b9f227;
  animation-duration: 6s;
  animation-direction: reverse;
}
.loginMotionNode {
  position: absolute;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #fff;
  color: #073040;
  font-size: .58rem;
  box-shadow: 0 0 0 8px rgba(255,255,255,.08);
  animation: portalNodePulse 2.8s ease-in-out infinite;
}
.loginMotionNode.nodeOne {
  left: 3%;
  top: 44%;
}
.loginMotionNode.nodeTwo {
  right: 7%;
  top: 17%;
  animation-delay: .7s;
}
.loginMotionNode.nodeThree {
  right: 12%;
  bottom: 12%;
  animation-delay: 1.4s;
}
.loginMotionStage>small {
  position: absolute;
  left: 4%;
  right: 4%;
  bottom: -1.5rem;
  text-align: center;
  color: #8bb5c4;
  font-size: .52rem;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.portalOpeningMotion {
  position: absolute;
  right: 4vw;
  top: 7rem;
  width: 25rem;
  height: 25rem;
  z-index: 1;
  pointer-events: none;
  border-radius: 50%;
  border: 1px solid rgba(41,153,199,.18);
  animation: portalCoreFloat 6s ease-in-out infinite;
}
.portalOpeningMotion:before,.portalOpeningMotion:after {
  content: "";
  position: absolute;
  border-radius: 50%;
  border: 1px dashed rgba(41,153,199,.22);
  animation: portalSpin 18s linear infinite;
}
.portalOpeningMotion:before {
  inset: 12%;
}
.portalOpeningMotion:after {
  inset: 28%;
  animation-direction: reverse;
  animation-duration: 11s;
}
.portalOpeningMotion span {
  position: absolute;
  width: 1rem;
  height: 1rem;
  border-radius: 50%;
  background: #69c2e6;
  box-shadow: 0 0 0 10px rgba(105,194,230,.08),0 0 34px rgba(105,194,230,.7);
  animation: portalNodePulse 2.6s ease-in-out infinite;
}
.portalOpeningMotion span:nth-child(1) {
  left: 2%;
  top: 48%;
}
.portalOpeningMotion span:nth-child(2) {
  right: 13%;
  top: 12%;
  animation-delay: .7s;
}
.portalOpeningMotion span:nth-child(3) {
  right: 17%;
  bottom: 11%;
  background: #b9f227;
  animation-delay: 1.4s;
}
.portalOpeningMotion i {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 38%;
  height: 1px;
  background: linear-gradient(90deg,transparent,#69c2e6,transparent);
  transform-origin: left center;
  animation: portalRadar 4s linear infinite;
}
.studentOpeningMotion {
  top: 10rem;
  right: 8vw;
  border-color: rgba(255,255,255,.2);
}
.curatorOpeningMotion,.adminOpeningMotion {
  top: 3.5rem;
  right: 6vw;
  opacity: .72;
}
.curatorOpeningMotion {
  --motion-role: #4fc8b8;
}
.adminOpeningMotion {
  --motion-role: #b9f227;
}
.curatorOpeningMotion span,.adminOpeningMotion span {
  background: var(--motion-role,#69c2e6);
}
@keyframes portalSpin {
  to {
    transform: rotate(360deg);
  }
}
@keyframes portalRadar {
  to {
    transform: rotate(360deg);
  }
}
@keyframes portalCoreFloat {
  0%,100% {
    transform: translateY(0) scale(.98);
  }
  50% {
    transform: translateY(-18px) scale(1.03);
  }
}
@keyframes portalNodePulse {
  0%,100% {
    transform: scale(.82);
    opacity: .68;
  }
  50% {
    transform: scale(1.15);
    opacity: 1;
  }
}
@media (max-width:1100px) {
  .loginMotionStage {
    opacity: .55;
    right: -5rem;
  }
  .portalOpeningMotion {
    width: 18rem;
    height: 18rem;
    opacity: .38;
  }
  .adminMetrics {
    grid-template-columns: repeat(2,1fr);
  }
}
@media (max-width:760px) {
  .trainingApp section:not(.trainingHero):not(.portalCommand):not(.trainingReader section),
  .adminShell>section,.curatorShell>section {
    width: min(100% - 1.5rem,1480px);
  }
  .trainingHero {
    min-height: 760px;
    border-radius: 0 0 1.5rem 1.5rem;
  }
  .trainingHeroContent h1 {
    font-size: clamp(2.9rem,14vw,5rem);
  }
  .portalCommand {
    width: calc(100% - 1.5rem);
    margin: -3rem auto 3rem;
    border-radius: 1.3rem;
  }
  .trainingRole,.trainingLibrary,.trainingStudio,.trainingAssessment,.trainingPerformance,
  .trainingPersonaMatrix,.trainingGovernance,.trainingPrinciples,.trainingPath,.trainingJourney {
    border-radius: 1.3rem !important;
  }
  .adminShell {
    padding-inline: .75rem;
  }
  .adminSectionNav,.portalWorkspaceNav {
    border-radius: 1rem;
    overflow-x: auto;
    white-space: nowrap;
  }
  .adminMetrics {
    grid-template-columns: 1fr 1fr;
  }
  .loginMotionStage {
    width: 270px;
    right: -6rem;
    bottom: 5rem;
    opacity: .45;
  }
  .portalOpeningMotion {
    width: 13rem;
    height: 13rem;
    right: -4rem;
  }
}
@media (prefers-reduced-motion:reduce) {
  .loginMotionStage,.portalOpeningMotion {
    display: none;
  }
}
.trainingApp,.adminShell {
  --portal-motion-accent: #69c2e6;
  --portal-motion-highlight: #b9f227;
}
.trainingApp:before,.adminShell:before {
  opacity: .72;
  background: linear-gradient(rgba(105,194,230,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(105,194,230,.055) 1px,transparent 1px);
  animation: portalGridFlow 18s linear infinite;
}
.trainingApp:after,.adminShell:after {
  opacity: .55;
  filter: blur(1px);
  animation: portalAmbientDrift 12s ease-in-out infinite alternate;
}
.trainingHeroContent>span {
  animation: portalRise .55s .08s both;
}
.trainingHeroContent h1 {
  animation: portalRise .65s .18s both;
}
.trainingHeroContent p {
  animation: portalRise .65s .3s both;
}
.trainingHeroActions {
  animation: portalRise .65s .42s both;
}
.trainingHeroCard {
  animation: portalReveal .7s .35s both,portalCardFloat 6s 1.1s ease-in-out infinite;
}
.portalCommandStudent .portalCommandSignals article {
  animation: portalSignalEnter .6s both;
}
.portalCommandStudent .portalCommandSignals article:nth-child(1) {
  animation-delay: .12s;
}
.portalCommandStudent .portalCommandSignals article:nth-child(2) {
  animation-delay: .24s;
}
.portalCommandStudent .portalCommandSignals article:nth-child(3) {
  animation-delay: .36s;
}
.portalCommandStudent .portalCommandSignals article:before {
  content: "";
  position: absolute;
  inset: -45% auto auto -20%;
  width: 68%;
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle,rgba(105,194,230,.16),transparent 68%);
  animation: portalOrb 7s ease-in-out infinite alternate;
  pointer-events: none;
}
.portalCommandStudent .portalCommandSignals article:nth-child(2):before {
  animation-delay: -2s;
}
.portalCommandStudent .portalCommandSignals article:nth-child(3):before {
  animation-delay: -4s;
}
.portalCommandStudent .portalQuickActions a {
  animation: portalRise .55s both;
}
.portalCommandStudent .portalQuickActions a:nth-child(1) {
  animation-delay: .28s;
}
.portalCommandStudent .portalQuickActions a:nth-child(2) {
  animation-delay: .38s;
}
.portalCommandStudent .portalQuickActions a:nth-child(3) {
  animation-delay: .48s;
}
.trainingRoleGrid button {
  position: relative;
  overflow: hidden;
}
.trainingRoleGrid button:after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 3px;
  background: linear-gradient(90deg,var(--portal-motion-accent),var(--portal-motion-highlight));
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .4s ease;
}
.trainingRoleGrid button:hover:after,.trainingRoleGrid button.active:after {
  transform: scaleX(1);
}
.trainingPath li {
  animation: portalPathEnter .55s both;
}
.trainingPath li:nth-child(1) {
  animation-delay: .08s;
}
.trainingPath li:nth-child(2) {
  animation-delay: .16s;
}
.trainingPath li:nth-child(3) {
  animation-delay: .24s;
}
.trainingPath li:nth-child(4) {
  animation-delay: .32s;
}
.trainingPath li button i {
  transition: transform .25s ease,background-color .25s ease;
}
.trainingPath li button:hover i {
  transform: translateX(5px) scale(1.08);
}
.trainingJourney article {
  position: relative;
  overflow: hidden;
  animation: portalRise .58s both;
}
.trainingJourney article:nth-child(1) {
  animation-delay: .06s;
}
.trainingJourney article:nth-child(2) {
  animation-delay: .12s;
}
.trainingJourney article:nth-child(3) {
  animation-delay: .18s;
}
.trainingJourney article:nth-child(4) {
  animation-delay: .24s;
}
.trainingJourney article:nth-child(5) {
  animation-delay: .3s;
}
.trainingJourney article:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 2px;
  background: linear-gradient(90deg,#69c2e6,#b9f227);
  transform: translateX(-100%);
  animation: portalJourneySweep 7s ease-in-out infinite;
}
.trainingJourney article:nth-child(2):after {
  animation-delay: 1s;
}
.trainingJourney article:nth-child(3):after {
  animation-delay: 2s;
}
.trainingJourney article:nth-child(4):after {
  animation-delay: 3s;
}
.trainingJourney article:nth-child(5):after {
  animation-delay: 4s;
}
.trainingMaterials>article {
  animation: portalReveal .55s both;
  transition: transform .3s ease,box-shadow .3s ease;
}
.trainingMaterials>article:nth-child(even) {
  animation-delay: .1s;
}
.trainingMaterials>article:hover {
  transform: translateY(-7px);
  box-shadow: 0 24px 48px rgba(6,31,43,.12);
}
.curatorPriorityGrid article {
  position: relative;
  overflow: hidden;
  animation: portalSignalEnter .58s both;
}
.curatorPriorityGrid article:nth-child(1) {
  animation-delay: .06s;
}
.curatorPriorityGrid article:nth-child(2) {
  animation-delay: .14s;
}
.curatorPriorityGrid article:nth-child(3) {
  animation-delay: .22s;
}
.curatorPriorityGrid article:nth-child(4) {
  animation-delay: .3s;
}
.curatorPriorityGrid article:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  height: 3px;
  width: 100%;
  background: linear-gradient(90deg,#1688b7,#69c2e6,#b9f227);
  transform: scaleX(.18);
  transform-origin: left;
  animation: portalPriorityLine 4.8s ease-in-out infinite;
}
.curatorPriorityGrid .priorityAction:before {
  content: "";
  position: absolute;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  right: 1.3rem;
  top: 1.3rem;
  background: #0a3141;
  box-shadow: 0 0 0 0 rgba(10,49,65,.35);
  animation: portalAttentionPulse 2.4s ease-out infinite;
}
.portalWorkspaceNav {
  animation: portalNavDrop .5s both;
}
.portalWorkspaceNav a {
  position: relative;
  transition: color .2s ease,background-color .2s ease,transform .2s ease;
}
.portalWorkspaceNav a:hover {
  transform: translateY(-2px);
}
.trainingAdminTable>button {
  animation: portalRowEnter .42s both;
}
.trainingAdminTable>button:nth-child(2) {
  animation-delay: .05s;
}
.trainingAdminTable>button:nth-child(3) {
  animation-delay: .1s;
}
.trainingAdminTable>button:nth-child(4) {
  animation-delay: .15s;
}
.trainingAdminTable>button:nth-child(5) {
  animation-delay: .2s;
}
.trainingAdminTable>button[data-selected=true] {
  animation: portalSelectedRow 1.8s ease-in-out infinite alternate;
}
#curador-dossie {
  animation: portalDossierOpen .58s cubic-bezier(.2,.8,.2,1) both;
}
#curador-dossie>.adminPanel {
  transition: transform .25s ease,border-color .25s ease,box-shadow .25s ease;
}
#curador-dossie>.adminPanel:hover {
  transform: translateX(5px);
  border-color: #8fcadd;
  box-shadow: 0 15px 34px rgba(6,31,43,.08);
}
.adminRoleBrief {
  position: relative;
  overflow: hidden;
  animation: portalReveal .62s both;
}
.adminRoleBrief:after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 3px;
  background: linear-gradient(90deg,#1688b7 0 33%,#69c2e6 33% 66%,#b9f227 66%);
  background-size: 200% 100%;
  animation: portalAdminFlow 5s linear infinite;
}
.adminRoleBrief li {
  animation: portalRise .55s both;
}
.adminRoleBrief li:nth-child(1) {
  animation-delay: .12s;
}
.adminRoleBrief li:nth-child(2) {
  animation-delay: .22s;
}
.adminRoleBrief li:nth-child(3) {
  animation-delay: .32s;
}
.adminMetrics article,.trainingAdminSummary article {
  animation: portalSignalEnter .52s both;
}
.adminMetrics article:nth-child(1),.trainingAdminSummary article:nth-child(1) {
  animation-delay: .04s;
}
.adminMetrics article:nth-child(2),.trainingAdminSummary article:nth-child(2) {
  animation-delay: .1s;
}
.adminMetrics article:nth-child(3),.trainingAdminSummary article:nth-child(3) {
  animation-delay: .16s;
}
.adminMetrics article:nth-child(4),.trainingAdminSummary article:nth-child(4) {
  animation-delay: .22s;
}
.adminMetrics article strong,.trainingAdminSummary article strong {
  animation: portalNumberPulse 3.6s ease-in-out infinite;
}
.adminSectionNav:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  height: 2px;
  width: 18%;
  background: linear-gradient(90deg,#1688b7,#69c2e6,#b9f227);
  animation: portalNavScan 8s ease-in-out infinite;
}
.adminPanel {
  animation: portalPanelEnter .6s both;
}
.adminPanel:nth-of-type(3n+1) {
  animation-delay: .05s;
}
.adminPanel:nth-of-type(3n+2) {
  animation-delay: .12s;
}
.adminPanel:nth-of-type(3n) {
  animation-delay: .19s;
}
.academyProgress {
  position: relative;
  overflow: hidden;
}
.academyProgress i {
  position: relative;
  transition: width .8s cubic-bezier(.2,.8,.2,1);
}
.academyProgress i:after {
  content: "";
  position: absolute;
  inset: 0;
  width: 35%;
  transform: translateX(-150%);
  background: linear-gradient(90deg,transparent,rgba(255,255,255,.75),transparent);
  animation: portalProgressScan 3.6s ease-in-out infinite;
}
.adminAlert {
  animation: portalAttentionPulse 2.4s ease-out infinite;
}
@keyframes portalGridFlow {
  to {
    background-position: 52px 52px,52px 52px;
  }
}
@keyframes portalAmbientDrift {
  from {
    transform: translate3d(-2%,1%,0) scale(.96);
  }
  to {
    transform: translate3d(3%,-2%,0) scale(1.08);
  }
}
@keyframes portalSignalEnter {
  from {
    opacity: 0;
    transform: translateY(22px) scale(.96);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@keyframes portalOrb {
  from {
    transform: translate3d(-8%,-5%,0) scale(.85);
  }
  to {
    transform: translate3d(35%,25%,0) scale(1.18);
  }
}
@keyframes portalPathEnter {
  from {
    opacity: 0;
    transform: translateX(-22px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@keyframes portalJourneySweep {
  0%,12% {
    transform: translateX(-100%);
  }
  35%,100% {
    transform: translateX(100%);
  }
}
@keyframes portalPriorityLine {
  0%,100% {
    transform: scaleX(.16);
  }
  50% {
    transform: scaleX(1);
  }
}
@keyframes portalAttentionPulse {
  0% {
    box-shadow: 0 0 0 0 rgba(10,49,65,.32);
  }
  70%,100% {
    box-shadow: 0 0 0 13px rgba(10,49,65,0);
  }
}
@keyframes portalNavDrop {
  from {
    opacity: 0;
    transform: translateY(-12px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@keyframes portalRowEnter {
  from {
    opacity: 0;
    transform: translateX(-12px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@keyframes portalSelectedRow {
  from {
    box-shadow: inset 5px 0 0 #69c2e6,0 0 0 rgba(105,194,230,0);
  }
  to {
    box-shadow: inset 5px 0 0 #b9f227,0 10px 26px rgba(31,128,173,.13);
  }
}
@keyframes portalDossierOpen {
  from {
    opacity: 0;
    transform: translateY(20px) scale(.985);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@keyframes portalAdminFlow {
  to {
    background-position: -200% 0;
  }
}
@keyframes portalNavScan {
  0%,100% {
    transform: translateX(-15%);
  }
  50% {
    transform: translateX(460%);
  }
}
@keyframes portalPanelEnter {
  from {
    opacity: 0;
    transform: translateY(18px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@media (max-width:700px) {
  .trainingHeroCard {
    animation: portalReveal .7s .2s both;
  }
  .trainingMaterials>article:hover,#curador-dossie>.adminPanel:hover {
    transform: none;
  }
}
@media (prefers-reduced-motion:reduce) {
  .trainingApp:before,.trainingApp:after,.adminShell:before,.adminShell:after,
  .trainingHeroContent>span,.trainingHeroContent h1,.trainingHeroContent p,.trainingHeroActions,.trainingHeroCard,
  .portalCommandStudent .portalCommandSignals article,.portalCommandStudent .portalCommandSignals article:before,
  .portalCommandStudent .portalQuickActions a,.trainingPath li,.trainingJourney article,.trainingJourney article:after,
  .trainingMaterials>article,.curatorPriorityGrid article,.curatorPriorityGrid article:after,
  .curatorPriorityGrid .priorityAction:before,.portalWorkspaceNav,.trainingAdminTable>button,
  #curador-dossie,.adminRoleBrief,.adminRoleBrief:after,.adminRoleBrief li,.adminMetrics article,
  .trainingAdminSummary article,.adminMetrics article strong,.trainingAdminSummary article strong,
  .adminSectionNav:after,.adminPanel,.academyProgress i:after,.adminAlert {
    animation: none !important;
  }
}
.trainingLoginBrand {
  justify-content: flex-start;
  gap: clamp(1.4rem,3vh,2.6rem);
}
.trainingLoginBrand>img {
  position: relative;
  z-index: 4;
}
.loginMotionStage {
  position: relative;
  inset: auto;
  width: 100%;
  height: clamp(150px,21vh,230px);
  aspect-ratio: auto;
  flex: 0 0 auto;
  overflow: hidden;
  border: 1px solid rgba(105,194,230,.18);
  border-radius: 1.4rem;
  background: linear-gradient(90deg,rgba(105,194,230,.045) 1px,transparent 1px),
    linear-gradient(rgba(105,194,230,.045) 1px,transparent 1px),
    radial-gradient(circle at 78% 50%,rgba(105,194,230,.16),transparent 34%),
    rgba(3,24,35,.38);
  background-size: 36px 36px,36px 36px,auto,auto;
  box-shadow: inset 0 1px rgba(255,255,255,.05),0 22px 55px rgba(0,0,0,.15);
}
.loginMotionStage:before {
  content: "FLUXO DE CAPACIDADE";
  position: absolute;
  left: 1.2rem;
  top: 1rem;
  color: #82b9cb;
  font-size: .5rem;
  font-weight: 800;
  letter-spacing: .18em;
}
.loginMotionCore {
  inset: 50% auto auto 78%;
  width: 72px;
  height: 72px;
  transform: translate(-50%,-50%);
}
.loginMotionTrack {
  inset: 8% 4% 18% 46%;
  border-left: 1px solid rgba(105,194,230,.14);
}
.loginMotionTrack.trackTwo {
  inset: 21% 11% 29% 54%;
}
.loginMotionNode {
  width: 2.6rem;
  height: 2.6rem;
}
.loginMotionNode.nodeOne {
  left: 8%;
  top: 47%;
}
.loginMotionNode.nodeTwo {
  left: 34%;
  right: auto;
  top: 27%;
}
.loginMotionNode.nodeThree {
  left: 55%;
  right: auto;
  bottom: 17%;
}
.loginMotionStage>small {
  left: 1.2rem;
  right: auto;
  bottom: .9rem;
  text-align: left;
}
.trainingLoginShell[data-audience=curador] .loginMotionStage {
  border-color: rgba(79,200,184,.24);
  background: linear-gradient(90deg,rgba(79,200,184,.05) 1px,transparent 1px),
    linear-gradient(rgba(79,200,184,.05) 1px,transparent 1px),
    radial-gradient(circle at 78% 50%,rgba(79,200,184,.18),transparent 34%),
    rgba(3,30,35,.4);
  background-size: 36px 36px,36px 36px,auto,auto;
}
.trainingLoginShell[data-audience=curador] .loginMotionTrack {
  border-top-color: #4fc8b8;
}
.trainingLoginShell[data-audience=administrador] .loginMotionStage {
  border-color: rgba(185,242,39,.18);
  background: linear-gradient(90deg,rgba(185,242,39,.04) 1px,transparent 1px),
    linear-gradient(rgba(185,242,39,.04) 1px,transparent 1px),
    radial-gradient(circle at 78% 50%,rgba(185,242,39,.12),transparent 34%),
    rgba(8,28,34,.42);
  background-size: 36px 36px,36px 36px,auto,auto;
}
.trainingLoginShell[data-audience=administrador] .loginMotionTrack {
  border-top-color: #b9f227;
}
.loginPurpose {
  position: relative;
  z-index: 3;
}
.loginPurpose h1 {
  margin-block: .8rem 1rem;
}
.trainingLoginBrand>small {
  margin-top: auto;
  padding-top: .5rem;
}
.loginMotionStage,
.trainingLoginShell[data-audience=curador] .loginMotionStage,
.trainingLoginShell[data-audience=administrador] .loginMotionStage {
  width: calc(100% + clamp(2rem,6vw,6rem));
  margin-inline: calc(clamp(1rem,3vw,3rem) * -1);
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background-color: transparent;
  background-image: linear-gradient(90deg,rgba(105,194,230,.045) 1px,transparent 1px),
    linear-gradient(rgba(105,194,230,.045) 1px,transparent 1px),
    radial-gradient(ellipse at 78% 50%,rgba(105,194,230,.17),transparent 48%),
    radial-gradient(ellipse at 20% 55%,rgba(105,194,230,.055),transparent 52%);
  background-size: 36px 36px,36px 36px,auto,auto;
  -webkit-mask-image: linear-gradient(90deg,transparent 0,#000 9%,#000 91%,transparent 100%),
    linear-gradient(180deg,transparent 0,#000 12%,#000 88%,transparent 100%);
  -webkit-mask-composite: source-in;
  mask-image: linear-gradient(90deg,transparent 0,#000 9%,#000 91%,transparent 100%);
}
.trainingLoginShell[data-audience=curador] .loginMotionStage {
  background-image: linear-gradient(90deg,rgba(79,200,184,.05) 1px,transparent 1px),
    linear-gradient(rgba(79,200,184,.05) 1px,transparent 1px),
    radial-gradient(ellipse at 78% 50%,rgba(79,200,184,.18),transparent 48%),
    radial-gradient(ellipse at 20% 55%,rgba(79,200,184,.055),transparent 52%);
}
.trainingLoginShell[data-audience=administrador] .loginMotionStage {
  background-image: linear-gradient(90deg,rgba(185,242,39,.04) 1px,transparent 1px),
    linear-gradient(rgba(185,242,39,.04) 1px,transparent 1px),
    radial-gradient(ellipse at 78% 50%,rgba(185,242,39,.13),transparent 48%),
    radial-gradient(ellipse at 20% 55%,rgba(185,242,39,.045),transparent 52%);
}
@media (max-width:900px) {
  .trainingLoginBrand {
    min-height: auto;
  }
  .loginMotionStage {
    height: 180px;
  }
}
@media (max-width:560px) {
  .trainingLoginBrand {
    gap: 1.25rem;
  }
  .loginMotionStage {
    height: 140px;
    width: calc(100% + 2rem);
    margin-inline: -1rem;
    -webkit-mask-image: linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
    mask-image: linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
  }
  .loginMotionCore {
    left: 78%;
    width: 54px;
    height: 54px;
  }
  .loginMotionTrack {
    inset: 10% -8% 18% 42%;
  }
  .loginMotionTrack.trackTwo {
    inset: 24% 2% 30% 52%;
  }
  .loginMotionNode {
    width: 2rem;
    height: 2rem;
    font-size: .48rem;
  }
  .loginMotionNode.nodeOne {
    left: 7%;
  }
  .loginMotionNode.nodeTwo {
    left: 31%;
  }
  .loginMotionNode.nodeThree {
    left: 52%;
  }
  .loginMotionStage>small {
    display: none;
  }
}
.decisionReviewDialog {
  width: min(620px, calc(100vw - 32px));
  border: 1px solid rgba(111, 214, 192, .32);
  border-radius: 24px;
  padding: 0;
  color: var(--ink, #ecf7f4);
  background: #092622;
  box-shadow: 0 28px 90px rgba(0, 0, 0, .45);
}
.decisionReviewDialog::backdrop {
  background: rgba(2, 15, 13, .72);
  backdrop-filter: blur(8px);
}
.decisionReviewDialog form {
  display: grid;
  gap: 18px;
  padding: 28px;
}
.decisionReviewDialog h2 {
  margin: 0;
}
.decisionReviewDialog dl {
  display: grid;
  gap: 10px;
  margin: 0;
}
.decisionReviewDialog dl div {
  display: grid;
  grid-template-columns: 130px 1fr;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid rgba(255,255,255,.1);
}
.decisionReviewDialog dt {
  color: #8fb9af;
}
.decisionReviewDialog dd {
  margin: 0;
  font-weight: 650;
}
.decisionReviewDialog label {
  display: grid;
  gap: 8px;
}
.decisionReviewDialog textarea {
  min-height: 96px;
}
.decisionReviewActions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
}
@media (max-width: 520px) {
  .decisionReviewDialog dl div {
    grid-template-columns: 1fr;
    gap: 4px;
  }
}
.site :focus-visible,.trainingApp :focus-visible,.curatorShell :focus-visible,.adminShell :focus-visible,
.trainingLoginShell :focus-visible,.panelLoginShell :focus-visible {
  outline: 3px solid #f4b942;
  outline-offset: 3px;
}
.portalTabs {
  scrollbar-gutter: stable;
  scroll-padding-inline: .45rem;
}
.portalTabs button {
  min-height: 44px;
}
.portalTabPanel {
  scroll-margin-top: 5.5rem;
  min-width: 0;
}
.adminDecisionStatus,.trainingAssessmentNotice,.trainingLoginStatus {
  border-left: 4px solid currentColor;
}
@media (max-width:420px) {
  .portalTabs {
    width: calc(100% - 1rem);
    padding: .35rem;
  }
  .portalTabs button,.portalTabs a {
    padding: .7rem .75rem;
  }
  .trainingApp,.curatorShell,.adminShell {
    min-width: 0;
    overflow-x: clip;
  }
  .trainingHeroContent h1,.trainingLoginBrand h1,.panelLoginBrand h1 {
    font-size: clamp(2.15rem,11vw,3.2rem);
  }
}
@media (prefers-reduced-motion:reduce) {
  .trainingApp *,.curatorShell *,.adminShell *,.trainingLoginShell *,.panelLoginShell * {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}
@media (forced-colors:active) {
  .site,.trainingApp,.curatorShell,.adminShell,.trainingLoginShell,.panelLoginShell {
    color: CanvasText;
    background: Canvas;
  }
  .site a,.site button,.trainingApp a,.trainingApp button,.curatorShell a,.curatorShell button,
  .adminShell a,.adminShell button,.trainingLoginShell a,.trainingLoginShell button,
  .panelLoginShell a,.panelLoginShell button {
    forced-color-adjust: auto;
    border: 1px solid ButtonText;
  }
  .site :focus-visible,.trainingApp :focus-visible,.curatorShell :focus-visible,.adminShell :focus-visible,
  .trainingLoginShell :focus-visible,.panelLoginShell :focus-visible {
    outline: 3px solid Highlight !important;
    outline-offset: 3px !important;
  }
  .portalOpeningMotion,.loginMotionStage,.trainingHeroArt,.trainingHeroShade {
    display: none !important;
  }
}
@media (prefers-contrast:more) {
  :root {
    --line: #66767d;
  }
  .trainingLoginCard,.panelLoginCard,.portalRoleBrief,.trainingCard,.adminPanel {
    border: 2px solid currentColor;
  }
}
.trainingLoginCard h2,
.panelLoginCard h2 {
  font-size: clamp(1.85rem,2.8vw,3.2rem);
  line-height: 1;
  letter-spacing: -.055em;
  white-space: nowrap;
}
@media (max-width:900px) {
  .trainingLoginCard h2,
  .panelLoginCard h2 {
    font-size: clamp(1.45rem,7vw,2.35rem);
    white-space: normal;
    overflow-wrap: anywhere;
  }
}
.trainingLoginCard>.loginBackLink {
  width: max-content;
  margin: 0 0 1.4rem;
  text-align: left;
  color: #315d6c;
}
.trainingLoginCard>.loginBackLink:hover {
  text-decoration: underline;
}
.trainingHeader,.portalUnifiedHead {
  color: #082f3f;
}
.trainingHeader .portalUnifiedIdentity strong,.portalUnifiedHead h1,.portalUnifiedHead p,.portalUnifiedHead small {
  color: #082f3f;
}
.trainingHeader .portalUnifiedIdentity small {
  color: #526f79;
}
.portalUnifiedHead nav a,.portalUnifiedHead nav button,.trainingHeader nav a,.trainingHeader nav button {
  color: #0a4054;
  border-color: rgba(10,64,84,.28);
  background: rgba(255,255,255,.72);
}
.portalUnifiedHead nav a:hover,.portalUnifiedHead nav button:hover,.trainingHeader nav a:hover,.trainingHeader nav button:hover {
  color: #fff;
  border-color: #0a4054;
  background: #0a4054;
}
@property --tw-blur {
  syntax: "*";
  inherits: false;
}
@property --tw-brightness {
  syntax: "*";
  inherits: false;
}
@property --tw-contrast {
  syntax: "*";
  inherits: false;
}
@property --tw-grayscale {
  syntax: "*";
  inherits: false;
}
@property --tw-hue-rotate {
  syntax: "*";
  inherits: false;
}
@property --tw-invert {
  syntax: "*";
  inherits: false;
}
@property --tw-opacity {
  syntax: "*";
  inherits: false;
}
@property --tw-saturate {
  syntax: "*";
  inherits: false;
}
@property --tw-sepia {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false;
}
@keyframes pulse {
  50% {
    opacity: 0.5;
  }
}
@layer properties {
  @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
    *, ::before, ::after, ::backdrop {
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
    }
  }
}
