/* =========================================================
ABX BRAND SYSTEM
========================================================= */

#abx-hero,
#abx-hero * {
  box-sizing: border-box;
}

#abx-hero {

  --abx-ink: #01051a;
  --abx-navy: #031238;
  --abx-navy2: #061c56;

  --abx-blue-dark: #053ca9;
  --abx-blue: #0a63e5;
  --abx-electric: #087cff;

  --abx-cyan: #20d4ff;
  --abx-cyan-soft: #6bc8f5;

  --abx-white: #ffffff;
  --abx-soft: #f7f9fc;
  --abx-soft-blue: #f1f8ff;
  --abx-silver: #d8e2ee;

  --abx-text: #07142f;
  --abx-muted: #586579;
  --abx-border: #c5d6e5;

  --abx-success: #148b68;

  --abx-grad:
    linear-gradient(
      135deg,
      #043ca8 0%,
      #087cff 52%,
      #20d4ff 100%
    );

  --abx-dark-grad:
    linear-gradient(
      135deg,
      #01051a 0%,
      #031238 55%,
      #08245f 100%
    );

  position: relative;
  isolation: isolate;
  overflow: hidden;

  width: 100%;

  padding: 92px 0 100px;

  background:
    radial-gradient(
      circle at 84% 10%,
      rgba(32,212,255,.16),
      transparent 26%
    ),
    radial-gradient(
      circle at 13% 86%,
      rgba(8,124,255,.10),
      transparent 27%
    ),
    linear-gradient(
      180deg,
      #ffffff 0%,
      #f7f9fc 55%,
      #f3f8fd 100%
    );

  font-family:
    Inter,
    ui-sans-serif,
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;
}


/* =========================================================
BACKGROUND GRID
========================================================= */

#abx-hero::after {
  content: "";

  position: absolute;
  inset: 0;

  z-index: -3;

  background-image:
    linear-gradient(
      rgba(5,60,169,.026) 1px,
      transparent 1px
    ),
    linear-gradient(
      90deg,
      rgba(5,60,169,.026) 1px,
      transparent 1px
    );

  background-size: 58px 58px;

  mask-image:
    linear-gradient(
      to bottom,
      rgba(0,0,0,.70),
      transparent 92%
    );

  pointer-events: none;
}


/* =========================================================
FLOATING BRAND LIGHT
========================================================= */

.abx-hero-orb {
  position: absolute;

  z-index: -2;

  border-radius: 50%;

  pointer-events: none;

  animation:
    abxHeroFloat
    10s ease-in-out infinite;
}

.abx-hero-orb.one {
  width: 330px;
  height: 330px;

  right: 2%;
  top: -30px;

  background:
    radial-gradient(
      circle,
      rgba(32,212,255,.18),
      rgba(32,212,255,0) 68%
    );
}

.abx-hero-orb.two {
  width: 390px;
  height: 390px;

  left: -150px;
  bottom: -200px;

  background:
    radial-gradient(
      circle,
      rgba(8,124,255,.12),
      rgba(8,124,255,0) 70%
    );

  animation-delay: -3s;
}

@keyframes abxHeroFloat {

  0%,100% {
    transform:
      translate3d(0,0,0)
      scale(1);
  }

  50% {
    transform:
      translate3d(0,-18px,0)
      scale(1.05);
  }

}


/* =========================================================
CONTAINER
========================================================= */

.abx-hero-container {
  position: relative;

  z-index: 2;

  width:
    min(
      1180px,
      calc(100% - 40px)
    );

  margin: 0 auto;
}

.abx-hero-grid {
  display: grid;

  grid-template-columns:
    minmax(0,1.03fr)
    minmax(400px,.97fr);

  gap: 70px;

  align-items: center;
}


/* =========================================================
RESULTS MODE
========================================================= */

#abx-hero.abx-results-mode
.abx-hero-grid {
  grid-template-columns: 1fr;
}

#abx-hero.abx-results-mode
.abx-hero-copy-side {
  display: none;
}

#abx-hero.abx-results-mode
.abx-assessment-wrap {
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
}

#abx-hero.abx-results-mode
#abx-assessment {
  padding: 34px;

  transform: none;

  box-shadow:
    0 28px 80px
    rgba(3,18,56,.12);
}


/* =========================================================
LEFT COPY
========================================================= */

.abx-hero-copy-side {
  animation:
    abxHeroCopyIn
    .7s
    cubic-bezier(.2,.8,.2,1)
    both;
}

@keyframes abxHeroCopyIn {

  from {
    opacity: 0;
    transform: translateY(20px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }

}


/* EYEBROW */

.abx-eyebrow {
  display: inline-flex;

  align-items: center;

  gap: 9px;

  margin-bottom: 22px;

  padding: 8px 13px;

  border:
    1px solid
    rgba(8,124,255,.14);

  border-radius: 999px;

  color: #075ac6;

  background:
    rgba(255,255,255,.82);

  box-shadow:
    0 10px 30px
    rgba(5,60,169,.055);

  backdrop-filter: blur(10px);

  font-size: .74rem;
  font-weight: 850;

  letter-spacing: .12em;

  text-transform: uppercase;
}

.abx-eyebrow::before {
  content: "";

  width: 8px;
  height: 8px;

  border-radius: 50%;

  background: var(--abx-cyan);

  box-shadow:
    0 0 0 5px
    rgba(32,212,255,.12);
}


/* HEADLINE */

#abx-hero h1 {
  max-width: 750px;

  margin: 0 0 25px;

  color: var(--abx-navy);

  font-size:
    clamp(
      3.15rem,
      6vw,
      5.75rem
    );

  font-weight: 870;

  letter-spacing: -.062em;

  line-height: .97;
}

.abx-gradient-text {
  display: inline;

  background:
    linear-gradient(
      110deg,
      #053ca9,
      #087cff,
      #20d4ff,
      #087cff
    );

  background-size:
    220% 220%;

  -webkit-background-clip: text;
  background-clip: text;

  color: transparent;

  animation:
    abxGradientShift
    7s ease infinite;
}

@keyframes abxGradientShift {

  0%,100% {
    background-position: 0% 50%;
  }

  50% {
    background-position: 100% 50%;
  }

}


/* KICKER */

.abx-hero-kicker {
  display: flex;

  align-items: center;

  gap: 10px;

  margin: -5px 0 18px;

  color: #29405e;

  font-size: .97rem;
  font-weight: 780;
}

.abx-kicker-number {
  display: grid;

  width: 32px;
  height: 32px;

  place-items: center;

  border-radius: 9px;

  color: #fff;

  background: var(--abx-grad);

  box-shadow:
    0 9px 22px
    rgba(8,124,255,.20);

  font-size: .75rem;

  font-weight: 900;
}


/* DESCRIPTION */

.abx-hero-description {
  max-width: 690px;

  margin: 0 0 30px;

  color: #465267;

  font-size:
    clamp(
      1.06rem,
      1.5vw,
      1.2rem
    );

  line-height: 1.68;
}


/* =========================================================
HERO BUTTONS
========================================================= */

.abx-hero-actions {
  display: flex;

  flex-wrap: wrap;

  gap: 13px;
}

.abx-hero-btn {
  display: inline-flex;

  min-height: 54px;

  align-items: center;

  justify-content: center;

  gap: 9px;

  padding: 14px 22px;

  border-radius: 11px;

  font-size: .94rem;

  font-weight: 820;

  text-decoration: none !important;

  transition: .22s ease;
}

.abx-hero-btn-primary {
  position: relative;

  overflow: hidden;

  border:
    1.5px solid
    #087cff;

  outline:
    1px solid
    rgba(32,212,255,.12);

  outline-offset: 2px;

  color: #fff !important;

  background: var(--abx-grad);

  box-shadow:
    0 15px 35px
    rgba(8,124,255,.24);
}

.abx-hero-btn-primary::after {
  content: "";

  position: absolute;

  top: -60%;
  bottom: -60%;

  left: -45%;

  width: 34%;

  transform: rotate(18deg);

  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(255,255,255,.65),
      transparent
    );

  transition: left .65s ease;
}

.abx-hero-btn-primary:hover {
  color: #fff !important;

  border-color: #20d4ff;

  outline-color:
    rgba(32,212,255,.22);

  transform:
    translateY(-3px);

  box-shadow:
    0 21px 45px
    rgba(8,124,255,.32);
}

.abx-hero-btn-primary:hover::after {
  left: 120%;
}

.abx-hero-btn-secondary {
  border:
    1.5px solid
    #b9cddd;

  color:
    var(--abx-navy) !important;

  background:
    rgba(255,255,255,.85);

  box-shadow:
    0 5px 15px
    rgba(3,18,56,.035);
}

.abx-hero-btn-secondary:hover {
  color:
    var(--abx-blue) !important;

  border-color:
    #087cff;

  outline:
    2px solid
    rgba(8,124,255,.08);

  outline-offset: 1px;

  transform:
    translateY(-2px);
}


/* =========================================================
PROOF CHIPS
========================================================= */

.abx-hero-proof {
  display: flex;

  flex-wrap: wrap;

  gap: 9px;

  margin-top: 22px;
}

.abx-hero-proof span {
  display: inline-flex;

  align-items: center;

  gap: 7px;

  padding: 8px 11px;

  border:
    1px solid
    var(--abx-border);

  border-radius: 999px;

  color: #536174;

  background:
    rgba(255,255,255,.83);

  box-shadow:
    0 8px 22px
    rgba(3,18,56,.035);

  font-size: .79rem;

  font-weight: 720;
}

.abx-hero-proof span::before {
  content: "✓";

  color:
    var(--abx-electric);

  font-weight: 900;
}


/* =========================================================
ASSESSMENT WRAPPER
========================================================= */

.abx-assessment-wrap {
  position: relative;
}


/* =========================================================
START HERE CALLOUT
========================================================= */

.abx-start-here {
  position: absolute;

  z-index: 30;

  top: -58px;
  left: -46px;

  display: flex;

  align-items: center;

  gap: 9px;

  padding: 10px 14px;

  border:
    1px solid
    rgba(32,212,255,.30);

  outline:
    1px solid
    rgba(8,124,255,.12);

  outline-offset: 2px;

  border-radius: 12px;

  color: #fff;

  background:
    var(--abx-dark-grad);

  box-shadow:
    0 15px 35px
    rgba(1,5,26,.26),
    0 0 24px
    rgba(8,124,255,.08);

  font-size: .73rem;

  font-weight: 900;

  letter-spacing: .09em;

  white-space: nowrap;

  text-transform: uppercase;

  pointer-events: none;

  transform-origin:
    right bottom;

  animation:
    abxStartFloat
    2.6s ease-in-out infinite;

  transition:
    opacity .35s ease,
    transform .35s ease;
}

.abx-start-here.hide {
  opacity: 0;

  transform:
    translateY(-8px)
    scale(.96);
}

.abx-start-star {
  display: grid;

  width: 24px;
  height: 24px;

  place-items: center;

  border-radius: 7px;

  color:
    var(--abx-navy);

  background:
    linear-gradient(
      135deg,
      #20d4ff,
      #74d8ff
    );

  box-shadow:
    0 0 0 4px
    rgba(32,212,255,.10);

  font-size: .76rem;
}

.abx-start-arrow {
  position: absolute;

  right: -29px;
  bottom: -32px;

  color:
    var(--abx-cyan);

  font-size: 2.4rem;

  line-height: 1;

  filter:
    drop-shadow(
      0 4px 7px
      rgba(1,5,26,.20)
    );

  animation:
    abxArrowNudge
    1.7s ease-in-out infinite;
}

@keyframes abxStartFloat {

  0%,100% {
    transform:
      translateY(0);
  }

  50% {
    transform:
      translateY(-4px);
  }

}

@keyframes abxArrowNudge {

  0%,100% {
    transform:
      translate(0,0)
      rotate(6deg);
  }

  50% {
    transform:
      translate(5px,5px)
      rotate(6deg);
  }

}


/* =========================================================
ASSESSMENT CARD
========================================================= */

#abx-assessment {
  --pointer-x: 78%;
  --pointer-y: 16%;

  position: relative;

  overflow: hidden;

  padding: 29px;

  border:
    1.5px solid
    #c4d5e5;

  outline:
    1px solid
    rgba(8,124,255,.035);

  outline-offset: 2px;

  border-radius: 24px;

  background:
    rgba(255,255,255,.95);

  box-shadow:
    0 27px 76px
    rgba(3,18,56,.13);

  backdrop-filter:
    blur(20px);

  transition:
    transform .28s ease,
    box-shadow .28s ease,
    border-color .28s ease;

  animation:
    abxAssessmentIn
    .8s .08s
    cubic-bezier(.2,.8,.2,1)
    both;
}

@keyframes abxAssessmentIn {

  from {
    opacity: 0;

    transform:
      translateY(22px)
      scale(.985);
  }

  to {
    opacity: 1;

    transform:
      translateY(0)
      scale(1);
  }

}

#abx-assessment:hover {
  transform:
    translateY(-4px);

  border-color:
    rgba(8,124,255,.38);

  box-shadow:
    0 35px 92px
    rgba(3,18,56,.16);
}

#abx-assessment::after {
  content: "";

  position: absolute;

  inset: 0;

  border-radius: inherit;

  background:
    radial-gradient(
      circle at
      var(--pointer-x)
      var(--pointer-y),
      rgba(32,212,255,.15),
      transparent 29%
    );

  pointer-events: none;
}

#abx-assessment > * {
  position: relative;

  z-index: 2;
}


/* =========================================================
ASSESSMENT HEADER
========================================================= */

.abx-assessment-top {
  display: flex;

  align-items: flex-start;

  justify-content: space-between;

  gap: 15px;

  margin-bottom: 21px;
}

.abx-assessment-badge {
  display: inline-flex;

  align-items: center;

  gap: 8px;

  padding: 7px 11px;

  border:
    1.5px solid
    #c8dff1;

  border-radius: 999px;

  color: #075ac6;

  background: #eef7ff;

  font-size: .76rem;

  font-weight: 820;
}

.abx-live-dot {
  width: 8px;
  height: 8px;

  border-radius: 50%;

  background:
    var(--abx-cyan);

  animation:
    abxPulseDot
    2s ease-in-out infinite;
}

@keyframes abxPulseDot {

  0%,100% {
    box-shadow:
      0 0 0 5px
      rgba(32,212,255,.13);
  }

  50% {
    box-shadow:
      0 0 0 9px
      rgba(32,212,255,.05);
  }

}

.abx-assessment-meta {
  display: flex;

  align-items: center;

  gap: 8px;

  color: #748196;

  font-size: .75rem;

  font-weight: 800;
}

.abx-step-counter {
  display: inline-flex;

  min-width: 48px;

  justify-content: center;

  padding: 6px 9px;

  border:
    1.5px solid
    #c8dff1;

  border-radius: 999px;

  color: #075ac6;

  background: #f1f8ff;
}

#abx-assessment h3 {
  margin: 0 0 7px;

  color:
    var(--abx-navy);

  font-size: 1.48rem;

  font-weight: 830;

  letter-spacing: -.03em;

  line-height: 1.2;
}

.abx-assessment-intro {
  margin: 0;

  color:
    var(--abx-muted);

  font-size: .92rem;

  line-height: 1.5;
}


/* =========================================================
PROGRESS
========================================================= */

.abx-progress {
  position: relative;

  height: 7px;

  margin:
    23px 0 26px;

  border:
    1px solid
    #d5e1eb;

  border-radius: 999px;

  background:
    #e8eef5;
}

.abx-progress-bar {
  position: relative;

  z-index: 2;

  width: 16.66%;
  height: 100%;

  border-radius: inherit;

  background:
    var(--abx-grad);

  box-shadow:
    0 0 13px
    rgba(8,124,255,.18);

  transition:
    width .35s
    cubic-bezier(.2,.8,.2,1);
}


/* =========================================================
QUESTION
========================================================= */

.abx-question {
  min-height: 265px;

  display: flex;

  flex-direction: column;
}

.abx-question-enter {
  animation:
    abxQuestionEnter
    .34s
    cubic-bezier(.2,.8,.2,1)
    both;
}

@keyframes abxQuestionEnter {

  from {
    opacity: 0;

    transform:
      translateX(12px);
  }

  to {
    opacity: 1;

    transform:
      translateX(0);
  }

}

.abx-question-label {
  margin-bottom: 10px;

  color:
    var(--abx-blue);

  font-size: .76rem;

  font-weight: 900;

  letter-spacing: .12em;

  text-transform: uppercase;
}

.abx-question h4 {
  margin:
    0 0 18px;

  color:
    var(--abx-navy);

  font-size: 1.32rem;

  font-weight: 830;

  line-height: 1.28;

  letter-spacing: -.025em;
}


/* =========================================================
ANSWER CHOICE BUTTONS — STRONG OUTLINES
========================================================= */

.abx-choice-grid {
  display: grid;

  grid-template-columns:
    1fr 1fr;

  gap: 10px;
}

.abx-choice {
  position: relative;

  overflow: hidden;

  min-height: 52px;

  padding:
    13px 34px 13px 14px;

  border:
    1.5px solid
    #b9cddd;

  outline:
    1px solid
    rgba(3,18,56,.025);

  outline-offset: 1px;

  border-radius: 11px;

  color: #29364a;

  background: #fff;

  box-shadow:
    inset 0 0 0 1px
    rgba(255,255,255,.85),
    0 5px 14px
    rgba(3,18,56,.035);

  text-align: left;

  font-size: .86rem;

  font-weight: 720;

  cursor: pointer;

  transition:
    transform .18s ease,
    border-color .18s ease,
    outline-color .18s ease,
    box-shadow .18s ease,
    background .18s ease,
    color .18s ease;
}

.abx-choice::after {
  content: "→";

  position: absolute;

  right: 12px;
  top: 50%;

  transform:
    translate(7px,-50%);

  opacity: 0;

  color:
    var(--abx-electric);

  font-weight: 900;

  transition:
    .18s ease;
}

.abx-choice:hover {
  transform:
    translateY(-2px);

  border-color:
    #087cff;

  outline:
    2px solid
    rgba(8,124,255,.10);

  outline-offset: 1px;

  color: #075ac6;

  background:
    #f4f9ff;

  box-shadow:
    0 10px 24px
    rgba(8,124,255,.10);
}

.abx-choice:hover::after {
  opacity: 1;

  transform:
    translate(0,-50%);
}

.abx-choice:focus-visible {
  border-color:
    #087cff;

  outline:
    3px solid
    rgba(32,212,255,.24);

  outline-offset: 2px;
}

.abx-choice.active {
  border:
    2px solid
    #087cff;

  outline:
    2px solid
    rgba(32,212,255,.16);

  outline-offset: 2px;

  color:
    #075ac6;

  background:
    linear-gradient(
      145deg,
      #ffffff,
      #edf7ff
    );

  box-shadow:
    0 9px 24px
    rgba(8,124,255,.12);
}

.abx-selection-feedback {
  min-height: 25px;

  margin-top: 11px;

  color:
    #075ac6;

  font-size: .81rem;

  font-weight: 760;

  opacity: 0;

  transform:
    translateY(4px);

  transition:
    .2s ease;
}

.abx-selection-feedback.show {
  opacity: 1;

  transform:
    translateY(0);
}


/* =========================================================
TEXT INPUT
========================================================= */

.abx-text-input {
  width: 100%;

  min-height: 115px;

  padding: 14px 15px;

  border:
    1.5px solid
    #b9cddd;

  outline: none;

  border-radius: 12px;

  color:
    var(--abx-navy);

  background: #fff;

  box-shadow:
    inset 0 1px 2px
    rgba(3,18,56,.025);

  resize: vertical;

  transition:
    border-color .18s ease,
    box-shadow .18s ease;
}

.abx-text-input:hover {
  border-color:
    #91adc3;
}

.abx-text-input:focus {
  border-color:
    #087cff;

  box-shadow:
    0 0 0 4px
    rgba(8,124,255,.09);
}


/* =========================================================
ASSESSMENT BUTTONS
========================================================= */

.abx-assessment-actions {
  display: flex;

  align-items: center;

  justify-content: space-between;

  gap: 10px;

  margin-top: auto;

  padding-top: 18px;
}

.abx-small-btn {
  min-height: 44px;

  border-radius: 10px;

  padding:
    11px 16px;

  font-size: .84rem;

  font-weight: 830;

  cursor: pointer;

  transition:
    transform .18s ease,
    border-color .18s ease,
    outline-color .18s ease,
    box-shadow .18s ease,
    background .18s ease;
}

.abx-small-btn:disabled {
  opacity: .55;

  cursor: wait;
}


/* BACK BUTTON */

.abx-back {
  border:
    1.5px solid
    #b9c9d9;

  outline:
    1px solid
    rgba(3,18,56,.04);

  outline-offset: 1px;

  color:
    #34445c;

  background:
    #f3f6f9;

  box-shadow:
    0 5px 14px
    rgba(3,18,56,.04);
}

.abx-back:hover {
  border-color:
    #7f9bb2;

  outline-color:
    rgba(3,18,56,.07);

  background:
    #eaf0f5;

  transform:
    translateY(-1px);
}

.abx-back:focus-visible {
  border-color:
    #087cff;

  outline:
    3px solid
    rgba(8,124,255,.15);

  outline-offset: 2px;
}


/* FIND MY BUSINESS IDEAS */

.abx-next {
  margin-left: auto;

  border:
    1.5px solid
    #087cff;

  outline:
    2px solid
    rgba(32,212,255,.15);

  outline-offset: 2px;

  color: #fff;

  background:
    var(--abx-dark-grad);

  box-shadow:
    0 10px 24px
    rgba(3,18,56,.19);
}

.abx-next:hover {
  border-color:
    #20d4ff;

  outline-color:
    rgba(32,212,255,.28);

  transform:
    translateY(-2px);

  box-shadow:
    0 15px 30px
    rgba(3,18,56,.25);
}

.abx-next:focus-visible {
  border-color:
    #20d4ff;

  outline:
    3px solid
    rgba(32,212,255,.30);

  outline-offset: 3px;
}


/* =========================================================
LOADING
========================================================= */

.abx-loading {
  min-height: 280px;

  display: flex;

  flex-direction: column;

  align-items: center;

  justify-content: center;

  padding:
    34px 18px;

  text-align: center;
}

.abx-loading-spinner {
  width: 50px;
  height: 50px;

  margin-bottom: 20px;

  border:
    4px solid
    #e2eaf3;

  border-top-color:
    var(--abx-electric);

  border-right-color:
    var(--abx-cyan);

  border-radius: 50%;

  box-shadow:
    0 0 20px
    rgba(8,124,255,.10);

  animation:
    abxSpin
    .8s linear infinite;
}

@keyframes abxSpin {

  to {
    transform:
      rotate(360deg);
  }

}

.abx-loading strong {
  display: block;

  margin-bottom: 8px;

  color:
    var(--abx-navy);

  font-size: 1rem;
}

.abx-loading span {
  max-width: 390px;

  color:
    var(--abx-muted);

  font-size: .84rem;

  line-height: 1.55;
}


/* =========================================================
RESULTS
========================================================= */

#abx-summary {
  display: none;

  color:
    var(--abx-text);
}


/* PROFILE */

.abx-profile {
  position: relative;

  overflow: hidden;

  padding: 24px;

  border:
    1.5px solid
    #ccdeec;

  border-radius: 18px;

  background:
    linear-gradient(
      145deg,
      #ffffff 0%,
      #f3f8fe 100%
    );

  box-shadow:
    0 15px 40px
    rgba(3,18,56,.07);
}

.abx-profile::before {
  content: "";

  position: absolute;

  left: 0;
  top: 0;
  bottom: 0;

  width: 4px;

  background:
    var(--abx-grad);
}

.abx-profile::after {
  content: "";

  position: absolute;

  width: 200px;
  height: 200px;

  right: -70px;
  top: -120px;

  border-radius: 50%;

  background:
    radial-gradient(
      circle,
      rgba(32,212,255,.18),
      transparent 70%
    );

  pointer-events: none;
}

.abx-profile-label {
  position: relative;

  display: inline-flex;

  align-items: center;

  gap: 7px;

  margin-bottom: 9px;

  color:
    var(--abx-blue-dark);

  font-size: .69rem;

  font-weight: 900;

  letter-spacing: .11em;

  text-transform: uppercase;
}

.abx-profile-label::before {
  content: "✦";

  color:
    var(--abx-electric);
}

.abx-profile h4 {
  position: relative;

  margin:
    0 0 10px;

  color:
    var(--abx-navy);

  font-size: 1.45rem;

  font-weight: 860;

  letter-spacing: -.028em;

  line-height: 1.24;
}

.abx-profile p {
  position: relative;

  max-width: 900px;

  margin:
    0 0 15px;

  color:
    #536174;

  font-size: .88rem;

  line-height: 1.62;
}

.abx-summary-tags {
  position: relative;

  display: flex;

  flex-wrap: wrap;

  gap: 7px;
}

.abx-summary-tag {
  padding:
    7px 10px;

  border:
    1.5px solid
    #cfdeeb;

  border-radius: 999px;

  color:
    #315777;

  background:
    rgba(255,255,255,.88);

  font-size: .69rem;

  font-weight: 740;
}


/* =========================================================
RESULTS HEADER
========================================================= */

.abx-results-title-row {
  display: flex;

  align-items: end;

  justify-content: space-between;

  gap: 16px;

  margin:
    28px 0 14px;
}

.abx-results-title-small {
  margin-bottom: 4px;

  color:
    var(--abx-electric);

  font-size: .68rem;

  font-weight: 900;

  letter-spacing: .12em;

  text-transform: uppercase;
}

.abx-results-title-row h4 {
  margin: 0;

  color:
    var(--abx-navy);

  font-size: 1.35rem;

  font-weight: 860;

  letter-spacing: -.03em;
}


/* =========================================================
DIRECTION CARDS
========================================================= */

.abx-result-grid {
  display: grid;

  grid-template-columns:
    repeat(3,minmax(0,1fr));

  gap: 15px;

  align-items: stretch;
}

.abx-result-card {
  position: relative;

  overflow: hidden;

  display: flex;

  flex-direction: column;

  padding: 19px;

  border:
    1.5px solid
    #c8d9e7;

  outline:
    1px solid
    rgba(3,18,56,.025);

  outline-offset: 1px;

  border-radius: 17px;

  background: #fff;

  box-shadow:
    0 11px 30px
    rgba(3,18,56,.055);

  transition:
    transform .22s ease,
    border-color .22s ease,
    outline-color .22s ease,
    box-shadow .22s ease,
    background .22s ease;
}

.abx-result-card:hover {
  transform:
    translateY(-4px);

  border-color:
    #087cff;

  outline:
    2px solid
    rgba(8,124,255,.07);

  outline-offset: 1px;

  box-shadow:
    0 20px 45px
    rgba(3,18,56,.10);
}

.abx-result-card.selected {
  border:
    2px solid
    var(--abx-electric);

  outline:
    2px solid
    rgba(32,212,255,.15);

  outline-offset: 2px;

  background:
    linear-gradient(
      150deg,
      #ffffff 0%,
      #f1f7ff 100%
    );

  box-shadow:
    0 0 0 3px
    rgba(8,124,255,.07),
    0 20px 48px
    rgba(8,124,255,.13);
}

.abx-result-card.selected::before {
  content: "";

  position: absolute;

  left: 0;
  top: 0;
  bottom: 0;

  width: 4px;

  background:
    var(--abx-grad);
}

.abx-direction-top {
  display: flex;

  align-items: flex-start;

  justify-content: space-between;

  gap: 12px;
}

.abx-direction-number {
  color:
    var(--abx-blue);

  font-size: .67rem;

  font-weight: 900;

  letter-spacing: .12em;

  text-transform: uppercase;
}

.abx-direction-fit-badge {
  padding:
    5px 8px;

  border:
    1px solid
    rgba(8,124,255,.14);

  border-radius: 999px;

  color:
    #075ac6;

  background:
    #eaf6ff;

  font-size: .63rem;

  font-weight: 850;
}

.abx-result-card h5 {
  margin:
    10px 0 9px;

  color:
    var(--abx-navy);

  font-size: 1.05rem;

  font-weight: 860;

  letter-spacing: -.02em;

  line-height: 1.3;
}

.abx-result-why-label {
  display: block;

  margin-bottom: 4px;

  color:
    #436681;

  font-size: .64rem;

  font-weight: 900;

  letter-spacing: .08em;

  text-transform: uppercase;
}

.abx-result-why {
  margin:
    0 0 13px;

  color:
    #536174;

  font-size: .77rem;

  line-height: 1.55;
}

.abx-result-meta {
  display: grid;

  grid-template-columns:
    1fr 1fr;

  gap: 8px;

  margin-bottom: 8px;
}

.abx-result-meta-card {
  padding: 10px;

  border:
    1.5px solid
    #d6e2ec;

  border-radius: 10px;

  background:
    #f8fafc;
}

.abx-result-meta-card strong {
  display: block;

  margin-bottom: 3px;

  color:
    var(--abx-electric);

  font-size: .61rem;

  font-weight: 900;

  letter-spacing: .07em;

  text-transform: uppercase;
}

.abx-result-meta-card span {
  color:
    #45546a;

  font-size: .70rem;

  line-height: 1.4;
}

.abx-result-detail {
  margin-top: 8px;

  padding: 11px;

  border:
    1.5px solid
    #d8e3ec;

  border-radius: 10px;

  background:
    #fbfcfe;

  color:
    #506076;

  font-size: .72rem;

  line-height: 1.48;
}

.abx-result-detail strong {
  display: block;

  margin-bottom: 4px;

  color:
    var(--abx-navy);

  font-size: .62rem;

  font-weight: 900;

  letter-spacing: .07em;

  text-transform: uppercase;
}

.abx-validation {
  border-color:
    rgba(8,124,255,.22);

  background:
    linear-gradient(
      145deg,
      #f3f8ff,
      #fbfdff
    );
}


/* RESULT BUTTON */

.abx-result-select {
  width: 100%;

  margin-top: auto;

  padding:
    12px 14px;

  border:
    1.5px solid
    #087cff;

  outline:
    1px solid
    rgba(32,212,255,.14);

  outline-offset: 2px;

  border-radius: 10px;

  color: #fff;

  background:
    var(--abx-grad);

  box-shadow:
    0 10px 23px
    rgba(8,124,255,.17);

  font-size: .76rem;

  font-weight: 900;

  cursor: pointer;

  transition:
    transform .18s ease,
    box-shadow .18s ease,
    border-color .18s ease,
    outline-color .18s ease;
}

.abx-result-select:hover {
  border-color:
    #20d4ff;

  outline:
    2px solid
    rgba(32,212,255,.18);

  transform:
    translateY(-2px);

  box-shadow:
    0 15px 30px
    rgba(8,124,255,.25);
}

.abx-result-select:focus-visible {
  outline:
    3px solid
    rgba(32,212,255,.26);

  outline-offset: 3px;
}

.abx-result-card.selected
.abx-result-select {
  border-color:
    #087cff;

  background:
    var(--abx-dark-grad);

  box-shadow:
    0 10px 24px
    rgba(3,18,56,.18);
}


/* =========================================================
ABX INSIGHT
========================================================= */

.abx-insight {
  position: relative;

  overflow: hidden;

  margin-top: 18px;

  padding: 20px;

  border:
    1.5px solid
    rgba(8,124,255,.22);

  border-radius: 15px;

  background:
    linear-gradient(
      140deg,
      #eef7ff 0%,
      #f8fbff 65%,
      #ffffff 100%
    );
}

.abx-insight::before {
  content: "";

  position: absolute;

  width: 150px;
  height: 150px;

  right: -70px;
  bottom: -80px;

  border-radius: 50%;

  background:
    radial-gradient(
      circle,
      rgba(32,212,255,.15),
      transparent 68%
    );
}

.abx-insight-label {
  position: relative;

  display: flex;

  align-items: center;

  gap: 7px;

  margin-bottom: 7px;

  color:
    var(--abx-blue);

  font-size: .67rem;

  font-weight: 900;

  letter-spacing: .11em;

  text-transform: uppercase;
}

.abx-insight-label::before {
  content: "✦";

  color:
    var(--abx-electric);
}

.abx-insight p {
  position: relative;

  max-width: 900px;

  margin:
    0 0 8px;

  color:
    #4c5d72;

  font-size: .80rem;

  line-height: 1.56;
}

.abx-insight-question {
  margin-bottom: 0 !important;

  color:
    var(--abx-navy) !important;

  font-weight: 830 !important;
}


/* =========================================================
EMAIL / CONTINUE
========================================================= */

.abx-signup {
  display: none;
  position: relative;
  overflow: hidden;
  margin-top: 24px;
  padding: 28px;
  border: 2px solid rgba(8,124,255,.46);
  border-radius: 18px;
  background:
    linear-gradient(145deg,#ffffff 0%,#edf6ff 100%);
  box-shadow:
    0 18px 46px rgba(3,18,56,.11),
    0 0 0 4px rgba(8,124,255,.035);
}

.abx-signup::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  height: 4px;
  background: var(--abx-grad);
}

.abx-signup.show {
  display: block;
}

.abx-signup-step {
  display: inline-flex;
  margin-bottom: 10px;
  padding: 7px 11px;
  border: 1px solid #b9daf4;
  border-radius: 999px;
  color: #075ac6;
  background: #e6f4ff;
  font-size: .70rem;
  font-weight: 900;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.abx-signup h5 {
  max-width: 760px;
  margin: 0 0 8px;
  color: var(--abx-navy);
  font-size: clamp(1.28rem,2vw,1.55rem);
  font-weight: 870;
  letter-spacing: -.025em;
  line-height: 1.22;
}

.abx-signup-copy {
  max-width: 760px;
  margin: 0 0 16px;
  color: #46566b;
  font-size: .90rem;
  line-height: 1.55;
}

.abx-selected-name {
  margin-bottom: 17px;
  padding: 12px 14px;
  border: 1.5px solid #b8d5e9;
  border-radius: 11px;
  color: var(--abx-navy);
  background: rgba(255,255,255,.92);
  font-size: .80rem;
  font-weight: 830;
}

.abx-email-label {
  display: block;
  margin-bottom: 7px;
  color: var(--abx-navy);
  font-size: .80rem;
  font-weight: 850;
}

.abx-email-row {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 10px;
  max-width: 760px;
}

.abx-email-input {
  width: 100%;
  min-height: 56px;
  padding: 13px 15px;
  border: 2px solid #9fbcd2;
  border-radius: 11px;
  color: var(--abx-navy);
  background: #fff;
  outline: none;
  font-size: .94rem;
  box-shadow: inset 0 1px 2px rgba(3,18,56,.03);
}

.abx-email-input::placeholder {
  color: #7a8798;
}

.abx-email-input:hover {
  border-color: #6f9fc2;
}

.abx-email-input:focus {
  border-color: var(--abx-electric);
  box-shadow: 0 0 0 4px rgba(8,124,255,.10);
}

.abx-email-submit {
  min-height: 56px;
  padding: 13px 21px;
  border: 1.5px solid #087cff;
  outline: 1px solid rgba(32,212,255,.14);
  outline-offset: 2px;
  border-radius: 11px;
  color: #fff;
  background: var(--abx-dark-grad);
  box-shadow: 0 12px 26px rgba(3,18,56,.20);
  font-size: .84rem;
  font-weight: 900;
  white-space: nowrap;
  cursor: pointer;
  transition: transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}

.abx-email-submit:hover {
  border-color: #20d4ff;
  transform: translateY(-1px);
  box-shadow: 0 16px 32px rgba(3,18,56,.24);
}

.abx-email-submit:focus-visible {
  outline: 3px solid rgba(32,212,255,.28);
  outline-offset: 3px;
}

.abx-email-submit:disabled {
  opacity: .6;
  cursor: wait;
}

.abx-research-note {
  display: flex;
  gap: 9px;
  max-width: 760px;
  margin-top: 14px;
  padding: 11px 12px;
  border: 1px solid #d2e0eb;
  border-radius: 10px;
  color: #536174;
  background: rgba(255,255,255,.84);
  font-size: .72rem;
  line-height: 1.48;
}

.abx-research-note strong {
  color: var(--abx-navy);
}

.abx-consent {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  max-width: 760px;
  margin-top: 12px;
  color: #6a7788;
  font-size: .69rem;
  line-height: 1.45;
}

.abx-consent input {
  margin-top: 2px;
  accent-color: #087cff;
}

.abx-signup-status {
  min-height: 18px;
  margin: 10px 0 0;
  color: var(--abx-blue);
  font-size: .73rem;
  font-weight: 800;
}

/* =========================================================
DISCLAIMER
========================================================= */

.abx-disclaimer {
  margin:
    17px 0 0;

  padding:
    13px 2px 0;

  border-top:
    1px solid
    #e0e8f0;

  color:
    #8290a0;

  font-size: .64rem;

  line-height: 1.48;
}


/* =========================================================
RESTART BUTTON
========================================================= */

.abx-summary-actions {
  display: flex;

  justify-content: flex-end;

  margin-top: 14px;
}

.abx-restart {
  padding:
    10px 13px;

  border:
    1.5px solid
    #b9c9d9;

  outline:
    1px solid
    rgba(3,18,56,.035);

  outline-offset: 1px;

  border-radius: 9px;

  color:
    #59677a;

  background:
    #f8fafc;

  font-size: .70rem;

  font-weight: 800;

  cursor: pointer;

  transition:
    transform .18s ease,
    border-color .18s ease,
    background .18s ease;
}

.abx-restart:hover {
  border-color:
    #829bb0;

  background:
    #eef3f7;

  transform:
    translateY(-1px);
}


/* =========================================================
ERROR
========================================================= */

.abx-error {
  padding: 18px;

  border:
    1.5px solid
    #efb8b8;

  border-radius: 12px;

  color:
    #852929;

  background:
    #fff5f5;

  font-size: .82rem;

  line-height: 1.5;
}

.abx-error button {
  margin-top: 12px;

  padding:
    9px 13px;

  border:
    1.5px solid
    #087cff;

  outline:
    1px solid
    rgba(32,212,255,.13);

  outline-offset: 2px;

  border-radius: 8px;

  color: #fff;

  background:
    var(--abx-dark-grad);

  font-weight: 800;

  cursor: pointer;
}


/* =========================================================
FOOTNOTE
========================================================= */

.abx-assessment-footnote {
  display: flex;

  align-items: flex-start;

  justify-content: space-between;

  gap: 12px;

  margin-top: 15px;

  padding-top: 14px;

  border-top:
    1px solid
    #dce5ed;

  color:
    #7b8798;

  font-size: .68rem;

  font-weight: 700;

  line-height: 1.45;
}

.abx-assessment-footnote strong {
  color:
    #425269;
}


/* =========================================================
TABLET
========================================================= */

@media (max-width: 1024px) {

  .abx-hero-grid {
    grid-template-columns: 1fr;

    gap: 48px;
  }

  .abx-assessment-wrap {
    max-width: 720px;

    padding-top: 54px;
  }

  #abx-hero.abx-results-mode
  .abx-assessment-wrap {
    max-width: none;

    padding-top: 0;
  }

  #abx-assessment {
    max-width: 720px;
  }

  #abx-hero.abx-results-mode
  #abx-assessment {
    max-width: none;
  }

  .abx-start-here {
    top: 0;

    left: 18px;
  }

  .abx-result-grid {
    grid-template-columns: 1fr;
  }

}


/* =========================================================
MOBILE
========================================================= */

@media (max-width: 767px) {

  #abx-hero {
    padding:
      60px 0 68px;
  }

  .abx-hero-container {
    width:
      min(
        calc(100% - 28px),
        1180px
      );
  }

  #abx-hero h1 {
    font-size:
      clamp(
        3rem,
        14vw,
        4.6rem
      );
  }

  .abx-hero-actions {
    flex-direction: column;
  }

  .abx-hero-btn {
    width: 100%;
  }

  .abx-assessment-wrap {
    padding-top: 61px;
  }

  #abx-hero.abx-results-mode
  .abx-assessment-wrap {
    padding-top: 0;
  }

  .abx-start-here {
    top: 5px;
    left: 6px;

    padding:
      9px 11px;

    font-size: .68rem;
  }

  .abx-start-arrow {
    right: -25px;
    bottom: -31px;

    font-size: 2.1rem;
  }

  .abx-choice-grid {
    grid-template-columns: 1fr;
  }

  .abx-question {
    min-height: 340px;
  }

  #abx-assessment,
  #abx-hero.abx-results-mode
  #abx-assessment {
    padding: 22px;
  }

  #abx-assessment:hover {
    transform: none;
  }

  .abx-time-label {
    display: none;
  }

  .abx-result-meta {
    grid-template-columns: 1fr;
  }

  .abx-email-row {
    grid-template-columns: 1fr;
  }

  .abx-email-submit {
    width: 100%;
  }

  .abx-assessment-footnote {
    flex-direction: column;
  }

  .abx-summary-actions {
    justify-content: stretch;
  }

  .abx-restart {
    width: 100%;
  }

}


/* =========================================================
REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

  .abx-start-here,
  .abx-start-arrow,
  .abx-loading-spinner,
  .abx-hero-orb,
  .abx-gradient-text,
  .abx-live-dot {

    animation:
      none !important;

  }

}

/* ABX production performance overrides */
#abx-assessment,
.abx-eyebrow {
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
#abx-assessment::after {
  display: none !important;
}
.abx-hero-orb,
.abx-gradient-text,
.abx-start-here,
.abx-start-arrow,
.abx-live-dot {
  animation: none !important;
}
\n\n/* =========================================================\nABX UI 1.0.2 — READABILITY + CONTRAST PASS\nKeeps the lightweight architecture while improving desktop readability.\n========================================================= */\n\n/* Prevent Elementor/theme typography from overriding the assessment. */\n#abx-hero,\n#abx-hero button,\n#abx-hero input,\n#abx-hero textarea,\n#abx-hero select,\n#abx-hero h1,\n#abx-hero h2,\n#abx-hero h3,\n#abx-hero h4,\n#abx-hero h5,\n#abx-hero h6,\n#abx-hero p,\n#abx-hero span,\n#abx-hero label,\n#abx-hero strong {\n  font-family: Inter, "Segoe UI", Arial, ui-sans-serif, system-ui, sans-serif !important;\n}\n\n#abx-hero {\n  --abx-text: #13233d;\n  --abx-muted: #40516a;\n  --abx-border: #a9bfd3;\n}\n\n.abx-profile {\n  border-color: #a7c1d8;\n  background: #ffffff;\n  box-shadow: 0 16px 40px rgba(3,18,56,.10);\n}\n\n.abx-profile-label,\n.abx-results-title-small,\n.abx-direction-number,\n.abx-result-why-label,\n.abx-result-detail strong {\n  font-size: .76rem;\n}\n\n.abx-profile p {\n  color: #334760;\n  font-size: 1rem;\n  line-height: 1.68;\n}\n\n.abx-summary-tag {\n  border-color: #b6cadb;\n  color: #254d70;\n  background: #f7fbff;\n  font-size: .78rem;\n}\n\n.abx-results-title-row h4 {\n  font-size: 1.55rem;\n}\n\n.abx-result-grid {\n  gap: 18px;\n}\n\n.abx-result-card {\n  padding: 22px;\n  border: 1.5px solid #9fb9d0;\n  border-top: 4px solid #0a63e5;\n  background: #ffffff;\n  box-shadow: 0 14px 34px rgba(3,18,56,.09);\n}\n\n.abx-result-card:hover {\n  border-color: #087cff;\n  box-shadow: 0 20px 44px rgba(3,18,56,.13);\n}\n\n.abx-result-card.selected {\n  border-color: #087cff;\n  border-top-color: #031238;\n  background: linear-gradient(180deg,#f4f9ff 0%,#ffffff 26%);\n  box-shadow: 0 0 0 3px rgba(8,124,255,.09),0 20px 48px rgba(3,18,56,.14);\n}\n\n.abx-direction-fit-badge {\n  border-color: #97c4e7;\n  background: #e3f2ff;\n  font-size: .72rem;\n}\n\n.abx-result-card h5 {\n  color: #031238;\n  font-size: 1.22rem;\n  line-height: 1.32;\n}\n\n.abx-result-why {\n  color: #334760;\n  font-size: .92rem;\n  line-height: 1.62;\n}\n\n.abx-result-meta-card {\n  padding: 13px;\n  border-color: #b8cada;\n  background: #f5f8fb;\n}\n\n.abx-result-meta-card strong {\n  color: #075ac6;\n  font-size: .72rem;\n}\n\n.abx-result-meta-card span {\n  color: #30445e;\n  font-size: .88rem;\n  line-height: 1.58;\n}\n\n.abx-result-detail {\n  padding: 13px;\n  border-color: #b8cada;\n  background: #f7f9fc;\n  color: #30445e;\n  font-size: .88rem;\n  line-height: 1.58;\n}\n\n.abx-validation {\n  border-color: #9fc4e7;\n  background: #f0f7ff;\n}\n\n.abx-insight {\n  border: 2px solid #9fc8eb;\n  background: linear-gradient(135deg,#eef7ff 0%,#ffffff 100%);\n  box-shadow: 0 12px 30px rgba(3,18,56,.07);\n}\n\n.abx-insight p {\n  color: #334760;\n  font-size: 1rem;\n  line-height: 1.62;\n}\n\n.abx-insight-question {\n  color: #031238 !important;\n  font-size: 1.02rem !important;\n}\n\n/* Make the save/email step visually unmistakable. */\n.abx-signup {\n  margin-top: 28px;\n  padding: 30px;\n  border: 2px solid #087cff;\n  background: linear-gradient(135deg,#f4f9ff 0%,#ffffff 58%);\n  box-shadow: 0 20px 48px rgba(3,18,56,.14),0 0 0 4px rgba(8,124,255,.05);\n}\n\n.abx-signup-step {\n  margin-bottom: 12px;\n  padding: 8px 13px;\n  border-color: #075ac6;\n  color: #ffffff;\n  background: #075ac6;\n  font-size: .76rem;\n}\n\n.abx-signup h5 {\n  color: #031238;\n  font-size: clamp(1.5rem,2vw,1.82rem);\n}\n\n.abx-signup-copy {\n  color: #344861;\n  font-size: 1rem;\n}\n\n.abx-selected-name {\n  border-color: #9fbdd8;\n  background: #ffffff;\n  font-size: .92rem;\n}\n\n.abx-email-label {\n  margin-top: 2px;\n  color: #031238;\n  font-size: .92rem;\n}\n\n.abx-email-row {\n  max-width: 900px;\n}\n\n.abx-email-input {\n  min-height: 60px;\n  border-color: #7fa6c5;\n  font-size: 1.05rem;\n}\n\n.abx-email-submit {\n  min-height: 60px;\n  padding: 14px 25px;\n  background: linear-gradient(135deg,#053ca9 0%,#087cff 62%,#20bff5 100%);\n  font-size: .96rem;\n  box-shadow: 0 14px 30px rgba(8,124,255,.25);\n}\n\n.abx-consent-prominent {\n  max-width: 900px;\n  margin: 10px 0 0;\n  padding: 12px 14px;\n  border: 1.5px solid #aac9e4;\n  border-radius: 11px;\n  color: #314760;\n  background: #eef7ff;\n  font-size: .82rem;\n  line-height: 1.45;\n}\n\n.abx-consent-prominent strong {\n  display: block;\n  margin-bottom: 2px;\n  color: #031238;\n  font-size: .86rem;\n}\n\n.abx-consent-prominent input {\n  width: 18px;\n  height: 18px;\n  margin-top: 1px;\n  flex: 0 0 auto;\n}\n\n.abx-research-note {\n  max-width: 900px;\n  color: #41556e;\n  font-size: .82rem;\n}\n\n@media (max-width: 980px) {\n  .abx-result-grid {\n    grid-template-columns: 1fr;\n  }\n\n  .abx-result-card {\n    max-width: 760px;\n    width: 100%;\n    margin-inline: auto;\n  }\n}\n\n@media (max-width: 680px) {\n  .abx-result-card {\n    padding: 18px;\n  }\n\n  .abx-result-meta {\n    grid-template-columns: 1fr;\n  }\n\n  .abx-signup {\n    padding: 22px;\n  }\n\n  .abx-signup h5 {\n    font-size: 1.42rem;\n  }\n}\n

/* =========================================================
ABX UI 1.0.3 — POST-SAVE NEXT STEPS
========================================================= */
.abx-next-steps {
  display: none;
  margin-top: 28px;
  padding: 30px;
  border: 2px solid #031238;
  border-radius: 20px;
  background: #ffffff;
  box-shadow: 0 22px 52px rgba(3,18,56,.14);
  scroll-margin-top: 24px;
}

.abx-next-steps.show {
  display: block;
}

.abx-next-steps-kicker {
  display: inline-flex;
  margin-bottom: 12px;
  padding: 8px 13px;
  border-radius: 999px;
  color: #ffffff;
  background: #031238;
  font-size: .76rem;
  font-weight: 900;
  letter-spacing: .09em;
  text-transform: uppercase;
}

#abx-hero .abx-next-steps h4 {
  margin: 0 0 10px;
  color: #031238;
  font-size: clamp(1.55rem,2.3vw,2rem);
  font-weight: 860;
  line-height: 1.18;
  letter-spacing: -.03em;
}

.abx-next-steps-intro {
  max-width: 900px;
  margin: 0 0 16px;
  color: #334760;
  font-size: 1rem;
  line-height: 1.62;
}

.abx-next-direction {
  margin-bottom: 18px;
  padding: 12px 14px;
  border: 1.5px solid #9fc4e7;
  border-left: 5px solid #087cff;
  border-radius: 11px;
  color: #031238;
  background: #eef7ff;
  font-size: .92rem;
  font-weight: 820;
}

.abx-next-step-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 14px;
}

.abx-next-step-card {
  position: relative;
  display: flex;
  min-height: 230px;
  flex-direction: column;
  padding: 20px;
  border: 1.5px solid #a9bfd3;
  border-radius: 15px;
  background: #f8fafc;
}

.abx-next-step-card-primary {
  border-color: #087cff;
  background: linear-gradient(145deg,#edf7ff 0%,#ffffff 72%);
  box-shadow: 0 12px 30px rgba(8,124,255,.11);
}

.abx-next-step-number {
  margin-bottom: 8px;
  color: #087cff;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .1em;
}

#abx-hero .abx-next-step-card h5 {
  margin: 0 0 8px;
  color: #031238;
  font-size: 1.14rem;
  font-weight: 860;
  line-height: 1.28;
}

.abx-next-step-card p {
  margin: 0 0 16px;
  color: #3c506a;
  font-size: .92rem;
  line-height: 1.58;
}

.abx-next-step-link {
  display: inline-flex;
  width: fit-content;
  margin-top: auto;
  align-items: center;
  min-height: 44px;
  padding: 10px 14px;
  border: 1.5px solid #087cff;
  border-radius: 10px;
  color: #ffffff !important;
  background: #075ac6;
  font-size: .84rem;
  font-weight: 850;
  text-decoration: none !important;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.abx-next-step-link:hover {
  transform: translateY(-2px);
  background: #031238;
  box-shadow: 0 10px 22px rgba(3,18,56,.16);
}

@media (max-width: 760px) {
  .abx-next-steps {
    padding: 22px;
  }
  .abx-next-step-grid {
    grid-template-columns: 1fr;
  }
  .abx-next-step-card {
    min-height: 0;
  }
}


/* First-party anti-bot honeypot; intentionally inaccessible to normal users. */
.abx-hp{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important;}


/* =========================================================
ABX UI 1.0.7 — MAKE OPTIONAL EMAIL OPT-IN UNMISSABLE
========================================================= */
.abx-consent-prominent {
  display: flex !important;
  align-items: flex-start !important;
  gap: 13px !important;
  max-width: 900px !important;
  margin: 14px 0 0 !important;
  padding: 15px 16px !important;
  border: 2px solid #087cff !important;
  border-radius: 12px !important;
  color: #223a59 !important;
  background: #eaf5ff !important;
  box-shadow: 0 7px 18px rgba(8,124,255,.10) !important;
  cursor: pointer !important;
  font-size: .9rem !important;
  line-height: 1.48 !important;
}

.abx-consent-prominent:hover {
  background: #e1f1ff !important;
  border-color: #075ac6 !important;
}

.abx-consent-prominent input[type="checkbox"] {
  appearance: auto !important;
  -webkit-appearance: checkbox !important;
  width: 24px !important;
  height: 24px !important;
  min-width: 24px !important;
  margin: 1px 0 0 !important;
  flex: 0 0 24px !important;
  accent-color: #075ac6 !important;
  cursor: pointer !important;
}

.abx-consent-prominent strong {
  display: block !important;
  margin: 0 0 3px !important;
  color: #031238 !important;
  font-size: .98rem !important;
  font-weight: 850 !important;
  line-height: 1.35 !important;
}

.abx-consent-prominent span {
  color: #36516f !important;
}

.abx-consent-prominent:has(input:checked) {
  background: #e5f7ef !important;
  border-color: #17845a !important;
  box-shadow: 0 7px 18px rgba(23,132,90,.12) !important;
}

@media (max-width: 680px) {
  .abx-consent-prominent {
    padding: 14px !important;
    gap: 11px !important;
  }

  .abx-consent-prominent input[type="checkbox"] {
    width: 25px !important;
    height: 25px !important;
    min-width: 25px !important;
    flex-basis: 25px !important;
  }
}


/* =========================================================
   ABX PRIVATE SAVE / RESUME
   ========================================================= */
.abx-resume-panel{
  display:none;
  margin-top:18px;
  padding:22px;
  border:2px solid #1464D2;
  border-radius:18px;
  background:#F7FAFF;
  box-shadow:0 12px 28px rgba(20,100,210,.10);
}
.abx-resume-panel.show{display:block;}
.abx-resume-badge{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:6px 10px;
  border-radius:999px;
  background:#EAF2FF;
  color:#0B4FB3;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.02em;
  text-transform:uppercase;
}
.abx-resume-panel h6{
  margin:12px 0 6px;
  color:#0B1F3A;
  font-size:1.12rem;
  line-height:1.3;
  font-weight:800;
}
.abx-resume-panel p{
  margin:0;
  color:#334155;
  font-size:.95rem;
  line-height:1.6;
}
.abx-resume-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
  margin-top:15px;
}
.abx-resume-actions a,
.abx-resume-actions button{
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 15px;
  border-radius:10px;
  font:inherit;
  font-weight:800;
  cursor:pointer;
}
.abx-resume-actions a{
  background:#0B1F3A;
  color:#fff !important;
  text-decoration:none !important;
}
.abx-resume-actions button{
  border:1px solid #1464D2;
  background:#fff;
  color:#0B4FB3;
}
.abx-resume-copy-status{
  min-height:22px;
  margin-top:8px !important;
  font-weight:700;
  color:#0B4FB3 !important;
}
@media (max-width:640px){
  .abx-resume-actions{align-items:stretch;}
  .abx-resume-actions a,
  .abx-resume-actions button{width:100%;}
}

/* ABX Insight readability update - 2026-08-23 */
.abx-insight-label {
  font-size: 15px !important;
}

.abx-insight p {
  font-size: 20px !important;
  line-height: 1.6 !important;
}

.abx-insight-question {
  font-size: 22px !important;
  line-height: 1.45 !important;
}


/* ABX results disclaimer readability update - 2026-08-23 */
.abx-disclaimer {
  font-size: 14px !important;
  line-height: 1.6 !important;
  color: #5b6472 !important;
  margin-top: 22px !important;
  padding-top: 16px !important;
}

/* =========================================================
ABX BUSINESS IDEA — RESULT READABILITY
Slight font increase only. No layout changes.
========================================================= */

.abx-results-title-row h4 {
  font-size: 1.7rem !important;
}

.abx-result-card h5 {
  font-size: 1.34rem !important;
  line-height: 1.34 !important;
}

.abx-result-why {
  font-size: 1rem !important;
  line-height: 1.68 !important;
}

.abx-profile p {
  font-size: 1.05rem !important;
}

.abx-profile-label,
.abx-results-title-small,
.abx-direction-number,
.abx-result-why-label,
.abx-result-detail strong {
  font-size: .82rem !important;
}

.abx-result-meta-card strong {
  font-size: .79rem !important;
}

.abx-result-meta-card span {
  font-size: .96rem !important;
  line-height: 1.6 !important;
}

.abx-result-detail {
  font-size: .96rem !important;
  line-height: 1.62 !important;
}

.abx-direction-fit-badge {
  font-size: .78rem !important;
}

@media (max-width: 680px) {
  .abx-results-title-row h4 {
    font-size: 1.5rem !important;
  }

  .abx-result-card h5 {
    font-size: 1.28rem !important;
  }

  .abx-result-why,
  .abx-result-meta-card span,
  .abx-result-detail {
    font-size: .98rem !important;
  }
}


/* ABX Business Idea disclosure — final readability */
.abx-disclaimer {
  margin-top: 26px !important;
  padding: 16px 18px !important;
  border-left: 4px solid #1464D2 !important;
  background: #F5F7FA !important;
  color: #465569 !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
}


/* =========================================================
   ABX BUSINESS IDEA VALIDATION
   ========================================================= */

.abx-validation {
  margin-top: 32px;
  padding: clamp(24px, 4vw, 40px);
  background: #ffffff;
  border: 1px solid #d5dce5;
  border-radius: 12px;
}

.abx-validation[hidden] {
  display: none !important;
}

.abx-validation-direction {
  margin: 18px 0 4px;
  font-weight: 700;
  color: #0b1f3a;
}

#abxValidationForm {
  margin-top: 24px;
}

.abx-validation-question {
  margin: 0;
  padding: 22px 0;
  border: 0;
  border-bottom: 1px solid #d5dce5;
}

.abx-validation-question legend {
  width: 100%;
  padding: 0;
  font-weight: 700;
  line-height: 1.45;
  color: #0b1f3a;
}

.abx-validation-question p {
  margin: 8px 0 14px;
  line-height: 1.6;
}

.abx-validation-options {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.abx-validation-options label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  padding: 9px 14px;
  background: #f5f7fa;
  border: 1px solid #d5dce5;
  border-radius: 8px;
  cursor: pointer;
  font-weight: 600;
}

.abx-validation-options input {
  margin: 0;
}

.abx-validation-submit {
  margin-top: 24px;
  border: 0;
  cursor: pointer;
}

.abx-validation-result {
  margin-top: 28px;
}

.abx-validation-result[hidden] {
  display: none !important;
}

.abx-validation-result-box {
  padding: 24px;
  background: #f5f7fa;
  border-left: 4px solid #1464d2;
}

#abx-hero .abx-validation-result-box h5 {
  margin: 8px 0 10px;
  color: #0b1f3a;
}

.abx-validation-gaps {
  margin: 18px 0;
}

.abx-validation-gaps ul {
  margin: 10px 0 0 20px;
  padding: 0;
}

.abx-validation-gaps li {
  margin-bottom: 7px;
}

@media (max-width: 640px) {

  .abx-validation-options {
    display: grid;
    grid-template-columns: 1fr;
  }

  .abx-validation-options label {
    width: 100%;
  }

}

