*{
    box-sizing: border-box;
}


:root {
  --light-bg: #f8fafc;
  --text-dark: #0f172a;
  --primary: #ff2a34;
  --ias-color: #0ea5e9;
  --ips-color: #1e3a8a;
  --state-color: #10b981;
  --bank-color: #f59e0b;
  --police-color: #6366f1;
}

* {
  margin: 0; padding: 0; box-sizing: border-box;
}

body {
  font-family: 'Inter', system-ui, sans-serif;

background-repeat: no-repeat;
  color: var(--text-dark);
  
 
}

/* --- Modern Standard Browsers (Firefox, Edge, etc.) --- */
html {
  scrollbar-width: thin; /* Makes the scrollbar thin */
  scrollbar-color: var(--primary) transparent; /* Track is transparent, thumb is primary */
  
}

/* --- WebKit Browsers (Chrome, Safari, Opera) --- */
/* 1. Width of the vertical scrollbar */
::-webkit-scrollbar {
  width: 6px; /* Adjust this value if you want it thinner or thicker */
  height: 6px; /* For horizontal scrollbars */
}

/* 2. The background track */
::-webkit-scrollbar-track {
  background: transparent; 
}

/* 3. The draggable thumb color */
::-webkit-scrollbar-thumb {
  background-color: var(--primary);
  border-radius: 10px; /* Smooth rounded corners for the scrollbar thumb */
}

/* 4. Thumb color on hover */
::-webkit-scrollbar-thumb:hover {
  background-color: #e04f54; /* A slightly darker shade of your primary color for visual feedback */
}

/* ==========================
   HERO TEXT BLOCK
========================== */
.hero-section {
  position: relative;
  width: 100%;
  height: 60vh;
background: 
  var(--primary) ;

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 120px 0 40px 0px; /* Left and right padding cleared for full width */
}


.hero-video{
    position:absolute;
    top:0;
    left:0;

    width:100%;
    height:100%;

    object-fit:cover;

    z-index:1;
}

/* Black tint */
.hero-overlay{
    position:absolute;
    inset:0;

    background:rgba(0,0,0,0.55);

    z-index:2;
}
.hero-text {
  text-align: center;
  margin-bottom: 2rem;
  z-index: 10;
  max-width: 800px;
  padding: 0 1.5rem;
  opacity: .9;
h2{
    font-size: 40px;
    color: white;
    line-height: 1;
    margin-bottom: 1em;
  }
  
}

.hero-title {
  font-size: clamp(2.8rem, 6vw, 5rem);
  font-weight: 900;
  letter-spacing: -1.5px;
  color: white;
  line-height: 1;
  margin-bottom: 0.5rem;

  
}

.hero-tagline {
  font-size: clamp(1rem, 2vw, 1.35rem);
  color: white;
  font-weight: 500;
  display: flex;
  justify-content: center;
  align-items:center;
  span{
    font-size: 1.3em;
  }
}


.exam-marquee {
    width: 100%;
    background: black;
    overflow: hidden;

    padding: 10px 0;
    position: relative;
}

.exam-track {
    display: flex;
    align-items: center;
    width: max-content;
    animation: marquee 25s linear infinite;
}

.exam-item {
    display: flex;
    align-items: center;
  gap: 20px;
    margin-right: 80px;
    flex-shrink: 0;
}

.exam-item:hover{
  img{
    filter: none
  }
}

.exam-item img {
    width: 52px;
    height: 52px;
    object-fit: contain;
    
}

.exam-item span {
    color: white;
    font-size: 20px;
    font-weight: 500;
    white-space: nowrap;
    letter-spacing: 0.5px;
}

@keyframes marquee {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(-50%);
    }
}


.feature-section{
    width:80%;
    display:flex;
    justify-content: center;
    gap:20px;
    padding:20px;
    
    margin: auto;
    margin-top: 3em;

    position:relative;
}

/* Blur backdrop */
.feature-section:hover .feature-card:not(:hover){
    filter:blur(3px);
    opacity:.7;
    transform:scale(.98);
}

.feature-card{
    flex:1;
    min-height:320px;
   border: solid black 1px;
    border-radius:5px;
    position:relative;
    overflow:hidden;
    padding: 30px;
    transition:all .35s ease;
    cursor:pointer;

    img{
      height: 150px;
    }
}

.feature-card:hover{
    transform:translateY(-12px);
    box-shadow:
        0 20px 60px rgba(0,0,0,.45),
        0 0 40px rgba(255,255,255,.06);
}

/* Arrow button */
.card-arrow{
    position:absolute;
    top:20px;
    right:20px;

    width:56px;
    height:56px;
    border:none;
    border-radius:50%;

    background: var(--primary);
    color:#fff;

    font-size:26px;
    cursor:pointer;

    opacity:0;
    transform:translateY(-10px);
    transition:all .3s ease;
}

.feature-card:hover .card-arrow{
    opacity:1;
    transform:translateY(0);
}

.card-arrow:hover{
    background:#444;
    transform:scale(1.1);
}

.card-content{
    position:absolute;
    left:30px;
    bottom:25px;
}

.card-content h3{
    color:#000000;
    font-size:2rem;
    font-family: 'Arial Black', Arial, Helvetica, sans-serif;
    font-weight:600;
    line-height: 1;
}

/* Tablet */
@media (max-width:1024px){

    .feature-section{
        gap:15px;
        padding:15px;
    }

    .feature-card{
        min-height:260px;
        img{
      height: 90px;
    }
    }

    .card-content h3{
        font-size:1.6rem;
    }

    .hero-text{
      h2{
        font-size: 1.5em;
      }
    }

   
}

/* Mobile */
@media (max-width:768px){

    .feature-section{
        flex-direction:column;
        gap:16px;
        padding:16px;
    }

    .feature-card{
        width:100%;
        min-height:220px;
    }

    .card-arrow{
        opacity:1; /* always visible on touch devices */
        transform:none;
    }

    .card-content h3{
        font-size:1.4rem;
    }
}


/* ==========================
   EXAM SECTION
========================== */

/* ==========================================
   EXAM SECTION
========================================== */

.exam-section{
    width:90%;
    margin:auto;
    margin-top:5rem;

    display:flex;
    flex-direction:column;
    align-items:center;
}

.exam-section h2{
    text-align:center;
    font-size:2rem;
    font-weight:700;
    color:#111;

    margin-bottom:2rem;
}

/* ==========================================
   GRID
========================================== */

#examGrid{
    width:100%;
flex-wrap: wrap;
    display:grid;
    grid-template-columns:repeat(5, 1fr);

    gap:20px;
}

/* ==========================================
   CARD
========================================== */

.exam-card{
    min-height:190px;

    position:relative;
    overflow:hidden;

    border:1px solid rgba(0,0,0,.15);
    border-radius:12px;

    padding:24px;

    background:#fff;

    transition:
        transform .3s ease,
        background .3s ease,
        box-shadow .3s ease;

    cursor:pointer;
}

.exam-card:hover{
    transform:translateY(-8px);

    background:var(--primary);

    box-shadow:
        0 15px 40px rgba(0,0,0,.15);
}

/* ==========================================
   ICON
========================================== */

.exam-icon{
    font-size:32px !important;

    color:#777;
    opacity:.6;

    display:inline-flex;
    align-items:center;
    justify-content:center;

    transition:.3s ease;
}

/* ==========================================
   TEXT
========================================== */

.exam-name{
    margin-top:2.5rem;

    color:#111;

    font-size:1.4rem;
    font-weight:700;

    line-height:1;

    transition:.3s ease;
}

.exam-subtext{
    margin-top:.8rem;

    color:#666;

    font-size:.95rem;
    line-height:1;

    transition:.3s ease;
}

/* ==========================================
   HOVER STATES
========================================== */

.exam-card:hover .exam-name{
    color:#fff;
}

.exam-card:hover .exam-subtext{
    color:rgba(255,255,255,.85);
}

.exam-card:hover .exam-icon{
    color:#fff;
    opacity:1;
}

/* ==========================================
   TABLET
========================================== */

@media (max-width:1024px){

    .exam-section{
        width:95%;
    }

    #examGrid{
        grid-template-columns:repeat(2, 1fr);
    }

    .exam-card{
        min-height:200px;
    }

    .exam-name{
        font-size:1.3rem;
    }
}

/* ==========================================
   MOBILE
========================================== */

@media (max-width:768px){

    .exam-section{
        width:95%;
        margin-top:3rem;
    }

    .exam-section h2{
        font-size:1.7rem;
    }

    #examGrid{
        grid-template-columns:1fr;
        gap:15px;
    }

    .exam-card{
        min-height:auto;
        padding:20px;
    }

    .exam-icon{
        font-size:22px !important;
    }

    .exam-name{
        margin-top:1.5rem;
        font-size:1.2rem;
    }

    .exam-subtext{
        font-size:.9rem;
    }
}



/* ==========================================
   STATS SECTION
========================================== */

.stats-section{
    width: 100%;
    padding: 5em;
    background-color: #0299f7;
   
margin-top: 3em;
    text-align:center;
}

.stats-header{
    max-width:750px;
    margin:auto;
}

.stats-header h2{
    font-size:clamp(2rem,3vw,2.5rem);
    font-weight:700;
    color:white;
    font-family: Arial, Helvetica, sans-serif;
    margin-bottom: 10px;
    
}

.stats-header p{
    color:white;
    font-size:1.05rem;
    line-height:1;
}

/* ==========================================
   GRID
========================================== */

.stats-grid{
    margin-top:60px;

    display:grid;
    grid-template-columns:repeat(4,1fr);

    gap:20px;
}

/* ==========================================
   CARD
========================================== */

.stat-card{
    background:#fff;

    border:1px solid rgba(0,0,0,.08);
    border-radius:16px;

    padding:40px 20px;

    transition:.3s ease;
}

.stat-card:hover{
    transform:translateY(-8px);

    box-shadow:
        0 20px 50px rgba(0,0,0,.08);
}

.counter{
    display:block;

    font-size:clamp(2rem,4vw,3.5rem);
    font-weight:800;

    color:var(--primary);

    margin-bottom:12px;
}

.stat-card h3{
    color:#444;
    font-size:1rem;
    font-weight:600;
}

/* ==========================================
   TABLET
========================================== */

@media(max-width:1024px){

    .stats-grid{
        grid-template-columns:repeat(2,1fr);
    }

}

/* ==========================================
   MOBILE
========================================== */

@media(max-width:768px){

    .stats-section{
        width:100%;
        margin:80px auto;
        padding: 2em;
        padding-top: 4em;
        padding-bottom: 4em;
    }

    .stats-grid{
        grid-template-columns:repeat(2,1fr);
        gap:12px;
    }

    .stat-card{
        padding:24px 12px;
    }

    .counter{
        font-size:1.8rem;
    }

    .stat-card h3{
        font-size:.8rem;
    }
    .stats-header h2{
    font-size: 20px;
    font-weight:700;
    color:white;
    font-family: Arial, Helvetica, sans-serif;
    margin-bottom: 10px;
    
}


    .stats-header p{
        font-size:.85rem;
        line-height: 1 !important;
    }

}

/* ==========================================
   FAQ SECTION
========================================== */

.faq-section{
    width:90%;
    max-width:1000px;

    margin:120px auto;
}

.faq-header{
    text-align:center;
    margin-bottom:50px;
}

.faq-header h2{
    font-size:clamp(2rem,4vw,3rem);
    font-weight:800;
    color:#111;

    margin-bottom:12px;
}

.faq-header p{
    color:#666;
    font-size:1rem;
}

/* ==========================================
   FAQ CONTAINER
========================================== */

.faq-container{
    display:flex;
    flex-direction:column;
    gap:14px;
}

/* ==========================================
   ITEM
========================================== */

.faq-item{
    border:1px solid rgba(0,0,0,.08);
    border-radius:14px;

    overflow:hidden;

    transition:.3s ease;

    background:#fff;
}

.faq-item:hover{
    border-color:var(--primary);

    box-shadow:
        0 10px 30px rgba(0,0,0,.08);
}

/* ==========================================
   QUESTION
========================================== */

.faq-question{
    width:100%;

    display:flex;
    justify-content:space-between;
    align-items:center;

    padding:22px 25px;

    background:none;
    border:none;

    cursor:pointer;

    text-align:left;

    font-size:1.1rem;
    font-weight:700;

    color:#111;
}

.faq-question span{
    font-size:1.6rem;
    font-weight:300;

    transition:.3s ease;
}

/* ==========================================
   ANSWER
========================================== */

.faq-answer{
    max-height:0;
    overflow:hidden;

    transition:
        max-height .4s ease,
        padding .4s ease;
}

.faq-answer p{
    color:#666;
    line-height:1.8;

    padding:0 25px 20px;
}

/* ==========================================
   ACTIVE
========================================== */

.faq-item.active .faq-answer{
    max-height:300px;
}

.faq-item.active .faq-question span{
    transform:rotate(45deg);
    color:var(--primary);
}

.faq-item.active{
    border-color:var(--primary);
}

/* ==========================================
   MOBILE
========================================== */

@media(max-width:768px){

    .faq-section{
        width:95%;
        margin:80px auto;
    }

    .faq-question{
        padding:18px;

        font-size:1rem;
    }

    .faq-answer p{
        padding:0 18px 18px;
    }
}

/* floating button */

/* ==========================================
   FLOATING DOWNLOAD BUTTON
========================================== */

.floating-download{
    position:fixed;

    right:20px;
    bottom:25px;

    z-index:9999;

    display:flex;
    align-items:center;
    flex-direction: column;
    gap:12px;

    padding:15px 6px;

    background:#ffffff;
    color:black;

    border-radius:10px;

    box-shadow:
        0 10px 30px rgba(0,0,0,.25);

    transition:.3s ease;
}

.floating-download:hover{
    transform:translateY(-4px);
}

.floating-logo{
    width:48px;
    height:48px;

    border-radius:5px;
    object-fit:cover;

    background: var(--primary);
}

.floating-content{
    display:flex;
    align-items:center;
    gap:12px;
}

.floating-content span{
    font-size:.9rem;
    font-weight:600;
    white-space:nowrap;
}

.floating-content button{
    border:none;
    outline:none;

    background:var(--primary,#ff2a34);
    color:white;

    padding:5px 8px;

    border-radius:999px;

    font-size:7px;
    font-weight:600;

    cursor:pointer;

    transition:.3s ease;
}

.floating-content button:hover{
    transform:scale(1.05);
}

/* ==========================================
   MOBILE
========================================== */

@media(max-width:768px){

    .floating-download{
        right:12px;
        bottom:15px;

        padding:4px 5px;
    }

    .floating-logo{
        width:42px;
        height:42px;
    }

    .floating-content span{
        display:none;
    }

    .floating-content button{
        padding:4px 7px;
        font-size:7px;
    }
}