
/* ----------------------
   THEME TOKENS
   ---------------------- */
   :root{
    /* Cyberpunk Base Colors */
    --bg-0: #020204;               /* pitch black */
    --bg-1: #0a0a0a;               /* dark grey */
    --panel: #121212;              /* solid fallback for panels */
    --panel-a: rgba(18, 18, 18, .9);  /* glass */
  
    /* Cyberpunk Brand / Accents */
    --brand-1: #fcee0a;            /* neon yellow */
    --brand-2: #d4c805;            /* darker yellow */
    --brand-3: #00ffff;            /* neon cyan (focus ring) */
  
    /* Text */
    --tx-1: #f0f0f0;
    --tx-2: #b0b0b0;
    --tx-3: #606060;
  
    /* Surfaces / Lines */
    --line-1: rgba(252, 238, 10, 0.2); /* yellow border */
    --line-2: rgba(255, 255, 255, 0.1);
  
    /* Status - Neon */
    --ok: #00ff9f;                 /* neon green */
    --warn: #ffb800;
    --err: #ff0055;                /* neon red/pink */
  
    /* Radii & Shadows */
    --r-lg: 4px;                   /* sharper edges for cyberpunk */
    --r-md: 2px;
    --r-sm: 2px;
    --shadow-1: 0 0 20px rgba(252, 238, 10, 0.1); /* neon glow */
    --shadow-2: 0 0 10px rgba(0, 0, 0, 0.5);
  
    /* Spacing */
    --section-py: 72px;
  }
  
  @media (max-width: 992px){
    :root{ --section-py: 52px; }
  }
  @media (max-width: 576px){
    :root{ --section-py: 40px; }
  }
  
  /* ----------------------
     BASE / RESET
     ---------------------- */
  *{ box-sizing: border-box }
  html, body{ height: 100% }
  body{
    margin:0;
    color:var(--tx-1);
    background:
      linear-gradient(135deg, rgba(15, 23, 42, 0.92), rgba(11, 18, 32, 0.95)),
    font: 16px/1.55 ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial;
 
  }
  a{ color: inherit; text-decoration: none }
  img{ max-width:100%; height:auto; display:block }
  
  /* Container max width for sites without Bootstrap layout.
     If Bootstrap is present, this won't clash. */
  .container{
    max-width: 1200px;
    padding-left: 20px;
    padding-right: 20px;
    margin: 0 auto;
  }
  
  /* ----------------------
     GLOBAL ELEMENTS
     ---------------------- */
  .btn{
    display:inline-flex; align-items:center; justify-content:center;
    gap:10px;
    border:1px solid transparent;
    border-radius: var(--r-md);
    padding: 12px 18px;
    font-weight: 700;
    color: var(--bg-1);
    background: linear-gradient(90deg, var(--brand-1), var(--brand-2));
    box-shadow: var(--shadow-2);
  }
  .btn:hover{ filter: brightness(1.02) }
  .btn:active{ filter: brightness(.98) }
  .btn:focus{ outline:2px solid var(--brand-3); outline-offset:2px }
  
  .btn-secondary{
    background: transparent;
    color: var(--tx-1);
    border:1px solid var(--line-1);
    box-shadow: none;
  }
  
  .btn-primary{
    background: linear-gradient(90deg, var(--brand-1), var(--brand-2));
    color: var(--bg-1);
    border-color: transparent;
  }
  
  /* Alerts */
  .alert{
    position: relative;
    padding:12px 14px;
    border-radius: var(--r-sm);
    border:1px solid var(--line-1);
    background: rgba(255,255,255,.04);
    color: var(--tx-1);
    margin-bottom: 14px;
  }
  .alert-danger{ border-color: rgba(239,68,68,.35); background: rgba(239,68,68,.1) }
  .alert-success{ border-color: rgba(34,197,94,.35); background: rgba(34,197,94,.1) }
  .alert .close{
    position:absolute; right:10px; top:8px;
    background:transparent; border:0; color:var(--tx-2); font-size:18px; cursor:pointer;
  }
  
  /* Links used as helpers */
  .frgpass, .hero-support a{
    color:#bcd7ff; border-bottom:1px dashed rgba(188,215,255,.35);
  }
  .frgpass:hover{ border-bottom-color: transparent }
  
  /* Focus styles for interactive elements */
  input:focus, select:focus, textarea:focus, a:focus, button:focus{
    outline:2px solid var(--brand-3);
    outline-offset: 2px;
  }
  
  /* ----------------------
     HERO / HEADER
     ---------------------- */
  .home-head{
    padding-top: 36px;
    padding-bottom: 36px;
    position: relative;
  }
  .home-head-content{
    padding-top: 18px;
    padding-bottom: 18px;
  }
  .hero-highlight{
    max-width: 720px;
  }
  
  /* Hero tag styling */
  .hero-tag{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 12px;
    background: rgba(59, 130, 246, 0.1);
    border: 1px solid rgba(59, 130, 246, 0.2);
    border-radius: 20px;
    color: var(--brand-2);
    font-size: 13px;
    font-weight: 600;
    margin-bottom: 16px;
  }
  .hero-tag i{
    font-size: 12px;
  }
  
  .hh-title h1{
    margin:0 0 12px;
    font-size: clamp(28px, 4.2vw, 56px);
    line-height:1.1;
    letter-spacing:-.02em;
  }
  .hero-divider{
    width: 64px; height: 4px; border-radius: 4px;
    background: linear-gradient(90deg, var(--brand-1), var(--brand-2));
    margin: 10px 0 18px;
  }
  .hh-text{
    color: var(--tx-2);
    margin: 0 0 22px;
    max-width: 60ch;
  }
  
  /* --- Metrics --- */
  .hero-metrics{
    display:grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 14px;
    margin: 8px 0 16px;
  }
  .hero-metric{
    background: var(--panel);
    border: 1px solid var(--line-1);
    border-radius: var(--r-lg);
    box-shadow: var(--shadow-1);
    padding: 16px 16px 14px;
    display: flex;
    align-items: center;
    gap: 12px;
  }
  .metric-icon{
    width: 32px;
    height: 32px;
    display: inline-grid;
    place-items: center;
    border-radius: 10px;
    background: linear-gradient(135deg, var(--brand-1), var(--brand-2));
    color: var(--bg-1);
    font-size: 14px;
    flex: none;
  }
  .metric-copy{
    flex: 1;
  }
  .hero-metric-value{
    display:block;
    font-weight: 800;
    font-size: 22px;
    letter-spacing:-.01em;
  }
  .hero-metric-label{
    display:block;
    color: var(--tx-3);
    font-size: 13px;
    margin-top: 4px;
  }
  
  @media (max-width: 768px){
    .hero-metrics{ grid-template-columns: 1fr 1fr }
  }
  @media (max-width: 480px){
    .hero-metrics{ grid-template-columns: 1fr }
  }
  
  /* --- Feature bullets --- */
  .hero-list{
    list-style: none; padding:0; margin: 12px 0 20px;
    display:grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px 16px;
    color: var(--tx-2);
  }
  .hero-list li{
    display:flex; align-items:flex-start; gap:10px;
  }
  .hero-list i{
    width:22px; height:22px; display:inline-grid; place-items:center;
    border-radius:8px;
    background: linear-gradient(135deg, var(--brand-1), var(--brand-2));
    color: var(--bg-1); font-size:12px; flex:none; margin-top:2px;
  }
  @media (max-width: 576px){
    .hero-list{ grid-template-columns: 1fr }
  }
  
  .hh-buttons{ display:flex; gap:12px; flex-wrap:wrap; margin: 4px 0 10px }
  .hero-support{ color: var(--tx-3); font-size: 13px; margin-top: 8px }
  
  /* Hero footnote */
  .hero-footnote{
    color: var(--tx-3);
    font-size: 13px;
    margin-top: 12px;
    line-height: 1.5;
  }
  
  /* ----------------------
     RIGHT: LOGIN CARD
     ---------------------- */
  .login-box{
    background: var(--panel);
    border: 1px solid var(--line-1);
    border-radius: calc(var(--r-lg) + 2px);
    box-shadow: var(--shadow-1);
    padding: 24px;
  }
  
  /* Login card header */
  .login-card-head{
    margin-bottom: 20px;
  }
  .login-card-head h3{
    margin: 0 0 8px;
    font-size: 24px;
    font-weight: 800;
    color: var(--tx-1);
  }
  .login-card-head p{
    margin: 0;
    color: var(--tx-2);
    font-size: 14px;
    line-height: 1.5;
  }
  
  .login-form{ width: 100% }
  
  /* Form groups */
  .form-group{ margin-bottom: 14px }
  .fla{
    display:block; margin:0 0 6px;
    font-size: 13px; color: var(--tx-2);
  }
  .fg{ position: relative }
  
  .input-style,
  .form-control{
    width:100%;
    background: var(--panel);
    color: var(--tx-1);
    border:1px solid var(--line-1);
    border-radius: 12px;
    padding: 12px 14px;
    outline: none;
  }
  .input-style::placeholder{ color: var(--tx-3) }
  
  /* Remember me / checkbox */
  .form-check{
    display: flex;
    align-items: center;
  }
  .form-check-input{
    width: 16px !important;
    height: 16px !important;
    min-width: 16px !important;
    min-height: 16px !important;
    max-width: 16px !important;
    max-height: 16px !important;
    appearance: none;
    border: 1px solid var(--line-1);
    border-radius: 4px;
    background: var(--panel);
    margin-right: 8px;
    vertical-align: middle;
    position: relative;
    transition: all 0.2s ease;
    display: inline-block;
    flex-shrink: 0;
  }
  .form-check-input:checked{
    background: linear-gradient(135deg, var(--brand-1), var(--brand-2));
    border-color: transparent;
  }
  .form-check-input:checked::after{
    content: '✓';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: var(--bg-1);
    font-size: 10px;
    font-weight: bold;
    line-height: 1;
  }
  .form-check-input:hover{
    border-color: var(--brand-1);
  }
  .form-check-label{ color: var(--tx-2) }
  
  /* Form utilities */
  .form-utils{
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    line-height: 1.2;
  }
  
  .d-flex.justify-content-between.align-items-center{
    gap: 12px;
  }
  
  /* Captcha spacing */
  .g-recaptcha{ transform-origin:left; }
  @media (max-width: 360px){
    .g-recaptcha{ transform: scale(.88) }
  }
  
  /* Submit / extra actions spacing */
  .mt-2{ margin-top: 8px !important }
  .mt-3{ margin-top: 12px !important }
  .mt-4{ margin-top: 16px !important }
  
  /* Form footer */
  .form-footer{
    text-align: center;
    margin-top: 20px;
    padding-top: 16px;
    border-top: 1px solid var(--line-2);
  }
  .form-footer span{
    color: var(--tx-2);
    font-size: 14px;
  }
  
  /* Form divider */
  .form-divider{
    position: relative;
    text-align: center;
    margin: 20px 0;
  }
  .form-divider::before{
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    height: 1px;
    background: var(--line-2);
  }
  .form-divider span{
    background: var(--panel);
    padding: 0 16px;
    color: var(--tx-3);
    font-size: 13px;
    position: relative;
    z-index: 1;
  }
  
  /* ----------------------
     HIGHLIGHT STRIP
     ---------------------- */
  .home-section{
    padding-top: var(--section-py);
    padding-bottom: var(--section-py);
    border-top:1px solid var(--line-2);
  }
  
  /* Fast stats row */
  .hfs-item{
    background: var(--panel);
    border: 1px solid var(--line-1);
    border-radius: var(--r-lg);
    box-shadow: var(--shadow-1);
    text-align: center;
    padding: 18px 14px;
    height: 100%;
  }
  .hfs-count{
    font-weight: 800; font-size: 22px; letter-spacing:-.01em;
  }
  .hfs-count .plus{ color: var(--brand-2); margin-left:2px }
  .hfs-title{ color: var(--tx-3); font-size: 13px; margin-top: 4px }
  
  .hfs-item.callout{ display:grid; place-items:center }
  .neon-btn{
    display:inline-flex; align-items:center; justify-content:center;
    padding: 12px 18px; border-radius: var(--r-md);
    border:1px solid transparent;
    background: linear-gradient(90deg, var(--brand-1), var(--brand-2));
    color: var(--bg-1); font-weight:800;
    box-shadow: var(--shadow-2);
  }
  
  /* ----------------------
     SECTION TITLES
     ---------------------- */
  .home-title{ text-align:center; margin-bottom: 22px }
  .home-title h2{
    margin:0 0 10px; font-size: clamp(22px, 3.2vw, 36px); letter-spacing:-.01em;
  }
  .divider{
    width: 56px; height: 4px; border-radius: 4px;
    background: linear-gradient(90deg, var(--brand-1), var(--brand-2));
    margin: 0 auto;
  }
  
  /* ----------------------
     HOW IT WORKS (steps)
     ---------------------- */
  .stepbox{ margin-top: 12px }
  .sboxes{ height:100% }
  .sboxes .barea{
    background: var(--panel);
    border: 1px solid var(--line-1);
    border-radius: var(--r-lg);
    box-shadow: var(--shadow-1);
    padding: 18px;
    height: 100%;
  }
  .sbicon{
    width:42px; height:42px; border-radius:12px;
    display:inline-grid; place-items:center;
    background: linear-gradient(135deg, var(--brand-1), var(--brand-2));
    color: var(--bg-1); font-size:18px; margin-bottom: 10px;
  }
  .sbtitle{ font-weight: 800; margin-bottom: 6px }
  .sbtext{ color: var(--tx-2); margin:0 }
  
  /* ----------------------
     WHY CHOOSE US (features)
     ---------------------- */
  .feature-box{
    background: var(--panel);
    border: 1px solid var(--line-1);
    border-radius: var(--r-lg);
    box-shadow: var(--shadow-1);
    padding: 18px;
    height:100%;
  }
  .feature-icon{
    width:42px; height:42px; border-radius:12px;
    display:inline-grid; place-items:center;
    background: linear-gradient(135deg, var(--brand-1), var(--brand-2));
    color: var(--bg-1); font-size:18px; margin-bottom: 10px;
  }
  .feature-title{ font-weight: 800; margin-bottom: 6px }
  .feature-text{ color: var(--tx-2); margin:0 }
  
  /* ----------------------
     TOP SERVICES
     ---------------------- */
  .service-card{
    background: var(--panel);
    border: 1px solid var(--line-1);
    border-radius: var(--r-lg);
    box-shadow: var(--shadow-1);
    padding: 18px;
    height:100%;
  }
  .service-icon{
    width:42px; height:42px; border-radius:12px;
    display:inline-grid; place-items:center;
    background: linear-gradient(135deg, var(--brand-1), var(--brand-2));
    color: var(--bg-1); font-size:18px; margin-bottom: 10px;
  }
  .service-title{ font-weight: 800; margin-bottom: 6px }
  .service-text{ color: var(--tx-2) }
  .service-price{
    margin-top: 10px; font-weight: 700; color: #cfe1ff;
    border-top:1px dashed var(--line-2); padding-top:10px;
  }
  
  /* ----------------------
     CTA / DEVICE SHOT
     ---------------------- */
  .ds-title h2{ margin:0 0 8px; font-size: clamp(22px, 3vw, 34px) }
  .ds-title p{ color: var(--tx-2); margin: 0 0 14px }
  
  /* ----------------------
     TESTIMONIALS
     ---------------------- */
  .testimonial-card{
    background: var(--panel);
    border: 1px solid var(--line-1);
    border-radius: var(--r-lg);
    box-shadow: var(--shadow-1);
    padding: 18px;
    height:100%;
  }
  .star-rating{ color: #ffd166; letter-spacing: 2px; margin-bottom: 8px }
  .testimonial-text{ color: var(--tx-2); margin: 0 0 8px }
  .testimonial-author{ font-weight: 700 }
  
  /* ----------------------
     PLATFORMS GRID
     ---------------------- */
  .platforms-showcase-section .platform-item{
    display:grid; place-items:center;
    background: var(--panel);
    border: 1px solid var(--line-1);
    border-radius: var(--r-md);
    box-shadow: var(--shadow-2);
    padding: 16px 10px;
    color: var(--tx-1);
  }
  .platform-item i{ font-size:22px; margin-bottom: 6px }
  .platform-item p{ margin:0; color: var(--tx-2); font-size: 13px }
  
  /* ----------------------
     FAQ (native <details>)
     ---------------------- */
  .faq-container{ max-width: 900px; margin: 0 auto }
  .faq-item{
    border:1px solid var(--line-1);
    border-radius: var(--r-md);
    background: rgba(255,255,255,.03);
    padding: 10px 14px;
    margin-bottom: 10px;
  }
  .faq-question{
    cursor: pointer;
    list-style: none;
    color: var(--tx-1);
    font-weight: 700;
  }
  .faq-item summary{ outline:none }
  .faq-item summary::-webkit-details-marker{ display:none }
  .faq-item summary::after{
    content: "+";
    float:right;
    color: var(--tx-2);
    font-weight: 700;
  }
  .faq-item[open] summary::after{ content: "–" }
  .faq-answer{ color: var(--tx-2); margin-top: 8px }
  
  /* ----------------------
     STATS COUNTER SECTION
     ---------------------- */
  .stats-section{
    background: linear-gradient(135deg, rgba(59, 130, 246, 0.1), rgba(96, 165, 250, 0.05));
    border-radius: var(--r-lg);
    padding: 40px 20px;
    margin: 40px 0;
  }
  .stats-item{
    text-align: center;
  }
  .stats-number{
    font-size: 48px;
    font-weight: 800;
    color: var(--brand-1);
    display: block;
    line-height: 1;
  }
  .stats-label{
    color: var(--tx-2);
    font-size: 16px;
    margin-top: 8px;
  }
  
  /* ----------------------
     SECURITY BADGES
     ---------------------- */
  .security-section{
    text-align: center;
    padding: 40px 0;
  }
  .security-badges{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 40px;
    flex-wrap: wrap;
    margin-top: 30px;
  }
  .security-badge{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
  }
  .security-badge i{
    font-size: 32px;
    color: var(--brand-1);
  }
  .security-badge span{
    color: var(--tx-2);
    font-size: 14px;
    font-weight: 600;
  }
  
  /* ----------------------
     BEFORE/AFTER SHOWCASE
     ---------------------- */
  .showcase-section{
    background: var(--panel);
    border: 1px solid var(--line-1);
    border-radius: var(--r-lg);
    padding: 30px;
    margin: 40px 0;
  }
  .showcase-item{
    background: rgba(255,255,255,.02);
    border: 1px solid var(--line-2);
    border-radius: var(--r-md);
    padding: 20px;
    text-align: center;
  }
  .showcase-platform{
    color: var(--brand-1);
    font-weight: 700;
    margin-bottom: 12px;
  }
  .showcase-stats{
    display: flex;
    justify-content: space-between;
    margin: 16px 0;
  }
  .showcase-before, .showcase-after{
    text-align: center;
  }
  .showcase-before span, .showcase-after span{
    display: block;
    font-size: 20px;
    font-weight: 700;
  }
  .showcase-before span{
    color: var(--err);
  }
  .showcase-after span{
    color: var(--ok);
  }
  .showcase-label{
    font-size: 12px;
    color: var(--tx-3);
    margin-top: 4px;
  }
  
  /* ----------------------
     MOBILE RESPONSIVE
     ---------------------- */
  @media (max-width: 768px){
    .security-badges{
      gap: 20px;
    }
    .stats-number{
      font-size: 36px;
    }
    .showcase-stats{
      flex-direction: column;
      gap: 16px;
    }
  }
  
  /* ----------------------
     RESPONSIVE TWEAKS
     ---------------------- */
  @media (max-width: 992px){
    .login-box{ margin-top: 18px }
  }
  @media (max-width: 576px){
    .btn, .neon-btn{ width: 100% }
    .hh-buttons{ flex-direction: column }
    .hero-support{ text-align:left }
  }
  
  /* ----------------------
     MISC UTILITY
     ---------------------- */
  .mb-4{ margin-bottom: 1.25rem !important }
  .mb-0{ margin-bottom: 0 !important }
  .mb-3{ margin-bottom: 1rem !important }
  .text-center{ text-align:center }
  .img-fluid{ max-width:100%; height:auto }
  .w-100{ width: 100% !important }
  .d-flex{ display: flex !important }
  .justify-content-between{ justify-content: space-between !important }
  .align-items-center{ align-items: center !important }
  