body{
    margin:0;
    font-family: Arial, sans-serif;
    background:#070B14;
    color:white;
    overflow-x:hidden;
}

/* =========================
   BACKGROUND (USED EVERYWHERE)
========================= */

.animated-bg{
    position:fixed;
    inset:0;
    z-index:-2;
    background:
        linear-gradient(rgba(255,255,255,0.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.03) 1px, transparent 1px);
    background-size:60px 60px;
    animation:gridMove 12s linear infinite;
}

@keyframes gridMove{
    from{transform:translateY(0px);}
    to{transform:translateY(60px);}
}

.animated-bg::after{
    content:"";
    position:absolute;
    inset:0;
    background:
        radial-gradient(circle at top left,#1e3a8a33,transparent 40%),
        radial-gradient(circle at bottom right,#7c3aed33,transparent 40%);
}

/* =========================
   TYPOGRAPHY (INDEX HERO MATCHES FORM STYLE)
========================= */

h1{
    text-align:center;
    font-size:42px;
    margin-top:60px;
    margin-bottom:10px;
}

p{
    text-align:center;
    opacity:0.7;
    margin-bottom:40px;
}

/* =========================
   FORM CARD (1A / 1B SOURCE OF TRUTH)
========================= */

.form-card{
    background:rgba(255,255,255,0.05);
    border:1px solid rgba(255,255,255,0.08);
    border-radius:22px;
    padding:30px;
    margin:80px auto;
}

/* INPUTS */
.input-modern{
    width:100%;
    padding:14px;
    margin-bottom:12px;
    border-radius:12px;
    border:1px solid rgba(255,255,255,0.1);
    background:rgba(255,255,255,0.03);
    color:white;
}

/* BUTTON */
.button-modern{
    width:100%;
    padding:16px;
    border-radius:12px;
    border:none;
    background:linear-gradient(to right,#2563eb,#7c3aed);
    color:white;
    font-weight:bold;
    cursor:pointer;
    transition:0.25s;
}

.button-modern:hover{
    box-shadow:0 0 25px rgba(124,58,237,0.4);
}

/* =========================
   STEPPER (UNCHANGED LOOK)
========================= */

.stepper{
    display:flex;
    justify-content:space-between;
    font-size:12px;
    opacity:0.7;
    margin-bottom:10px;
}

.stepper .active{
    color:#60a5fa;
    font-weight:bold;
}

.step-line{
    display:flex;
    height:4px;
    background:#1f2937;
    border-radius:10px;
    margin-bottom:20px;
}

.step-line div{
    flex:1;
}

.step-done{
    background:linear-gradient(to right,#60a5fa,#7c3aed);
}

/* =========================
   INDEX GRID (ADAPTED TO FORM DESIGN)
========================= */

.grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:15px;
    max-width:1100px;
    margin:0 auto;
    padding:0 20px;
}

@media(max-width:768px){
    .grid{grid-template-columns:repeat(2,1fr);}
}

@media(max-width:480px){
    .grid{grid-template-columns:1fr;}
}

/* CARD (MATCHES FORM STYLE NOW) */
.card{
    position:relative;
    background:rgba(255,255,255,0.05);
    border:1px solid rgba(255,255,255,0.08);
    border-radius:18px;
    padding:20px;
    text-align:center;
    text-decoration:none;
    color:white;
    overflow:hidden;
    transition:0.25s ease;
}

.card:hover{
    transform:translateY(-6px);
    box-shadow:0 15px 35px rgba(96,165,250,0.25),
               0 0 25px rgba(124,58,237,0.25);
}

/* LOGO */
.logo{
    width:50px;
    height:50px;
    margin:0 auto 10px auto;
    border-radius:14px;
    background:linear-gradient(135deg,#60a5fa,#7c3aed);
}

/* RIPPLE */
.ripple{
    position:absolute;
    border-radius:50%;
    transform:scale(0);
    animation:rippleAnim 600ms linear;
    background:rgba(255,255,255,0.25);
    pointer-events:none;
}

@keyframes rippleAnim{
    to{transform:scale(4);opacity:0;}
}

/* =========================
   FORM GRID (WORDS)
========================= */

.dynamic-grid{
    display:grid;
    grid-template-columns:repeat(6,1fr);
    gap:8px;
}

@media(max-width:768px){
    .dynamic-grid{grid-template-columns:repeat(2,1fr);}
}

/* =========================
   DROPDOWN
========================= */

.dropdown{
    position:relative;
    margin-bottom:15px;
}

.dropdown-selected{
    padding:14px;
    border-radius:12px;
    border:1px solid rgba(255,255,255,0.1);
    background:rgba(255,255,255,0.03);
    cursor:pointer;
}

.dropdown-list{
    position:absolute;
    width:100%;
    margin-top:6px;
    background:#0f172a;
    border:1px solid rgba(255,255,255,0.1);
    border-radius:12px;
}

.dropdown-list div{
    padding:12px;
    cursor:pointer;
}

.dropdown-list div:hover{
    background:#1e293b;
}

.hidden{display:none;}

.logo-placeholder{
    width:54px;
    height:54px;
    border-radius:14px;
    background:linear-gradient(135deg,#60a5fa,#7c3aed);
    box-shadow:0 0 18px rgba(96,165,250,0.35);
}
.hero{
    text-align:center;
    margin-top:70px;
    margin-bottom:40px;
}

.hero-title{
    font-size:44px;
    font-weight:bold;
    background:linear-gradient(90deg,#60a5fa,#7c3aed,#60a5fa);
    background-size:200% 200%;
    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
    animation:gradientMove 12s ease-in-out infinite;
}

.hero-subtitle{
    opacity:0.7;
    margin-top:10px;
}

@keyframes gradientMove{
    0%{
        background-position:0% 50%;
    }
    50%{
        background-position:100% 50%;
    }
    100%{
        background-position:0% 50%;
    }
}

.form-card {
    text-align: center;
}