/*
Theme Name: Active Joe V8.7
Theme URI: https://activejoe.co.uk/
Author: OpenAI for Active Joe
Author URI: https://activejoe.co.uk/
Description: Active Joe V4 - refined hero slider with blended mascot slide and improved compatibility.
Version: 8.7.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: activejoe
*/

:root {
  --aj-navy: #0f2740;
  --aj-navy-2: #173555;
  --aj-blue: #1db0ff;
  --aj-blue-soft: #e9f8ff;
  --aj-gold: #f4c56d;
  --aj-sand: #f7f4ee;
  --aj-ink: #122033;
  --aj-muted: #5f6f82;
  --aj-border: rgba(18, 32, 51, 0.1);
  --aj-white: #ffffff;
  --aj-shadow: 0 18px 50px rgba(15, 39, 64, 0.12);
  --aj-shadow-soft: 0 10px 30px rgba(15, 39, 64, 0.08);
  --aj-radius: 24px;
  --aj-radius-sm: 16px;
  --aj-container: 1200px;
  --aj-header: 84px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--aj-ink);
  background: #fff;
  line-height: 1.6;
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--aj-blue); text-decoration: none; }
a:hover { text-decoration: none; }
button, input, textarea, select { font: inherit; }

h1, h2, h3, h4, h5, h6 {
  margin: 0 0 16px;
  line-height: 1.1;
  color: var(--aj-navy);
  letter-spacing: -0.02em;
}

h1 { font-size: clamp(2.6rem, 5vw, 5.2rem); }
h2 { font-size: clamp(2rem, 3vw, 3.25rem); }
h3 { font-size: clamp(1.35rem, 2vw, 1.8rem); }
p { margin: 0 0 16px; }

.aj-container {
  width: min(calc(100% - 32px), var(--aj-container));
  margin: 0 auto;
}

.aj-section {
  padding: 88px 0;
}

.aj-kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  border-radius: 999px;
  background: var(--aj-blue-soft);
  color: var(--aj-navy);
  font-weight: 700;
  font-size: 0.92rem;
  margin-bottom: 22px;
}

.aj-kicker::before {
  content: "";
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--aj-gold);
  box-shadow: 0 0 0 5px rgba(244, 197, 109, 0.2);
}

.aj-btn,
.wp-block-button__link,
button,
input[type="submit"] {
  appearance: none;
  border: 0;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 54px;
  padding: 0 24px;
  border-radius: 999px;
  font-weight: 700;
  font-size: 1rem;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease;
}

.aj-btn:hover,
.wp-block-button__link:hover,
button:hover,
input[type="submit"]:hover {
  transform: translateY(-2px);
}

.aj-btn-primary,
.wp-block-button__link,
input[type="submit"] {
  background: linear-gradient(135deg, var(--aj-blue), #59c5ff);
  color: var(--aj-white);
  box-shadow: 0 12px 24px rgba(29, 176, 255, 0.25);
}

.aj-btn-primary:hover,
.wp-block-button__link:hover,
input[type="submit"]:hover {
  color: var(--aj-white);
}

.aj-btn-secondary {
  background: rgba(255,255,255,0.12);
  color: var(--aj-white);
  border: 1px solid rgba(255,255,255,0.2);
}

.aj-btn-ghost {
  background: var(--aj-white);
  color: var(--aj-navy);
  box-shadow: var(--aj-shadow-soft);
}

.aj-site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(255,255,255,0.92);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(18, 32, 51, 0.08);
}

.aj-header-inner {
  min-height: var(--aj-header);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.aj-logo {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  font-weight: 800;
  font-size: 1.1rem;
  color: var(--aj-navy);
}

.aj-logo-mark {
  width: 44px;
  height: 44px;
  border-radius: 14px;
  background: linear-gradient(135deg, var(--aj-blue), var(--aj-gold));
  color: var(--aj-white);
  display: grid;
  place-items: center;
  font-weight: 800;
  box-shadow: var(--aj-shadow-soft);
}

.aj-nav-wrap {
  display: flex;
  align-items: center;
  gap: 20px;
}

.aj-primary-nav ul {
  display: flex;
  align-items: center;
  gap: 24px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.aj-primary-nav a {
  color: var(--aj-navy);
  font-weight: 600;
}

.aj-header-actions {
  display: flex;
  align-items: center;
  gap: 12px;
}

.aj-mobile-toggle {
  display: none;
  width: 48px;
  height: 48px;
  border-radius: 14px;
  background: #f3f8fb;
  color: var(--aj-navy);
}

.aj-mobile-toggle span,
.aj-mobile-toggle::before,
.aj-mobile-toggle::after {
  display: block;
  content: "";
  width: 20px;
  height: 2px;
  background: currentColor;
  margin: 4px auto;
  transition: .2s ease;
}

.aj-hero {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at top left, rgba(29, 176, 255, 0.18), transparent 30%),
    linear-gradient(135deg, #0e2740 0%, #173a5f 60%, #1b466f 100%);
  color: var(--aj-white);
  padding: 72px 0 48px;
}

.aj-hero-grid {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 48px;
  align-items: center;
}

.aj-hero h1,
.aj-hero h2,
.aj-hero h3,
.aj-hero p,
.aj-hero a { color: var(--aj-white); }

.aj-hero p {
  font-size: clamp(1.06rem, 1.8vw, 1.25rem);
  color: rgba(255,255,255,0.88);
  max-width: 58ch;
}

.aj-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin: 28px 0 24px;
}

.aj-hero-points,
.aj-inline-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 12px;
}

.aj-hero-points li,
.aj-inline-list li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  color: rgba(255,255,255,0.92);
}

.aj-check {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: rgba(255,255,255,0.14);
  display: inline-grid;
  place-items: center;
  flex-shrink: 0;
}

.aj-check::before {
  content: "✓";
  font-weight: 700;
  color: var(--aj-gold);
}

.aj-stat-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-top: 28px;
}

.aj-stat-card,
.aj-card,
.aj-form-card,
.aj-panel {
  background: var(--aj-white);
  border: 1px solid var(--aj-border);
  border-radius: var(--aj-radius);
  box-shadow: var(--aj-shadow-soft);
}

.aj-stat-card {
  padding: 22px;
  color: var(--aj-navy);
}

.aj-stat-number {
  display: block;
  font-size: clamp(1.7rem, 2.5vw, 2.25rem);
  font-weight: 800;
  margin-bottom: 6px;
}

.aj-form-card {
  padding: 28px;
  position: relative;
}

.aj-form-badge {
  position: absolute;
  top: 18px;
  right: 18px;
  display: inline-flex;
  gap: 8px;
  align-items: center;
  padding: 8px 12px;
  border-radius: 999px;
  background: var(--aj-blue-soft);
  color: var(--aj-navy);
  font-size: 0.85rem;
  font-weight: 700;
}

.aj-form-placeholder {
  border: 2px dashed rgba(29, 176, 255, 0.3);
  border-radius: 20px;
  padding: 20px;
  background: linear-gradient(180deg, #fafdff 0%, #f5fbff 100%);
}

.aj-form-placeholder .aj-input-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin: 18px 0;
}

.aj-form-placeholder label {
  display: block;
  font-size: 0.92rem;
  color: var(--aj-muted);
  margin-bottom: 8px;
  font-weight: 600;
}

.aj-form-placeholder input,
.aj-form-placeholder select,
.aj-form-placeholder textarea,
.wpcf7 input,
.wpcf7 textarea,
.wpcf7 select,
input[type="text"],
input[type="email"],
input[type="tel"],
textarea,
select {
  width: 100%;
  min-height: 54px;
  border-radius: 16px;
  border: 1px solid rgba(18, 32, 51, 0.14);
  background: var(--aj-white);
  padding: 0 16px;
  color: var(--aj-ink);
}

textarea,
.wpcf7 textarea { min-height: 130px; padding: 16px; }

.aj-grid-2,
.aj-grid-3,
.aj-grid-4 {
  display: grid;
  gap: 24px;
}

.aj-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.aj-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.aj-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.aj-card,
.aj-panel {
  padding: 28px;
  height: 100%;
}

.aj-card-icon {
  width: 56px;
  height: 56px;
  border-radius: 18px;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, rgba(29, 176, 255, 0.16), rgba(244, 197, 109, 0.2));
  color: var(--aj-navy);
  font-size: 1.5rem;
  margin-bottom: 18px;
}

.aj-card p,
.aj-panel p,
.aj-copy p,
.entry-content p { color: var(--aj-muted); }

.aj-muted { color: var(--aj-muted); }
.aj-centre { text-align: center; }
.aj-sand { background: var(--aj-sand); }
.aj-navy-bg { background: var(--aj-navy); color: var(--aj-white); }
.aj-navy-bg h2, .aj-navy-bg h3, .aj-navy-bg p, .aj-navy-bg li { color: var(--aj-white); }

.aj-highlight {
  position: relative;
  display: inline;
  box-shadow: inset 0 -0.38em 0 rgba(244, 197, 109, 0.7);
}

.aj-steps {
  counter-reset: step;
  display: grid;
  gap: 18px;
}

.aj-step {
  display: grid;
  grid-template-columns: 76px 1fr;
  gap: 20px;
  align-items: start;
  padding: 24px;
  background: var(--aj-white);
  border: 1px solid var(--aj-border);
  border-radius: var(--aj-radius);
  box-shadow: var(--aj-shadow-soft);
}

.aj-step-number {
  width: 76px;
  height: 76px;
  border-radius: 24px;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, var(--aj-blue), #6ad0ff);
  color: var(--aj-white);
  font-size: 1.35rem;
  font-weight: 800;
}

.aj-trust-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}

.aj-trust-pill {
  padding: 18px 20px;
  border-radius: 18px;
  background: var(--aj-white);
  border: 1px solid var(--aj-border);
  text-align: center;
  font-weight: 700;
  color: var(--aj-navy);
}

.aj-product-tabs {
  display: grid;
  gap: 18px;
}

.aj-product-card {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 26px;
  align-items: center;
  padding: 30px;
  border-radius: var(--aj-radius);
  background: var(--aj-white);
  border: 1px solid var(--aj-border);
  box-shadow: var(--aj-shadow-soft);
}

.aj-product-badge {
  display: inline-flex;
  padding: 8px 12px;
  border-radius: 999px;
  background: var(--aj-blue-soft);
  color: var(--aj-navy);
  font-size: 0.85rem;
  font-weight: 800;
  margin-bottom: 12px;
}

.aj-visual {
  min-height: 260px;
  border-radius: 26px;
  overflow: hidden;
  background: linear-gradient(135deg, #143150, #23659b);
  position: relative;
}

.aj-visual::before,
.aj-visual::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  background: rgba(255,255,255,0.12);
}

.aj-visual::before {
  width: 220px;
  height: 220px;
  top: -50px;
  right: -30px;
}

.aj-visual::after {
  width: 120px;
  height: 120px;
  bottom: 20px;
  left: 20px;
}

.aj-visual-inner {
  position: absolute;
  inset: auto 20px 20px 20px;
  padding: 20px;
  border-radius: 22px;
  background: rgba(255,255,255,0.1);
  border: 1px solid rgba(255,255,255,0.16);
  backdrop-filter: blur(8px);
  color: var(--aj-white);
}

.aj-faq-list {
  display: grid;
  gap: 14px;
}

.aj-faq-item {
  background: var(--aj-white);
  border: 1px solid var(--aj-border);
  border-radius: 20px;
  overflow: hidden;
  box-shadow: var(--aj-shadow-soft);
}

.aj-faq-item summary {
  list-style: none;
  cursor: pointer;
  padding: 22px 24px;
  font-weight: 700;
  color: var(--aj-navy);
  position: relative;
}

.aj-faq-item summary::-webkit-details-marker { display: none; }
.aj-faq-item summary::after {
  content: "+";
  position: absolute;
  right: 24px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.5rem;
}
.aj-faq-item[open] summary::after { content: "–"; }
.aj-faq-answer { padding: 0 24px 22px; color: var(--aj-muted); }

.aj-page-hero {
  padding: 72px 0 56px;
  background: linear-gradient(180deg, #f7fbfd 0%, #fff 100%);
  border-bottom: 1px solid rgba(18, 32, 51, 0.08);
}

.aj-breadcrumbs {
  font-size: .92rem;
  color: var(--aj-muted);
  margin-bottom: 16px;
}

.aj-content-wrap {
  padding: 70px 0 90px;
}

.aj-sidebar-layout {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 28px;
}

.aj-mini-cta {
  position: sticky;
  top: calc(var(--aj-header) + 24px);
}

.aj-site-footer {
  background: #0d2034;
  color: rgba(255,255,255,0.8);
  padding: 70px 0 24px;
}

.aj-site-footer h2,
.aj-site-footer h3,
.aj-site-footer h4,
.aj-site-footer a {
  color: var(--aj-white);
}

.aj-footer-grid {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr 0.8fr 1fr;
  gap: 28px;
  margin-bottom: 36px;
}

.aj-footer-bottom {
  padding-top: 24px;
  border-top: 1px solid rgba(255,255,255,0.1);
  display: flex;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
  font-size: .95rem;
}

.aj-tag-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.aj-tag {
  display: inline-flex;
  padding: 10px 14px;
  border-radius: 999px;
  background: rgba(255,255,255,0.08);
  color: var(--aj-white);
  font-size: .92rem;
  font-weight: 600;
}

.screen-reader-text { position: absolute; left: -9999px; }

@media (max-width: 1100px) {
  .aj-hero-grid,
  .aj-sidebar-layout,
  .aj-product-card,
  .aj-footer-grid {
    grid-template-columns: 1fr;
  }

  .aj-grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .aj-grid-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
  .aj-mobile-toggle { display: inline-flex; align-items: center; justify-content: center; }

  .aj-nav-wrap {
    display: none;
    position: absolute;
    top: calc(100% + 10px);
    left: 16px;
    right: 16px;
    padding: 18px;
    background: var(--aj-white);
    border: 1px solid var(--aj-border);
    border-radius: 22px;
    box-shadow: var(--aj-shadow);
    flex-direction: column;
    align-items: stretch;
  }

  .aj-nav-wrap.is-open { display: flex; }

  .aj-primary-nav ul,
  .aj-header-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .aj-primary-nav a,
  .aj-header-actions a { padding: 6px 0; }

  .aj-grid-2,
  .aj-grid-3,
  .aj-grid-4,
  .aj-stat-row,
  .aj-form-placeholder .aj-input-grid,
  .aj-trust-strip {
    grid-template-columns: 1fr;
  }

  .aj-section { padding: 72px 0; }
  .aj-hero { padding: 52px 0 38px; }
}

@media (max-width: 640px) {
  :root { --aj-header: 76px; }
  .aj-step { grid-template-columns: 1fr; }
  .aj-step-number { width: 64px; height: 64px; border-radius: 20px; }
  .aj-card, .aj-panel, .aj-form-card, .aj-product-card { padding: 22px; }
  .aj-hero-actions { flex-direction: column; align-items: stretch; }
  .aj-btn, .wp-block-button__link, button, input[type="submit"] { width: 100%; }
}



/* ============================
   ACTIVE JOE V3 HARD OVERRIDES
   ============================ */

:root {
  --aj-navy: #0a0a0a !important;
  --aj-navy-2: #151515 !important;
  --aj-blue: #ff6a00 !important;
  --aj-blue-soft: rgba(255,106,0,0.12) !important;
  --aj-gold: #41b57c !important;
  --aj-sand: #0f0f0f !important;
  --aj-ink: #ffffff !important;
  --aj-muted: rgba(255,255,255,0.76) !important;
  --aj-border: rgba(255,106,0,0.18) !important;
  --aj-white: #ffffff !important;
  --aj-shadow: 0 20px 55px rgba(0,0,0,0.34) !important;
  --aj-shadow-soft: 0 14px 34px rgba(0,0,0,0.28) !important;
}

html, body {
  background: #0a0a0a !important;
}

body {
  background: #0a0a0a !important;
  color: #ffffff !important;
}

h1, h2, h3, h4, h5, h6,
.aj-logo,
.aj-logo-text,
.aj-primary-nav a,
.aj-page-hero h1,
.aj-page-hero h2,
.aj-page-hero h3 {
  color: #ffffff !important;
}

p, li, .aj-muted, .entry-content p, .entry-content li {
  color: rgba(255,255,255,0.78) !important;
}

a {
  color: #ff8c2a !important;
}

.aj-site-header {
  background: rgba(10,10,10,0.92) !important;
  border-bottom: 1px solid rgba(255,106,0,0.16) !important;
  backdrop-filter: blur(12px);
}

.aj-logo-mark {
  background: linear-gradient(135deg, #ff6a00, #ff9440) !important;
  box-shadow: 0 12px 24px rgba(255,106,0,0.25) !important;
}

.aj-primary-nav a:hover,
.aj-primary-nav a:focus {
  color: #ff8c2a !important;
}

.aj-mobile-toggle {
  background: #141414 !important;
  color: #ffffff !important;
  border: 1px solid rgba(255,106,0,0.24) !important;
}

.aj-nav-wrap {
  background: rgba(14,14,14,0.98) !important;
}

.aj-section,
.aj-sand,
main,
.site-main {
  background: #0a0a0a !important;
}

.aj-hero {
  background:
    radial-gradient(circle at top left, rgba(255,106,0,0.24), transparent 28%),
    radial-gradient(circle at bottom right, rgba(65,181,124,0.12), transparent 26%),
    linear-gradient(135deg, #050505 0%, #101010 58%, #1c120b 100%) !important;
  color: #ffffff !important;
}

.aj-hero p,
.aj-hero li {
  color: rgba(255,255,255,0.85) !important;
}

.aj-kicker {
  background: rgba(255,106,0,0.10) !important;
  color: #ffb27a !important;
  border: 1px solid rgba(255,106,0,0.18) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
}

.aj-kicker::before {
  background: #41b57c !important;
  box-shadow: 0 0 0 5px rgba(65,181,124,0.14) !important;
}

.aj-highlight {
  color: #ffffff !important;
  box-shadow: inset 0 -0.35em 0 rgba(255,106,0,0.45) !important;
}

.aj-btn-primary,
.wp-block-button__link,
input[type="submit"] {
  background: linear-gradient(135deg, #ff6a00, #ff8c2a) !important;
  color: #ffffff !important;
  box-shadow: 0 16px 32px rgba(255,106,0,0.25) !important;
}

.aj-btn-secondary,
.aj-btn-ghost {
  background: rgba(255,106,0,0.08) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255,106,0,0.26) !important;
}

.aj-card,
.aj-stat-card,
.aj-form-card,
.aj-step,
.aj-faq-item,
.aj-product-card,
.aj-panel,
.aj-trust-pill,
.aj-mini-cta {
  background: linear-gradient(180deg, #141414 0%, #0f0f0f 100%) !important;
  border: 1px solid rgba(255,106,0,0.14) !important;
  box-shadow: 0 14px 34px rgba(0,0,0,0.28) !important;
  color: #ffffff !important;
}

.aj-card h3,
.aj-stat-card h3,
.aj-form-card h3,
.aj-step h3,
.aj-faq-item summary,
.aj-product-card h3,
.aj-panel h3,
.aj-trust-pill strong {
  color: #ffffff !important;
}

.aj-card p,
.aj-stat-card p,
.aj-form-card p,
.aj-step p,
.aj-product-card p,
.aj-panel p,
.aj-trust-pill,
.aj-faq-answer {
  color: rgba(255,255,255,0.76) !important;
}

.aj-form-card {
  border-top: 4px solid #ff6a00 !important;
}

.aj-form-badge,
.aj-product-badge,
.aj-tag {
  background: rgba(255,106,0,0.12) !important;
  color: #ffb27a !important;
  border: 1px solid rgba(255,106,0,0.18) !important;
}

.aj-card-icon {
  background: linear-gradient(135deg, rgba(255,106,0,0.18), rgba(65,181,124,0.10)) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255,106,0,0.14) !important;
}

.aj-check {
  background: rgba(255,106,0,0.12) !important;
  border: 1px solid rgba(255,106,0,0.18) !important;
}

.aj-check::before {
  color: #41b57c !important;
}

.aj-page-hero {
  background:
    radial-gradient(circle at top left, rgba(255,106,0,0.18), transparent 25%),
    linear-gradient(180deg, #111111 0%, #0a0a0a 100%) !important;
  border-bottom: 1px solid rgba(255,106,0,0.12) !important;
}

.aj-navy-bg {
  background:
    radial-gradient(circle at top left, rgba(255,106,0,0.18), transparent 24%),
    linear-gradient(135deg, #090909 0%, #111111 100%) !important;
  color: #ffffff !important;
}

.aj-navy-bg h2,
.aj-navy-bg h3,
.aj-navy-bg p,
.aj-navy-bg li {
  color: #ffffff !important;
}

.aj-step-number {
  background: linear-gradient(135deg, #ff6a00, #ff9440) !important;
  color: #ffffff !important;
}

.aj-visual {
  background: linear-gradient(135deg, #ff6a00, #9f3d00) !important;
}

.aj-visual-inner {
  background: rgba(0,0,0,0.30) !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  color: #ffffff !important;
}

.aj-form-placeholder {
  background: #0e0e0e !important;
  border: 2px dashed rgba(255,106,0,0.26) !important;
}

.aj-form-placeholder label {
  color: rgba(255,255,255,0.80) !important;
}

.aj-form-placeholder input,
.aj-form-placeholder select,
.aj-form-placeholder textarea,
input[type="text"],
input[type="email"],
input[type="tel"],
textarea,
select {
  background: #ffffff !important;
  color: #111111 !important;
  border: 1px solid rgba(255,106,0,0.18) !important;
}

.aj-site-footer {
  background: #080808 !important;
  color: rgba(255,255,255,0.75) !important;
  border-top: 1px solid rgba(255,106,0,0.12) !important;
}

.aj-site-footer h2,
.aj-site-footer h3,
.aj-site-footer h4,
.aj-site-footer a {
  color: #ffffff !important;
}



/* ============================
   ACTIVE JOE V3.1 LIGHT CONTENT OVERRIDES
   ============================ */

:root {
  --aj-navy: #0a0a0a !important;
  --aj-navy-2: #151515 !important;
  --aj-blue: #ff6a00 !important;
  --aj-blue-soft: #fff0e6 !important;
  --aj-gold: #41b57c !important;
  --aj-sand: #f7f7f7 !important;
  --aj-ink: #171717 !important;
  --aj-muted: #5f5f5f !important;
  --aj-border: rgba(255,106,0,0.14) !important;
  --aj-white: #ffffff !important;
}

html, body {
  background: #ffffff !important;
}

body {
  background: #ffffff !important;
  color: #171717 !important;
}

main,
.site-main {
  background: #ffffff !important;
}

h1, h2, h3, h4, h5, h6,
.aj-page-hero h1,
.aj-page-hero h2,
.aj-page-hero h3 {
  color: #171717 !important;
}

p, li, .aj-muted, .entry-content p, .entry-content li {
  color: #5f5f5f !important;
}

a {
  color: #d95e00 !important;
}

.aj-site-header {
  background: rgba(10,10,10,0.92) !important;
  border-bottom: 1px solid rgba(255,106,0,0.16) !important;
}
.aj-logo,
.aj-logo-text,
.aj-primary-nav a {
  color: #ffffff !important;
}
.aj-primary-nav a:hover,
.aj-primary-nav a:focus {
  color: #ffb27a !important;
}

.aj-mobile-toggle {
  background: #141414 !important;
  color: #ffffff !important;
  border: 1px solid rgba(255,106,0,0.24) !important;
}
.aj-nav-wrap {
  background: rgba(14,14,14,0.98) !important;
}

.aj-hero {
  background:
    radial-gradient(circle at top left, rgba(255,106,0,0.24), transparent 28%),
    radial-gradient(circle at bottom right, rgba(65,181,124,0.10), transparent 26%),
    linear-gradient(135deg, #050505 0%, #101010 58%, #1c120b 100%) !important;
  color: #ffffff !important;
}
.aj-hero h1,
.aj-hero h2,
.aj-hero h3,
.aj-hero p,
.aj-hero li {
  color: #ffffff !important;
}
.aj-hero .aj-highlight {
  color: #ffffff !important;
  box-shadow: inset 0 -0.34em 0 rgba(255,106,0,0.46) !important;
}

.aj-section {
  background: #ffffff !important;
}
.aj-sand {
  background: #f7f7f7 !important;
}
.aj-navy-bg {
  background:
    radial-gradient(circle at top left, rgba(255,106,0,0.16), transparent 24%),
    linear-gradient(135deg, #090909 0%, #111111 100%) !important;
}
.aj-navy-bg h2,
.aj-navy-bg h3,
.aj-navy-bg h4,
.aj-navy-bg p,
.aj-navy-bg li,
.aj-navy-bg .aj-kicker {
  color: #ffffff !important;
}

.aj-page-hero {
  background:
    linear-gradient(180deg, #fff8f3 0%, #ffffff 100%) !important;
  border-bottom: 1px solid rgba(255,106,0,0.10) !important;
}
.aj-page-hero .aj-kicker {
  background: rgba(255,106,0,0.08) !important;
  color: #c35600 !important;
  border: 1px solid rgba(255,106,0,0.14) !important;
}

.aj-kicker {
  background: rgba(255,106,0,0.08) !important;
  color: #c35600 !important;
  border: 1px solid rgba(255,106,0,0.14) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
}
.aj-kicker::before {
  background: #41b57c !important;
  box-shadow: 0 0 0 5px rgba(65,181,124,0.14) !important;
}

.aj-highlight {
  color: inherit !important;
  box-shadow: inset 0 -0.32em 0 rgba(255,106,0,0.26) !important;
}

.aj-btn-primary,
.wp-block-button__link,
input[type="submit"] {
  background: linear-gradient(135deg, #ff6a00, #ff8c2a) !important;
  color: #ffffff !important;
  box-shadow: 0 16px 32px rgba(255,106,0,0.22) !important;
}
.aj-btn-secondary,
.aj-btn-ghost {
  background: #ffffff !important;
  color: #171717 !important;
  border: 1px solid rgba(23,23,23,0.12) !important;
}

.aj-card,
.aj-stat-card,
.aj-form-card,
.aj-step,
.aj-faq-item,
.aj-product-card,
.aj-panel,
.aj-trust-pill,
.aj-mini-cta {
  background: #ffffff !important;
  border: 1px solid rgba(23,23,23,0.08) !important;
  box-shadow: 0 14px 34px rgba(0,0,0,0.08) !important;
  color: #171717 !important;
}
.aj-card h3,
.aj-stat-card h3,
.aj-form-card h3,
.aj-step h3,
.aj-faq-item summary,
.aj-product-card h3,
.aj-panel h3,
.aj-trust-pill strong {
  color: #171717 !important;
}
.aj-card p,
.aj-stat-card p,
.aj-form-card p,
.aj-step p,
.aj-product-card p,
.aj-panel p,
.aj-trust-pill,
.aj-faq-answer {
  color: #5f5f5f !important;
}

.aj-card:hover,
.aj-stat-card:hover,
.aj-product-card:hover,
.aj-step:hover {
  border-color: rgba(255,106,0,0.22) !important;
  box-shadow: 0 18px 38px rgba(0,0,0,0.10) !important;
}

.aj-form-card {
  border-top: 4px solid #ff6a00 !important;
}

.aj-form-badge,
.aj-product-badge,
.aj-tag {
  background: #fff0e6 !important;
  color: #c35600 !important;
  border: 1px solid rgba(255,106,0,0.14) !important;
}

.aj-card-icon {
  background: linear-gradient(135deg, #fff0e6, #fff7f1) !important;
  color: #171717 !important;
  border: 1px solid rgba(255,106,0,0.12) !important;
}

.aj-check {
  background: #fff7f1 !important;
  border: 1px solid rgba(255,106,0,0.14) !important;
}
.aj-check::before {
  color: #41b57c !important;
}

.aj-visual {
  background: linear-gradient(135deg, #ff6a00, #9f3d00) !important;
}
.aj-visual-inner {
  background: rgba(0,0,0,0.30) !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  color: #ffffff !important;
}

.aj-form-placeholder {
  background: #fffaf6 !important;
  border: 2px dashed rgba(255,106,0,0.20) !important;
}
.aj-form-placeholder label {
  color: #4f4f4f !important;
}
.aj-form-placeholder input,
.aj-form-placeholder select,
.aj-form-placeholder textarea,
input[type="text"],
input[type="email"],
input[type="tel"],
textarea,
select {
  background: #ffffff !important;
  color: #111111 !important;
  border: 1px solid rgba(23,23,23,0.10) !important;
}

.aj-step-number {
  background: linear-gradient(135deg, #ff6a00, #ff9440) !important;
  color: #ffffff !important;
}

.aj-site-footer {
  background: #080808 !important;
  color: rgba(255,255,255,0.75) !important;
  border-top: 1px solid rgba(255,106,0,0.12) !important;
}
.aj-site-footer h2,
.aj-site-footer h3,
.aj-site-footer h4,
.aj-site-footer a {
  color: #ffffff !important;
}

@media (max-width: 900px) {
  .aj-nav-wrap {
    border: 1px solid rgba(255,106,0,0.16) !important;
    box-shadow: 0 16px 32px rgba(0,0,0,0.24) !important;
  }
}


/* ============================
   REWARDS SECTION (V3.3)
   ============================ */

.aj-rewards {
  padding: 80px 0;
  background: #ffffff;
}

.aj-rewards h2 {
  text-align:center;
  margin-bottom:10px;
}

.aj-rewards p.intro {
  text-align:center;
  max-width:700px;
  margin:0 auto 40px;
  font-size:1.05rem;
}

.aj-reward-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:30px;
}

.aj-reward-card {
  background:#fff;
  border:1px solid rgba(0,0,0,0.06);
  padding:28px;
  border-radius:10px;
  text-align:center;
  transition:transform .2s ease, box-shadow .2s ease;
}

.aj-reward-card:hover {
  transform:translateY(-3px);
  box-shadow:0 14px 30px rgba(0,0,0,0.08);
}

.aj-reward-icon {
  font-size:32px;
  margin-bottom:12px;
}



/* ============================
   HERO SIMPLIFICATION (V3.4)
   ============================ */
.aj-hero {
  padding: 96px 0 78px !important;
}

.aj-hero-grid {
  align-items: center !important;
  gap: 42px !important;
}

.aj-hero > .aj-container > div:first-child {
  max-width: 620px;
}

.aj-hero h1 {
  max-width: 640px !important;
  font-size: clamp(2.2rem, 4vw, 4.25rem) !important;
  line-height: 1.02 !important;
  letter-spacing: -0.03em !important;
  margin: 0 0 16px !important;
}

.aj-hero p {
  max-width: 510px !important;
  font-size: 1.02rem !important;
  line-height: 1.55 !important;
  margin-bottom: 24px !important;
}

.aj-hero .aj-hero-actions {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 6px;
}

.aj-hero .aj-btn-secondary {
  display: none !important;
}

.aj-hero-points,
.aj-stat-row,
.aj-hero .aj-mini-cta,
.aj-hero .aj-stat-card {
  display: none !important;
}

.aj-hero-note {
  margin: 10px 0 0;
  font-size: 0.92rem;
  color: rgba(255,255,255,0.76);
}

.aj-form-card {
  max-width: 460px;
  margin-left: auto;
}

@media (max-width: 980px) {
  .aj-hero {
    padding: 84px 0 62px !important;
  }

  .aj-hero-grid {
    gap: 28px !important;
  }

  .aj-form-card {
    max-width: 100%;
  }
}


/* ============================
   ACTIVE JOE BRAND SECTION
   ============================ */

.aj-brand {
  padding:80px 0;
  background:#ffffff;
  text-align:center;
}

.aj-brand h2 {
  font-size:clamp(2rem,3vw,3rem);
  margin-bottom:18px;
}

.aj-brand p {
  max-width:680px;
  margin:0 auto 18px;
  line-height:1.6;
}

.aj-brand strong {
  color:#ff6a00;
}


/* ============================
   HERO SLIDER (V3.7)
   ============================ */
.aj-hero-slider {
  position: relative;
  overflow: hidden;
}

.aj-hero-track {
  position: relative;
  min-height: 100%;
}

.aj-hero-slide {
  display: none;
  animation: ajFadeIn .45s ease;
}

.aj-hero-slide.is-active {
  display: block;
}

.aj-hero-slider-nav {
  display: flex;
  gap: 10px;
  margin-top: 22px;
  align-items: center;
}

.aj-hero-dot {
  width: 12px;
  height: 12px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.28);
  background: rgba(255,255,255,0.18);
  cursor: pointer;
  transition: all .2s ease;
}

.aj-hero-dot.is-active {
  width: 34px;
  background: linear-gradient(135deg, #ff6a00, #ff8c2a);
  border-color: transparent;
}

.aj-hero-subcopy {
  max-width: 510px;
  font-size: 1.02rem;
  line-height: 1.55;
  margin-bottom: 24px;
}

.aj-hero-slide .aj-kicker {
  margin-bottom: 14px;
}

@keyframes ajFadeIn {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}


/* ============================
   HERO SLIDER FIXES (V3.8)
   ============================ */
.aj-hero-slider .aj-hero-track {
  position: relative;
  width: 100%;
}

.aj-hero-slider .aj-hero-slide {
  display: none !important;
}

.aj-hero-slider .aj-hero-slide.is-active {
  display: block !important;
}

.aj-hero-slider-nav {
  position: relative;
  z-index: 5;
}


/* ============================
   ACTIVE JOE V4 HERO REFINEMENT
   ============================ */
.aj-hero {
  overflow: hidden;
}

.aj-hero-track {
  position: relative;
}

.aj-hero-slider .aj-hero-slide {
  display: none !important;
}

.aj-hero-slider .aj-hero-slide.is-active {
  display: block !important;
}

.aj-hero-layout,
.aj-hero-brand-layout {
  display: grid;
  align-items: center;
  gap: 32px;
  min-height: 560px;
}

.aj-hero-layout {
  grid-template-columns: minmax(0, 1fr) minmax(340px, 460px);
}

.aj-hero-brand-layout {
  grid-template-columns: minmax(0, 1fr) minmax(360px, 620px);
}

.aj-hero-copy,
.aj-hero-brand-copy {
  max-width: 610px;
}

.aj-hero-copy h1,
.aj-hero-brand-copy h1 {
  max-width: 700px !important;
  font-size: clamp(2.25rem, 4vw, 4.75rem) !important;
  line-height: 1.03 !important;
  margin-bottom: 16px !important;
}

.aj-hero-copy .aj-kicker,
.aj-hero-brand-copy .aj-kicker {
  margin-bottom: 14px;
}

.aj-hero-subcopy {
  max-width: 520px;
  font-size: 1.03rem;
  line-height: 1.55;
  margin-bottom: 22px;
}

.aj-hero-actions {
  display: flex;
  gap: 14px;
  align-items: center;
}

.aj-hero-note {
  margin-top: 10px;
  font-size: .92rem;
  color: rgba(255,255,255,0.76);
}

.aj-hero-form {
  position: relative;
  z-index: 3;
}

.aj-hero-brand-visual {
  position: relative;
  min-height: 560px;
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
}

.aj-hero-brand-visual::before {
  content: "";
  position: absolute;
  right: 4%;
  top: 50%;
  width: 80%;
  height: 80%;
  transform: translateY(-50%);
  background: radial-gradient(circle at center, rgba(255,106,0,0.24) 0%, rgba(255,106,0,0.14) 28%, rgba(255,106,0,0.05) 48%, rgba(255,106,0,0) 72%);
  filter: blur(20px);
  z-index: 0;
  pointer-events: none;
}

.aj-hero-mascot {
  position: relative;
  z-index: 1;
  width: min(100%, 760px);
  max-width: none;
  height: auto;
  display: block;
  margin-right: -3%;
  margin-bottom: -8px;
  filter: drop-shadow(0 22px 42px rgba(0,0,0,0.24));
  pointer-events: none;
}

.aj-hero-slider-nav {
  display: flex;
  gap: 10px;
  margin-top: 18px;
  align-items: center;
}

.aj-hero-dot {
  width: 12px;
  height: 12px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.28);
  background: rgba(255,255,255,0.18);
  cursor: pointer;
  transition: all .2s ease;
}

.aj-hero-dot.is-active {
  width: 34px;
  background: linear-gradient(135deg, #ff6a00, #ff8c2a);
  border-color: transparent;
}

@media (max-width: 1080px) {
  .aj-hero-layout,
  .aj-hero-brand-layout {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .aj-hero-brand-visual {
    min-height: 280px;
    justify-content: center;
  }

  .aj-hero-mascot {
    width: min(100%, 520px);
    margin-right: 0;
    margin-bottom: 0;
  }

  .aj-hero-copy,
  .aj-hero-brand-copy {
    max-width: 100%;
  }
}


/* ============================
   ACTIVE JOE V4.1 HERO LAYOUT FIX
   ============================ */
.aj-hero .aj-container {
  max-width: 1280px !important;
}

.aj-hero-layout,
.aj-hero-brand-layout {
  grid-template-columns: minmax(520px, 1fr) minmax(420px, 500px) !important;
  gap: 56px !important;
  align-items: center !important;
  min-height: 620px !important;
}

.aj-hero-copy,
.aj-hero-brand-copy {
  max-width: 640px !important;
  padding-right: 0 !important;
}

.aj-hero-copy h1,
.aj-hero-brand-copy h1 {
  max-width: 640px !important;
  font-size: clamp(3rem, 5.2vw, 5.4rem) !important;
  line-height: 0.98 !important;
  letter-spacing: -0.04em !important;
  text-wrap: balance;
}

.aj-hero-subcopy {
  max-width: 560px !important;
  font-size: 1.08rem !important;
}

.aj-hero-form {
  width: 100%;
  max-width: 500px;
  justify-self: end;
}

.aj-hero-form .aj-form-card {
  width: 100%;
  max-width: 500px;
  margin-left: auto !important;
}

.aj-hero-brand-visual {
  justify-content: flex-end !important;
  min-height: 620px !important;
}

.aj-hero-mascot {
  width: min(100%, 780px) !important;
  margin-right: -2% !important;
}

@media (max-width: 1180px) {
  .aj-hero-layout,
  .aj-hero-brand-layout {
    grid-template-columns: minmax(0, 1fr) minmax(360px, 460px) !important;
    gap: 34px !important;
    min-height: 560px !important;
  }

  .aj-hero-copy h1,
  .aj-hero-brand-copy h1 {
    font-size: clamp(2.5rem, 4.6vw, 4.3rem) !important;
    max-width: 560px !important;
  }
}

@media (max-width: 980px) {
  .aj-hero-layout,
  .aj-hero-brand-layout {
    grid-template-columns: 1fr !important;
    min-height: 0 !important;
    gap: 28px !important;
  }

  .aj-hero-copy,
  .aj-hero-brand-copy {
    max-width: 100% !important;
  }

  .aj-hero-copy h1,
  .aj-hero-brand-copy h1 {
    max-width: 100% !important;
    font-size: clamp(2.5rem, 9vw, 4rem) !important;
  }

  .aj-hero-subcopy {
    max-width: 100% !important;
  }

  .aj-hero-form {
    justify-self: stretch !important;
    max-width: 100% !important;
  }

  .aj-hero-form .aj-form-card {
    max-width: 100% !important;
  }

  .aj-hero-brand-visual {
    min-height: 300px !important;
    justify-content: center !important;
  }

  .aj-hero-mascot {
    width: min(100%, 520px) !important;
    margin-right: 0 !important;
  }
}


/* ============================
   ACTIVE JOE V4.2 HERO SPACE + SLIDER POLISH
   ============================ */
.aj-hero .aj-container {
  max-width: 1380px !important;
}

.aj-hero-layout {
  grid-template-columns: minmax(480px, 1fr) minmax(500px, 560px) !important;
  gap: 72px !important;
  min-height: 640px !important;
}

.aj-hero-brand-layout {
  grid-template-columns: minmax(500px, 1fr) minmax(560px, 760px) !important;
  gap: 40px !important;
  min-height: 640px !important;
}

.aj-hero-copy,
.aj-hero-brand-copy {
  max-width: 700px !important;
}

.aj-hero-copy h1,
.aj-hero-brand-copy h1 {
  max-width: 760px !important;
}

.aj-hero-form {
  width: 100% !important;
  max-width: 560px !important;
  justify-self: end !important;
}

.aj-hero-form .aj-form-card {
  width: 100% !important;
  max-width: 560px !important;
  margin-left: auto !important;
}

.aj-hero-brand-visual {
  min-height: 640px !important;
  justify-content: center !important;
  align-items: center !important;
}

.aj-hero-mascot {
  width: min(100%, 980px) !important;
  max-width: none !important;
  margin-right: -4% !important;
  margin-bottom: 0 !important;
}

.aj-hero-slider-nav {
  position: absolute !important;
  left: 50% !important;
  bottom: 22px !important;
  transform: translateX(-50%) !important;
  z-index: 8 !important;
  margin-top: 0 !important;
  justify-content: center !important;
}

.aj-hero-track {
  padding-bottom: 54px !important;
}

.aj-hero-dot {
  width: 14px !important;
  height: 14px !important;
}

.aj-hero-dot.is-active {
  width: 38px !important;
}

@media (max-width: 1280px) {
  .aj-hero-layout {
    grid-template-columns: minmax(420px, 1fr) minmax(420px, 500px) !important;
    gap: 48px !important;
  }

  .aj-hero-brand-layout {
    grid-template-columns: minmax(420px, 1fr) minmax(460px, 620px) !important;
    gap: 32px !important;
  }

  .aj-hero-mascot {
    width: min(100%, 820px) !important;
    margin-right: -2% !important;
  }
}

@media (max-width: 980px) {
  .aj-hero-layout,
  .aj-hero-brand-layout {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
    min-height: 0 !important;
  }

  .aj-hero-form {
    justify-self: stretch !important;
    max-width: 100% !important;
  }

  .aj-hero-form .aj-form-card {
    max-width: 100% !important;
  }

  .aj-hero-brand-visual {
    min-height: 360px !important;
  }

  .aj-hero-mascot {
    width: min(100%, 620px) !important;
    margin-right: 0 !important;
  }

  .aj-hero-slider-nav {
    bottom: 14px !important;
  }
}


/* ============================
   ACTIVE JOE V4.3 HERO BALANCE
   ============================ */
.aj-hero .aj-container {
  max-width: 1420px !important;
}

.aj-hero-layout,
.aj-hero-brand-layout {
  align-items: center !important;
  min-height: 660px !important;
}

.aj-hero-layout {
  grid-template-columns: minmax(520px, 1fr) minmax(560px, 620px) !important;
  gap: 84px !important;
}

.aj-hero-brand-layout {
  grid-template-columns: minmax(460px, 0.92fr) minmax(700px, 1.08fr) !important;
  gap: 10px !important;
}

.aj-hero-copy,
.aj-hero-brand-copy {
  align-self: center !important;
  max-width: 650px !important;
  position: relative;
  z-index: 3;
}

.aj-hero-brand-copy {
  max-width: 560px !important;
}

.aj-hero-copy h1,
.aj-hero-brand-copy h1 {
  max-width: 720px !important;
}

.aj-hero-form {
  width: 100% !important;
  max-width: 620px !important;
  justify-self: center !important;
  align-self: center !important;
  display: flex !important;
  justify-content: center !important;
}

.aj-hero-form .aj-form-card {
  width: 100% !important;
  max-width: 600px !important;
  margin: 0 auto !important;
}

.aj-hero-brand-visual {
  min-height: 660px !important;
  justify-content: flex-end !important;
  align-items: center !important;
  overflow: visible !important;
}

.aj-hero-brand-visual::before {
  right: 0 !important;
  top: 52% !important;
  width: 94% !important;
  height: 94% !important;
  background: radial-gradient(circle at center, rgba(255,106,0,0.30) 0%, rgba(255,106,0,0.18) 24%, rgba(255,106,0,0.08) 42%, rgba(255,106,0,0.02) 58%, rgba(255,106,0,0) 74%) !important;
  filter: blur(24px) !important;
}

.aj-hero-mascot {
  width: min(100%, 1160px) !important;
  max-width: none !important;
  margin-right: -12% !important;
  margin-left: -10% !important;
  transform: scale(1.16) translateX(-2%);
  transform-origin: center right;
  filter: drop-shadow(0 28px 54px rgba(0,0,0,0.28)) !important;
}

.aj-hero-slider-nav {
  width: auto !important;
}

@media (max-width: 1320px) {
  .aj-hero-layout {
    grid-template-columns: minmax(460px, 1fr) minmax(500px, 560px) !important;
    gap: 56px !important;
  }

  .aj-hero-brand-layout {
    grid-template-columns: minmax(420px, 1fr) minmax(560px, 1fr) !important;
    gap: 16px !important;
  }

  .aj-hero-mascot {
    width: min(100%, 980px) !important;
    margin-right: -8% !important;
    margin-left: -6% !important;
    transform: scale(1.08) translateX(-2%);
  }
}

@media (max-width: 1080px) {
  .aj-hero-layout,
  .aj-hero-brand-layout {
    grid-template-columns: 1fr !important;
    gap: 30px !important;
    min-height: 0 !important;
  }

  .aj-hero-form {
    max-width: 100% !important;
    justify-self: stretch !important;
  }

  .aj-hero-form .aj-form-card {
    max-width: 100% !important;
  }

  .aj-hero-brand-copy {
    max-width: 100% !important;
  }

  .aj-hero-brand-visual {
    min-height: 360px !important;
    justify-content: center !important;
  }

  .aj-hero-mascot {
    width: min(100%, 720px) !important;
    margin: 0 auto !important;
    transform: none !important;
  }
}


/* ============================
   ACTIVE JOE V4.4 HERO POLISH
   ============================ */

/* Blend mascot bottom edge into hero background */
.aj-hero-mascot{
  mask-image: linear-gradient(to bottom, rgba(0,0,0,1) 68%, rgba(0,0,0,0.92) 82%, rgba(0,0,0,0) 100%);
  -webkit-mask-image: linear-gradient(to bottom, rgba(0,0,0,1) 68%, rgba(0,0,0,0.92) 82%, rgba(0,0,0,0) 100%);
}

/* Smaller, cleaner slider dots */
.aj-hero-slider-nav{
  position: absolute !important;
  left: 50% !important;
  bottom: 22px !important;
  transform: translateX(-50%) !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 12px !important;
  width: auto !important;
  z-index: 12 !important;
  margin: 0 !important;
}

.aj-hero-dot{
  width: 10px !important;
  height: 10px !important;
  min-width: 10px !important;
  min-height: 10px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,0.24) !important;
  background: rgba(255,255,255,0.18) !important;
  transition: all .25s ease !important;
}

.aj-hero-dot.is-active{
  width: 24px !important;
  background: linear-gradient(135deg, #ff6a00, #ff8c2a) !important;
  border-color: transparent !important;
}

/* More padding so dots sit centrally across the whole hero */
.aj-hero-track{
  position: relative !important;
  padding-bottom: 58px !important;
}

/* Subtle premium floating animation for mascot slide */
.aj-hero-brand-visual::before{animation:none !important;}

.aj-hero-mascot{animation:none !important;}


  50% {
    transform: scale(1.16) translateX(-2%) translateY(-8px);
  }
  100% {
    transform: scale(1.16) translateX(-2%) translateY(0);
  }
}


  50% {
    transform: translateY(calc(-50% - 8px)) scale(1.03);
    opacity: 0.95;
  }
  100% {
    transform: translateY(-50%) scale(1);
    opacity: 1;
  }
}

@media (max-width: 1320px) {
  
    50% {
      transform: scale(1.08) translateX(-2%) translateY(-7px);
    }
    100% {
      transform: scale(1.08) translateX(-2%) translateY(0);
    }
  }
}

@media (max-width: 1080px) {
  .aj-hero-slider-nav{
    bottom: 14px !important;
  }

  .aj-hero-mascot{animation:none !important;}

  
    50% { transform: translateY(-6px); }
    100% { transform: translateY(0); }
  }
}


/* ============================
   ACTIVE JOE V4.6 DOT POSITION FIX
   ============================ */

/* Ensure hero acts as positioning context */
.aj-hero{
    position:relative;
}

/* Centre navigation relative to entire hero width */
.aj-hero-slider-nav{
    position:absolute !important;
    left:50% !important;
    transform:translateX(-50%) !important;
    bottom:30px !important;
    display:flex;
    justify-content:center;
    align-items:center;
    gap:12px;
    width:auto;
    z-index:20;
}

/* Prevent column alignment overrides */
.aj-hero-copy .aj-hero-slider-nav,
.aj-hero-layout .aj-hero-slider-nav{
    left:50% !important;
    transform:translateX(-50%) !important;
}



/* ============================
   ACTIVE JOE V4.7 TRUE HERO CENTER DOTS
   ============================ */

/* Make hero the positioning container */
.aj-hero{
    position:relative;
}

/* Navigation container spans full hero width */
.aj-hero-slider-nav{
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    bottom:34px !important;
    width:100% !important;
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    gap:12px !important;
    transform:none !important;
    z-index:30 !important;
}

/* Prevent inherited column constraints */
.aj-hero-copy .aj-hero-slider-nav,
.aj-hero-layout .aj-hero-slider-nav,
.aj-hero-track .aj-hero-slider-nav{
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    justify-content:center !important;
    transform:none !important;
}



/* ============================
   ACTIVE JOE V4.9 HERO NAV ROW FIX
   ============================ */
.aj-hero-track{
  display:block !important;
  position:relative !important;
  padding-bottom:0 !important;
}

.aj-hero-slider-nav{
  position:static !important;
  left:auto !important;
  right:auto !important;
  bottom:auto !important;
  transform:none !important;
  width:auto !important;
  margin:0 auto !important;
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  gap:12px !important;
  z-index:10 !important;
}

.aj-hero-nav-row{
  width:100%;
  display:flex;
  justify-content:center;
  align-items:center;
  padding: 8px 0 26px;
}

.aj-hero-dot{
  width:10px !important;
  height:10px !important;
  min-width:10px !important;
  min-height:10px !important;
}

.aj-hero-dot.is-active{
  width:24px !important;
}

@media (max-width:1080px){
  .aj-hero-nav-row{
    padding: 4px 0 18px;
  }
}


/* ============================
   ACTIVE JOE V5.1 HERO STAGE + TRUE FULL-WIDTH NAV ROW
   ============================ */

.aj-hero-stage{
  width: 100%;
  max-width: 1240px;
  margin: 0 auto;
}

.aj-hero-track{
  width: 100%;
  display: block !important;
  position: relative !important;
}

.aj-hero-slide{
  width: 100%;
}

.aj-hero-layout,
.aj-hero-brand-layout{
  width: 100%;
  margin: 0;
}

.aj-hero-nav-row{
  width: 100% !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  padding: 10px 0 26px !important;
  box-sizing: border-box;
}

.aj-hero-slider-nav{
  position: static !important;
  width: auto !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  bottom: auto !important;
  transform: none !important;
  margin: 0 auto !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 12px !important;
}

@media (max-width: 1080px){
  .aj-hero-stage{
    max-width: 100%;
  }

  .aj-hero-nav-row{
    padding: 6px 0 18px !important;
  }
}


/* ============================
   ACTIVE JOE V5.2 RECENTRE HERO CONTENT
   ============================ */

/* Keep the nav row where it is, but recentre the stage content above it */
.aj-hero-stage{
  max-width: 1320px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
  box-sizing: border-box !important;
}

.aj-hero-layout,
.aj-hero-brand-layout{
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  justify-content: center !important;
  align-items: center !important;
}

.aj-hero-layout{
  grid-template-columns: minmax(0, 1.02fr) minmax(460px, 0.98fr) !important;
  gap: 64px !important;
}

.aj-hero-brand-layout{
  grid-template-columns: minmax(0, 0.98fr) minmax(520px, 1.02fr) !important;
  gap: 34px !important;
}

.aj-hero-copy,
.aj-hero-brand-copy{
  max-width: 620px !important;
}

.aj-hero-form{
  max-width: 540px !important;
  width: 100% !important;
  justify-self: end !important;
}

.aj-hero-form .aj-form-card{
  max-width: 540px !important;
  width: 100% !important;
}

.aj-hero-brand-visual{
  justify-content: center !important;
}

.aj-hero-mascot{
  margin-right: 0 !important;
  margin-left: 0 !important;
}

@media (max-width: 1180px){
  .aj-hero-stage{
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .aj-hero-layout{
    grid-template-columns: minmax(0, 1fr) minmax(420px, 500px) !important;
    gap: 42px !important;
  }

  .aj-hero-brand-layout{
    grid-template-columns: minmax(0, 1fr) minmax(460px, 1fr) !important;
    gap: 24px !important;
  }
}

@media (max-width: 980px){
  .aj-hero-stage{
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  .aj-hero-layout,
  .aj-hero-brand-layout{
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }

  .aj-hero-form{
    max-width: 100% !important;
    justify-self: stretch !important;
  }

  .aj-hero-form .aj-form-card{
    max-width: 100% !important;
  }
}


/* ============================
   ACTIVE JOE V5.3 SECTION CLEANUP
   ============================ */

/* Section 2 CTA styled as a proper button */
.aj-rewards .aj-btn-primary,
.aj-rewards a.aj-btn,
.aj-rewards a[href="#home-form"]{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:16px 30px !important;
  background:linear-gradient(135deg,#ff6a00,#ff8c2a) !important;
  color:#ffffff !important;
  border-radius:999px !important;
  text-decoration:none !important;
  font-weight:700 !important;
  box-shadow:0 14px 28px rgba(255,106,0,0.20) !important;
}

/* Make orange boxes use white text */
.aj-product-badge,
.aj-tag,
.aj-form-badge{
  color:#ffffff !important;
}

/* Remove product card style icons/buttons for a cleaner look */
.aj-product-card .aj-card-icon,
.aj-product-card .aj-btn,
.aj-product-card .aj-btn-secondary,
.aj-product-card .aj-btn-ghost,
.aj-product-card .wp-block-button,
.aj-product-card .wp-block-buttons,
.aj-product-card a.aj-btn{
  display:none !important;
}

/* Ensure product headings and cards still look clean */
.aj-product-card{
  padding-top:32px !important;
}

.aj-product-card h3{
  margin-top:0 !important;
}

.aj-rewards{padding:96px 0;background:#f7f7f8;text-align:center;}
.aj-rewards .aj-container{max-width:1180px;}
.aj-rewards h2{font-size:clamp(2rem,3.4vw,3rem);line-height:1.1;font-weight:800;color:#111;margin:0 0 14px;letter-spacing:-0.03em;}
.aj-rewards-intro{max-width:760px;margin:0 auto 44px;font-size:1.1rem;line-height:1.65;color:#5f6368;}
.aj-rewards-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:stretch;}
.aj-reward-card{background:#fff;border:1px solid rgba(17,17,17,0.06);border-radius:20px;padding:28px 24px 24px;text-align:left;box-shadow:0 12px 30px rgba(0,0,0,0.04);transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;}
.aj-reward-card:hover{transform:translateY(-4px);box-shadow:0 18px 36px rgba(0,0,0,0.08);border-color:rgba(255,106,0,0.24);}
.aj-reward-icon{width:52px;height:52px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg, rgba(255,106,0,0.12), rgba(255,140,42,0.08));color:#ff6a00;margin-bottom:18px;box-shadow:inset 0 0 0 1px rgba(255,106,0,0.10);}
.aj-reward-icon svg{width:24px;height:24px;display:block;}
.aj-reward-card h3{font-size:1.2rem;line-height:1.25;font-weight:800;color:#111;margin:0 0 10px;}
.aj-reward-card p{font-size:.98rem;line-height:1.65;color:#5f6368;margin:0;}
.aj-highlight{color:#ff6a00;font-weight:700;}
.aj-rewards-cta{margin-top:38px;}
.aj-rewards .aj-btn-primary{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:0 30px;}
.aj-rewards .aj-hero-note{color:#5f6368;margin-top:12px;}
@media (max-width:980px){.aj-rewards{padding:76px 0;}.aj-rewards-grid{grid-template-columns:1fr;gap:18px;}.aj-rewards-intro{margin-bottom:30px;}}


/* ============================
   ACTIVE JOE V5.6 VIDEO REWARDS SECTION
   ============================ */

.aj-highlight{
  color:#ff6a00 !important;
  font-weight:700 !important;
  text-decoration:none !important;
  box-shadow:none !important;
  background:none !important;
}

.aj-rewards{
  position:relative;
  padding:110px 0;
  background:#0b0b0b;
  color:#ffffff;
  overflow:hidden;
  text-align:left;
}

.aj-rewards .aj-container{
  position:relative;
  z-index:3;
  max-width:1240px;
}

.aj-rewards-video-wrap{
  position:absolute;
  inset:0;
  z-index:1;
  overflow:hidden;
}

.aj-rewards-video{
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:.34;
  filter:saturate(.9) contrast(1.02) brightness(.55);
}

.aj-rewards-overlay{
  position:absolute;
  inset:0;
  z-index:2;
  background:
    linear-gradient(90deg, rgba(11,11,11,.90) 0%, rgba(11,11,11,.78) 36%, rgba(11,11,11,.60) 58%, rgba(11,11,11,.84) 100%),
    radial-gradient(circle at 78% 35%, rgba(255,106,0,.16), transparent 22%);
}

.aj-rewards-kicker{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 16px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:999px;
  background:rgba(255,255,255,.04);
  color:#ff8c2a;
  font-size:.85rem;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  margin-bottom:18px;
}

.aj-rewards-kicker::before{
  content:"";
  width:8px;
  height:8px;
  border-radius:999px;
  background:#41b57c;
  box-shadow:0 0 0 6px rgba(65,181,124,.14);
}

.aj-rewards h2{
  color:#ffffff;
  font-size:clamp(2.2rem,3.7vw,3.3rem);
  line-height:1.06;
  font-weight:800;
  margin:0 0 16px;
  letter-spacing:-0.03em;
  max-width:760px;
}

.aj-rewards-intro{
  max-width:720px;
  margin:0 0 42px;
  font-size:1.08rem;
  line-height:1.7;
  color:rgba(255,255,255,.78);
}

.aj-rewards-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
  align-items:stretch;
}

.aj-reward-card{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.10);
  border-radius:22px;
  padding:28px 24px 24px;
  text-align:left;
  box-shadow:0 16px 40px rgba(0,0,0,.20);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
}

.aj-reward-card:hover{
  transform:translateY(-4px);
  border-color:rgba(255,106,0,.28);
  box-shadow:0 22px 48px rgba(0,0,0,.24);
}

.aj-reward-icon{
  width:54px;
  height:54px;
  border-radius:16px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg, rgba(255,106,0,.18), rgba(255,140,42,.10));
  color:#ff8c2a;
  margin-bottom:18px;
  box-shadow:inset 0 0 0 1px rgba(255,106,0,.12);
}

.aj-reward-card h3{
  color:#ffffff;
  font-size:1.16rem;
  line-height:1.25;
  font-weight:800;
  margin:0 0 10px;
}

.aj-reward-card p{
  color:rgba(255,255,255,.76);
  font-size:.98rem;
  line-height:1.65;
  margin:0;
}

.aj-rewards-cta{
  margin-top:38px;
}

.aj-rewards .aj-btn-primary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:56px;
  padding:0 30px;
}

.aj-rewards .aj-hero-note{
  color:rgba(255,255,255,.72);
  margin-top:12px;
}

@media (max-width:980px){
  .aj-rewards{
    padding:84px 0;
    text-align:left;
  }

  .aj-rewards-grid{
    grid-template-columns:1fr;
    gap:18px;
  }

  .aj-rewards-intro{
    margin-bottom:30px;
  }
}


/* === V5.7 Overlay + Text Fix === */
.aj-rewards-overlay{
  background:
    linear-gradient(
      90deg,
      rgba(11,11,11,0.75) 0%,
      rgba(11,11,11,0.55) 35%,
      rgba(11,11,11,0.35) 60%,
      rgba(11,11,11,0.65) 100%
    ),
    radial-gradient(
      circle at 75% 35%,
      rgba(255,106,0,0.12),
      transparent 30%
    ) !important;
}

.aj-rewards-video{
  opacity:0.45 !important;
  filter:brightness(0.7) contrast(1.05) !important;
}

.aj-rewards h2,
.aj-reward-card h3{
  color:#ffffff !important;
}

.aj-rewards-intro,
.aj-reward-card p,
.aj-hero-note{
  color:rgba(255,255,255,0.92) !important;
}


/* ============================
   ACTIVE JOE V5.8 REWARDS SECTION POLISH
   ============================ */

/* Centre all content in rewards section */
.aj-rewards{
  text-align:center !important;
}

.aj-rewards .aj-container{
  display:flex;
  flex-direction:column;
  align-items:center;
}

.aj-rewards h2{
  max-width: 900px;
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:center !important;
}

.aj-rewards-intro{
  text-align:center !important;
  max-width: 860px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.aj-rewards-grid{
  width:100%;
  margin-top: 4px;
}

.aj-reward-card{
  text-align:left;
  box-shadow: 0 14px 32px rgba(0,0,0,0.10);
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}

.aj-reward-card:hover{
  box-shadow: 0 0 0 1px rgba(255,106,0,0.12), 0 18px 42px rgba(255,106,0,0.14);
}

.aj-rewards-cta{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  width:100%;
}

/* Motion blur / softness on video edges */
.aj-rewards-video-wrap::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:2;
  box-shadow:
    inset 0 0 120px rgba(11,11,11,0.30),
    inset 0 0 220px rgba(11,11,11,0.18);
}

.aj-rewards-video{
  filter: brightness(0.74) contrast(1.04) blur(0.35px) !important;
}

/* Subtle fade in on scroll */
.aj-fade-in{
  opacity:0;
  transform:translateY(18px);
  transition:opacity .7s ease, transform .7s ease;
  will-change:opacity, transform;
}

.aj-fade-in.is-visible{
  opacity:1;
  transform:translateY(0);
}

@media (prefers-reduced-motion: reduce){
  .aj-fade-in{
    opacity:1 !important;
    transform:none !important;
    transition:none !important;
  }
}

/* WHY SECTION */
.aj-why{
  padding:100px 0;
  background:#fff;
  text-align:center;
}

.aj-why h2{
  font-size:32px;
  font-weight:800;
  margin-bottom:12px;
}

.aj-why-intro{
  max-width:600px;
  margin:0 auto 50px;
  font-size:17px;
  color:#6b7280;
  line-height:1.6;
}

.aj-why-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}

.aj-why-card{
  background:#f9fafb;
  padding:28px;
  border-radius:14px;
  text-align:left;
  border:1px solid #eee;
  transition:.2s;
}

.aj-why-card:hover{
  transform:translateY(-4px);
  box-shadow:0 10px 25px rgba(0,0,0,0.06);
}

.aj-why-icon{
  width:40px;
  height:40px;
  margin-bottom:12px;
  color:#ff6a00;
}

.aj-why-cta{
  margin-top:40px;
}

/* reassurance strip */
.aj-reassure{
  padding:50px 0;
  background:#0b0b0b;
  color:#fff;
  text-align:center;
}

.aj-reassure-grid{
  display:flex;
  justify-content:center;
  gap:40px;
  flex-wrap:wrap;
  font-weight:600;
}

.aj-reassure-item{
  opacity:0.9;
}


/* ============================
   ACTIVE JOE V6.5 FORM PUSH
   ============================ */
.aj-form-push{
  padding: 96px 0;
  background: #ffffff;
}

.aj-form-push-wrap{
  max-width: 1180px;
  margin: 0 auto;
  background: linear-gradient(135deg, #0b0b0b 0%, #141414 100%);
  border-radius: 28px;
  padding: 52px;
  color: #ffffff;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(340px, 430px);
  gap: 36px;
  align-items: center;
  box-shadow: 0 22px 60px rgba(0,0,0,0.18);
}

.aj-form-push-copy h2{
  color:#ffffff;
  font-size: clamp(2rem, 3.2vw, 3rem);
  line-height: 1.06;
  letter-spacing: -0.03em;
  margin: 0 0 14px;
}

.aj-form-push-copy p{
  color: rgba(255,255,255,0.82);
  font-size: 1.05rem;
  line-height: 1.7;
  margin: 0 0 24px;
  max-width: 580px;
}

.aj-form-push-points{
  display:grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.aj-form-push-points li{
  color:#ffffff;
  display:flex;
  align-items:center;
  gap:12px;
  font-weight:600;
}

.aj-form-push-points li::before{
  content:"";
  width:10px;
  height:10px;
  border-radius:999px;
  background:#41b57c;
  box-shadow:0 0 0 6px rgba(65,181,124,0.14);
  flex: 0 0 auto;
}

.aj-form-push-card{
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 22px;
  padding: 28px;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.02);
}

.aj-form-push-card .aj-kicker{
  margin-bottom: 12px;
}

.aj-form-push-card h3{
  color:#ffffff;
  margin: 0 0 10px;
  font-size: 1.25rem;
}

.aj-form-push-card p{
  color: rgba(255,255,255,0.78);
  margin: 0 0 20px;
  line-height: 1.6;
}

.aj-form-push-card .aj-btn-primary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height: 54px;
  padding: 0 28px;
}

.aj-form-push-note{
  color: rgba(255,255,255,0.70);
  margin-top: 12px;
  font-size: .95rem;
}

@media (max-width: 980px){
  .aj-form-push{
    padding: 76px 0;
  }

  .aj-form-push-wrap{
    grid-template-columns: 1fr;
    padding: 32px 24px;
    gap: 24px;
    border-radius: 22px;
  }
}


/* ============================
   ACTIVE JOE V6.6 REASSURE + FORM PUSH RESTYLE
   ============================ */

/* Orange ticks in reassurance strip */
.aj-reassure-item{
  color:#ffffff !important;
  display:flex;
  align-items:center;
  gap:10px;
}
.aj-reassure-item::before{
  content:"✓";
  color:#ff6a00 !important;
  font-weight:800;
  font-size:1rem;
  line-height:1;
}
.aj-reassure-item{
  font-weight:600;
}

/* Form push section - cleaner white premium card layout */
.aj-form-push{
  padding: 88px 0;
  background: #ffffff;
}

.aj-form-push-wrap{
  max-width: 1180px;
  margin: 0 auto;
  background: #ffffff;
  border: 1px solid rgba(17,17,17,0.08);
  border-radius: 24px;
  padding: 42px;
  color: #111111;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, 420px);
  gap: 34px;
  align-items: center;
  box-shadow: 0 18px 46px rgba(0,0,0,0.07);
}

.aj-form-push-copy h2{
  color:#111111 !important;
  font-size: clamp(2rem, 3vw, 2.9rem);
  line-height: 1.06;
  letter-spacing: -0.03em;
  margin: 0 0 14px;
}

.aj-form-push-copy p{
  color: #5f6368 !important;
  font-size: 1.04rem;
  line-height: 1.72;
  margin: 0 0 22px;
  max-width: 620px;
}

.aj-form-push-points{
  display:grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.aj-form-push-points li{
  color:#111111;
  display:flex;
  align-items:center;
  gap:12px;
  font-weight:600;
}

.aj-form-push-points li::before{
  content:"";
  width:10px;
  height:10px;
  border-radius:999px;
  background:#ff6a00;
  box-shadow:0 0 0 6px rgba(255,106,0,0.12);
  flex: 0 0 auto;
}

.aj-form-push-card{
  background: #f8f9fb;
  border: 1px solid rgba(17,17,17,0.07);
  border-radius: 20px;
  padding: 28px;
  box-shadow: none;
}

.aj-form-push-card .aj-kicker{
  margin-bottom: 12px;
}

.aj-form-push-card h3{
  color:#111111;
  margin: 0 0 10px;
  font-size: 1.25rem;
}

.aj-form-push-card p{
  color: #5f6368 !important;
  margin: 0 0 18px;
  line-height: 1.6;
}

.aj-form-push-card .aj-btn-primary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height: 54px;
  padding: 0 28px;
}

.aj-form-push-note{
  color: #5f6368;
  margin-top: 12px;
  font-size: .95rem;
}

@media (max-width: 980px){
  .aj-form-push{
    padding: 72px 0;
  }

  .aj-form-push-wrap{
    grid-template-columns: 1fr;
    padding: 28px 22px;
    gap: 22px;
    border-radius: 20px;
  }
}


/* ============================
   V6.7 CONVERSION SECTIONS
   ============================ */

.aj-steps{
  padding: 72px 0;
  background:#ffffff;
  text-align:center;
}
.aj-steps h2{
  font-size:2rem;
  margin-bottom:28px;
}
.aj-steps-grid{
  display:grid;
  grid-template-columns: repeat(3,1fr);
  gap:24px;
  max-width:900px;
  margin:0 auto;
}
.aj-step{
  padding:20px;
}
.aj-step span{
  display:inline-block;
  font-weight:700;
  color:#ff6a00;
  margin-bottom:8px;
}

.aj-soft-strip{
  padding:18px 0;
  background:#f8f9fb;
  text-align:center;
  font-weight:600;
  color:#111;
}
.aj-soft-strip span{
  margin:0 12px;
}

.aj-bottom-cta{
  padding:80px 0;
  text-align:center;
}
.aj-bottom-cta h2{
  font-size:2rem;
  margin-bottom:12px;
}
.aj-bottom-cta p{
  color:#5f6368;
  margin-bottom:20px;
}

@media (max-width:900px){
  .aj-steps-grid{
    grid-template-columns:1fr;
  }
}


/* ============================
   V6.8 REFACTORED CONVERSION SECTION
   ============================ */
.aj-conversion{
  padding: 88px 0 92px;
  background: #ffffff;
}

.aj-conversion-wrap{
  max-width: 1180px;
  margin: 0 auto;
  background: linear-gradient(180deg, #ffffff 0%, #fbfbfc 100%);
  border: 1px solid rgba(17,17,17,0.08);
  border-radius: 28px;
  box-shadow: 0 18px 46px rgba(0,0,0,0.06);
  overflow: hidden;
}

.aj-conversion-top{
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, 420px);
  gap: 34px;
  padding: 44px 44px 32px;
  align-items: center;
}

.aj-conversion-copy h2{
  color:#111111;
  font-size: clamp(2rem, 3vw, 2.9rem);
  line-height: 1.06;
  letter-spacing: -0.03em;
  margin: 0 0 14px;
}

.aj-conversion-copy p{
  color:#5f6368;
  font-size: 1.04rem;
  line-height: 1.72;
  margin: 0 0 22px;
  max-width: 620px;
}

.aj-conversion-points{
  display:grid;
  gap:12px;
  margin:0;
  padding:0;
  list-style:none;
}

.aj-conversion-points li{
  color:#111111;
  display:flex;
  align-items:center;
  gap:12px;
  font-weight:600;
}

.aj-conversion-points li::before{
  content:"";
  width:10px;
  height:10px;
  border-radius:999px;
  background:#ff6a00;
  box-shadow:0 0 0 6px rgba(255,106,0,0.12);
  flex:0 0 auto;
}

.aj-conversion-card{
  background:#f8f9fb;
  border:1px solid rgba(17,17,17,0.07);
  border-radius:22px;
  padding:28px;
}

.aj-conversion-card h3{
  color:#111111;
  margin:0 0 10px;
  font-size:1.25rem;
}

.aj-conversion-card p{
  color:#5f6368;
  margin:0 0 18px;
  line-height:1.6;
}

.aj-conversion-card .aj-btn-primary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:54px;
  padding:0 28px;
}

.aj-conversion-note{
  color:#5f6368;
  margin-top:12px;
  font-size:.95rem;
}

.aj-conversion-divider{
  height:1px;
  background: linear-gradient(90deg, rgba(17,17,17,0.00), rgba(17,17,17,0.10), rgba(17,17,17,0.00));
}

.aj-conversion-bottom{
  padding: 28px 44px 34px;
}

.aj-conversion-steps-title{
  text-align:center;
  color:#111111;
  font-size:1.45rem;
  font-weight:800;
  margin:0 0 22px;
}

.aj-conversion-steps{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
  max-width:980px;
  margin:0 auto;
}

.aj-conversion-step{
  text-align:center;
  padding: 6px 18px 0;
}

.aj-conversion-step-number{
  width:34px;
  height:34px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#fff1e7;
  color:#ff6a00;
  font-weight:800;
  margin-bottom:12px;
  box-shadow: inset 0 0 0 1px rgba(255,106,0,0.10);
}

.aj-conversion-step p{
  margin:0;
  color:#5f6368;
  line-height:1.55;
}

.aj-conversion-soft{
  margin-top:24px;
  padding-top:22px;
  border-top:1px solid rgba(17,17,17,0.07);
  text-align:center;
  color:#111111;
  font-weight:600;
}

.aj-conversion-soft span{
  display:inline-block;
  margin:0 12px;
}

@media (max-width: 980px){
  .aj-conversion{
    padding:72px 0 76px;
  }

  .aj-conversion-top{
    grid-template-columns:1fr;
    gap:24px;
    padding:30px 22px 24px;
  }

  .aj-conversion-bottom{
    padding:24px 22px 28px;
  }

  .aj-conversion-steps{
    grid-template-columns:1fr;
    gap:18px;
  }

  .aj-conversion-soft span{
    display:block;
    margin:8px 0;
  }
}


/* ============================
   V6.9 CHARACTER BRIDGE SECTION
   ============================ */
.aj-character-bridge{
  padding: 62px 0 70px;
  background: #ffffff;
}

.aj-character-bridge .aj-container{
  max-width: 1180px;
}

.aj-character-bridge-inner{
  position: relative;
  display: grid;
  grid-template-columns: minmax(320px, 420px) minmax(0, 1fr);
  gap: 44px;
  align-items: center;
  padding: 26px 0;
}

.aj-character-bridge-inner::before,
.aj-character-bridge-inner::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  height:1px;
  background: linear-gradient(90deg, rgba(17,17,17,0), rgba(17,17,17,0.10), rgba(17,17,17,0));
}

.aj-character-bridge-inner::before{ top:0; }
.aj-character-bridge-inner::after{ bottom:0; }

.aj-character-visual{
  position: relative;
  min-height: 260px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.aj-character-stage{
  position: relative;
  width: 100%;
  max-width: 380px;
  height: 240px;
}

.aj-character-chip{
  position:absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 16px;
  border-radius:999px;
  background:#fff7f1;
  border:1px solid rgba(255,106,0,0.10);
  color:#c75a00;
  font-size:.82rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.05em;
  white-space:nowrap;
}

.aj-character-chip::before{
  content:"";
  width:8px;
  height:8px;
  border-radius:999px;
  background:#ff6a00;
  box-shadow:0 0 0 6px rgba(255,106,0,0.10);
}

.aj-character-fig{
  position:absolute;
  bottom:0;
  width: 136px;
  height: 176px;
  border-radius: 28px;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  padding-bottom:14px;
  font-weight:800;
  letter-spacing:-0.02em;
}

.aj-character-fig--left{
  left: 18px;
  background: linear-gradient(180deg, #f3f4f6 0%, #e5e7eb 100%);
  color:#4b5563;
  box-shadow: inset 0 0 0 1px rgba(17,17,17,0.06);
  opacity: .85;
}

.aj-character-fig--right{
  right: 18px;
  background: linear-gradient(180deg, #fff1e7 0%, #ffe6d1 100%);
  color:#111111;
  box-shadow: inset 0 0 0 1px rgba(255,106,0,0.12), 0 18px 36px rgba(255,106,0,0.10);
}

.aj-character-fig svg{
  position:absolute;
  top: 22px;
  left: 50%;
  transform: translateX(-50%);
  width: 74px;
  height: 96px;
}

.aj-character-arrow{
  position:absolute;
  left:50%;
  bottom:64px;
  transform:translateX(-50%);
  width:72px;
  height:72px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#ffffff;
  color:#ff6a00;
  box-shadow:0 14px 34px rgba(0,0,0,0.08), inset 0 0 0 1px rgba(255,106,0,0.10);
}

.aj-character-copy{
  max-width: 620px;
}

.aj-character-copy h2{
  color:#111111;
  font-size: clamp(2rem, 3vw, 2.8rem);
  line-height:1.05;
  letter-spacing:-0.03em;
  margin:0 0 14px;
}

.aj-character-copy p{
  color:#5f6368;
  font-size:1.05rem;
  line-height:1.72;
  margin:0 0 16px;
  max-width: 560px;
}

.aj-character-copy .aj-highlight{
  color:#ff6a00;
  font-weight:700;
}

.aj-character-copy .aj-mini-line{
  color:#111111;
  font-weight:700;
  margin-top:4px;
}

@media (max-width: 980px){
  .aj-character-bridge{
    padding: 52px 0 58px;
  }

  .aj-character-bridge-inner{
    grid-template-columns: 1fr;
    gap: 28px;
    padding: 24px 0;
  }

  .aj-character-copy{
    text-align:center;
    max-width: 100%;
  }

  .aj-character-copy p{
    max-width: 100%;
  }

  .aj-character-visual{
    min-height: 220px;
  }

  .aj-character-stage{
    max-width: 340px;
    height: 220px;
  }

  .aj-character-fig{
    width: 124px;
    height: 164px;
  }
}

/* ============================
   V7.0 BOLD CHARACTER SECTION
   ============================ */
.aj-character-bold{
  position: relative;
  padding: 90px 0;
  background: #0b0b0b;
  color: #ffffff;
  overflow: hidden;
}

.aj-character-bold::before{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(90deg, rgba(0,0,0,0.7), rgba(0,0,0,0.4));
}

.aj-character-bold-inner{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:40px;
  align-items:center;
}

.aj-character-side{
  text-align:center;
}

.aj-character-side h3{
  font-size:1.6rem;
  margin-top:14px;
}

.aj-character-side--left{
  opacity:0.5;
}

.aj-character-side--right{
  transform: scale(1.05);
}

.aj-character-arrow-bold{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%, -50%);
  font-size:3rem;
  color:#ff6a00;
  font-weight:900;
}

.aj-character-copy-bold{
  grid-column: span 2;
  text-align:center;
  margin-top:30px;
}

.aj-character-copy-bold h2{
  font-size:2.6rem;
  margin-bottom:12px;
}

.aj-character-copy-bold p{
  color:rgba(255,255,255,0.75);
  font-size:1.1rem;
}

@media (max-width:900px){
  .aj-character-bold-inner{
    grid-template-columns:1fr;
  }
  .aj-character-arrow-bold{
    display:none;
  }
}


/* ============================
   V7.1 CHARACTER SECTION REBUILD
   ============================ */
.aj-character-bold{
  position: relative;
  padding: 88px 0;
  background: #ffffff;
  color: #111111;
  overflow: hidden;
}

.aj-character-bold-inner{
  max-width: 1180px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 520px);
  gap: 42px;
  align-items: center;
  position: relative;
}

.aj-character-bold-copy{
  max-width: 620px;
}

.aj-character-bold-copy .aj-kicker{
  margin-bottom: 14px;
}

.aj-character-bold-copy h2{
  color:#111111;
  font-size: clamp(2.2rem, 3.5vw, 3.4rem);
  line-height: 1.04;
  letter-spacing: -0.03em;
  margin: 0 0 14px;
}

.aj-character-bold-copy p{
  color:#5f6368;
  font-size: 1.06rem;
  line-height: 1.72;
  margin: 0 0 16px;
  max-width: 560px;
}

.aj-character-bold-copy .aj-mini-line{
  color:#111111;
  font-weight:700;
  margin-top: 4px;
}

.aj-character-bold-visual{
  position: relative;
  min-height: 420px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.aj-character-bold-visual::before{
  content:"";
  position:absolute;
  inset: 8% 12% 6% 8%;
  background: radial-gradient(circle at center, rgba(255,106,0,0.22) 0%, rgba(255,106,0,0.10) 34%, rgba(255,106,0,0.00) 72%);
  filter: blur(20px);
  pointer-events:none;
}

.aj-character-bold-visual::after{
  content:"";
  position:absolute;
  inset: auto 6% 0 6%;
  height: 1px;
  background: linear-gradient(90deg, rgba(17,17,17,0), rgba(17,17,17,0.10), rgba(17,17,17,0));
}

.aj-character-bold-img{
  position: relative;
  z-index: 1;
  width: min(100%, 500px);
  height: auto;
  display: block;
  filter: drop-shadow(0 26px 44px rgba(0,0,0,0.16));
  mask-image: linear-gradient(to bottom, rgba(0,0,0,1) 72%, rgba(0,0,0,0.9) 84%, rgba(0,0,0,0) 100%);
  -webkit-mask-image: linear-gradient(to bottom, rgba(0,0,0,1) 72%, rgba(0,0,0,0.9) 84%, rgba(0,0,0,0) 100%);
}

.aj-character-bold-stamp{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 16px;
  border-radius:999px;
  background:#fff7f1;
  border:1px solid rgba(255,106,0,0.12);
  color:#c75a00;
  font-size:.82rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.05em;
  margin-bottom:16px;
}

.aj-character-bold-stamp::before{
  content:"";
  width:8px;
  height:8px;
  border-radius:999px;
  background:#ff6a00;
  box-shadow:0 0 0 6px rgba(255,106,0,0.10);
}

@media (max-width: 980px){
  .aj-character-bold{
    padding: 70px 0;
  }

  .aj-character-bold-inner{
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .aj-character-bold-copy{
    max-width: 100%;
    text-align: center;
  }

  .aj-character-bold-copy p{
    max-width: 100%;
  }

  .aj-character-bold-visual{
    min-height: 320px;
  }

  .aj-character-bold-img{
    width: min(100%, 360px);
  }
}


/* ============================
   V7.2 CHARACTER SECTION WHITE FLOW
   ============================ */
.aj-character-bold{
  position: relative;
  padding: 56px 0 36px;
  background: #ffffff !important;
  color: #111111;
  overflow: hidden;
}

.aj-character-bold .aj-container{
  max-width: 1180px;
}

.aj-character-bold-inner{
  max-width: 1180px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(360px, 500px);
  gap: 28px;
  align-items: center;
  position: relative;
  padding-bottom: 6px;
}

.aj-character-bold-copy{
  max-width: 640px;
}

.aj-character-bold-copy .aj-character-bold-stamp{
  margin-bottom: 14px;
}

.aj-character-bold-copy h2{
  color:#111111 !important;
  font-size: clamp(2.15rem, 3.4vw, 3.25rem);
  line-height: 1.02;
  letter-spacing: -0.04em;
  margin: 0 0 14px;
  max-width: 680px;
}

.aj-character-bold-copy p{
  color:#5f6368 !important;
  font-size: 1.05rem;
  line-height: 1.72;
  margin: 0 0 14px;
  max-width: 560px;
}

.aj-character-bold-copy .aj-mini-line{
  color:#111111 !important;
  font-weight:700;
  margin-top: 6px;
}

.aj-character-bold-visual{
  position: relative;
  min-height: 360px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.aj-character-bold-visual::before{
  content:"";
  position:absolute;
  inset: 8% 10% 12% 10%;
  background: radial-gradient(circle at center, rgba(255,106,0,0.16) 0%, rgba(255,106,0,0.08) 34%, rgba(255,106,0,0) 72%);
  filter: blur(18px);
  pointer-events:none;
}

.aj-character-bold-img{
  position: relative;
  z-index: 1;
  width: min(100%, 460px);
  height: auto;
  display: block;
  filter: drop-shadow(0 22px 36px rgba(0,0,0,0.10));
  mask-image: linear-gradient(to bottom, rgba(0,0,0,1) 72%, rgba(0,0,0,0.88) 84%, rgba(0,0,0,0) 100%);
  -webkit-mask-image: linear-gradient(to bottom, rgba(0,0,0,1) 72%, rgba(0,0,0,0.88) 84%, rgba(0,0,0,0) 100%);
}

.aj-character-bold-stamp{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 16px;
  border-radius:999px;
  background:#fff7f1;
  border:1px solid rgba(255,106,0,0.12);
  color:#c75a00;
  font-size:.82rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.05em;
}

.aj-character-bold-stamp::before{
  content:"";
  width:8px;
  height:8px;
  border-radius:999px;
  background:#ff6a00;
  box-shadow:0 0 0 6px rgba(255,106,0,0.10);
}

@media (max-width: 980px){
  .aj-character-bold{
    padding: 46px 0 28px;
  }

  .aj-character-bold-inner{
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .aj-character-bold-copy{
    max-width: 100%;
    text-align: center;
  }

  .aj-character-bold-copy p{
    max-width: 100%;
  }

  .aj-character-bold-visual{
    min-height: 280px;
    order: -1;
  }

  .aj-character-bold-img{
    width: min(100%, 320px);
  }
}


/* ============================
   V7.3 CHARACTER SECTION WHITE FIX
   ============================ */
.aj-character-bold {
  background: #ffffff !important;
  background-image: none !important;
  padding: 40px 0 20px !important;
}

.aj-character-bold::before,
.aj-character-bold::after {
  display: none !important;
}

.aj-character-bold .aj-container,
.aj-character-bold-inner {
  background: transparent !important;
}

.aj-character-bold h2 {
  color: #111111 !important;
}

.aj-character-bold p {
  color: #5f6368 !important;
}

.aj-character-bold .aj-highlight {
  color: #ff6a00 !important;
  font-weight: 700 !important;
}

.aj-character-bold .aj-mini-line {
  color: #111111 !important;
}

.aj-character-bold-visual::before {
  background: radial-gradient(circle at center, rgba(255,106,0,0.12) 0%, rgba(255,106,0,0.05) 36%, rgba(255,106,0,0) 72%) !important;
  filter: blur(16px) !important;
}


/* ============================
   V7.4 CHARACTER IMAGE BLEND + SPACING
   ============================ */
.aj-character-bold{
  padding: 34px 0 6px !important;
}

.aj-character-bold-inner{
  padding-bottom: 0 !important;
}

.aj-character-bold-visual{
  min-height: 330px !important;
}

.aj-character-bold-visual::before{
  inset: 10% 12% 12% 10% !important;
  background: radial-gradient(circle at center, rgba(255,106,0,0.18) 0%, rgba(255,106,0,0.08) 34%, rgba(255,106,0,0) 72%) !important;
  filter: blur(18px) !important;
}

.aj-character-bold-visual::after{
  display:none !important;
}

.aj-character-bold-img{
  width: min(100%, 470px) !important;
  filter: drop-shadow(0 16px 28px rgba(0,0,0,0.10)) !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
  mask-image: linear-gradient(to bottom, rgba(0,0,0,1) 74%, rgba(0,0,0,0.92) 86%, rgba(0,0,0,0) 100%) !important;
  -webkit-mask-image: linear-gradient(to bottom, rgba(0,0,0,1) 74%, rgba(0,0,0,0.92) 86%, rgba(0,0,0,0) 100%) !important;
}

.aj-character-bold + .aj-why{
  padding-top: 48px !important;
}

@media (max-width: 980px){
  .aj-character-bold{
    padding: 28px 0 2px !important;
  }
  .aj-character-bold-visual{
    min-height: 250px !important;
  }
  .aj-character-bold-img{
    width: min(100%, 330px) !important;
  }
  .aj-character-bold + .aj-why{
    padding-top: 34px !important;
  }
}

/* ============================
   V7.5 CHARACTER IMAGE FIX
   ============================ */
.aj-character-bold-img{
  mask-image: none !important;
  -webkit-mask-image: none !important;
  filter: drop-shadow(0 18px 30px rgba(0,0,0,0.12)) saturate(1.05) contrast(1.02) !important;
  background: transparent !important;
}

.aj-character-bold-visual::before{
  background: radial-gradient(circle at center, rgba(255,106,0,0.22) 0%, rgba(255,106,0,0.12) 35%, rgba(255,106,0,0) 70%) !important;
}


/* ============================
   V7.6 CHARACTER IMAGE OVERLAP FIX
   ============================ */
.aj-character-bold{
  background:#ffffff !important;
  overflow:visible !important;
  padding:34px 0 0 !important;
}

.aj-character-bold .aj-container{
  overflow:visible !important;
}

.aj-character-bold-inner{
  overflow:visible !important;
  align-items:end !important;
  padding-bottom:0 !important;
}

.aj-character-bold-visual{
  min-height:390px !important;
  overflow:visible !important;
  align-items:flex-end !important;
  justify-content:center !important;
  position:relative !important;
}

.aj-character-bold-visual::before{
  inset:8% 8% 10% 8% !important;
  background: radial-gradient(circle at center, rgba(255,106,0,0.16) 0%, rgba(255,106,0,0.08) 34%, rgba(255,106,0,0) 72%) !important;
  filter: blur(18px) !important;
}

.aj-character-bold-visual::after{
  display:none !important;
  content:none !important;
}

.aj-character-bold-img{
  width:min(100%, 500px) !important;
  max-width:none !important;
  height:auto !important;
  display:block !important;
  position:relative !important;
  bottom:-18px !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  opacity:1 !important;
  filter: drop-shadow(0 14px 24px rgba(0,0,0,0.10)) !important;
  mix-blend-mode:normal !important;
  mask-image:none !important;
  -webkit-mask-image:none !important;
}

.aj-character-bold + .aj-why{
  padding-top:22px !important;
}

@media (max-width:980px){
  .aj-character-bold{
    padding:26px 0 0 !important;
  }
  .aj-character-bold-visual{
    min-height:290px !important;
  }
  .aj-character-bold-img{
    width:min(100%, 360px) !important;
    bottom:-10px !important;
  }
  .aj-character-bold + .aj-why{
    padding-top:18px !important;
  }
}


/* ============================
   V7.7 PURE IMAGE + SPACING RESET
   ============================ */

/* DO NOT TOUCH IMAGE */
.aj-character-bold-img{
  filter: none !important;
  mix-blend-mode: normal !important;
  opacity: 1 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  mask-image: none !important;
  -webkit-mask-image: none !important;
}

/* REMOVE ANY OVERLAYS */
.aj-character-bold-visual::before,
.aj-character-bold-visual::after{
  display: none !important;
  content: none !important;
}

/* RESET POSITIONING */
.aj-character-bold-visual{
  align-items: center !important;
}

.aj-character-bold-img{
  bottom: 0 !important;
}

/* RESTORE PROPER SPACING */
.aj-character-bold{
  padding: 60px 0 40px !important;
}

.aj-character-bold + .aj-why{
  padding-top: 60px !important;
}

@media (max-width:980px){
  .aj-character-bold{
    padding: 50px 0 30px !important;
  }

  .aj-character-bold + .aj-why{
    padding-top: 40px !important;
  }
}


/* ============================
   V7.9 NEW CHARACTER IMAGE
   ============================ */
.aj-character-bold-visual{
  min-height: 360px !important;
  overflow: visible !important;
}

.aj-character-bold-img{
  width: min(100%, 520px) !important;
  height: auto !important;
  display: block !important;
  object-fit: contain !important;
  filter: none !important;
  opacity: 1 !important;
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}

@media (max-width:980px){
  .aj-character-bold-visual{
    min-height: 280px !important;
  }
  .aj-character-bold-img{
    width: min(100%, 360px) !important;
  }
}


/* ============================
   V8.0 ALIGNMENT + SPACING FIX
   ============================ */

/* Vertically align character section text and image */
.aj-character-bold-inner{
  align-items: center !important;
  gap: 56px !important;
}

.aj-character-bold-copy{
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* Even spacing around reassurance strip */
.aj-why{
  padding-bottom: 60px !important;
}

.aj-reassure{
  padding-top: 26px !important;
  padding-bottom: 26px !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.aj-conversion{
  padding-top: 60px !important;
}

@media (max-width: 980px){
  .aj-character-bold-inner{
    gap: 28px !important;
  }

  .aj-why{
    padding-bottom: 42px !important;
  }

  .aj-reassure{
    padding-top: 20px !important;
    padding-bottom: 20px !important;
  }

  .aj-conversion{
    padding-top: 42px !important;
  }
}


/* ============================
   V8.1 SPACING SYSTEM
   ============================ */

/* Standard vertical rhythm */
.aj-why-cta {
  margin-top: 0 !important;
}

.aj-why {
  padding-top: 88px !important;
  padding-bottom: 88px !important;
}

.aj-reassure {
  padding-top: 26px !important;
  padding-bottom: 26px !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.aj-conversion {
  padding-top: 88px !important;
  padding-bottom: 88px !important;
}

/* Make internal heading spacing cleaner */
.aj-why h2,
.aj-conversion h2 {
  margin-bottom: 14px !important;
}

.aj-why-intro {
  margin-bottom: 42px !important;
}

/* Optional global section consistency */
.aj-section {
  padding-top: 88px;
  padding-bottom: 88px;
}

@media (max-width: 980px) {
  .aj-why {
    padding-top: 64px !important;
    padding-bottom: 64px !important;
  }

  .aj-conversion {
    padding-top: 64px !important;
    padding-bottom: 64px !important;
  }

  .aj-section {
    padding-top: 64px;
    padding-bottom: 64px;
  }
}


/* ============================
   V8.2 SINGLE HERO REBUILD
   ============================ */
.aj-hero{
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 72% 38%, rgba(255,106,0,0.10), transparent 34%),
    linear-gradient(135deg, #050505 0%, #101010 58%, #1c120b 100%) !important;
  color:#ffffff;
  padding: 120px 0 110px !important;
}

.aj-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(90deg, rgba(5,5,5,0.82) 0%, rgba(5,5,5,0.60) 38%, rgba(5,5,5,0.35) 64%, rgba(5,5,5,0.18) 100%);
  pointer-events:none;
}

.aj-hero .aj-container{
  position:relative;
  z-index:2;
  max-width: 1320px !important;
}

.aj-hero-single{
  display:grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(420px, 0.98fr);
  align-items:center;
  gap: 54px;
  min-height: 520px;
}

.aj-hero-copy{
  max-width: 670px;
}

.aj-hero-copy .aj-kicker{
  margin-bottom: 16px;
}

.aj-hero-copy h1{
  margin: 0 0 16px;
  max-width: 700px;
  color:#ffffff !important;
  font-size: clamp(2.8rem, 5vw, 5.3rem);
  line-height: 0.98;
  letter-spacing: -0.05em;
  text-wrap: balance;
}

.aj-hero-copy p{
  margin: 0 0 18px;
  max-width: 560px;
  color: rgba(255,255,255,0.82);
  font-size: 1.08rem;
  line-height: 1.7;
}

.aj-hero-actions{
  display:flex;
  gap: 14px;
  flex-wrap: wrap;
  align-items:center;
  margin-top: 8px;
}

.aj-hero .aj-btn-primary{
  min-height: 56px;
  padding: 0 30px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.aj-hero .aj-btn-secondary{
  min-height: 56px;
  padding: 0 28px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background: rgba(255,255,255,0.06) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255,255,255,0.14) !important;
}

.aj-hero-note{
  color: rgba(255,255,255,0.72) !important;
  margin-top: 12px;
  font-size: .96rem;
}

.aj-hero-right{
  position: relative;
  min-height: 460px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.aj-hero-media{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit: cover;
  border-radius: 26px;
  opacity: .95;
  box-shadow: 0 22px 54px rgba(0,0,0,0.28);
}

.aj-hero-media-overlay{
  position:absolute;
  inset:0;
  border-radius: 26px;
  background:
    linear-gradient(180deg, rgba(0,0,0,0.14) 0%, rgba(0,0,0,0.30) 100%),
    radial-gradient(circle at 78% 22%, rgba(255,106,0,0.18), transparent 24%);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.06);
}

.aj-hero-tags{
  position: absolute;
  right: 20px;
  top: 22px;
  display:grid;
  gap: 12px;
  width: min(280px, 72%);
  z-index: 3;
}

.aj-hero-tag{
  display:flex;
  align-items:center;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 16px;
  background: rgba(12,12,12,0.58);
  border: 1px solid rgba(255,255,255,0.10);
  color:#ffffff;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  box-shadow: 0 14px 28px rgba(0,0,0,0.18);
  font-weight: 600;
  line-height: 1.35;
}

.aj-hero-tag::before{
  content:"";
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background:#ff6a00;
  box-shadow: 0 0 0 6px rgba(255,106,0,0.10);
  flex: 0 0 auto;
}

@media (max-width: 1080px){
  .aj-hero{
    padding: 96px 0 88px !important;
  }

  .aj-hero-single{
    grid-template-columns: 1fr;
    gap: 28px;
    min-height: 0;
  }

  .aj-hero-right{
    min-height: 360px;
  }

  .aj-hero-copy{
    max-width: 100%;
  }

  .aj-hero-copy h1,
  .aj-hero-copy p{
    max-width: 100%;
  }

  .aj-hero-tags{
    width: min(300px, 82%);
  }
}

@media (max-width: 680px){
  .aj-hero{
    padding: 84px 0 72px !important;
  }

  .aj-hero-copy h1{
    font-size: clamp(2.5rem, 10vw, 4rem);
  }

  .aj-hero-right{
    min-height: 300px;
  }

  .aj-hero-media,
  .aj-hero-media-overlay{
    border-radius: 20px;
  }

  .aj-hero-tags{
    right: 14px;
    top: 14px;
    width: min(260px, 84%);
  }

  .aj-hero-actions{
    flex-direction: column;
    align-items: stretch;
  }
}


/* ============================
   V8.3 HERO ALIGNMENT FIX
   ============================ */
.aj-hero .aj-container{
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
}

.aj-hero{
  display:flex !important;
  align-items:center !important;
}

.aj-hero-single{
  display:grid !important;
  grid-template-columns: 1.1fr 0.9fr !important;
  align-items:center !important;
  gap: 60px !important;
  min-height: 520px !important;
}

.aj-hero-copy{
  max-width: 560px !important;
}

.aj-hero-copy h1{
  max-width: 520px !important;
}

.aj-hero-right{
  position: relative !important;
  min-height: 360px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

.aj-hero-tags{
  position: static !important;
  width: 100% !important;
  max-width: 360px !important;
  display:grid !important;
  gap: 14px !important;
}

.aj-hero-tag{
  width: 100%;
}

@media (max-width: 1080px){
  .aj-hero-single{
    grid-template-columns: 1fr !important;
    gap: 28px !important;
    min-height: 0 !important;
  }

  .aj-hero-copy,
  .aj-hero-copy h1{
    max-width: 100% !important;
  }

  .aj-hero-right{
    min-height: 0 !important;
    justify-content:flex-start !important;
  }

  .aj-hero-tags{
    max-width: 100% !important;
  }
}


/* ============================
   V8.4 HERO FULL WIDTH FIX
   ============================ */

.aj-hero .aj-container{
  max-width: 100% !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.aj-hero-single{
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 32px;
}

@media (max-width: 768px){
  .aj-hero-single{
    padding: 0 20px;
  }
}


/* ============================
   V8.5 HERO CONTAINER WIDTH FIX
   ============================ */

/* Keep the hero background full width, but constrain the content stage
   to the same site width as the rest of the sections. */
.aj-hero .aj-container{
  max-width: 1180px !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
  box-sizing: border-box !important;
}

.aj-hero-single{
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.08fr) minmax(260px, 0.92fr) !important;
  gap: 72px !important;
  align-items: center !important;
}

.aj-hero-copy{
  max-width: none !important;
}

.aj-hero-copy h1{
  max-width: 700px !important;
}

.aj-hero-copy p{
  max-width: 520px !important;
}

.aj-hero-right{
  width: 100% !important;
  min-height: 0 !important;
  justify-content: flex-end !important;
}

.aj-hero-tags{
  width: 100% !important;
  max-width: 300px !important;
}

@media (max-width: 1080px){
  .aj-hero .aj-container{
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .aj-hero-single{
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }

  .aj-hero-right{
    justify-content: flex-start !important;
  }

  .aj-hero-tags{
    max-width: 360px !important;
  }
}

@media (max-width: 680px){
  .aj-hero .aj-container{
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  .aj-hero-tags{
    max-width: 100% !important;
  }
}


/* ============================
   V8.6 HERO PREMIUM POLISH
   ============================ */

/* Make the whole top nav row black */
.aj-site-header{
  background:#050505 !important;
  border-bottom: 1px solid rgba(255,106,0,0.16) !important;
}

/* Premium glow back in */
.aj-hero{
  background:
    radial-gradient(circle at 73% 34%, rgba(255,106,0,0.18), transparent 28%),
    radial-gradient(circle at 84% 54%, rgba(255,106,0,0.08), transparent 24%),
    linear-gradient(135deg, #050505 0%, #101010 58%, #1a120c 100%) !important;
}

.aj-hero::before{
  background: linear-gradient(90deg, rgba(5,5,5,0.82) 0%, rgba(5,5,5,0.64) 38%, rgba(5,5,5,0.42) 64%, rgba(5,5,5,0.24) 100%) !important;
}

.aj-hero-single{
  grid-template-columns: minmax(0, 1.06fr) minmax(320px, 0.94fr) !important;
  gap: 80px !important;
}

.aj-hero-copy h1{
  max-width: 760px !important;
  font-size: clamp(3rem, 5.2vw, 5.8rem) !important;
}

.aj-hero-copy p{
  max-width: 540px !important;
}

/* Replace filler tags with one premium value panel */
.aj-hero-right{
  min-height: 420px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
}

.aj-hero-value-panel{
  width: min(100%, 420px);
  border-radius: 26px;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.05) 0%, rgba(255,255,255,0.03) 100%);
  border: 1px solid rgba(255,255,255,0.10);
  box-shadow:
    0 22px 48px rgba(0,0,0,0.28),
    inset 0 0 0 1px rgba(255,255,255,0.03);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  padding: 28px;
  position: relative;
  overflow: hidden;
}

.aj-hero-value-panel::before{
  content:"";
  position:absolute;
  top:-80px;
  right:-60px;
  width: 220px;
  height: 220px;
  background: radial-gradient(circle at center, rgba(255,106,0,0.26) 0%, rgba(255,106,0,0.08) 38%, rgba(255,106,0,0) 70%);
  filter: blur(16px);
  pointer-events:none;
}

.aj-hero-value-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 14px;
  border-radius:999px;
  background:rgba(255,255,255,0.05);
  color:#ff8c2a;
  border:1px solid rgba(255,255,255,0.08);
  font-size:.82rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.05em;
  margin-bottom:16px;
  position:relative;
  z-index:1;
}
.aj-hero-value-eyebrow::before{
  content:"";
  width:8px;height:8px;border-radius:999px;
  background:#41b57c;
  box-shadow:0 0 0 6px rgba(65,181,124,0.12);
}

.aj-hero-value-panel h3{
  color:#ffffff !important;
  font-size:1.55rem;
  line-height:1.15;
  margin:0 0 14px;
  position:relative;
  z-index:1;
}

.aj-hero-value-panel p{
  color:rgba(255,255,255,0.78) !important;
  line-height:1.65;
  margin:0 0 18px;
  position:relative;
  z-index:1;
}

.aj-hero-benefits{
  display:grid;
  gap:12px;
  position:relative;
  z-index:1;
}

.aj-hero-benefit{
  display:flex;
  align-items:flex-start;
  gap:12px;
  color:#ffffff;
  line-height:1.45;
  font-weight:600;
  padding: 12px 0;
  border-top: 1px solid rgba(255,255,255,0.08);
}

.aj-hero-benefit:first-child{
  border-top: 0;
  padding-top: 0;
}

.aj-hero-benefit::before{
  content:"";
  width:10px;
  height:10px;
  border-radius:999px;
  background:#ff6a00;
  box-shadow:0 0 0 6px rgba(255,106,0,0.10);
  flex:0 0 auto;
  margin-top: .38rem;
}

.aj-hero-mini-note{
  color:rgba(255,255,255,0.68);
  font-size:.92rem;
  margin-top:18px;
  position:relative;
  z-index:1;
}

@media (max-width: 1080px){
  .aj-hero-single{
    grid-template-columns: 1fr !important;
    gap: 34px !important;
  }
  .aj-hero-right{
    justify-content:flex-start !important;
    min-height: 0 !important;
  }
  .aj-hero-value-panel{
    width: min(100%, 460px);
  }
}


/* ============================
   V8.7 HERO REFINEMENTS
   ============================ */

/* Remove left/right padding from hero container */
.aj-hero .aj-container{
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Adjust hero headline size */
.aj-hero-copy h1{
  font-size: 4.2rem !important;
}

/* Reduce prominence of hero note */
.aj-hero-note{
  font-size: .82rem !important;
  color: rgba(255,255,255,0.58) !important;
  margin-top: 10px !important;
}

/* SVG icon rows instead of bullet dots */
.aj-hero-benefit{
  align-items: center !important;
}

.aj-hero-benefit::before{
  display: none !important;
  content: none !important;
}

.aj-hero-benefit svg{
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
  color: #ff6a00;
  margin-top: 1px;
}

@media (max-width: 1080px){
  .aj-hero-copy h1{
    font-size: clamp(2.8rem, 7.5vw, 4.2rem) !important;
  }
}


/* ============================
   ACTIVE JOE INNER PAGE SYSTEM
   ============================ */
.aj-inner-hero--dark {
  background:
    radial-gradient(circle at top left, rgba(255,106,0,0.26), transparent 26%),
    radial-gradient(circle at bottom right, rgba(65,181,124,0.10), transparent 24%),
    linear-gradient(135deg, #050505 0%, #101010 58%, #1c120b 100%) !important;
  border-bottom: 1px solid rgba(255,106,0,0.12) !important;
}
.aj-inner-hero--dark h1,
.aj-inner-hero--dark h2,
.aj-inner-hero--dark h3,
.aj-inner-hero--dark p,
.aj-inner-hero--dark .aj-breadcrumbs,
.aj-inner-hero--dark a { color: #ffffff !important; }
.aj-hero-copy {
  max-width: 760px;
  font-size: clamp(1.02rem, 1.8vw, 1.18rem);
  color: rgba(255,255,255,0.84);
}
.aj-section-heading {
  max-width: 760px;
  margin-bottom: 34px;
}
.aj-section-heading p { max-width: 64ch; }
.aj-step-grid { gap: 24px; }
.aj-step-card { align-items: start; }
.aj-cta-band { position: relative; overflow: hidden; }
.aj-cta-band::before {
  content: '';
  position: absolute;
  right: -120px;
  top: -120px;
  width: 340px;
  height: 340px;
  background: radial-gradient(circle, rgba(255,106,0,0.30) 0%, rgba(255,106,0,0) 68%);
  pointer-events: none;
}
.aj-cta-band-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.aj-inline-list--stacked {
  display: grid;
  gap: 14px;
  padding: 0;
  list-style: none;
}
.aj-legal-wrap { max-width: 940px; }
.aj-legal-card { padding: 34px; }
.aj-legal-card h2 { margin-top: 24px; font-size: 1.45rem; }
.aj-legal-card h2:first-child { margin-top: 0; }
.aj-card--contrast { background: rgba(255,255,255,0.08) !important; }
.aj-icon-card .aj-card-icon {
  width: 58px; height: 58px; border-radius: 18px; display: grid; place-items: center; font-size: 1.5rem; margin-bottom: 18px;
}
@media (max-width: 900px) {
  .aj-cta-band-inner { flex-direction: column; align-items: flex-start; }
}
