/* ----------------------------------------------------------------
	Custom CSS

	Add all your Custom Styled CSS here for New Styles or
	Overwriting Default Theme Styles for Better Handling Updates
-----------------------------------------------------------------*/


.primary-color{
	color: #1d4ed8;
}

:root{
      --bg: #0b1020;
      --card: rgba(255,255,255,0.06);
      --card2: rgba(255,255,255,0.08);
      --text: #e9edf8;
      --muted: rgba(233,237,248,0.72);
      --line: rgba(255,255,255,0.12);
      --accent: #1d4ed8;
      --accent2:#ffcc00;
      --shadow: 0 18px 50px rgba(0,0,0,0.35);
      --radius: 18px;
      --max: 1100px;
    }

    body{
      margin:0;
      font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
      color: #777;
      /* background:
        radial-gradient(900px 500px at 10% 10%, rgba(124,92,255,0.28), transparent 55%),
        radial-gradient(900px 500px at 90% 30%, rgba(34,197,94,0.18), transparent 55%),
        linear-gradient(180deg, #070a14, var(--bg) 35%, #070a14);
      min-height: 100vh; */
    }

    a{
      color: #ff4000;
    }

    a:hover{
      color: #ff0000;
    }


    :root {
      --cnvs-themecolor: #3e8de3;
      --cnvs-themecolor-rgb: 62, 141, 227;
    }

    .demos-text-rotator {
      font-size: 7vw;
    }

    @media (min-width: 992px) {
      .demos-text-rotator {
        font-size: 5vw;
      }
    }

    @media (min-width: 1200px) {
      .demos-text-rotator {
        font-size: 3.5vw;
      }
    }


    @media (max-width: 767.98px) {
      .slider-element .heading-block h1 small { font-size: 15px; }
    }

    .testimonials-rating {
      color: #FFD700;
      font-size: 18px;
      line-height: 1;
    }

    #niche-demos .portfolio-item .portfolio-image .flexslider a { width: inherit; }

    .more-link {
      border-bottom-width: 1px;
      font-style: normal;
      font-family: proxima-nova, sans-serif;
    }

    .p-generator-video::before {
      content: "";
      position: absolute;
      display: block;
      top: 50%;
      left: 50%;
      width: 110%;
      height: 110%;
      background-size: 12px 12px;
      background-position: center;
      transform: translate(-50%,-50%);
      background-image: radial-gradient(#5c2ede 14%,transparent 14%);
      -webkit-mask-image: radial-gradient(rgba(0,0,0,1),rgba(0,0,0,0) 75%);
      mask-image: radial-gradient(rgba(0,0,0,1),rgba(0,0,0,0) 75%);
      z-index: -1;
    }

    #section-blocks {
      background-image: linear-gradient(to bottom, #FFF 36%, #000 36%);
    }

    .section-blocks-imgs img:nth-child(1) {
      width: 100%;
      max-width: 840px;
      height: auto;
      margin-left: 0;
    }

    .section-blocks-imgs img:nth-child(2) {
      display: none;
      position: absolute;
      width: 480px;
      right: 0;
      bottom: -10px;
      border: 4px solid #FFF;
    }

    

    @-webkit-keyframes fadeInLeft {
      from {
        opacity: 0;
        -webkit-transform: translate3d(-7%, 0, 0);
        transform: translate3d(-7%, 0, 0);
      }
    }
    @keyframes fadeInLeft {
      from {
        opacity: 0;
        -webkit-transform: translate3d(-4%, 0, 0);
        transform: translate3d(-4%, 0, 0);
      }
    }
    @-webkit-keyframes fadeInUp {
      from {
        opacity: 0;
        -webkit-transform: translate3d(0, 4%, 0);
        transform: translate3d(0, 4%, 0);
      }
    }
    @keyframes fadeInUp {
      from {
        opacity: 0;
        -webkit-transform: translate3d(0, 4%, 0);
        transform: translate3d(0, 4%, 0);
      }
    }

    
    .swiper-slide img.lazy.lazy-loaded {
      width: 100% !important;
      height: auto !important;
    }

    .display-on-lazy > *:not(.lazy) {
      opacity: 0 !important;
      transition: opacity .3s ease;
    }

    .display-on-lazy .lazy.lazy-loaded ~ * {
      opacity: 1 !important;
    }

    .hero-description {
      padding-top: 1rem;
      padding-bottom: 1rem;
    }

    .is-expanded-menu .hero-description {
      padding-top: 4rem;
      padding-bottom: 4rem;
    }

    #page-menu {
      height: 0;
      overflow: hidden;
      -webkit-backface-visibility: hidden;
    }

    #page-menu #page-menu-wrap {
      opacity: 0;
      pointer-events: none;
      -webkit-transition: all .4s ease;
      -o-transition: all .4s ease;
      transition: all .4s ease;
      -webkit-transform: translate3d(0,-44px,0);
      -o-transform: translate3d(0,-44px,0);
      transform: translate3d(0,-44px,0);
      transform-style: preserve-3d;
      -webkit-backface-visibility: hidden;
    }

    #page-menu.sticky-page-menu { overflow: visible; }

    #page-menu.sticky-page-menu #page-menu-wrap {
      opacity: 1;
      pointer-events: auto;
      -webkit-transform: translate3d(0,0,0);
      -o-transform: translate3d(0,0,0);
      transform: translate3d(0,0,0);
    }



    .wrap{
      max-width: var(--max);
      margin: 0 auto;
      padding: 56px 18px 70px;
    }

    .header{
      text-align:center;
      margin-bottom: 26px;
    }
    .kicker{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding: 8px 12px;
      border: 1px solid var(--line);
      border-radius: 999px;
      background: rgba(255,255,255,0.04);
      color: var(--muted);
      font-size: 13px;
      letter-spacing: 0.2px;
    }
    .dot{
      width: 8px; height: 8px; border-radius: 99px;
      background: var(--accent2);
      box-shadow: 0 0 0 6px rgba(34,197,94,0.12);
    }
    h1{
      margin: 14px 0 8px;
      font-size: clamp(28px, 3.8vw, 44px);
      line-height: 1.1;
      letter-spacing: -0.02em;
    }
    .sub{
      max-width: 720px;
      margin: 0 auto;
      color: var(--muted);
      font-size: 15.5px;
      line-height: 1.6;
    }

    .grid{
      margin-top: 26px;
      display:grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 14px;
      align-items: stretch;
    }

    .card{
      position: relative;
      background: var(--card);
      border: 1px solid var(--line);
      border-radius: var(--radius);
      padding: 18px;
      box-shadow: var(--shadow);
      backdrop-filter: blur(10px);
      overflow: hidden;
      display:flex;
      flex-direction: column;
    }

    .card::before{
      content:"";
      position:absolute;
      inset:-2px;
      background: radial-gradient(450px 200px at 20% 0%, rgba(124,92,255,0.35), transparent 55%);
      opacity: 0.45;
      pointer-events:none;
      transform: translateY(-8px);
    }

    .card > *{ position:relative; z-index:1; }

    .plan{
      display:flex;
      align-items:flex-start;
      justify-content: space-between;
      gap: 12px;
      margin-bottom: 8px;
    }

    .name{
      font-weight: 700;
      letter-spacing: -0.01em;
      font-size: 16px;
    }

    .badge{
      font-size: 12px;
      padding: 6px 10px;
      border-radius: 999px;
      border: 1px solid var(--line);
      color: #fff;
      background: rgba(255,255,255,0.04);
      white-space: nowrap;
    }

    .price{
      margin-top: 10px;
      display:flex;
      align-items: baseline;
      gap: 6px;
    }
    .currency{ 
      color: #212529; 
      font-weight: 600; 
      font-size: 34px;
    }
    
    .amount{
      font-size: 34px;
      font-weight: 800;
      letter-spacing: -0.02em;
    }
    .per{ color: var(--muted); font-size: 13px; }

    .desc{
      margin: 10px 0 14px;
      color: #777;
      line-height: 1.55;
      font-size: 14px;
      min-height: 44px;
    }

    .features{
      list-style: none;
      padding: 0;
      margin: 0 0 16px;
      display:flex;
      flex-direction: column;
      gap: 10px;
      border-top: 1px solid rgba(255,255,255,0.10);
      padding-top: 14px;
      flex: 1 1 auto;
    }
    .features li{
      display:flex;
      gap:10px;
      align-items:flex-start;
      color: #777;
      font-size: 13.5px;
      line-height: 1.45;
    }
    .tick{
      width: 18px;
      height: 18px;
      border-radius: 6px;
      display:inline-grid;
      place-items:center;
      border: 1px solid rgba(255,255,255,0.18);
      background: rgba(255,255,255,0.05);
      color: var(--accent2);
      flex: 0 0 auto;
      margin-top: 1px;
      font-weight: 900;
      font-size: 12px;
    }

    .cta{
      display:flex;
      flex-direction: column;
      gap: 10px;
      margin-top: 4px;
    }

    .btn{
      appearance: none;
      border: 1px solid #1d4ed8;
      background: rgba(255,255,255,1);
      color: #1d4ed8;
      padding: 11px 14px;
      border-radius: 12px;
      font-weight: 700;
      font-size: 14px;
      text-align:center;
      text-decoration:none;
      transition: transform .12s ease, background .12s ease, border-color .12s ease;
      cursor:pointer;
      user-select:none;
    }
    .btn:hover{ transform: translateY(-1px); background: #1d4ed8; border-color: #1d4ed8; color:#fff; }
    .btn:active{ transform: translateY(0px); }

    .btn-primary{
      background: linear-gradient(135deg, rgba(29,78,216,0.95), rgba(165,186,243,0.75));
      border-color: rgba(29,78,216,0.35);
      box-shadow: 0 10px 26px rgba(29, 78, 216,0.25);
      color:#fff;
    }
    .btn-primary:hover{ background: linear-gradient(135deg, rgba(124,92,255,1), rgba(124,92,255,0.82)); }

    .fine{
      color: #777;
      font-size: 12px;
      line-height: 1.45;
      margin: 0;
    }

    /* Featured card (best value) */
    .featured{
      background: linear-gradient(180deg, rgba(255,255,255,0.08), rgba(255,255,255,0.05));
      border-color: rgba(124,92,255,0.45);
      box-shadow: 0 18px 70px rgba(124,92,255,0.18);
      transform: translateY(-6px);
    }
    .featured::after{
      content:"Best Value";
      position:absolute;
      top: 14px;
      right: 14px;
      font-size: 12px;
      font-weight: 800;
      letter-spacing: 0.02em;
      padding: 6px 10px;
      border-radius: 999px;
      background: rgba(124,92,255,0.22);
      border: 1px solid rgba(124,92,255,0.35);
      color: rgba(233,237,248,0.95);
      z-index:2;
    }

    /* Enterprise card styling */
    .enterprise::before{
      background: radial-gradient(450px 200px at 20% 0%, rgba(34,197,94,0.28), transparent 55%);
    }

    .footer-note{
      margin-top: 22px;
      text-align:center;
      color: var(--muted);
      font-size: 13px;
      line-height: 1.6;
    }


    .bg-t{
      background-color: #009900;
      color: #fff;
    }

    .bg-m{
      background-color: #ff9933;
      color: #fff;
    }

    .bg-l{
      background-color: #993300;
      color: #fff;
    }

    .card .fs-5 { 
      letter-spacing: .5px; 
    }

    .card .text-muted { 
      text-transform: uppercase; letter-spacing: .08em; 
    }

    #leads-table{
      position: relative;
      top: -120px;
    }



    /* =========================================
   SalvoAI Progress Overlay (centered + popout)
   ========================================= */
.aisalvo-progress {
  position: fixed;
  inset: 0;
  z-index: 999999;
  display: flex;                 /* ensures centering */
  align-items: center;           /* vertical center */
  justify-content: center;       /* horizontal center */
  background: rgba(8, 10, 18, 0.72);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  padding: 24px;
}

/* Popout box */
.aisalvo-progress-card {
  width: min(560px, 92vw);
  border-radius: 18px;
  padding: 26px 24px;
  text-align: center;

  /* Popout look */
  background: rgba(255, 255, 255, 0.10);
  border: 1px solid rgba(255, 255, 255, 0.18);
  box-shadow:
    0 18px 60px rgba(0, 0, 0, 0.45),
    0 0 0 1px rgba(255, 255, 255, 0.06) inset;

  position: relative;
  overflow: hidden;
}

/* Subtle blue/orange glow header strip */
.aisalvo-progress-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 6px;
  background: linear-gradient(90deg, rgba(124, 92, 255, 0.95), rgba(255, 64, 0, 0.95));
}

/* Bigger title/subtitle */
.aisalvo-progress-title {
  font-size: 20px;
  font-weight: 800;
  letter-spacing: 0.2px;
  color: #fff;
}

.aisalvo-progress-sub {
  font-size: 14px;
  opacity: 0.88;
  margin-top: 6px;
  color: rgba(255,255,255,0.92);
}

/* Bigger spinner with blue/orange accent ring */
.aisalvo-progress .spinner-border {
  width: 4.2rem;
  height: 4.2rem;
  border-width: 0.42rem;

  /* Make it look premium */
  border-right-color: rgba(255, 64, 0, 0.95);         /* orange accent */
  border-top-color: rgba(124, 92, 255, 0.95);         /* blue accent */
  border-left-color: rgba(255, 255, 255, 0.22);
  border-bottom-color: rgba(255, 255, 255, 0.22);
}

/* Optional: small pulsing animation for the card */
@keyframes aisalvo-pop {
  0%   { transform: translateY(8px) scale(0.98); opacity: 0; }
  100% { transform: translateY(0) scale(1); opacity: 1; }
}
.aisalvo-progress-card {
  animation: aisalvo-pop 180ms ease-out;
}



/* table spinner */
.score-loading {
  display: inline-flex;
  align-items: center;
  opacity: 0.85;
  font-size: 0.9rem;
}

.lead-score .spinner-border {
  width: 0.9rem;
  height: 0.9rem;
  border-width: 0.18rem;
}

.leads-table {
    width: 100%;
    table-layout: fixed; /* 🔥 prevents resizing */
    border: solid 1px #ddd;
    box-shadow: 2px 2px 6px #ddd;
}

/* Prevent layout shifts */
.leads-table th,
.leads-table td {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    vertical-align: middle;
}

/* Lead Rating column */
.lead-score {
    min-width: 90px;
    max-width: 90px;
    text-align: end;
}

.score-loading {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 70px;
}

.score-loading .spinner-border {
    width: 16px;
    height: 16px;
}

.table-wrapper-fixed {
    min-height: 600px;
}


/* Base score style */
.intent-score {
    display: inline-block;
    min-width: 45px;
    text-align: center;
    padding: 4px 8px;
    font-weight: 700;
    border-radius: 20px;
    font-size: 0.85rem;
    color: #fff;
    letter-spacing: 0.5px;
}

td.lead-score { white-space: nowrap; width: 110px; } /* fixed width column */

.intent-score{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 56px;
  padding: .2rem .5rem;
  border-radius: 999px;
  font-weight: 700;
  color: #fff;
}

/* one source of truth */
.intent-score.score-unknown { background: #6c757d; }
.intent-score.score-low     { background: #c32232 } /* 0–30 */
.intent-score.score-medium  { background: #fc7303; } /* 31–50 */
.intent-score.score-high    { background: #24c278; } /* 51–75 ✅ green */
.intent-score.score-elite   { background: #025ce3; } /* 76–100 */

.lead-row{
  background-color: #eee !important;
}

.lead-row:hover{
  background-color: #ddd;
}


.btn-ai-report{

  background: #1d4ed8;
  border: solid 1px #1d4ed8;
  color: #fff;
  font-weight:600;

  box-shadow:0 2px 6px rgba(0,0,0,0.2);

  transition:all .2s ease;
}

.btn-ai-report:hover{

  background: #123187;
  border: solid 1px #123187;
  color:white;

  transform:translateY(-1px);

  box-shadow:0 4px 10px rgba(0,0,0,0.25);
}

/* strong lead highlight */
.lead-elite {

  background: linear-gradient(
    90deg,
    rgba(124,92,255,0.12),
    rgba(124,92,255,0.04)
  );

  border-left: 4px solid #7c5cff;
}

/* good lead highlight */
.lead-high {

  background: rgba(124,92,255,0.05);
}


.btn-ai-gen{
  border: solid 1px #ff8000;
  color: #ff8000;
  background: #ffcc00;
}

.btn-ai-gen:hover,
.btn-ai-gen:focus{
  border: solid 1px #ff8000;
  color: #ff8000;
  background: #ffcc00;
}

.btn-ai-gen:disabled{
  border: solid 1px #000;
  color: #fff;
  background: #000;
  opacity: 1;
}


.search-params-bar{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap:14px;
}

.search-param-card{
  border-radius:14px;
  padding:16px 18px;
  border:1px solid rgba(0,0,0,0.08);
  box-shadow:0 2px 10px rgba(0,0,0,0.04);
}

.search-param-label{
  font-size:12px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.06em;
  margin-bottom:6px;
  opacity:.8;
}

.search-param-value{
  font-size:18px;
  font-weight:700;
  line-height:1.35;
}

.search-param-sub{
  display:inline-block;
  margin-left:6px;
  font-size:13px;
  font-weight:500;
  opacity:.75;
}

.param-location{
  background:#f3f6ff;
}

.param-radius{
  background:#f8f4ff;
}

.param-industry{
  background:#fff6ed;
}

@media (max-width: 767.98px){
  .search-params-bar{
    grid-template-columns: 1fr;
  }

  .search-param-value{
    font-size:16px;
  }
}


.lead-views-bar {
    width: 100%;
    margin: 0 0 1.25rem 0;
}

/* Grid layout = 4 equal columns */
.lead-views-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid #e5e7eb;
    background: #f8f9fa;
}

/* Each segment */
.lead-view-item {
    appearance: none;
    border: none;
    background: transparent;
    padding: 0.75rem 0.5rem;
    font-size: 0.95rem;
    font-weight: 600;
    color: #495057;
    text-align: center;
    cursor: pointer;
    transition: all 0.2s ease;
    position: relative;
}

/* Divider lines */
.lead-view-item:not(:last-child) {
    border-right: 1px solid #e5e7eb;
}

/* Hover */
.lead-view-item:hover {
    background: #eef0ff;
    color: #1d4ed8;
}

/* Active state */
.lead-view-item.active {
    background: linear-gradient(135deg, var(--blue-700), var(--blue-600));
    color: #ffffff;
}

/* Optional subtle active glow */
.lead-view-item.active::after {
    content: "";
    position: absolute;
    inset: 0;
    box-shadow: inset 0 0 0 1px rgba(0,0,0,0.05);
    pointer-events: none;
}

/* Mobile: 2x2 grid instead of squashed text */
@media (max-width: 576px) {
    .lead-views-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .lead-view-item:nth-child(2n) {
        border-right: none;
    }

    .lead-view-item:nth-child(-n+2) {
        border-bottom: 1px solid #e5e7eb;
    }
}




.lead-results-table.detailed-view-table th,
.lead-results-table.detailed-view-table td {
    white-space: nowrap;
    vertical-align: middle;
    font-size: 0.92rem;
}

.lead-results-table.detailed-view-table th {
    background: #f8f9fa;
    font-weight: 700;
}

.lead-results-table.detailed-view-table .fw-semibold {
    min-width: 180px;
}

.lead-results-table.detailed-view-table td:nth-child(2) {
    min-width: 220px;
}

.lead-results-table.detailed-view-table td:nth-child(4),
.lead-results-table.detailed-view-table td:nth-child(5),
.lead-results-table.detailed-view-table td:nth-child(7) {
    min-width: 140px;
}

.lead-results-table.detailed-view-table .intent-score {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 56px;
    padding: .2rem .5rem;
    border-radius: 999px;
    font-weight: 700;
}


.table-scroll-x {
    width: 100%;
    overflow-x: auto;
    overflow-y: visible;
    -webkit-overflow-scrolling: touch;
    border: 1px solid #e9ecef;
    border-radius: 12px;
    background: #fff;
}

.detailed-view-table {
    width: max-content;
    min-width: 100%;
    table-layout: auto;
}

.detailed-view-table th,
.detailed-view-table td {
    white-space: nowrap;
    vertical-align: middle;
    font-size: 0.92rem;
    padding: 0.75rem 0.9rem;
}

.detailed-view-table th {
    background: #f8f9fa;
    font-weight: 700;
}

.detailed-view-table .lead-name {
    min-width: 240px;
}

.detailed-view-table .lead-location {
    min-width: 260px;
}

.detailed-view-table .lead-website {
    min-width: 260px;
}

.detailed-view-table th:nth-child(3),
.detailed-view-table td:nth-child(3) {
    min-width: 110px; /* Postcode */
}

.detailed-view-table th:nth-child(5),
.detailed-view-table td:nth-child(5) {
    min-width: 150px; /* Phone */
}

.detailed-view-table th:nth-child(6),
.detailed-view-table td:nth-child(6) {
    min-width: 220px; /* Email */
}

.detailed-view-table th:nth-child(7),
.detailed-view-table td:nth-child(7) {
    min-width: 120px; /* Status */
}

.detailed-view-table th:nth-child(8),
.detailed-view-table td:nth-child(8),
.detailed-view-table th:nth-child(9),
.detailed-view-table td:nth-child(9),
.detailed-view-table th:nth-child(10),
.detailed-view-table td:nth-child(10),
.detailed-view-table th:nth-child(11),
.detailed-view-table td:nth-child(11) {
    min-width: 110px; /* Age / Size / Decision Makers / Lead Rating */
}



.contact-view-table {
    width: max-content;
    min-width: 100%;
    table-layout: auto;
}

.contact-view-table th,
.contact-view-table td {
    white-space: nowrap;
    vertical-align: middle;
    padding: 0.8rem 1rem;
}

.contact-view-table th {
    background: #f8f9fa;
    font-weight: 700;
}

.contact-view-table .lead-name {
    min-width: 240px;
}

.contact-view-table th:nth-child(2),
.contact-view-table td:nth-child(2) {
    min-width: 120px; /* postcode */
}

.contact-view-table th:nth-child(3),
.contact-view-table td:nth-child(3) {
    min-width: 190px; /* contact name */
}

.contact-view-table th:nth-child(4),
.contact-view-table td:nth-child(4) {
    min-width: 180px; /* job title */
}

.contact-view-table th:nth-child(5),
.contact-view-table td:nth-child(5) {
    min-width: 260px; /* email / phone */
}

.contact-view-table th:nth-child(6),
.contact-view-table td:nth-child(6) {
    min-width: 130px; /* score */
}


/*  SCRAPE BLOCKER */
.page-processing-overlay {
    position: fixed;
    inset: 0;
    z-index: 3000;
    background: rgba(20, 24, 32, 0.45);
    backdrop-filter: blur(2px);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
}

.page-processing-overlay.d-none {
    display: none !important;
}

.page-processing-overlay__card {
    width: 100%;
    max-width: 420px;
    background: #ffffff;
    border-radius: 18px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.18);
    padding: 1.5rem 1.5rem 1.25rem;
    text-align: center;
    border: 1px solid #ececf3;
}

.page-processing-overlay__spinner {
    width: 52px;
    height: 52px;
    margin: 0 auto 1rem;
    border-radius: 50%;
    border: 4px solid #9ec5ff;
    border-top-color: #1d4ed8;
    animation: aisalvoSpin 0.8s linear infinite;
}

.page-processing-overlay__title {
    margin: 0 0 0.5rem;
    font-size: 1.2rem;
    font-weight: 700;
    color: #1f2937;
}

.page-processing-overlay__text {
    margin: 0;
    font-size: 0.96rem;
    color: #6b7280;
    line-height: 1.45;
}

body.processing-overlay-open {
    overflow: hidden;
}

@keyframes aisalvoSpin {
    to {
        transform: rotate(360deg);
    }
}



.wide-table-shell {
    position: relative;
}

.wide-table-sticky-scroll {
    position: fixed;
    bottom: 14px;
    z-index: 1040;
    overflow-x: auto;
    overflow-y: hidden;
    background: rgba(255, 255, 255, 0.98);
    border: 1px solid #cfd6df;
    border-radius: 12px;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.18);
    -webkit-overflow-scrolling: touch;
    scrollbar-gutter: stable;
}

.wide-table-sticky-scroll.d-none {
    display: none !important;
}

.wide-table-sticky-scroll__inner {
    height: 1px;
}

.wide-table-sticky-scroll::-webkit-scrollbar,
.table-scroll-x::-webkit-scrollbar {
    height: 16px;
}

.wide-table-sticky-scroll::-webkit-scrollbar-track,
.table-scroll-x::-webkit-scrollbar-track {
    background: #e8edf3;
    border-radius: 999px;
}

.wide-table-sticky-scroll::-webkit-scrollbar-thumb,
.table-scroll-x::-webkit-scrollbar-thumb {
    background: #8d99a8;
    border-radius: 999px;
    border: 2px solid #e8edf3;
}

.wide-table-sticky-scroll:hover::-webkit-scrollbar-thumb,
.table-scroll-x:hover::-webkit-scrollbar-thumb {
    background: #6f7b88;
}


/* Sticky header for wide lead tables */
.sticky-head-table {
    border-collapse: separate;
    border-spacing: 0;
}

.sticky-head-table thead th {
    position: sticky;
    top: 0;
    z-index: 30;
    background: #f8f9fa;
    font-weight: 700;
    box-shadow: inset 0 -1px 0 #d9dee5;
}

.sticky-head-table tbody td {
    position: relative;
    z-index: 1;
}

.sticky-head-table thead th:first-child {
    border-top-left-radius: 8px;
}

.sticky-head-table thead th:last-child {
    border-top-right-radius: 8px;
}


.wide-table-sticky-head {
    position: fixed;
    top: 0;
    z-index: 1035;
    overflow: hidden;
    background: #fff;
    border: 1px solid #dfe5ec;
    border-bottom: none;
    border-radius: 10px 10px 0 0;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.10);
}

.wide-table-sticky-head.d-none {
    display: none !important;
}

.wide-table-sticky-head table {
    margin-bottom: 0;
    width: max-content;
    min-width: 100%;
    table-layout: auto;
}

.wide-table-sticky-head th {
    white-space: nowrap;
    background: #f8f9fa;
    font-weight: 700;
    padding: 0.8rem 1rem;
    border-bottom: 1px solid #dee2e6;
}

.sticky-clone-table {
    border-collapse: separate;
    border-spacing: 0;
}


:root{
      --blue-990:#050b18;
      --blue-980:#081225;
      --blue-950:#0b1730;
      --blue-900:#10244a;
      --blue-850:#13315f;
      --blue-800:#173b8a;
      --blue-700:#1d4ed8;
      --blue-600:#2563eb;
      --blue-500:#3b82f6;
      --blue-400:#60a5fa;
      --blue-300:#93c5fd;
      --blue-200:#bfdbfe;
      --blue-100:#dbeafe;
      --blue-50:#eff6ff;

      --cyan:#22d3ee;
      --violet:#7c3aed;
      --emerald:#10b981;
      --amber:#f59e0b;

      --text:#0f172a;
      --muted:#64748b;
      --border:#e2ebfb;
      --border-soft:#edf3ff;
      --bg:#f3f7fd;
      --panel:#ffffff;
      --success:#0ea5e9;
      --warning:#f59e0b;
      --danger:#ef4444;

      --shadow-sm:0 10px 26px rgba(15,23,42,.05);
      --shadow-md:0 18px 48px rgba(15,23,42,.08);
      --shadow-lg:0 28px 80px rgba(7,25,69,.20);

      --radius:20px;
      --radius-xl:34px;
      --radius-lg:24px;
      --radius-md:18px;
      --radius-sm:14px;
    }






    html, body{
      height:100%;
      scroll-behavior:smooth;
    }

    body{
      font-family:'Inter', Arial, sans-serif;
      color:var(--text);
      background:#f7fbff;
      overflow-x:hidden;
    }

    a{
      text-decoration:none;
      color:inherit;
    }

    .section{
      position:relative;
      padding:110px 0;
      overflow:hidden;
    }

    .section-sm{
      padding:80px 0;
    }

    .container-narrow{
      max-width:940px;
    }

    .section-title{
      font-size:clamp(2rem, 3vw, 3.4rem);
      line-height:1.02;
      letter-spacing:-0.05em;
      font-weight:900;
      margin-bottom:16px;
    }

    .section-lead{
      font-size:1.06rem;
      line-height:1.8;
      color:var(--muted);
      max-width:70ch;
      margin-bottom:0;
    }

    .overline{
      display:inline-block;
      margin-bottom:16px;
      font-size:.78rem;
      text-transform:uppercase;
      letter-spacing:.16em;
      font-weight:800;
      color:var(--blue-700);
    }

    .premium-card{
      background:rgba(255,255,255,.92);
      border:1px solid rgba(226,235,251,.95);
      border-radius:var(--radius-lg);
      box-shadow:var(--shadow-md);
      backdrop-filter:blur(10px);
    }

    .glass-card-dark{
      background:rgba(255,255,255,.08);
      border:1px solid rgba(255,255,255,.10);
      border-radius:var(--radius-lg);
      backdrop-filter:blur(12px);
      box-shadow:0 20px 70px rgba(0,0,0,.18);
    }

    .pattern-grid::before{
      content:"";
      position:absolute;
      inset:0;
      background-image:
        linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
      background-size:34px 34px;
      pointer-events:none;
    }

    .pattern-dots::before{
      content:"";
      position:absolute;
      inset:0;
      background-image:radial-gradient(rgba(29,78,216,.10) 1.2px, transparent 1.2px);
      background-size:24px 24px;
      opacity:.55;
      pointer-events:none;
    }

    .pattern-lines::before{
      content:"";
      position:absolute;
      inset:0;
      background:
        repeating-linear-gradient(
          -45deg,
          rgba(59,130,246,.05) 0px,
          rgba(59,130,246,.05) 2px,
          transparent 2px,
          transparent 18px
        );
      pointer-events:none;
    }

    .topbar{
      position:sticky;
      top:0;
      z-index:1000;
      background:rgba(5,11,24,.78);
      border-bottom:1px solid rgba(255,255,255,.06);
      backdrop-filter:blur(14px);
    }

    .brand-wrap{
      display:flex;
      align-items:center;
      gap:12px;
      color:#fff;
    }

    .brand-mark{
      width:44px;
      height:44px;
      border-radius:15px;
      display:flex;
      align-items:center;
      justify-content:center;
      color:#fff;
      background:linear-gradient(135deg, var(--blue-500), var(--violet));
      box-shadow:0 12px 28px rgba(37,99,235,.30);
      font-size:1.1rem;
    }

    .brand-text strong{
      display:block;
      line-height:1;
      color:#fff;
      letter-spacing:-0.03em;
    }

    .brand-text span{
      display:block;
      margin-top:4px;
      font-size:.74rem;
      color:rgba(255,255,255,.60);
      text-transform:uppercase;
      letter-spacing:.12em;
      line-height:1.1;
    }

    .topbar-link{
      color:rgba(255,255,255,.78);
      font-weight:600;
      padding:.55rem .85rem;
    }

    .topbar-link:hover{
      color:#fff;
    }

    .btn-ai{
      background:linear-gradient(135deg, var(--blue-700), var(--blue-500));
      color:#fff;
      border:none;
      border-radius:16px;
      padding:1rem 1.25rem;
      font-weight:800;
      box-shadow:0 16px 34px rgba(37,99,235,.22);
      transition:transform .25s ease, box-shadow .25s ease, background .25s ease;
    }

    .btn-ai:hover{
      color:#fff;
      transform:translateY(-2px);
      box-shadow:0 22px 42px rgba(37,99,235,.28);
      background:linear-gradient(135deg, var(--blue-800), var(--blue-600));
    }

    .btn-soft{
      background:#fff;
      color:var(--blue-900);
      border:1px solid var(--blue-100);
      border-radius:16px;
      padding:1rem 1.25rem;
      font-weight:800;
      transition:transform .25s ease, box-shadow .25s ease, background .25s ease;
    }

    .btn-soft:hover{
      background:#f3f8ff;
      transform:translateY(-2px);
      box-shadow:var(--shadow-sm);
    }

    .btn-darkglass{
      color:#fff;
      border:1px solid rgba(255,255,255,.16);
      background:rgba(255,255,255,.06);
      border-radius:16px;
      padding:1rem 1.25rem;
      font-weight:800;
      backdrop-filter:blur(10px);
      transition:transform .25s ease, background .25s ease;
    }

    .btn-darkglass:hover{
      color:#fff;
      transform:translateY(-2px);
      background:rgba(255,255,255,.12);
    }

    /* HERO */
    .hero{
      background:
        radial-gradient(900px 460px at 10% 18%, rgba(37,99,235,.26), transparent 52%),
        radial-gradient(800px 420px at 88% 0%, rgba(34,211,238,.16), transparent 48%),
        radial-gradient(700px 340px at 80% 70%, rgba(124,58,237,.10), transparent 50%),
        linear-gradient(180deg, var(--blue-990) 0%, var(--blue-980) 25%, var(--blue-950) 70%, var(--blue-900) 100%);
      color:#fff;
      padding:88px 0 120px;
    }

    .hero .container{
      position:relative;
      z-index:2;
    }

    .hero-glow-1,
    .hero-glow-2{
      position:absolute;
      border-radius:50%;
      filter:blur(10px);
      pointer-events:none;
    }

    .hero-glow-1{
      width:480px;
      height:480px;
      top:-180px;
      right:-140px;
      background:rgba(255,255,255,.05);
    }

    .hero-glow-2{
      width:240px;
      height:240px;
      bottom:-80px;
      left:-60px;
      background:rgba(34,211,238,.08);
    }

    .hero-title{
      font-size:clamp(2.5rem, 5vw, 5.2rem);
      line-height:.95;
      letter-spacing:-0.06em;
      font-weight:900;
      margin:14px 0 20px;
      max-width:11ch;
    }

    .hero-title .accent{
      color:var(--cyan);
      text-shadow:0 0 28px rgba(34,211,238,.16);
    }

    .hero-copy{
      max-width:58ch;
      color:rgba(255,255,255,.82);
      font-size:1.1rem;
      line-height:1.8;
      margin-bottom:26px;
    }

    .hero-list{
      display:grid;
      gap:14px;
      margin-bottom:28px;
    }

    .hero-list-item{
      display:flex;
      gap:14px;
      align-items:flex-start;
      max-width:58ch;
    }

    .hero-list-item i{
      color:var(--cyan);
      font-size:1rem;
      margin-top:3px;
    }

    .hero-list-item span{
      color:#fff;
      font-weight:600;
      line-height:1.7;
    }

    .hero-actions{
      display:flex;
      gap:12px;
      flex-wrap:wrap;
      margin-bottom:22px;
    }

    .hero-subnote{
      color:rgba(255,255,255,.70);
      font-size:.92rem;
      line-height:1.7;
      max-width:52ch;
    }

    .signup-card{
      overflow:hidden;
      border-radius:30px;
      border:1px solid rgba(255,255,255,.10);
    }

    .signup-head{
      padding:18px 22px;
      background:linear-gradient(135deg, rgba(29,78,216,.94), rgba(17,41,89,.84));
      color:#fff;
      #112959
    }

    .signup-head h2{
      margin:0;
      font-size:1.15rem;
      font-weight:900;
      letter-spacing:-0.02em;
    }

    .signup-head p{
      margin:6px 0 0;
      color:rgba(255,255,255,.82);
      font-size:.92rem;
    }

    .signup-body{
      padding:24px;
      background:rgba(255,255,255,.97);
    }

    .trial-grid{
      display:grid;
      grid-template-columns:repeat(3, minmax(0, 1fr));
      gap:10px;
      margin-bottom:18px;
    }

    .trial-box{
      padding:13px 12px;
      border-radius:16px;
      background:linear-gradient(180deg, #f8fbff, #eef5ff);
      border:1px solid var(--blue-100);
      text-align:center;
    }

    .trial-box .label{
      font-size:.72rem;
      color:var(--muted);
      font-weight:700;
      text-transform:uppercase;
      letter-spacing:.08em;
      margin-bottom:4px;
    }

    .trial-box .value{
      font-size:.96rem;
      color:var(--blue-900);
      font-weight:800;
    }

    .form-label{
      font-weight:800;
      color:#334155;
      font-size:.92rem;
      margin-bottom:8px;
    }

    .form-control,
    .form-select{
      min-height:52px;
      border-radius:16px;
      border:1px solid var(--border);
      box-shadow:none;
      padding:.85rem 1rem;
      font-size:.97rem;
    }

    .form-control:focus,
    .form-select:focus{
      border-color:var(--blue-400);
      box-shadow:0 0 0 .22rem rgba(59,130,246,.12);
    }

    .secure-points{
      display:flex;
      flex-wrap:wrap;
      gap:12px;
      margin-top:16px;
      font-size:.86rem;
      color:var(--muted);
      font-weight:700;
    }

    .secure-points span{
      display:inline-flex;
      gap:8px;
      align-items:center;
    }

    .small-note{
      font-size:.88rem;
      color:var(--muted);
      line-height:1.7;
      margin-top:14px;
    }

    /* STAT BAND */
    .stat-band{
      margin-top:-46px;
      z-index:5;
    }

    .stats-panel{
      padding:26px;
      border-radius:28px;
      background:#fff;
      border:1px solid var(--border);
      box-shadow:var(--shadow-lg);
      position:relative;
      z-index:5;
    }

    .stats-grid{
      display:grid;
      grid-template-columns:repeat(4, minmax(0, 1fr));
      gap:18px;
    }

    .stat-box{
      padding:10px 8px;
    }

    .stat-number{
      font-size:2.15rem;
      line-height:1;
      font-weight:900;
      letter-spacing:-0.05em;
      color:var(--blue-900);
      margin-bottom:8px;
    }

    .stat-text{
      color:var(--muted);
      font-size:.95rem;
      line-height:1.55;
    }

    /* SPLIT FEATURE SECTION DARK */
    .section-dark{
      background:
        radial-gradient(circle at right top, rgba(34,211,238,.08), transparent 24%),
        linear-gradient(180deg, #081224 0%, #0d1830 100%);
      color:#fff;
    }

    .section-dark .section-title,
    .section-dark .overline{
      color:#fff;
    }

    .section-dark .section-lead{
      color:rgba(255,255,255,.72);
    }

    .feature-stack{
      display:grid;
      gap:18px;
      position:relative;
      z-index:1;
    }

    .feature-row{
      display:flex;
      gap:16px;
      align-items:flex-start;
      padding:22px;
      border-radius:22px;
      background:rgba(255,255,255,.06);
      border:1px solid rgba(255,255,255,.10);
      backdrop-filter:blur(10px);
      transition:transform .28s ease, background .28s ease, border-color .28s ease;
    }

    .feature-row:hover{
      transform:translateY(-4px);
      background:rgba(255,255,255,.10);
      border-color:rgba(255,255,255,.16);
    }

    .feature-icon{
      width:56px;
      height:56px;
      flex:0 0 56px;
      border-radius:18px;
      display:flex;
      align-items:center;
      justify-content:center;
      background:linear-gradient(135deg, rgba(59,130,246,.22), rgba(34,211,238,.12));
      border:1px solid rgba(255,255,255,.10);
      color:#fff;
      font-size:1.25rem;
    }

    .feature-row h3{
      font-size:1.08rem;
      font-weight:800;
      margin-bottom:8px;
      letter-spacing:-0.02em;
    }

    .feature-row p{
      color:rgba(255,255,255,.72);
      margin:0;
      line-height:1.75;
    }

    .visual-panel{
      position:relative;
      min-height:100%;
      padding:28px;
      border-radius:30px;
      background:
        linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.05));
      border:1px solid rgba(255,255,255,.10);
      overflow:hidden;
    }

    .visual-panel::before{
      content:"";
      position:absolute;
      inset:0;
      background:
        radial-gradient(circle at 20% 20%, rgba(96,165,250,.20), transparent 30%),
        radial-gradient(circle at 80% 80%, rgba(34,211,238,.14), transparent 26%);
      pointer-events:none;
    }

    .mock-window{
      position:relative;
      z-index:1;
      background:rgba(9,20,42,.82);
      border:1px solid rgba(255,255,255,.08);
      border-radius:24px;
      padding:18px;
      box-shadow:0 28px 70px rgba(0,0,0,.24);
    }

    .mock-top{
      display:flex;
      gap:8px;
      margin-bottom:16px;
    }

    .mock-dot{
      width:10px;
      height:10px;
      border-radius:50%;
      background:rgba(255,255,255,.28);
    }

    .mock-block{
      border-radius:16px;
      padding:16px;
      background:rgba(255,255,255,.04);
      border:1px solid rgba(255,255,255,.05);
      margin-bottom:12px;
    }

    .mock-line{
      height:10px;
      border-radius:999px;
      background:rgba(255,255,255,.10);
      margin-bottom:10px;
    }

    .mock-line.short{ width:42%; }
    .mock-line.mid{ width:64%; }
    .mock-line.long{ width:88%; }

    /* LIGHT BENEFITS SECTION */
    .bg-soft{
      background:
        linear-gradient(180deg, #f7fbff 0%, #edf5ff 100%);
    }

    .benefit-card{
      height:100%;
      padding:30px 26px;
      border-radius:24px;
      background:#fff;
      border:1px solid var(--border);
      box-shadow:var(--shadow-sm);
      transition:transform .28s ease, box-shadow .28s ease;
    }

    .benefit-card:hover{
      transform:translateY(-6px);
      box-shadow:var(--shadow-md);
    }

    .icon-orb{
      width:58px;
      height:58px;
      border-radius:20px;
      display:flex;
      align-items:center;
      justify-content:center;
      font-size:1.28rem;
      margin-bottom:18px;
      color:var(--blue-800);
      background:linear-gradient(180deg, #f7fbff, #eaf2ff);
      border:1px solid var(--blue-100);
      box-shadow:inset 0 1px 0 rgba(255,255,255,.7);
    }

    .benefit-card h3{
      font-size:1.12rem;
      font-weight:800;
      margin-bottom:10px;
      letter-spacing:-0.02em;
    }

    .benefit-card p{
      color:var(--muted);
      margin:0;
      line-height:1.8;
    }

    /* ALT LAYOUT TIMELINE */
    .timeline-wrap{
      position:relative;
      padding-left:24px;
    }

    .timeline-wrap::before{
      content:"";
      position:absolute;
      top:0;
      bottom:0;
      left:8px;
      width:2px;
      background:linear-gradient(180deg, var(--blue-200), transparent);
    }

    .timeline-step{
      position:relative;
      padding:0 0 36px 36px;
    }

    .timeline-step:last-child{
      padding-bottom:0;
    }

    .timeline-step::before{
      content:"";
      position:absolute;
      left:-1px;
      top:6px;
      width:18px;
      height:18px;
      border-radius:50%;
      background:linear-gradient(135deg, var(--blue-500), var(--cyan));
      box-shadow:0 0 0 6px rgba(59,130,246,.10);
    }

    .timeline-step h3{
      font-size:1.1rem;
      font-weight:800;
      margin-bottom:8px;
      letter-spacing:-0.02em;
    }

    .timeline-step p{
      color:var(--muted);
      line-height:1.8;
      margin:0;
    }

    .side-panel{
      padding:30px;
      border-radius:30px;
      background:#fff;
      border:1px solid var(--border);
      box-shadow:var(--shadow-md);
      position:relative;
      overflow:hidden;
    }

    .side-panel::before{
      content:"";
      position:absolute;
      inset:auto -80px -80px auto;
      width:220px;
      height:220px;
      border-radius:50%;
      background:rgba(96,165,250,.08);
    }

    .mini-metric{
      display:flex;
      justify-content:space-between;
      align-items:center;
      gap:16px;
      padding:14px 0;
      border-bottom:1px solid var(--border-soft);
    }

    .mini-metric:last-child{
      border-bottom:none;
    }

    .mini-metric strong{
      display:block;
      font-size:.95rem;
    }

    .mini-metric span{
      display:block;
      color:var(--muted);
      font-size:.88rem;
      margin-top:4px;
    }

    .mini-metric .value{
      font-weight:900;
      color:var(--blue-800);
      font-size:1.08rem;
      white-space:nowrap;
    }

    /* AI INSIGHT GRADIENT */
    .section-gradient{
      background:
        radial-gradient(circle at left top, rgba(34,211,238,.14), transparent 26%),
        radial-gradient(circle at right bottom, rgba(124,58,237,.12), transparent 22%),
        linear-gradient(135deg, #eef6ff 0%, #f7fbff 45%, #f2f8ff 100%);
    }

    .ai-panel{
      padding:36px;
      border-radius:30px;
      background:linear-gradient(135deg, #0b1730 0%, #10244a 50%, #173b8a 100%);
      color:#fff;
      position:relative;
      overflow:hidden;
      box-shadow:var(--shadow-lg);
    }

    .ai-panel::before{
      content:"";
      position:absolute;
      width:260px;
      height:260px;
      right:-90px;
      top:-90px;
      border-radius:50%;
      background:rgba(255,255,255,.08);
    }

    .ai-panel p{
      color:rgba(255,255,255,.78);
      line-height:1.8;
    }

    .ai-grid{
      display:grid;
      grid-template-columns:repeat(3, minmax(0, 1fr));
      gap:16px;
      margin-top:26px;
    }

    .ai-box{
      padding:18px;
      border-radius:22px;
      background:rgba(255,255,255,.08);
      border:1px solid rgba(255,255,255,.10);
    }

    .ai-box h4{
      font-size:1rem;
      font-weight:800;
      margin-bottom:8px;
      letter-spacing:-0.02em;
    }

    .ai-box p{
      margin:0;
      font-size:.94rem;
      color:rgba(255,255,255,.72);
    }

    /* REPORT/EXPORT BAND */
    .export-band{
      background:
        linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
    }

    .export-card{
      height:100%;
      padding:28px;
      border-radius:26px;
      background:#fff;
      border:1px solid var(--border);
      box-shadow:var(--shadow-sm);
      transition:transform .28s ease, box-shadow .28s ease;
    }

    .export-card:hover{
      transform:translateY(-5px);
      box-shadow:var(--shadow-md);
    }

    .export-card h3{
      font-size:1.12rem;
      font-weight:800;
      margin-bottom:10px;
      letter-spacing:-0.02em;
    }

    .export-card p{
      color:var(--muted);
      line-height:1.8;
      margin:0;
    }

    /* TESTIMONIALS */
    .section-testimonials{
      background:
        linear-gradient(180deg, #f3f8ff 0%, #ffffff 100%);
    }

    .testimonial-card{
      height:100%;
      padding:30px;
      border-radius:28px;
      background:#fff;
      border:1px solid var(--border);
      box-shadow:var(--shadow-sm);
      transition:transform .28s ease, box-shadow .28s ease;
    }

    .testimonial-card:hover{
      transform:translateY(-5px);
      box-shadow:var(--shadow-md);
    }

    .quote-mark{
      font-size:3rem;
      line-height:1;
      color:var(--blue-200);
      margin-bottom:12px;
    }

    .testimonial-card p{
      color:var(--muted);
      line-height:1.9;
      margin:0;
    }

    .person-meta{
      margin-top:18px;
      padding-top:16px;
      border-top:1px solid var(--border-soft);
    }

    .person-meta strong{
      display:block;
      font-size:.95rem;
    }

    .person-meta span{
      display:block;
      color:var(--muted);
      font-size:.86rem;
      margin-top:4px;
    }

    /* LOGOS */
    .logo-row{
      display:grid;
      grid-template-columns:repeat(4, minmax(0, 1fr));
      gap:18px;
    }

    .logo-box{
      height:96px;
      border-radius:22px;
      display:flex;
      align-items:center;
      justify-content:center;
      background:#fff;
      border:1px dashed var(--blue-100);
      color:var(--muted);
      font-weight:800;
      letter-spacing:.06em;
      box-shadow:var(--shadow-sm);
      transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease;
    }

    .logo-box:hover{
      transform:translateY(-4px);
      box-shadow:var(--shadow-md);
      border-color:var(--blue-200);
    }

    /* CTA */
    .cta-panel{
      padding:40px;
      border-radius:34px;
      background:
        radial-gradient(circle at top right, rgba(34,211,238,.14), transparent 26%),
        linear-gradient(135deg, #ffffff 0%, #f5f9ff 100%);
      border:1px solid var(--border);
      box-shadow:var(--shadow-lg);
    }

    .footer{
      padding:34px 0;
      border-top:1px solid var(--border);
      color:var(--muted);
      background:rgba(255,255,255,.65);
      backdrop-filter:blur(8px);
    }

    /* ANIMATIONS */
    .reveal{
      opacity:0;
      transform:translateY(34px);
      transition:opacity .8s ease, transform .8s ease;
      will-change:opacity, transform;
    }

    .reveal.is-visible{
      opacity:1;
      transform:translateY(0);
    }

    .reveal-left{
      opacity:0;
      transform:translateX(-36px);
      transition:opacity .8s ease, transform .8s ease;
    }

    .reveal-left.is-visible{
      opacity:1;
      transform:translateX(0);
    }

    .reveal-right{
      opacity:0;
      transform:translateX(36px);
      transition:opacity .8s ease, transform .8s ease;
    }

    .reveal-right.is-visible{
      opacity:1;
      transform:translateX(0);
    }

    .float-slow{
      animation:floatSlow 7s ease-in-out infinite;
    }

    @keyframes floatSlow{
      0%,100%{ transform:translateY(0); }
      50%{ transform:translateY(-8px); }
    }

    .hero h1{
      color: #fff;
    }


    html, body{
  height:100%;
}

body{
  background:
    radial-gradient(circle at top left, rgba(59,130,246,.16), transparent 28%),
    radial-gradient(circle at top right, rgba(147,197,253,.16), transparent 22%),
    linear-gradient(180deg, #f8fbff 0%, #eef4fc 100%);
  color:var(--text);
  font-family: Inter, Arial, Helvetica, sans-serif;
}

.dashboard-shell{
  min-height:100vh;
}

/* ========== Sidebar ========== */
.sidebar{
  min-height:100vh;
  background:
    linear-gradient(180deg, rgba(11,23,48,.98) 0%, rgba(16,36,74,.98) 55%, rgba(19,49,95,.98) 100%);
  color:#fff;
  padding:24px 18px;
  position:relative;
  box-shadow:inset -1px 0 0 rgba(255,255,255,.05);
}

.sidebar::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at top left, rgba(96,165,250,.16), transparent 20%),
    radial-gradient(circle at bottom left, rgba(59,130,246,.10), transparent 22%);
  pointer-events:none;
}

.sidebar > *{
  position:relative;
  z-index:1;
}

.brand{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:28px;
}

.brand-mark{
  width:42px;
  height:42px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg, var(--blue-500), var(--blue-700));
  box-shadow:0 10px 20px rgba(37,99,235,.30);
  font-size:1.1rem;
}

.brand-text{
  line-height:1.1;
}

.brand-text strong{
  display:block;
  font-size:1.2rem;
  letter-spacing:.02em;
}

.brand-text span{
  font-size:.78rem;
  color:rgba(255,255,255,.58);
  letter-spacing:.06em;
  text-transform:uppercase;
}

.sidebar-section-title{
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:rgba(255,255,255,.42);
  margin:22px 10px 10px;
}

.sidebar a{
  display:flex;
  align-items:center;
  gap:12px;
  color:#d9e8ff;
  text-decoration:none;
  padding:12px 14px;
  border-radius:14px;
  margin-bottom:8px;
  transition:all .2s ease;
  font-weight:500;
}

.sidebar a i{
  font-size:1rem;
  opacity:.95;
}

.sidebar a:hover,
.sidebar a.active{
  color:#fff;
  background:linear-gradient(90deg, rgba(59,130,246,.24), rgba(147,197,253,.10));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.05);
  transform:translateX(2px);
}

.sidebar-footer{
  margin-top:26px;
  padding:16px;
  border-radius:18px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.07);
}

.sidebar-footer .small{
  color:rgba(255,255,255,.70);
}

/* ========== Main content ========== */
.main-area{
  padding:28px;
}

.topbar2{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:18px;
}

.page-kicker{
  color:var(--muted);
  font-size:.92rem;
  margin-bottom:4px;
}

.page-title{
  font-size:1.85rem;
  font-weight:700;
  margin:0;
}

.topbar-right{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}

.icon-btn{
  width:44px;
  height:44px;
  border-radius:14px;
  border:1px solid var(--border);
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--blue-800);
  box-shadow:var(--shadow-sm);
}

.user-chip{
  display:flex;
  align-items:center;
  gap:12px;
  padding:8px 10px 8px 8px;
  background:#fff;
  border:1px solid var(--border);
  border-radius:16px;
  box-shadow:var(--shadow-sm);
}

.user-avatar{
  width:38px;
  height:38px;
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  background:linear-gradient(135deg, var(--blue-600), var(--blue-800));
  font-weight:700;
}

.user-meta{
  line-height:1.1;
}

.user-meta strong{
  display:block;
  font-size:.92rem;
}

.user-meta span{
  color:var(--muted);
  font-size:.78rem;
}

/* ========== Hero ========== */
.hero-card{
  position:relative;
  overflow:hidden;
  border-radius:28px;
  padding:30px;
  background:
    linear-gradient(135deg, rgba(16,36,74,1) 0%, rgba(23,59,138,1) 46%, rgba(37,99,235,1) 100%);
  color:#fff;
  box-shadow:var(--shadow-lg);
  margin-bottom:22px;
}

.hero-card::before{
  content:"";
  position:absolute;
  width:280px;
  height:280px;
  right:-60px;
  top:-70px;
  border-radius:50%;
  background:rgba(255,255,255,.08);
}

.hero-card::after{
  content:"";
  position:absolute;
  width:180px;
  height:180px;
  right:90px;
  bottom:-70px;
  border-radius:50%;
  background:rgba(255,255,255,.06);
}

.hero-card > .row{
  position:relative;
  z-index:1;
}

.hero-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  font-size:.82rem;
  font-weight:600;
  margin-bottom:16px;
}

.hero-card h2{
  font-size:2rem;
  font-weight:700;
  margin-bottom:10px;
}

.hero-card p{
  color:rgba(255,255,255,.86);
  max-width:680px;
  margin-bottom:22px;
}

.hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}

.hero-metrics{
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:14px;
}

.hero-metric{
  padding:16px;
  border-radius:18px;
  background:rgba(255,255,255,.10);
  backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.10);
}

.hero-metric .label{
  font-size:.78rem;
  color:rgba(255,255,255,.72);
  margin-bottom:6px;
}

.hero-metric .value{
  font-size:1.15rem;
  font-weight:700;
}

/* ========== Cards ========== */
.glass-card,
.stat-card,
.action-tile,
.addon-card,
.jobs-panel{
  background:rgba(255,255,255,.88);
  backdrop-filter:blur(8px);
  border:1px solid rgba(227,236,251,.95);
  box-shadow:var(--shadow-md);
}

.stat-card{
  border-radius:var(--radius);
  padding:22px;
  height: auto;
  transition:transform .2s ease, box-shadow .2s ease;
}

.stat-card:hover,
.action-tile:hover,
.addon-card:hover{
  transform:translateY(-3px);
  box-shadow:0 22px 48px rgba(21,67,165,.13);
}

.stat-card-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  margin-bottom:8px;
}

.stat-card h6{
  margin:0;
  color:var(--muted);
  font-size:.9rem;
  font-weight:600;
}

.stat-icon{
  width:44px;
  height:44px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--blue-800);
  background:linear-gradient(180deg, #f7faff, #e8f1ff);
  border:1px solid var(--blue-100);
  font-size:1.1rem;
}

.stat-card h3{
  font-weight:700;
  margin:6px 0 8px;
  font-size:1.9rem;
}

.stat-sub{
  color:var(--muted);
  font-size:.9rem;
  margin-bottom:14px;
}

.progress{
  height:12px;
  background:#e8f1ff;
  border-radius:999px;
  overflow:hidden;
}

.progress-bar{
  background:linear-gradient(90deg, var(--blue-700), var(--blue-400));
  border-radius:999px;
}

.progress-text{
  margin-top:10px;
  display:flex;
  justify-content:space-between;
  font-size:.82rem;
  color:var(--muted);
}

.plan-card{
  background:
    linear-gradient(180deg, rgba(255,255,255,.95) 0%, rgba(240,247,255,.95) 100%);
}

.plan-badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:.78rem;
  font-weight:700;
  color:var(--blue-800);
  background:var(--blue-50);
  border:1px solid var(--blue-100);
  border-radius:999px;
  padding:6px 10px;
  margin-bottom:10px;
}

/* ========== Buttons ========== */
.btn-ai{
  background:linear-gradient(135deg, var(--blue-700), var(--blue-600));
  color:#fff;
  border:none;
  border-radius:14px;
  padding:1rem 1rem;
  font-weight:600;
  box-shadow:0 10px 20px rgba(37,99,235,.22);
}

.btn-ai:hover{
  color:#fff;
  background:linear-gradient(135deg, var(--blue-800), var(--blue-700));
}

.btn-soft{
  background:linear-gradient(180deg, #fff, #f6faff);
  color:var(--blue-900);
  border:1px solid var(--blue-100);
  border-radius:14px;
  padding:.8rem 1rem;
  font-weight:600;
}

.btn-soft:hover{
  background:#eef5ff;
  color:var(--blue-950);
}

.btn-warning-soft{
  background:linear-gradient(180deg, #fff8ec, #fff2db);
  color:#b45309;
  border:1px solid #fbd38d;
  border-radius:14px;
  font-weight:700;
  padding:.72rem 1rem;
}

.btn-warning-soft:hover{
  background:#ffefcf;
  color:#92400e;
}

/* ========== Sections ========== */
.section-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
}

.section-title{
  font-size:1.1rem;
  font-weight:700;
  margin:0;
}

.section-subtitle{
  color:var(--muted);
  font-size:.9rem;
  margin:0;
}

.action-tile{
  border-radius:18px;
  padding:20px;
  height:100%;
}

.action-icon{
  width:52px;
  height:52px;
  border-radius:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.25rem;
  margin-bottom:14px;
  background:linear-gradient(180deg, #f4f8ff, #e7f0ff);
  color:var(--blue-800);
  border:1px solid var(--blue-100);
}

.action-tile h5{
  font-size:1rem;
  font-weight:700;
  margin-bottom:8px;
}

.action-tile p{
  color:var(--muted);
  font-size:.92rem;
  min-height:44px;
}

.addon-card{
  border-radius:18px;
  padding:22px 18px;
  text-align:center;
  height:100%;
}

.addon-icon{
  width:54px;
  height:54px;
  border-radius:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0 auto 14px;
  background:linear-gradient(180deg, #f4f8ff, #e8f1ff);
  color:var(--blue-800);
  border:1px solid var(--blue-100);
  font-size:1.2rem;
}

.addon-card h5{
  font-size:1rem;
  font-weight:700;
  margin-bottom:6px;
}

.addon-card .price{
  font-size:1.7rem;
  font-weight:800;
  color:var(--blue-900);
  margin-bottom:6px;
}

.addon-note{
  color:var(--muted);
  font-size:.86rem;
  margin-bottom:14px;
}

/* ========== Jobs panel ========== */
.jobs-wrap{
  padding:28px 28px 28px 0;
}

.jobs-panel{
  border-radius:24px;
  overflow:hidden;
  height: calc(100vh - 40px);
}

.jobs-panel-header{
  padding:20px 20px 16px;
  border-bottom:1px solid var(--border-soft);
  background:linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}

.jobs-panel-header-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  margin-bottom:8px;
}

.jobs-panel-header h5{
  margin:0;
  font-weight:700;
}

.jobs-panel-header p{
  margin:0;
  color:var(--muted);
  font-size:.9rem;
}

.header-badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 10px;
  border-radius:999px;
  background:var(--blue-50);
  color:var(--blue-800);
  border:1px solid var(--blue-100);
  font-size:.78rem;
  font-weight:700;
}

.jobs-scroll{
  max-height: 80vh;
  overflow-y:auto;
}

.jobs-table{
  margin:0;
}

.jobs-table thead th{
  position:sticky;
  top:0;
  z-index:2;
  background:#f8fbff;
  color:var(--muted);
  font-size:.78rem;
  letter-spacing:.02em;
  border-bottom:1px solid var(--border-soft);
  padding:14px 16px;
}

.jobs-table td{
  padding:16px;
  border-color:var(--border-soft);
  vertical-align:middle;
}

.jobs-table tbody tr{
  transition:background .18s ease;
}

.jobs-table tbody tr:hover{
  background:#f8fbff;
}

.job-search{
  font-weight:700;
  margin-bottom:4px;
  color:var(--text);
}

.job-meta{
  color:var(--muted);
  font-size:.82rem;
}

.badge-status{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:7px 10px;
  border-radius:999px;
  background:var(--blue-50);
  color:var(--blue-800);
  border:1px solid var(--blue-100);
  font-size:.78rem;
  font-weight:700;
}

.badge-complete{
  background:#ecfeff;
  color:#155e75;
  border:1px solid #bae6fd;
}

/* ========== Modal ========== */
.modal-content{
  border:none;
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 30px 80px rgba(15,23,42,.18);
}

.modal-header-premium{
  background:linear-gradient(135deg, var(--blue-900), var(--blue-700));
  color:#fff;
  border:none;
  padding:18px 22px;
}

.modal-header-premium .modal-title{
  font-weight:700;
}

.form-label{
  font-weight:600;
  color:#334155;
}

.form-control,
.form-select{
  min-height:48px;
  border-radius:14px;
  border:1px solid var(--border);
  box-shadow:none;
}

.form-control:focus,
.form-select:focus{
  border-color:var(--blue-400);
  box-shadow:0 0 0 .2rem rgba(59,130,246,.12);
}

textarea.form-control{
  min-height:auto;
}

.form-note{
  font-size:.85rem;
  color:var(--muted);
}

.hero-card h2{
  color:#fff;
}

.page-title{
  background-color: rgba(5, 11, 24, .78);
  color: #fff;
}

.dash-h1{
  font-size: 1.85rem;
  font-weight: 700;
  margin: 0;
}

.bg-danger {
  color:#fff;
}

.plan-details{
  font-size: 12px;
}

.view-h1{
  font-size: 2rem;
  font-weight: 700;
  color:#fff;
}

.leads-table tbody tr:nth-child(even) {
    background-color: #f7f8fa;
}

.leads-table tbody tr:nth-child(odd) {
    background-color: #ffffff;
}

.leads-table tbody tr:hover {
    background-color: #eef1f6;
    transition: background 0.15s ease;
}

.leads-table tbody tr:hover {
    background-color: #eef1f6;
    transition: background 0.15s ease;
}

.leads-table tbody tr.lead-elite {
    background-color: #e9fff2 !important;
}

.leads-table tbody tr.lead-high {
    background-color: #f3f8ff !important;
}

#leadModal .modal-dialog{
    max-width: 980px;
  }

  #leadModal .modal-content{
    border:1px solid rgba(255,255,255,.08);
    border-radius:28px;
    overflow:hidden;
    background:
      linear-gradient(180deg, rgba(255,255,255,.96) 0%, rgba(247,251,255,.98) 100%);
    box-shadow:0 28px 80px rgba(7,25,69,.24);
  }

  #leadModal .modal-header{
    position:relative;
    padding:22px 24px;
    border:none;
    color:#fff;
    background:
      radial-gradient(circle at top right, rgba(34,211,238,.14), transparent 24%),
      radial-gradient(circle at left center, rgba(59,130,246,.18), transparent 22%),
      linear-gradient(135deg, #081225 0%, #0b1730 38%, #10244a 100%);
  }

  #leadModal .modal-header::after{
    content:"";
    position:absolute;
    top:-60px;
    right:-40px;
    width:180px;
    height:180px;
    border-radius:50%;
    background:rgba(255,255,255,.06);
    pointer-events:none;
  }

  #leadModal .modal-title{
    font-size:1.4rem;
    font-weight:900;
    letter-spacing:-0.03em;
    color:#fff;
  }

  #leadModalSub{
    color:rgba(255,255,255,.72) !important;
    font-size:.92rem;
  }

  #leadModal .btn-close{
    filter:invert(1) brightness(1.4);
    opacity:.9;
  }

  #leadModal .modal-body{
    padding:24px;
    background:
      radial-gradient(circle at top left, rgba(59,130,246,.05), transparent 22%),
      linear-gradient(180deg, #f8fbff 0%, #f3f8ff 100%);
  }

  #leadModal .modal-footer{
    padding:18px 24px 24px;
    border:none;
    background:transparent;
  }

  /* Panels */
  .lead-modal-panel{
    background:rgba(255,255,255,.88);
    border:1px solid #e4edfb;
    border-radius:22px;
    padding:18px 18px;
    box-shadow:0 14px 34px rgba(15,23,42,.05);
    backdrop-filter:blur(8px);
    transition:transform .22s ease, box-shadow .22s ease;
  }

  .lead-modal-panel:hover{
    transform:translateY(-2px);
    box-shadow:0 18px 40px rgba(21,67,165,.10);
  }

  .lead-panel-title{
    display:flex;
    align-items:center;
    gap:10px;
    font-weight:800;
    font-size:1rem;
    letter-spacing:-0.02em;
    color:#0f172a;
    margin-bottom:10px;
  }

  .lead-panel-title i{
    width:38px;
    height:38px;
    border-radius:14px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(180deg, #f4f8ff, #e8f1ff);
    color:#1d4ed8;
    border:1px solid #dbeafe;
    font-size:1rem;
    flex:0 0 38px;
  }

  .lead-panel-muted{
    color:#64748b;
    line-height:1.7;
  }

  .lead-link{
    color:#1d4ed8;
    font-weight:700;
    word-break:break-word;
  }

  .lead-link:hover{
    color:#173b8a;
  }

  /* Companies House stat grid */
  .lead-stat-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:12px;
  }

  .lead-stat-box{
    padding:14px 14px;
    border-radius:18px;
    background:linear-gradient(180deg, #fbfdff 0%, #f2f7ff 100%);
    border:1px solid #e4edfb;
  }

  .lead-stat-label{
    font-size:.76rem;
    text-transform:uppercase;
    letter-spacing:.08em;
    color:#64748b;
    font-weight:800;
    margin-bottom:6px;
  }

  .lead-stat-value{
    font-size:1rem;
    font-weight:800;
    color:#10244a;
    line-height:1.35;
    word-break:break-word;
  }

  /* Contact table */
  .lead-table-wrap{
    border:1px solid #e8eefb;
    border-radius:18px;
    overflow:hidden;
    background:#fff;
  }

  #leadModal .table{
    --bs-table-bg:transparent;
    margin-bottom:0;
  }

  #leadModal .table thead th{
    font-size:.78rem;
    text-transform:uppercase;
    letter-spacing:.06em;
    font-weight:800;
    color:#64748b;
    background:#f7faff;
    border-bottom:1px solid #e8eefb;
    padding:13px 14px;
  }

  #leadModal .table tbody td{
    padding:14px;
    vertical-align:middle;
    border-color:#eef3fb;
    color:#0f172a;
  }

  #leadModal .table tbody tr:hover{
    background:#f8fbff;
  }

  .lead-contact-empty{
    color:#64748b;
    padding:18px 14px !important;
  }

  .lead-count-badge{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:7px 10px;
    border-radius:999px;
    background:#eef6ff;
    color:#1d4ed8;
    border:1px solid #dbeafe;
    font-size:.78rem;
    font-weight:800;
  }

  /* AI panel */
  .lead-ai-panel{
    position:relative;
    overflow:hidden;
    background:
      radial-gradient(circle at top right, rgba(34,211,238,.10), transparent 26%),
      linear-gradient(135deg, #ffffff 0%, #f5f9ff 100%);
  }

  .lead-ai-panel::after{
    content:"";
    position:absolute;
    right:-55px;
    bottom:-55px;
    width:140px;
    height:140px;
    border-radius:50%;
    background:rgba(59,130,246,.07);
    pointer-events:none;
  }

  #leadModalAiSummary{
    border-radius:18px;
    border:1px solid #dfe9fb;
    background:#fbfdff;
    color:#0f172a;
    line-height:1.7;
    font-size:.95rem;
    padding:14px 16px;
    box-shadow:none;
    resize:none;
  }

  #leadModalAiSummary:focus{
    border-color:#93c5fd;
    box-shadow:0 0 0 .2rem rgba(59,130,246,.10);
  }

  #leadModalAiMeta{
    color:#64748b !important;
    font-size:.86rem;
    line-height:1.6;
  }

  /* Buttons */
  .btn-lead-soft{
    background:linear-gradient(180deg, #fff, #f6faff);
    color:#10244a;
    border:1px solid #dbeafe;
    border-radius:14px;
    padding:.78rem 1rem;
    font-weight:800;
  }

  .btn-lead-soft:hover{
    background:#eef5ff;
    color:#081225;
  }


  /* =========================
     Premium Detailed AI Modal
  ========================== */
  #detailedAiModal .modal-dialog{
    max-width: 1180px;
  }

  #detailedAiModal .modal-content{
    border:1px solid rgba(255,255,255,.08);
    border-radius:28px;
    overflow:hidden;
    background:
      linear-gradient(180deg, rgba(255,255,255,.97) 0%, rgba(247,251,255,.99) 100%);
    box-shadow:0 28px 80px rgba(7,25,69,.24);
  }

  #detailedAiModal .modal-header{
    position:relative;
    padding:22px 24px;
    border:none;
    color:#fff;
    background:
      radial-gradient(circle at top right, rgba(34,211,238,.14), transparent 24%),
      radial-gradient(circle at left center, rgba(59,130,246,.18), transparent 22%),
      linear-gradient(135deg, #081225 0%, #0b1730 38%, #10244a 100%);
  }

  #detailedAiModal .modal-header::after{
    content:"";
    position:absolute;
    top:-60px;
    right:-40px;
    width:180px;
    height:180px;
    border-radius:50%;
    background:rgba(255,255,255,.06);
    pointer-events:none;
  }

  #detailedAiModal .modal-title{
    font-size:1.45rem;
    font-weight:900;
    letter-spacing:-0.03em;
    color:#fff;
  }

  #detailedAiModalSub{
    color:rgba(255,255,255,.72) !important;
    font-size:.92rem;
  }

  #detailedAiModal .btn-close{
    filter:invert(1) brightness(1.4);
    opacity:.9;
  }

  #detailedAiModal .modal-body{
    padding:24px;
    background:
      radial-gradient(circle at top left, rgba(59,130,246,.05), transparent 22%),
      linear-gradient(180deg, #f8fbff 0%, #f3f8ff 100%);
  }

  #detailedAiModal .modal-footer{
    padding:18px 24px 24px;
    border:none;
    background:transparent;
  }

  /* Shared panels */
  .dai-panel{
    background:rgba(255,255,255,.90);
    border:1px solid #e4edfb;
    border-radius:22px;
    padding:20px;
    box-shadow:0 14px 34px rgba(15,23,42,.05);
    backdrop-filter:blur(8px);
    transition:transform .22s ease, box-shadow .22s ease;
    height:100%;
  }

  .dai-panel:hover{
    transform:translateY(-2px);
    box-shadow:0 18px 40px rgba(21,67,165,.10);
  }

  .dai-panel-title{
    display:flex;
    align-items:center;
    gap:10px;
    font-weight:900;
    font-size:1.02rem;
    letter-spacing:-0.02em;
    color:#0f172a;
    margin-bottom:14px;
  }

  .dai-panel-title i{
    width:40px;
    height:40px;
    border-radius:14px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(180deg, #f4f8ff, #e8f1ff);
    color:#1d4ed8;
    border:1px solid #dbeafe;
    font-size:1rem;
    flex:0 0 40px;
  }

  /* Summary hero */
  .dai-summary-panel{
    position:relative;
    overflow:hidden;
    background:
      radial-gradient(circle at top right, rgba(34,211,238,.10), transparent 26%),
      linear-gradient(135deg, #ffffff 0%, #f5f9ff 100%);
  }

  .dai-summary-panel::after{
    content:"";
    position:absolute;
    right:-50px;
    bottom:-50px;
    width:150px;
    height:150px;
    border-radius:50%;
    background:rgba(59,130,246,.07);
    pointer-events:none;
  }

  .dai-summary-content{
    position:relative;
    z-index:1;
    color:#334155;
    line-height:1.8;
  }

  .dai-status-badge{
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:8px 12px;
    border-radius:999px;
    background:#eef6ff;
    color:#1d4ed8;
    border:1px solid #dbeafe;
    font-size:.78rem;
    font-weight:900;
    letter-spacing:.02em;
    white-space:nowrap;
  }

  /* Lists */
  .dai-list{
    list-style:none;
    margin:0;
    padding:0;
    display:grid;
    gap:12px;
  }

  .dai-list li{
    display:flex;
    align-items:flex-start;
    gap:12px;
    padding:12px 14px;
    border-radius:16px;
    background:linear-gradient(180deg, #fbfdff 0%, #f4f8ff 100%);
    border:1px solid #e7eefb;
    color:#334155;
    line-height:1.7;
  }

  .dai-list li::before{
    content:"";
    width:9px;
    height:9px;
    margin-top:9px;
    border-radius:50%;
    background:linear-gradient(135deg, #2563eb, #22d3ee);
    flex:0 0 9px;
    box-shadow:0 0 0 4px rgba(59,130,246,.08);
  }

  /* Rich text output blocks */
  .dai-rich{
    color:#334155;
    line-height:1.8;
    font-size:.97rem;
  }

  .dai-rich p:last-child{
    margin-bottom:0;
  }

  .dai-rich h1,
  .dai-rich h2,
  .dai-rich h3,
  .dai-rich h4,
  .dai-rich h5,
  .dai-rich h6{
    color:#0f172a;
    font-weight:800;
    letter-spacing:-0.02em;
    margin-top:1rem;
    margin-bottom:.55rem;
  }

  .dai-rich ul,
  .dai-rich ol{
    padding-left:1.2rem;
    margin-bottom:0;
  }

  .dai-rich li{
    margin-bottom:.45rem;
  }

  /* Email strategy panel */
  .dai-email-panel{
    position:relative;
    overflow:hidden;
    background:
      radial-gradient(circle at top left, rgba(124,58,237,.06), transparent 24%),
      linear-gradient(135deg, #ffffff 0%, #f8fbff 100%);
  }

  /* Call helper panel */
  .dai-call-panel{
    background:
      radial-gradient(circle at top right, rgba(34,211,238,.06), transparent 24%),
      linear-gradient(135deg, #ffffff 0%, #f7fbff 100%);
  }

  /* Meta */
  #detailedAiMeta{
    color:#64748b !important;
    font-size:.86rem;
    line-height:1.65;
  }

  /* Buttons */
  .btn-dai-primary{
    background:linear-gradient(135deg, #1d4ed8, #2563eb);
    color:#fff;
    border:none;
    border-radius:14px;
    padding:.82rem 1.05rem;
    font-weight:800;
    box-shadow:0 12px 24px rgba(37,99,235,.20);
    text-decoration:none;
  }

  .btn-dai-primary:hover{
    color:#fff;
    background:linear-gradient(135deg, #173b8a, #1d4ed8);
  }

  .btn-dai-soft{
    background:linear-gradient(180deg, #fff, #f6faff);
    color:#10244a;
    border:1px solid #dbeafe;
    border-radius:14px;
    padding:.82rem 1.05rem;
    font-weight:800;
  }

  .btn-dai-soft:hover{
    background:#eef5ff;
    color:#081225;
  }

h5 .modal-title{
  color: #fff;
}




.search-email-batch-toggle {
  border: 0;
  background: #fff;
  text-decoration: none;
  box-shadow: none !important;
}

.search-email-batch-toggle:hover,
.search-email-batch-toggle:focus,
.search-email-batch-toggle:active {
  background: #fff;
  text-decoration: none;
}

.search-email-batch-icon {
  transition: transform 0.2s ease;
}

.search-email-batch-toggle.is-open .search-email-batch-icon {
  transform: rotate(180deg);
}

.jobs-total{
  height: auto!important;
}

.admin-nav-logo{
  height: 80px;
  width: auto;
}


/* List Maker */
.dashboard-page {
    background: linear-gradient(180deg, #f7f9fc 0%, #eef3f8 100%);
}

.search-card {
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.06);
    border-radius: 18px;
    padding: 1.5rem;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.06);
}

.search-card-accent {
    background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
    color: #fff;
}

.search-card-accent .section-title,
.search-card-accent .section-subtitle,
.search-card-accent li {
    color: #fff;
}

.premium-tip-list {
    margin: 0;
    padding-left: 1.1rem;
}

.premium-tip-list li + li {
    margin-top: .75rem;
}

.lead-search-form .form-label {
    margin-bottom: .45rem;
}

.lead-search-form .form-control,
.lead-search-form .form-select {
    min-height: 48px;
    border-radius: 12px;
}

.lead-search-form .form-range {
    margin-top: .75rem;
}

.hero-card {
    border-radius: 22px;
}

.list-results-header .text-white{
  color: #212529 !important;
}

/* =========================
   PRICING SECTION
========================= */
.pricing-section{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 15% 20%, rgba(44,120,255,.18), transparent 34%),
    radial-gradient(circle at 85% 25%, rgba(0,209,255,.12), transparent 32%),
    linear-gradient(180deg, #08111f 0%, #0b1424 45%, #0e1729 100%);
}

.pricing-glow{
  position:absolute;
  border-radius:50%;
  filter:blur(70px);
  pointer-events:none;
  z-index:0;
  opacity:.8;
}

.pricing-glow-1{
  width:260px;
  height:260px;
  background:rgba(0,132,255,.18);
  top:40px;
  left:-60px;
}

.pricing-glow-2{
  width:300px;
  height:300px;
  background:rgba(88,160,255,.14);
  bottom:20px;
  right:-80px;
}

.pricing-section .section-title,
.pricing-section .section-lead{
  position:relative;
  z-index:2;
}

.pricing-lead{
  max-width:820px;
  color:rgba(230,238,255,.78);
}

.trial-strip{
  position:relative;
  z-index:2;
  display:flex;
  justify-content:center;
  gap:14px;
  flex-wrap:wrap;
  padding:14px;
  margin-bottom:22px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.05);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  border-radius:18px;
  box-shadow:0 12px 40px rgba(0,0,0,.22);
}

.trial-strip-item{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 16px;
  border-radius:999px;
  background:rgba(255,255,255,.05);
  color:#eaf2ff;
  font-weight:700;
  font-size:.95rem;
}

.trial-strip-item i{
  color:#8dc0ff;
  font-size:1rem;
}

.pricing-card{
  position:relative;
  z-index:2;
  height:100%;
  display:flex;
  flex-direction:column;
  padding:28px 24px 24px;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.1);
  background:
    linear-gradient(180deg, rgba(255,255,255,.08) 0%, rgba(255,255,255,.035) 100%);
  box-shadow:
    0 18px 50px rgba(0,0,0,.28),
    inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}

.pricing-card:hover{
  transform:translateY(-8px);
  border-color:rgba(126,180,255,.38);
  box-shadow:
    0 26px 60px rgba(0,0,0,.34),
    0 0 0 1px rgba(126,180,255,.08) inset;
}

.pricing-card-featured{
  border-color:rgba(116,176,255,.48);
  background:
    linear-gradient(180deg, rgba(77,142,255,.18) 0%, rgba(255,255,255,.05) 100%);
  box-shadow:
    0 24px 70px rgba(17,76,169,.28),
    inset 0 1px 0 rgba(255,255,255,.12);
}

.pricing-card-enterprise{
  background:
    linear-gradient(180deg, rgba(123,92,255,.14) 0%, rgba(255,255,255,.04) 100%);
}

.pricing-badge{
  position:absolute;
  top:-12px;
  left:50%;
  transform:translateX(-50%);
  padding:8px 14px;
  border-radius:999px;
  background:linear-gradient(90deg, #56a6ff 0%, #8b7dff 100%);
  color:#fff;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
  box-shadow:0 12px 26px rgba(70,122,255,.35);
}

.pricing-top{
  margin-bottom:18px;
}

.pricing-icon{
  width:54px;
  height:54px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:16px;
  margin-bottom:16px;
  font-size:1.2rem;
  color:#dcebff;
  background:linear-gradient(180deg, rgba(114,176,255,.26), rgba(255,255,255,.08));
  border:1px solid rgba(255,255,255,.12);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}

.pricing-plan{
  font-size:1.35rem;
  font-weight:900;
  color:#fff;
  letter-spacing:-0.03em;
  margin-bottom:4px;
}

.pricing-tag{
  color:rgba(228,236,255,.7);
  font-size:.96rem;
}

.pricing-price-wrap{
  margin-bottom:18px;
}

.pricing-price{
  font-size:clamp(2rem, 3vw, 2.8rem);
  line-height:1;
  font-weight:900;
  letter-spacing:-0.05em;
  color:#fff;
  margin-bottom:8px;
}

.pricing-price-sub{
  color:rgba(231,239,255,.68);
  font-size:.95rem;
}

.pricing-metrics{
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:12px;
  margin-bottom:22px;
}

.pricing-metric{
  padding:14px 12px;
  border-radius:16px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);
  text-align:center;
}

.pricing-metric strong{
  display:block;
  font-size:1.2rem;
  color:#fff;
  font-weight:900;
  letter-spacing:-0.03em;
}

.pricing-metric span{
  display:block;
  margin-top:4px;
  font-size:.84rem;
  color:rgba(225,234,255,.72);
}

.pricing-features{
  list-style:none;
  padding:0;
  margin:0 0 24px 0;
  display:flex;
  flex-direction:column;
  gap:11px;
}

.pricing-features li{
  display:flex;
  gap:10px;
  align-items:flex-start;
  color:#edf3ff;
  font-size:.95rem;
  line-height:1.5;
}

.pricing-features li i{
  color:#7fc0ff;
  font-size:1rem;
  margin-top:2px;
  flex:0 0 auto;
}

.btn-pricing{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  border:none;
  border-radius:14px;
  padding:12px 18px;
  font-weight:800;
  color:#fff;
  background:linear-gradient(90deg, #183456 0%, #244c82 50%, #2a5fa4 100%);
  box-shadow:0 12px 26px rgba(0,0,0,.22);
  transition:transform .22s ease, box-shadow .22s ease, opacity .22s ease;
}

.btn-pricing:hover{
  color:#fff;
  transform:translateY(-2px);
  box-shadow:0 18px 30px rgba(0,0,0,.28);
}

.btn-pricing-outline{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  border-radius:14px;
  padding:12px 18px;
  font-weight:800;
  color:#e8f1ff;
  background:transparent;
  border:1px solid rgba(145,190,255,.35);
  transition:all .22s ease;
}

.btn-pricing-outline:hover{
  color:#fff;
  background:rgba(255,255,255,.06);
  border-color:rgba(145,190,255,.55);
}

.pricing-note{
  position:relative;
  z-index:2;
  text-align:center;
  color:rgba(226,235,255,.72);
  font-size:.95rem;
}

.pricing-features{
  background-color: rgba(0, 0, 0, 0.0);
}

/* =========================
   PREMIUM STATS BAND
========================= */
.stat-band{
  position: relative;
  z-index: 2;
}

.stats-panel{
  position: relative;
  overflow: hidden;
  padding: 26px;
  border-radius: 28px;
  background:
    radial-gradient(circle at top left, rgba(88,160,255,.18), transparent 28%),
    radial-gradient(circle at bottom right, rgba(0,208,255,.12), transparent 30%),
    linear-gradient(180deg, rgba(8,17,31,.96) 0%, rgba(12,22,40,.96) 100%);
  border: 1px solid rgba(255,255,255,.08);
  box-shadow:
    0 22px 60px rgba(0,0,0,.22),
    inset 0 1px 0 rgba(255,255,255,.05);
}

.stats-grid{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.stat-box{
  position: relative;
  padding: 24px 20px;
  min-height: 100%;
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(255,255,255,.06) 0%, rgba(255,255,255,.03) 100%);
  border: 1px solid rgba(255,255,255,.08);
  text-align: center;
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}

.stat-box:hover{
  transform: translateY(-6px);
  border-color: rgba(120,180,255,.30);
  box-shadow: 0 18px 30px rgba(0,0,0,.18);
}

.stat-icon{
  width: 62px;
  height: 62px;
  margin: 0 auto 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(92,153,255,.22), rgba(255,255,255,.06));
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}

.stat-icon i{
  font-size: 1.55rem;
  color: #b8d7ff;
}

.stat-number-wrap{
  display: inline-flex;
  align-items: flex-start;
  justify-content: center;
  gap: 2px;
  margin-bottom: 12px;
}

.stat-prefix,
.stat-suffix{
  font-size: 1.35rem;
  line-height: 1;
  font-weight: 800;
  color: #8fc2ff;
  margin-top: 6px;
}

.stat-number{
  font-size: clamp(2rem, 3vw, 3rem);
  line-height: .95;
  font-weight: 900;
  letter-spacing: -0.06em;
  color: #ffffff;
  text-shadow: 0 0 24px rgba(126,180,255,.12);
}

.stat-text{
  color: #f3f7ff;
  font-size: 1rem;
  line-height: 1.45;
  font-weight: 700;
  letter-spacing: -0.02em;
}

.stat-text span{
  display: block;
  margin-top: 6px;
  color: rgba(223,232,248,.72);
  font-size: .92rem;
  font-weight: 500;
  line-height: 1.5;
}

.logo-nav{
  height: 100px;
  width: auto;
}

.lead-flow-section {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at top left, rgba(88,164,255,0.18), transparent 28%),
    radial-gradient(circle at bottom right, rgba(255,154,92,0.12), transparent 26%),
    linear-gradient(180deg, #08111e 0%, #0d1830 100%);
}

.flow-eyebrow {
  display: inline-block;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: #8dbdff;
}

.flow-title {
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1.1;
  font-weight: 800;
  color: #fff;
}

.flow-subtitle {
  max-width: 860px;
  margin-inline: auto;
  font-size: 1.05rem;
  line-height: 1.75;
  color: rgba(255,255,255,.76);
}

.flow-diagram-wrap {
  position: relative;
}

/* DESKTOP XL: one horizontal row */
.flow-diagram {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 1.1rem;
  position: relative;
  align-items: start;
}

.flow-step {
  position: relative;
}

.flow-step-inner {
  position: relative;
}

.flow-step-head {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 1rem;
  position: relative;
  z-index: 3;
}

.flow-number {
  font-size: .9rem;
  font-weight: 800;
  letter-spacing: .08em;
  color: #b8d4ff;
  margin-bottom: .45rem;
}

.flow-dot {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: linear-gradient(135deg, #8dbdff, #ff9a5c);
  border: 3px solid #0d1830;
  box-shadow: 0 0 0 6px rgba(141,189,255,.10), 0 0 24px rgba(141,189,255,.22);
  transition: transform .25s ease, box-shadow .25s ease;
}

.flow-card {
  min-height: 235px;
  padding: 1.35rem 1.15rem 1.2rem;
  border-radius: 22px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.11);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow: 0 18px 45px rgba(0,0,0,.22);
  transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease, background .28s ease;
}

.flow-icon-wrap {
  width: 58px;
  height: 58px;
  border-radius: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1rem;
  background: linear-gradient(135deg, rgba(88,164,255,.20), rgba(255,154,92,.14));
  border: 1px solid rgba(255,255,255,.1);
}

.flow-icon-wrap i {
  font-size: 1.4rem;
  color: #fff;
}

.flow-card-title {
  font-size: 1.1rem;
  font-weight: 700;
  color: #fff;
  margin-bottom: .7rem;
}

.flow-card-text {
  font-size: .95rem;
  line-height: 1.72;
  color: rgba(255,255,255,.78);
}

.flow-step:hover .flow-card {
  transform: translateY(-6px);
  background: rgba(255,255,255,.085);
  border-color: rgba(141,189,255,.28);
  box-shadow: 0 22px 54px rgba(0,0,0,.28);
}

.flow-step:hover .flow-dot {
  transform: scale(1.12);
  box-shadow: 0 0 0 8px rgba(141,189,255,.11), 0 0 28px rgba(141,189,255,.4);
}

.signup-title {
  font-size: clamp(2rem, 4vw, 2.6rem);
  font-weight: 800;
  color: #0b1a2b;
}

.signup-subtitle {
  font-size: 1.05rem;
  color: #5b6b7c;
  line-height: 1.7;
}

.signup-card {
  padding: 2rem 1.5rem;
  border-radius: 18px;
  background: #ffffff;
  border: 1px solid #e9eef4;
  box-shadow: 0 12px 30px rgba(0,0,0,0.05);
  transition: all 0.25s ease;
}

.signup-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 40px rgba(0,0,0,0.08);
}

.signup-icon {
  width: 60px;
  height: 60px;
  margin: 0 auto 1rem;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, rgba(58,123,213,0.12), rgba(255,140,66,0.12));
  font-size: 1.5rem;
  color: #0b1a2b;
}

.signup-step {
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: #8aa4c0;
  margin-bottom: 0.5rem;
}

.signup-card-title {
  font-size: 1.2rem;
  font-weight: 700;
  color: #0b1a2b;
  margin-bottom: 0.6rem;
}

.signup-card-text {
  font-size: 0.95rem;
  color: #5b6b7c;
}

.signup-trust {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  align-items: center;
}

.trust-item {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  font-size: 0.95rem;
  color: #4a5a6a;
}

.trust-item i {
  color: #28a745;
  font-size: 1.1rem;
}

.signup-cta {
  border-radius: 999px;
  padding-top: 0.9rem;
  padding-bottom: 0.9rem;
  font-weight: 600;
}

.custom-leads-section {
  background:
    radial-gradient(circle at top left, rgba(58,123,213,0.10), transparent 26%),
    radial-gradient(circle at bottom right, rgba(255,140,66,0.10), transparent 24%),
    #f8fbff;
}

.custom-leads-wrap {
  padding: 2rem;
  border-radius: 30px;
  background: linear-gradient(135deg, #0c1729 0%, #10203a 100%);
  box-shadow: 0 24px 70px rgba(8, 18, 38, 0.18);
  overflow: hidden;
  position: relative;
}

.custom-leads-wrap::before {
  content: "";
  position: absolute;
  top: -120px;
  right: -120px;
  width: 280px;
  height: 280px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(88,164,255,0.18) 0%, transparent 70%);
  pointer-events: none;
}

.custom-leads-eyebrow {
  display: inline-block;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #8fb8ff;
}

.custom-leads-title {
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1.1;
  font-weight: 800;
  color: #ffffff;
  max-width: 700px;
}

.custom-leads-text {
  font-size: 1.02rem;
  line-height: 1.8;
  color: rgba(255,255,255,0.78);
  max-width: 680px;
}

.custom-point {
  display: flex;
  gap: 0.95rem;
  align-items: flex-start;
  padding: 1rem;
  border-radius: 18px;
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.08);
  height: 100%;
  transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

.custom-point:hover {
  transform: translateY(-4px);
  border-color: rgba(143,184,255,0.28);
  box-shadow: 0 14px 30px rgba(0,0,0,0.16);
}

.custom-point-icon {
  width: 52px;
  height: 52px;
  min-width: 52px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, rgba(58,123,213,0.22), rgba(255,140,66,0.18));
  border: 1px solid rgba(255,255,255,0.10);
}

.custom-point-icon i {
  font-size: 1.3rem;
  color: #fff;
}

.custom-point h3 {
  font-size: 1.02rem;
  font-weight: 700;
  color: #fff;
  margin-bottom: 0.35rem;
}

.custom-point p {
  font-size: 0.92rem;
  line-height: 1.65;
  color: rgba(255,255,255,0.72);
}

.custom-leads-form-card {
  padding: 1.75rem;
  border-radius: 24px;
  background: #ffffff;
  box-shadow: 0 18px 45px rgba(0,0,0,0.16);
}

.custom-form-badge {
  display: inline-flex;
  padding: 0.45rem 0.8rem;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #0f4ea8;
  background: rgba(58,123,213,0.08);
}

.custom-form-title {
  font-size: 1.6rem;
  font-weight: 800;
  color: #0b1a2b;
}

.custom-form-text {
  font-size: 0.96rem;
  line-height: 1.7;
  color: #5b6b7c;
}

.custom-leads-form .form-label {
  font-size: 0.9rem;
  font-weight: 600;
  color: #203040;
}

.custom-input {
  min-height: 50px;
  border-radius: 14px;
  border: 1px solid #d9e3ee;
  box-shadow: none;
  padding: 0.85rem 1rem;
}

.custom-input:focus {
  border-color: #6aa7ff;
  box-shadow: 0 0 0 0.2rem rgba(58,123,213,0.12);
}

textarea.custom-input {
  min-height: 130px;
  resize: vertical;
}

.custom-form-btn {
  border-radius: 999px;
  padding-top: 0.9rem;
  padding-bottom: 0.9rem;
  font-weight: 600;
}

@media (max-width: 991.98px) {
  .custom-leads-wrap {
    padding: 1.5rem;
    border-radius: 24px;
  }

  .custom-leads-form-card {
    padding: 1.4rem;
  }
}

/* XL desktop connectors */
@media (min-width: 1400px) {
  .flow-step:not(.step-6)::after {
    content: "";
    position: absolute;
    top: 23px;
    left: calc(50% + 18px);
    width: calc(100% - 10px);
    height: 2px;
    background: linear-gradient(90deg, rgba(141,189,255,.85), rgba(255,154,92,.55));
    z-index: 1;
    box-shadow: 0 0 16px rgba(88,164,255,.18);
  }

  .flow-step:not(.step-6)::before {
    content: "";
    position: absolute;
    top: 17px;
    right: -3px;
    width: 10px;
    height: 10px;
    border-top: 2px solid rgba(255,154,92,.75);
    border-right: 2px solid rgba(255,154,92,.75);
    transform: rotate(45deg);
    z-index: 2;
  }
}

/* LG to XL: 2 rows of 3 with process arrows */
@media (min-width: 992px) and (max-width: 1399.98px) {
  .flow-diagram {
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem 1.25rem;
  }

  .step-1 { grid-column: 1; grid-row: 1; }
  .step-2 { grid-column: 2; grid-row: 1; }
  .step-3 { grid-column: 3; grid-row: 1; }
  .step-4 { grid-column: 3; grid-row: 2; }
  .step-5 { grid-column: 2; grid-row: 2; }
  .step-6 { grid-column: 1; grid-row: 2; }

  .flow-step::after,
  .flow-step::before {
    content: "";
    position: absolute;
    z-index: 1;
  }

  /* row 1 arrows */
  .step-1::after,
  .step-2::after {
    top: 23px;
    left: calc(50% + 18px);
    width: calc(100% - 18px);
    height: 2px;
    background: linear-gradient(90deg, rgba(141,189,255,.85), rgba(255,154,92,.55));
    box-shadow: 0 0 16px rgba(88,164,255,.18);
  }

  .step-1::before,
  .step-2::before {
    top: 17px;
    right: -2px;
    width: 10px;
    height: 10px;
    border-top: 2px solid rgba(255,154,92,.75);
    border-right: 2px solid rgba(255,154,92,.75);
    transform: rotate(45deg);
  }

  /* down connector from 3 to 4 */
  .step-3::after {
    top: 32px;
    right: 50%;
    width: 2px;
    height: calc(100% + 28px);
    background: linear-gradient(180deg, rgba(141,189,255,.85), rgba(255,154,92,.55));
    box-shadow: 0 0 16px rgba(88,164,255,.18);
  }

  .step-3::before {
    bottom: -22px;
    left: calc(50% - 4px);
    width: 10px;
    height: 10px;
    border-right: 2px solid rgba(255,154,92,.75);
    border-bottom: 2px solid rgba(255,154,92,.75);
    transform: rotate(45deg);
  }

  /* row 2 arrows go right-to-left */
  .step-4::after,
  .step-5::after {
    top: 23px;
    right: calc(50% + 18px);
    width: calc(100% - 18px);
    height: 2px;
    background: linear-gradient(270deg, rgba(141,189,255,.85), rgba(255,154,92,.55));
    box-shadow: 0 0 16px rgba(88,164,255,.18);
  }

  .step-4::before,
  .step-5::before {
    top: 17px;
    left: -2px;
    width: 10px;
    height: 10px;
    border-left: 2px solid rgba(255,154,92,.75);
    border-bottom: 2px solid rgba(255,154,92,.75);
    transform: rotate(45deg);
  }
}

/* Mobile / tablet vertical flow */
@media (max-width: 991.98px) {
  .flow-diagram {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }

  .flow-step {
    padding-left: 2rem;
  }

  .flow-step::before {
    content: "";
    position: absolute;
    left: 9px;
    top: 0;
    bottom: -1.25rem;
    width: 2px;
    background: linear-gradient(180deg, rgba(141,189,255,.55), rgba(255,154,92,.3));
  }

  .flow-step:last-child::before {
    bottom: 4rem;
  }

  .flow-step-head {
    flex-direction: row;
    justify-content: flex-start;
    gap: .8rem;
    margin-bottom: .8rem;
    position: relative;
  }

  .flow-number {
    margin-bottom: 0;
    min-width: 32px;
  }

  .flow-dot {
    width: 16px;
    height: 16px;
  }

  .flow-card {
    min-height: auto;
  }
}

.flow-optional-wrap {
  margin-top: 2.4rem;
}

.flow-optional-card {
  position: relative;
  padding: 2rem;
  border-radius: 26px;
  background: linear-gradient(135deg, rgba(88,164,255,.14), rgba(255,154,92,.10));
  border: 1px solid rgba(255,255,255,.14);
  box-shadow: 0 24px 60px rgba(0,0,0,.24);
  overflow: hidden;
}

.flow-optional-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.05), transparent);
  transform: translateX(-100%);
  transition: transform .9s ease;
}

.flow-optional-card:hover::before {
  transform: translateX(100%);
}

.flow-optional-badge {
  display: inline-flex;
  align-items: center;
  padding: .45rem .8rem;
  border-radius: 999px;
  font-size: .74rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #fff;
  background: rgba(255,154,92,.16);
  border: 1px solid rgba(255,154,92,.28);
}

.flow-optional-title {
  font-size: clamp(1.45rem, 2.6vw, 2rem);
  font-weight: 800;
  line-height: 1.15;
  color: #fff;
}

.flow-optional-text {
  font-size: 1rem;
  line-height: 1.75;
  color: rgba(255,255,255,.82);
}

.flow-optional-icons {
  display: flex;
  gap: .8rem;
  flex-wrap: wrap;
  justify-content: flex-start;
}

.flow-optional-icons span {
  width: 62px;
  height: 62px;
  border-radius: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.13);
  box-shadow: 0 10px 25px rgba(0,0,0,.16);
  transition: transform .25s ease, border-color .25s ease;
}

.flow-optional-icons span:hover {
  transform: translateY(-4px);
  border-color: rgba(141,189,255,.3);
}

.flow-optional-icons i {
  font-size: 1.45rem;
  color: #fff;
}

.reveal-stage {
  opacity: 0;
  transform: translateY(26px);
  transition: opacity .65s ease, transform .65s ease;
}

.reveal-stage.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.reveal-stage[data-step="1"].is-visible { transition-delay: .05s; }
.reveal-stage[data-step="2"].is-visible { transition-delay: .12s; }
.reveal-stage[data-step="3"].is-visible { transition-delay: .19s; }
.reveal-stage[data-step="4"].is-visible { transition-delay: .26s; }
.reveal-stage[data-step="5"].is-visible { transition-delay: .33s; }
.reveal-stage[data-step="6"].is-visible { transition-delay: .40s; }


/* =========================
   PRICING TOGGLE
========================= */
.pricing-toggle-wrap{
  display:flex;
  justify-content:center;
  margin-top:26px;
  margin-bottom:10px;
  position:relative;
  z-index:2;
}

.pricing-toggle{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px;
  border-radius:999px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.10);
  box-shadow:
    0 14px 35px rgba(0,0,0,.20),
    inset 0 1px 0 rgba(255,255,255,.05);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}

.pricing-toggle-btn{
  border:0;
  background:transparent;
  color:rgba(230,238,255,.78);
  min-height:52px;
  padding:12px 20px;
  border-radius:999px;
  font-weight:800;
  font-size:.97rem;
  letter-spacing:-0.01em;
  transition:all .25s ease;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
}

.pricing-toggle-btn.active{
  background:linear-gradient(90deg, rgba(71,135,255,.95) 0%, rgba(109,156,255,.95) 100%);
  color:#fff;
  box-shadow:0 12px 24px rgba(66,110,220,.28);
}

.pricing-toggle-btn:hover{
  color:#fff;
}

.pricing-toggle-save{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:5px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.10);
  color:#dceaff;
  font-size:.74rem;
  font-weight:800;
  line-height:1;
  white-space:nowrap;
}

.pricing-saving{
  min-height:22px;
  margin-top:8px;
  color:#8fc2ff;
  font-size:.88rem;
  font-weight:700;
}

.pricing-card .pricing-saving:not(:empty){
  text-shadow:0 0 18px rgba(120,180,255,.18);
}

/* Add space inside input so text doesn't hit the icon */
.password-input {
    padding-right: 48px;
}

.password-toggle {
    position: absolute;
    top: 46%;
    right: 22px;
    transform: translateY(-46%);
    cursor: pointer;
    color: #8a94b8;
}

.password-toggle i {
    pointer-events: none;
}

.password-input::placeholder {
    color: #aab6d8 !important;
    opacity: 1 !important;
}

/* Hover effect (nice subtle polish) */
.password-toggle:hover {
    color: #000;
}