:root{
  /* Dark Sea Tones */
  --oxford:#08204F;
  --coolblack:#032E66;
  --cerulean:#063F78;
  --seablue:#016394;
  --cgblue:#0B80A1;

  --topblack:#050A12;

  /* neutrals */
  --white:#ffffff;
  --ink:#06142f;
  --muted:#3a5068;
  --border: rgba(1,99,148,0.18);

  --shadow: 0 18px 52px rgba(8,32,79,0.10);

  --r12:12px;
  --r16:16px;
  --r20:20px;
  --r24:24px;
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  font-family: Manrope, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:var(--ink);
  background:var(--white);
  overflow-x:hidden;
}

.container{
  width:100%;
  max-width:1180px;
  margin:0 auto;
  padding:0 24px;
}
a{ color:inherit; }
.chatFab{
  position:fixed;
  right:22px;
  bottom:22px;
  z-index:120;
  padding:14px 18px;
  border-radius:999px;
  background: linear-gradient(180deg, var(--oxford) 0%, var(--coolblack) 100%);
  color:#fff;
  text-decoration:none;
  font-weight:800;
  box-shadow: 0 14px 28px rgba(1,99,148,0.24);
  border:1px solid rgba(255,255,255,0.18);
}
.chatFab:hover{ filter: brightness(1.05); }
.chatWidget{
  position:fixed;
  right:22px;
  bottom:82px;
  width:min(360px, 92vw);
  background:#fff;
  border:1px solid var(--border);
  border-radius:18px;
  box-shadow: 0 16px 40px rgba(8,32,79,0.18);
  z-index:121;
  overflow:hidden;
  display:none;
}
.chatWidget.is-open{ display:block; }
.chatWidget__header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 16px;
  background: linear-gradient(180deg, var(--oxford) 0%, var(--coolblack) 100%);
  color:#fff;
}
.chatWidget__title{ font-weight:800; }
.chatWidget__sub{ font-size:12px; opacity:0.8; }
.chatWidget__close{
  background: rgba(255,255,255,0.12);
  border:1px solid rgba(255,255,255,0.25);
  color:#fff;
  border-radius:10px;
  width:30px;
  height:30px;
  cursor:pointer;
}
.chatWidget__form{ padding:14px 16px 16px; }

/* ===== TOPBAR / TICKER ===== */
.topbar{
  background:#fff;
  border-bottom:1px solid var(--border);
}
.topbar--dark{
  background: var(--topblack);
  border-bottom:1px solid rgba(255,255,255,0.10);
}
.topbar__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:10px 0;
}
.ticker{
  overflow:hidden;
  white-space:nowrap;
  flex:1;
  min-width:0;
}
.ticker__track{
  display:inline-flex;
  align-items:center;
  gap:18px;
  animation: tickerMove 18s linear infinite;
  will-change: transform;
}
.ticker__item{
  font-size:13px;
  font-weight:800;
  color: rgba(255,255,255,0.82);
}
.ticker__item b{ color:#fff; }
.ticker__sep{ opacity:.25; color:#fff; font-weight:900; }
@keyframes tickerMove{
  from{ transform: translateX(0); }
  to{ transform: translateX(-50%); }
}
.topbar__cta{
  text-decoration:none;
  font-weight:900;
  font-size:13px;
  padding:10px 14px;
  border-radius:999px;
  background: rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.18);
  color:#fff;
}

/* ===== NAV ===== */
.nav{
  position:sticky;
  top:0;
  z-index:50;
  background: rgba(255,255,255,0.92);
  backdrop-filter: blur(10px);
  border-bottom:1px solid var(--border);
}
.nav--dark{
  background: linear-gradient(180deg, var(--oxford) 0%, var(--coolblack) 100%);
  border-bottom:1px solid rgba(255,255,255,0.12);
}
.nav--dark .brand{ color:#fff; }
.nav--dark .logo--header{ filter: brightness(0) invert(1); }
.nav--dark .nav__links a{ color: rgba(255,255,255,0.8); }
.nav--dark .nav__links a:hover{ color:#fff; }
.nav--dark .nav__cta{
  background: rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.3);
  color:#fff;
}
.nav--dark .nav__toggle{
  background: rgba(255,255,255,0.06);
  border-color: rgba(255,255,255,0.3);
}
.nav--dark .nav__toggle span{ background:#fff; }
.nav__inner{
  height:72px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}

.brand{
  text-decoration:none;
  display:flex;
  align-items:center;
  gap:3px;
  font-weight:800;
  color: var(--oxford);
  letter-spacing:-0.02em;
  font-size:18px;
  white-space:nowrap;
}
.brand__icon{
  display:inline-flex;
  width:38px;
  height:38px;
}
.brand__icon svg,
.brand__icon img{
  width:38px;
  height:38px;
  display:block;
}
.brand__text{ line-height:1; }

.nav__links{ display:flex; align-items:center; gap:22px; }
.nav__links a{
  text-decoration:none;
  color: rgba(6,20,47,0.75);
  font-weight:800;
  font-size:14px;
}
.nav__links a:hover{ color: var(--oxford); }
.nav__cta{
  padding:10px 14px;
  border-radius:999px;
  border:1px solid var(--border);
  background:#fff;
  color: var(--oxford);
}
.nav__toggle{
  display:none;
  width:42px; height:42px;
  border:1px solid var(--border);
  background:#fff;
  border-radius:12px;
  padding:10px;
}
.nav__toggle span{
  display:block;
  height:2px;
  background: var(--oxford);
  margin:5px 0;
  border-radius:2px;
}

/* ===== SECTION BREAKS (ARTISTIC WAVES) ===== */
.sectionBreak{
  height:92px;
  overflow:hidden;
  margin-top:-1px;
}
.sectionBreak__svg{
  width:100%;
  height:100%;
  display:block;
}
.sectionBreak__svg path{
  fill:#ffffff;
}

/* Light break keeps white wave */
.sectionBreak--light .sectionBreak__svg path{
  fill:#ffffff;
}

/* Into dark: wave is dark to blend into products */
.sectionBreak--intoDark{
  background:#ffffff;
}
.sectionBreak--intoDark .sectionBreak__svg path{
  fill: var(--oxford);
  opacity: 0.98;
}

/* From dark back to white: wave is white on dark bg */
.sectionBreak--fromDark{
  background: linear-gradient(180deg, var(--coolblack), rgba(255,255,255,0));
}
.sectionBreak--fromDark .sectionBreak__svg path{
  fill:#ffffff;
}

/* ===== SECTIONS ===== */
.section{ padding:76px 0; }
.section--white{ background:#fff; }
.section--academyWhite{ background:#fff; }
.section--casesWhite{ background:#fff; }
.section--contactWhite{
  background:#fff;
  padding-bottom:0;
}
.section--academyWhite{
  position:relative;
  overflow:hidden;
}
.section--academyWhite::before,
.section--academyWhite::after{
  content:"";
  position:absolute;
  inset:-20% -10%;
  pointer-events:none;
  background:
    radial-gradient(circle at 20% 30%, rgba(1,99,148,0.10), transparent 42%),
    radial-gradient(circle at 75% 20%, rgba(8,32,79,0.08), transparent 40%),
    radial-gradient(circle at 60% 80%, rgba(11,128,161,0.10), transparent 45%);
  animation: academyGlow 22s ease-in-out infinite;
  opacity:0.55;
}
.section--academyWhite::after{
  animation-duration: 28s;
  opacity:0.35;
  filter: blur(8px);
}
@keyframes academyGlow{
  0%{ transform: translate3d(0,0,0) scale(1); }
  50%{ transform: translate3d(-2%, -3%, 0) scale(1.03); }
  100%{ transform: translate3d(0,0,0) scale(1); }
}
@media (prefers-reduced-motion: reduce){
  .section--academyWhite::before,
  .section--academyWhite::after{
    animation: none;
  }
}

/* ===== HERO ===== */
.section--hero{
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(to right,
      rgba(255,255,255,0.98) 0%,
      rgba(255,255,255,0.92) 38%,
      rgba(255,255,255,0.65) 58%,
      rgba(255,255,255,0.00) 100%),
    url("assets/hero.png");
  background-repeat:no-repeat;
  background-position:right center;
  background-size:cover;
  min-height: 78vh;
  display:flex;
  align-items:center;
}
.hero__grid{ width:100%; display:grid; grid-template-columns:1fr; }
.hero__copy{ max-width:760px; }
.pill{
  display:inline-flex;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid var(--border);
  background: rgba(1,99,148,0.06);
  color: var(--oxford);
  font-weight:800;
  font-size:12px;
  margin-bottom:16px;
}
.hero h1{
  margin:0 0 14px;
  font-size:58px;
  line-height:1.03;
  letter-spacing:-0.04em;
  color: var(--oxford);
}
.lead{
  margin:0 0 18px;
  font-size:18px;
  line-height:1.65;
  color: rgba(6,20,47,0.70);
  max-width:64ch;
}
.ctaRow{ display:flex; gap:12px; flex-wrap:wrap; margin:18px 0 22px; }

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:14px 18px;
  border-radius:999px;
  font-weight:800;
  text-decoration:none;
  border:1px solid transparent;
  cursor:pointer;
  font:inherit;
}
.btn--primary{
  background: linear-gradient(180deg, var(--oxford) 0%, var(--coolblack) 100%);
  color:#fff;
  box-shadow: 0 14px 28px rgba(1,99,148,0.22);
}
.btn--ghost{
  background:#fff;
  color: var(--oxford);
  border-color: var(--border);
}
.btn--full{ width:100%; }

/* dark buttons inside products */
.btn--primaryDark{
  background: rgba(255,255,255,0.92);
  color: var(--oxford);
  border-color: rgba(255,255,255,0.16);
}
.btn--ghostDark{
  background: rgba(255,255,255,0.06);
  color: rgba(255,255,255,0.78);
  border-color: rgba(255,255,255,0.14);
}
.btn--ghostDark:hover{
  color:#fff;
  border-color: rgba(255,255,255,0.28);
}

.proofRow{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:12px;
}
.proof{
  padding:14px;
  border:1px solid var(--border);
  border-radius:18px;
  background:#fff;
  box-shadow: 0 10px 22px rgba(8,32,79,0.06);
}
.proof__k{ font-weight:800; color: var(--oxford); margin-bottom:6px; }
.proof__v{ color: rgba(6,20,47,0.68); font-size:13px; line-height:1.45; }

/* ===== HOW HEADER (single header) ===== */
.howHeaderRow{
  display:flex;
  align-items:center;
  gap:14px;
}
.howHeaderOnce{
  flex:1;
  overflow:hidden;
  white-space:nowrap;
}
.howHeaderOnce__track{
  display:inline-flex;
  align-items:center;
  gap:18px;
}
.howHeaderOnce__text{
  font-size:48px;
  font-weight:800;
  letter-spacing:-0.03em;
  color: var(--oxford);
}
.howHeaderOnce__line{
  display:inline-block;
  width:240px;
  height:2px;
  background: rgba(6,20,47,0.16);
  transform: translateY(6px);
}
.aboutJump{
  text-decoration:none;
  font-weight:800;
  color: var(--oxford);
  border:1px solid var(--border);
  padding:12px 14px;
  border-radius:999px;
  background:#fff;
  white-space:nowrap;
}
.howSub{
  margin:18px 0 30px;
  color: rgba(6,20,47,0.68);
  font-size:17px;
  line-height:1.65;
  max-width:78ch;
}

/* ===== ABOUT + USE CASES ===== */
.aboutGrid{
  display:grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap:22px;
  align-items:start;
}
.kicker{
  font-weight:800;
  letter-spacing:0.12em;
  font-size:12px;
  color: rgba(6,20,47,0.55);
  margin-bottom:12px;
}
.h2{
  margin:0 0 10px;
  font-size:34px;
  font-weight:800;
  letter-spacing:-0.03em;
  color: var(--oxford);
}
.p{
  margin:0 0 14px;
  color: rgba(6,20,47,0.70);
  line-height:1.75;
  font-size:16px;
  max-width: 78ch;
}

.useCasesIntro .kicker{
  font-weight:800;
  letter-spacing:0.12em;
  font-size:12px;
  color: rgba(6,20,47,0.55);
  margin-bottom:10px;
}
.useCasesIntro .h2{
  margin:0 0 10px;
  font-size:32px;
  letter-spacing:-0.03em;
  color: var(--oxford);
  font-weight:800;
}
.useCasesIntro .p{
  margin:0;
  color: rgba(6,20,47,0.7);
  line-height:1.7;
}

.useCasesFullscreen{
  position:relative;
  width:100vw;
  height:120vh;
  margin-top:18px;
  margin-left:calc(50% - 50vw);
  overflow:hidden;
}
.useCasesFullscreen__bg{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  transition: background-image 0.4s ease;
}
.useCasesFullscreen__overlay{
  position:absolute;
  inset:0;
  background: linear-gradient(90deg, rgba(3,9,20,0.45) 0%, rgba(3,9,20,0.55) 55%, rgba(3,9,20,0.78) 100%);
}
.useCasesFullscreen__badge{
  position:absolute;
  top:32px;
  left:32px;
  width:140px;
  height:140px;
  border-radius:999px;
  border:1px dashed rgba(255,255,255,0.7);
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  color:#fff;
  font-weight:800;
  font-size:13px;
  letter-spacing:0.08em;
  z-index:2;
}
.useCasesFullscreen__content{
  position:absolute;
  right:56px;
  top:50%;
  transform: translateY(-50%);
  display:grid;
  gap:14px;
  width:min(460px, 90vw);
  z-index:2;
}
.useCaseOption{
  text-align:left;
  padding:8px 0;
  border-radius:0;
  border:none;
  background: transparent;
  color:#fff;
  cursor:default;
  font:inherit;
  transition: transform 0.2s ease, border-color 0.2s ease, background 0.2s ease;
}
.useCaseOption__tag{
  font-size:11px;
  letter-spacing:0.12em;
  text-transform:uppercase;
  font-weight:800;
  color: rgba(255,255,255,0.9);
  text-shadow: 0 2px 12px rgba(0,0,0,0.5);
}
.useCaseOption__title{
  margin:6px 0 6px;
  font-size:22px;
  font-weight:800;
  letter-spacing:-0.02em;
  text-shadow: 0 3px 18px rgba(0,0,0,0.55);
}
.useCaseOption__desc{
  font-size:14.5px;
  color: rgba(255,255,255,0.9);
  line-height:1.6;
  text-shadow: 0 2px 12px rgba(0,0,0,0.45);
}
.useCaseOption.is-active{
  color:#fff;
}
.useCaseOption.is-active .useCaseOption__title{
  text-decoration: underline;
  text-underline-offset:6px;
  text-decoration-thickness:2px;
}
.nav.is-hidden{
  transform: translateY(-100%);
  opacity:0;
  pointer-events:none;
}
.valueRail__letter{
  width:52px;
  height:52px;
  border-radius:999px;
  border:1px solid rgba(1,99,148,0.18);
  background:#fff;
  color: rgba(8,32,79,0.40);
  font-weight:800;
  font-size:18px;
  cursor:pointer;
  transition: transform .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease;
}
.valueRail__letter:hover{
  transform: translateY(-1px);
  color: var(--oxford);
  border-color: rgba(1,99,148,0.30);
}
.valueRail__letter.is-active{
  color: var(--oxford);
  border-color: rgba(1,99,148,0.55);
  box-shadow: 0 10px 24px rgba(1,99,148,0.12);
}

/* VALUE blocks (no cards) */
.valueBlocks{
  margin-top: 20px;
  display:grid;
  gap:20px;
  max-width: 920px;
}
.valueBlock{
  padding: 18px 0;
  border-bottom: 1px solid rgba(6,20,47,0.10);
}
.valueBlock:last-child{ border-bottom: none; }
.valueBlock__h{
  margin:0 0 8px;
  font-size:24px;
  font-weight:800;
  color: var(--oxford);
}
.valueBlock__p{
  margin:0;
  color: rgba(6,20,47,0.70);
  line-height:1.75;
  font-size:16px;
}
.notePlain{
  margin-top:24px;
  padding-top:18px;
  border-top: 1px solid rgba(6,20,47,0.10);
  color: rgba(6,20,47,0.68);
  font-size:16px;
}

/* ===== PRODUCTS (dark section + bubbles) ===== */
.productsDark{
  position:relative;
  padding: 86px 0;
  color:#fff;
  background: linear-gradient(180deg, var(--oxford) 0%, var(--coolblack) 45%, rgba(3,46,102,0.95) 100%);
  overflow:hidden;
}
.productsDark__bg{
  position:absolute;
  inset:-20%;
  pointer-events:none;
  background:
    radial-gradient(circle at 20% 20%, rgba(255,255,255,0.10) 0 2px, transparent 3px),
    radial-gradient(circle at 75% 30%, rgba(255,255,255,0.08) 0 2px, transparent 3px),
    radial-gradient(circle at 35% 80%, rgba(255,255,255,0.08) 0 2px, transparent 3px),
    radial-gradient(circle at 60% 70%, rgba(255,255,255,0.06) 0 2px, transparent 3px),
    radial-gradient(circle at 50% 50%, rgba(255,255,255,0.05) 0 2px, transparent 3px);
  opacity:.55;
  animation: bubblesDrift 22s linear infinite;
}
@keyframes bubblesDrift{
  from{ transform: translate3d(0,0,0); }
  to{ transform: translate3d(-6%, -4%, 0); }
}

/* Products intro */
.productsIntro{
  position:relative;
  z-index:1;
  padding-bottom: 18px;
}
.productsIntro__kicker{
  font-weight:800;
  letter-spacing:0.12em;
  font-size:12px;
  color: rgba(255,255,255,0.70);
  margin-bottom:12px;
}
.productsIntro__title{
  margin:0 0 10px;
  font-size: 42px;
  letter-spacing:-0.03em;
  font-weight:800;
}
.productsIntro__sub{
  margin:0;
  color: rgba(255,255,255,0.72);
  line-height:1.75;
  max-width: 78ch;
}

/* Product rows */
.productRow{
  position:relative;
  z-index:1;
  margin-top: 40px;
  display:grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 46px;
  align-items:center;
}
.productRow__left{
  border-radius: 24px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,0.10);
  background: rgba(255,255,255,0.04);
  min-height: 360px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.productImg{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  opacity: 0.98;
}
.productRow__right{ max-width: 620px; }
.productTitle{
  margin:0 0 10px;
  font-size: 54px;
  letter-spacing:-0.04em;
  font-weight:800;
}
.productLead{
  margin:0;
  color: rgba(255,255,255,0.78);
  line-height:1.75;
  font-size:16px;
}
.productSplit{
  height:1px;
  margin:18px 0 14px;
  background: linear-gradient(90deg, rgba(255,255,255,0.02), rgba(255,255,255,0.18), rgba(255,255,255,0.06));
}
.productBullets{
  margin:0;
  padding-left: 18px;
  color: rgba(255,255,255,0.74);
  line-height:1.95;
  font-size:14.5px;
}
.productBullets b{ color:#fff; }
.productNote{
  margin:12px 0 0;
  color: rgba(255,255,255,0.7);
  line-height:1.7;
  font-size:14px;
}
.badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-left:10px;
  padding:4px 10px;
  border-radius:999px;
  font-size:11px;
  font-weight:800;
  letter-spacing:0.08em;
  text-transform:uppercase;
}
.badge--beta{
  background: rgba(255,255,255,0.16);
  color:#fff;
  border:1px solid rgba(255,255,255,0.28);
}
.productPageHero{
  padding:86px 0 40px;
  background:
    linear-gradient(180deg, rgba(8,32,79,0.06), rgba(8,32,79,0.02) 55%, rgba(255,255,255,0) 100%);
}
.productPageHero__grid{
  display:grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap:44px;
  align-items:center;
}
.productPageHero__image img{
  width:100%;
  border-radius:18px;
  box-shadow: 0 18px 48px rgba(8,32,79,0.18);
}
.productDetailGrid{
  display:grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap:24px;
  align-items:start;
}
.productDetailList{
  margin:12px 0 0;
  padding-left:18px;
  color: rgba(6,20,47,0.72);
  line-height:1.8;
}
.productDetailCard{
  background:#fff;
  border:1px solid var(--border);
  border-radius:18px;
  padding:16px;
  box-shadow: 0 10px 24px rgba(8,32,79,0.06);
}
.productDetailCard h3{
  margin:0 0 8px;
  color: var(--oxford);
  font-weight:800;
}
.productDetailCard p{
  margin:0;
  color: rgba(6,20,47,0.72);
  line-height:1.7;
}
.productCta{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top: 18px;
}
.dividerFancy{
  position:relative;
  z-index:1;
  margin: 46px 0 8px;
  height: 34px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.dividerFancy__glow{
  position:absolute;
  width:min(680px, 86%);
  height:34px;
  filter: blur(18px);
  background: radial-gradient(circle at 50% 50%, rgba(255,255,255,0.16), rgba(255,255,255,0.00) 62%);
  opacity:.9;
}
.dividerFancy__line{
  width:min(740px, 92%);
  height:1px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.20), rgba(11,128,161,0.22), rgba(255,255,255,0.20), transparent);
  opacity:.95;
}

/* ===== ACADEMY ===== */
.sectionHead h2{
  margin:0 0 10px;
  font-size:36px;
  letter-spacing:-0.03em;
  color: var(--oxford);
  font-weight:800;
}
.academyHeading{
  display:flex;
  flex-wrap:wrap;
  gap:0;
}
.academyHeading__letters{
  display:inline-flex;
  flex-wrap:wrap;
  font-weight:900;
  color: var(--oxford);
}
.academyHeading__letters span{
  display:inline-block;
  transform: translateY(10px) scale(0.98);
  opacity:0;
  animation: popIn 0.6s ease forwards;
}
@supports ((-webkit-background-clip:text) or (background-clip:text)) {
  .academyHeading__letters span{
    background: linear-gradient(135deg, #0b80a1, #016394 35%, #08204f 70%, #032e66);
    background-size: 220% 220%;
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
    animation: popIn 0.6s ease forwards, gradientShiftLR 6s linear infinite;
  }
}
.academyHeading__letters span:nth-child(1){ animation-delay:0.04s; }
.academyHeading__letters span:nth-child(2){ animation-delay:0.08s; }
.academyHeading__letters span:nth-child(3){ animation-delay:0.12s; }
.academyHeading__letters span:nth-child(4){ animation-delay:0.16s; }
.academyHeading__letters span:nth-child(5){ animation-delay:0.20s; }
.academyHeading__letters span:nth-child(6){ animation-delay:0.24s; }
.academyHeading__letters span:nth-child(7){ animation-delay:0.28s; }
.academyHeading__letters span:nth-child(8){ animation-delay:0.32s; }
.academyHeading__letters span:nth-child(9){ animation-delay:0.36s; }
.academyHeading__letters span:nth-child(10){ animation-delay:0.40s; }
.academyHeading__letters span:nth-child(11){ animation-delay:0.44s; }
.academyHeading__letters span:nth-child(12){ animation-delay:0.48s; }
.academyHeading__letters span:nth-child(13){ animation-delay:0.52s; }
.academyHeading__letters span:nth-child(14){ animation-delay:0.56s; }
.academyHeading__letters span:nth-child(15){ animation-delay:0.60s; }
.academyHeading__letters span:nth-child(16){ animation-delay:0.64s; }
.academyHeading__letters span:nth-child(17){ animation-delay:0.68s; }
.academyHeading__letters span:nth-child(18){ animation-delay:0.72s; }
.academyHeading__letters span:nth-child(19){ animation-delay:0.76s; }
.academyHeading__letters span:nth-child(20){ animation-delay:0.80s; }
.academyHeading__letters span:nth-child(21){ animation-delay:0.84s; }
.academyHeading__letters span:nth-child(22){ animation-delay:0.88s; }
.academyHeading__letters span:nth-child(23){ animation-delay:0.92s; }
.academyHeading__letters span:nth-child(24){ animation-delay:0.96s; }
.academyHeading__letters span:nth-child(25){ animation-delay:1.00s; }
.academyHeading__letters span:nth-child(26){ animation-delay:1.04s; }
.academyHeading__letters span:nth-child(27){ animation-delay:1.08s; }
.academyHeading__sr{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip: rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
.sectionHead p{
  margin:0 0 18px;
  color: rgba(6,20,47,0.70);
  font-size:16px;
  line-height:1.65;
  max-width:80ch;
}
.academyReveal{
  margin:12px 0 18px;
}
.academyReveal__frame{
  background:#fff;
  border:1px solid rgba(6,20,47,0.12);
  border-radius:18px;
  padding:16px 18px;
  box-shadow: 0 10px 24px rgba(8,32,79,0.06);
}
.academyReveal__text{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
  font-size:20px;
  font-weight:800;
  letter-spacing:-0.02em;
  color: var(--oxford);
}
.academyReveal__label{ color: rgba(6,20,47,0.75); }
.academyReveal__gradient{
  display:inline-flex;
  flex-wrap:wrap;
  gap:0;
  font-size:22px;
  font-weight:900;
  background: linear-gradient(135deg, #feda75, #fa7e1e 25%, #d62976 50%, #962fbf 75%, #4f5bd5);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.academyReveal__gradient span{
  display:inline-block;
  transform: translateY(10px);
  opacity:0;
  animation: popIn 0.6s ease forwards;
}
.academyReveal__gradient span:nth-child(1){ animation-delay:0.04s; }
.academyReveal__gradient span:nth-child(2){ animation-delay:0.08s; }
.academyReveal__gradient span:nth-child(3){ animation-delay:0.12s; }
.academyReveal__gradient span:nth-child(4){ animation-delay:0.16s; }
.academyReveal__gradient span:nth-child(5){ animation-delay:0.20s; }
.academyReveal__gradient span:nth-child(6){ animation-delay:0.24s; }
.academyReveal__gradient span:nth-child(7){ animation-delay:0.28s; }
.academyReveal__gradient span:nth-child(8){ animation-delay:0.32s; }
.academyReveal__gradient span:nth-child(9){ animation-delay:0.36s; }
.academyReveal__gradient span:nth-child(10){ animation-delay:0.40s; }
.academyReveal__gradient span:nth-child(11){ animation-delay:0.44s; }
.academyReveal__gradient span:nth-child(12){ animation-delay:0.48s; }
.academyReveal__gradient span:nth-child(13){ animation-delay:0.52s; }
.academyReveal__gradient span:nth-child(14){ animation-delay:0.56s; }
.academyReveal__gradient span:nth-child(15){ animation-delay:0.60s; }
.academyReveal__gradient span:nth-child(16){ animation-delay:0.64s; }
.academyReveal__gradient span:nth-child(17){ animation-delay:0.68s; }
.academyReveal__gradient span:nth-child(18){ animation-delay:0.72s; }
.academyReveal__gradient span:nth-child(19){ animation-delay:0.76s; }
.academyReveal__gradient span:nth-child(20){ animation-delay:0.80s; }
.academyReveal__gradient span:nth-child(21){ animation-delay:0.84s; }
.academyReveal__gradient span:nth-child(22){ animation-delay:0.88s; }
.academyReveal__gradient span:nth-child(23){ animation-delay:0.92s; }
.academyReveal__gradient span:nth-child(24){ animation-delay:0.96s; }
.academyReveal__gradient span:nth-child(25){ animation-delay:1.00s; }
.academyReveal__gradient span:nth-child(26){ animation-delay:1.04s; }
@keyframes popIn{
  0%{ opacity:0; transform: translateY(10px) scale(0.95); }
  100%{ opacity:1; transform: translateY(0) scale(1); }
}
@keyframes gradientShiftLR{
  0%{ background-position: 0% 50%; }
  100%{ background-position: 100% 50%; }
}
.academyReveal__sr{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip: rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
@media (prefers-reduced-motion: reduce){
  .academyReveal__gradient span{
    animation: none;
    opacity:1;
    transform:none;
  }
  .academyHeading__letters span{
    animation:none;
    opacity:1;
    transform:none;
  }
  .academyHeading__letters{ animation:none; }
}
.screenCard{
  margin:18px 0 22px;
}
.screenCard--flush{
  margin-top:10px;
}
.screenCard__frame{
  border-radius:26px;
  padding:8px;
  background:
    linear-gradient(135deg, rgba(255,255,255,0.95), rgba(255,255,255,0.5)),
    linear-gradient(135deg, #feda75, #fa7e1e 25%, #d62976 50%, #962fbf 75%, #4f5bd5);
  border:1px solid rgba(6,20,47,0.10);
  box-shadow:
    0 20px 46px rgba(8,32,79,0.14),
    0 0 0 10px rgba(255,255,255,0.85) inset;
}
.screenCard__media{
  border-radius:20px;
  background:#fff;
  border:1px solid rgba(6,20,47,0.12);
  padding:16px;
}
.screenCard__video{
  width:100%;
  border-radius:14px;
  display:block;
}
.academyFeatures{
  margin:12px 0 22px;
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap:12px;
}
.academyFeatureCard{
  background:#fff;
  border:1px solid rgba(6,20,47,0.12);
  border-radius:16px;
  padding:14px 16px;
  box-shadow: 0 10px 24px rgba(8,32,79,0.06);
}
.academyFeatureCard__title{
  font-weight:800;
  color: var(--oxford);
  margin-bottom:6px;
}
.academyFeatureCard__desc{
  color: rgba(6,20,47,0.68);
  line-height:1.6;
  font-size:13.5px;
}
.screenCard__placeholder{
  height:220px;
  border-radius:14px;
  background:
    radial-gradient(circle at 15% 20%, rgba(1,99,148,0.12), transparent 40%),
    radial-gradient(circle at 80% 30%, rgba(8,32,79,0.10), transparent 40%),
    linear-gradient(135deg, rgba(8,32,79,0.05), rgba(8,32,79,0.01));
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-end;
  padding:18px;
  gap:6px;
  color: var(--oxford);
}
.screenCard__badge{
  font-size:11px;
  font-weight:800;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:#fff;
  background: linear-gradient(180deg, var(--oxford) 0%, var(--coolblack) 100%);
  padding:6px 10px;
  border-radius:999px;
}
.screenCard__title{
  font-size:20px;
  font-weight:800;
  letter-spacing:-0.02em;
}
.screenCard__subtitle{
  font-size:13px;
  color: rgba(6,20,47,0.72);
}
.academyGrid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap:12px;
}
.academyCard{
  background:#fff;
  border:1px solid var(--border);
  border-radius:18px;
  padding:16px;
  box-shadow: 0 10px 24px rgba(8,32,79,0.06);
}
.academyCard h3{ margin:0 0 8px; color: var(--oxford); font-weight:800; }
.academyCard p{ margin:0; color: rgba(6,20,47,0.70); line-height:1.6; }
.academyCTA{ display:flex; gap:12px; flex-wrap:wrap; margin-top:16px; }

/* ===== CASES ===== */
.casesHeadWhite{ margin-bottom: 18px; }
.casesKickerWhite{
  font-weight:800;
  letter-spacing:0.12em;
  font-size:12px;
  color: rgba(6,20,47,0.55);
  margin-bottom:12px;
}
.casesTitleWhite{
  margin:0 0 10px;
  font-size:40px;
  letter-spacing:-0.03em;
  color: var(--oxford);
  font-weight:800;
}
.casesSubWhite{
  margin:0;
  color: rgba(6,20,47,0.70);
  line-height:1.7;
  max-width: 82ch;
}
.casesCards{
  margin-top: 22px;
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap:14px;
}
.caseCard{
  display:block;
  text-decoration:none;
  border-radius: 22px;
  overflow:hidden;
  border:1px solid var(--border);
  box-shadow: var(--shadow);
  background:#fff;
  transition: transform .22s ease, box-shadow .22s ease;
}
.caseCard:hover{
  transform: translateY(-2px);
  box-shadow: 0 22px 70px rgba(8,32,79,0.14);
}
.caseImgWrap{
  height: 240px;
  overflow:hidden;
  background: rgba(1,99,148,0.06);
}
.caseImgWrap img{
  width:100%;
  height:100%;
  object-fit:cover;
  transform: scale(1.02);
  transition: transform .35s ease;
}
.caseCard:hover .caseImgWrap img{ transform: scale(1.08); }
.caseBody{ padding: 16px 18px 18px; }
.caseTag{
  display:inline-flex;
  padding:6px 10px;
  border-radius: 999px;
  border:1px solid var(--border);
  background: rgba(1,99,148,0.06);
  color: var(--oxford);
  font-weight:800;
  font-size:12px;
  margin-bottom: 10px;
}
.caseTitle{
  font-weight:800;
  letter-spacing:-0.02em;
  color: var(--oxford);
  font-size: 22px;
}
.caseDesc{
  margin-top: 8px;
  color: rgba(6,20,47,0.70);
  line-height:1.7;
}

/* ===== CONTACT ===== */
.contactGrid{
  display:grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap:14px;
  align-items:start;
}
.meta{ display:grid; gap:10px; margin-top:12px; }
.metaRow{
  display:flex;
  justify-content:space-between;
  padding:12px;
  border:1px solid var(--border);
  border-radius:16px;
  background:#fff;
}
.metaRow__stack{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:6px;
}
.metaRow__stack a{ text-decoration:none; }
.form{
  background:#fff;
  border:1px solid var(--border);
  border-radius:18px;
  padding:16px;
  box-shadow: 0 10px 24px rgba(8,32,79,0.06);
  margin-bottom:18px;
}
.lmsLogin{
  max-width:520px;
}
.lmsLogin__links{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin-top:12px;
  font-size:13px;
  color: rgba(6,20,47,0.7);
}
.lmsLogin__links a{
  text-decoration:none;
  color: inherit;
}
.lmsPage{
  min-height:100vh;
  background:#fff;
}
.lmsSplit{
  min-height:100vh;
  display:grid;
  grid-template-columns: 1fr 1fr;
}
.lmsSplit__left{
  background: linear-gradient(180deg, rgba(254,218,117,0.35), rgba(214,41,118,0.25) 40%, rgba(150,47,191,0.18) 70%, rgba(79,91,213,0.15));
  padding:60px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:18px;
}
.lmsBrand{
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:800;
  color: var(--oxford);
}
.lmsBrand img{ width:36px; height:36px; }
.lmsHero h1{
  margin:0 0 8px;
  font-size:40px;
  color: var(--oxford);
}
.lmsHero p{
  margin:0;
  color: rgba(6,20,47,0.7);
  font-size:18px;
}
.lmsSplit__right{
  padding:60px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:18px;
}
.lmsCard{
  width:min(420px, 92vw);
  background:#fff;
  border:1px solid rgba(6,20,47,0.12);
  border-radius:18px;
  padding:22px;
  box-shadow: 0 16px 36px rgba(8,32,79,0.10);
}
.lmsCard__logo{
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:800;
  color: var(--oxford);
  margin-bottom:10px;
}
.lmsCard__logo img{ width:28px; height:28px; }
.lmsCard h2{
  margin:0 0 6px;
  font-size:24px;
}
.lmsCard__sub{
  margin:0 0 14px;
  color: rgba(6,20,47,0.65);
  font-size:14px;
}
.lmsForm label{ display:block; margin-bottom:12px; }
.lmsForm label span{
  display:block;
  margin-bottom:6px;
  font-weight:800;
  color: rgba(8,32,79,0.70);
  font-size:12px;
}
.lmsForm input{
  width:100%;
  padding:12px;
  border-radius:14px;
  border:1px solid rgba(6,20,47,0.12);
  background:#f7f9fc;
  outline:none;
  font:inherit;
}
.lmsMethod__label{
  margin:10px 0 10px;
  font-weight:700;
  font-size:13px;
  color: rgba(6,20,47,0.72);
}
.lmsCard__footer{
  margin-top:12px;
  font-size:12.5px;
  color: rgba(6,20,47,0.6);
}
.lmsPowered{
  font-size:12px;
  color: rgba(6,20,47,0.45);
}
@media (max-width: 980px){
  .lmsSplit{ grid-template-columns:1fr; }
  .lmsSplit__left, .lmsSplit__right{ padding:36px 22px; }
}
label{ display:block; margin-bottom:12px; }
label span{
  display:block;
  margin-bottom:6px;
  font-weight:800;
  color: rgba(8,32,79,0.70);
  font-size:12px;
}
input, textarea{
  width:100%;
  padding:12px;
  border-radius:16px;
  border:1px solid var(--border);
  background: rgba(1,99,148,0.05);
  outline:none;
  font:inherit;
}
.status{ margin:10px 0 0; font-size:13px; color: rgba(6,20,47,0.70); }

/* ===== FOOTER (PRIMUS-INSPIRED) ===== */
.footer--expanded{
  background: linear-gradient(180deg, var(--oxford) 0%, var(--coolblack) 100%);
  color: rgba(255,255,255,0.86);
  border-top: 1px solid rgba(255,255,255,0.12);
}
.footer__grid{
  padding:38px 0 28px;
  display:grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr;
  gap:24px;
}
.footer__brand p{
  margin:10px 0 16px;
  color: rgba(255,255,255,0.74);
  line-height:1.6;
  max-width:300px;
}
.footer__subscribe{
  margin:0 0 16px;
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}
.footer__subscribeTitle{
  font-weight:700;
  color: rgba(255,255,255,0.82);
}
.footer__subscribeBtn{
  text-decoration:none;
  font-weight:800;
  font-size:12px;
  color:#fff;
  border:1px solid rgba(255,255,255,0.28);
  border-radius:999px;
  padding:6px 12px;
  background: rgba(255,255,255,0.08);
}
.footer__subscribeBtn:hover{ background: rgba(255,255,255,0.16); }
.footer__logo{
  display:flex;
  align-items:center;
  gap:12px;
  font-weight:800;
  font-size:18px;
  color:#fff;
}
.footer__logo img{
  width:52px;
  height:52px;
  border-radius:8px;
}
.logo--footer{
  filter: brightness(0) invert(1);
}
.logo--header{
  filter: none;
}
.footer__social{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
}
.footer__social a{
  text-decoration:none;
  font-weight:700;
  color: rgba(255,255,255,0.78);
  border:1px solid rgba(255,255,255,0.18);
  border-radius:999px;
  padding:6px 12px;
  font-size:12px;
}
.footer__social a:hover{ color:#fff; border-color: rgba(255,255,255,0.4); }

.footer__col h4{
  margin:0 0 12px;
  font-size:13px;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color: rgba(255,255,255,0.7);
}
.footer__col a{
  display:block;
  text-decoration:none;
  color: rgba(255,255,255,0.86);
  margin:8px 0;
  font-weight:600;
}
.footer__col a:hover{ color:#fff; }

.footer__bottom{
  border-top:1px solid rgba(255,255,255,0.12);
}
.footer__bottomInner{
  padding:18px 0 26px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  font-weight:700;
}
.footerLinks{ display:flex; gap:14px; flex-wrap:wrap; }
.footerLinks a{
  text-decoration:none;
  color: rgba(255,255,255,0.78);
}
.footerLinks a:hover{ color:#fff; }

/* ===== RESPONSIVE ===== */
@media (max-width: 980px){
  .proofRow{ grid-template-columns:1fr; }
  .academyGrid{ grid-template-columns:1fr; }
  .casesCards{ grid-template-columns:1fr; }
  .contactGrid{ grid-template-columns:1fr; }
  .screenCard__placeholder{ height:200px; }
  .productPageHero__grid{ grid-template-columns:1fr; }
  .productDetailGrid{ grid-template-columns:1fr; }
  .academyFeatures{ grid-template-columns:1fr; }
  .useCasesFullscreen{
    height:100vh;
  }
  .useCasesFullscreen__content{
    position:relative;
    right:auto;
    top:auto;
    transform:none;
    padding:24px;
    margin-top:120px;
  }
  .footer__grid{ grid-template-columns: 1fr 1fr; }

  .howHeaderRow{ flex-direction:column; align-items:flex-start; }
  .howHeaderOnce__text{ font-size:38px; }
  .howHeaderOnce__line{ width:160px; }

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

  .productRow{
    grid-template-columns: 1fr;
    gap:16px;
  }
  .productTitle{ font-size:44px; }

  .nav__toggle{ display:inline-flex; align-items:center; justify-content:center; }
  .nav__links{
    display:none;
    position:absolute;
    top:72px;
    left:0;
    right:0;
    padding:14px 16px;
    background: rgba(255,255,255,0.98);
    backdrop-filter: blur(10px);
    border-bottom:1px solid var(--border);
    flex-direction:column;
    align-items:flex-start;
    gap:12px;
  }
  .nav__links.is-open{ display:flex; }
  .nav__links a{ width:100%; padding:10px 12px; border-radius:12px; }
  .nav__cta{ width:100%; text-align:center; }
}

@media (max-width: 640px){
  .footer__grid{ grid-template-columns: 1fr; }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  .ticker__track, .productsDark__bg{ animation:none !important; }
}
