:root{
    --bg-dark:#081120;
    --bg-soft:#0f172a;
    --card:#ffffff;
    --text:#1f2937;
    --muted:#64748b;
    --white:#ffffff;
    --blue:#2563eb;
    --green:#10b981;
    --pink:#ec4899;
    --red:#ef4444;
    --teal:#14b8a6;
    --purple:#8b5cf6;
    --yellow:#f59e0b;
    --line:rgba(255,255,255,0.15);
    --shadow:0 20px 45px rgba(15, 23, 42, 0.18);
    --radius:22px;
    --radius-sm:14px;
    --gradient-main:linear-gradient(135deg, #2563eb 0%, #14b8a6 25%, #ec4899 50%, #8b5cf6 75%, #ef4444 100%);
    --gradient-soft:linear-gradient(135deg, rgba(37,99,235,0.14), rgba(16,185,129,0.12), rgba(236,72,153,0.14));
}

*{
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    margin:0;
    font-family:'Poppins', Arial, sans-serif;
    line-height:1.65;
    color:var(--text);
    background:
        radial-gradient(circle at top left, rgba(59,130,246,0.14), transparent 30%),
        radial-gradient(circle at bottom right, rgba(236,72,153,0.12), transparent 30%),
        linear-gradient(180deg, #f8fbff 0%, #eef6ff 45%, #fff7fb 100%);
    min-height:100vh;
    overflow-x:hidden;
}

a{
    text-decoration:none;
}

img{
    max-width:100%;
    display:block;
}

.container{
    width:min(92%, 1180px);
    margin:0 auto;
}

.main-content{
    padding:40px 0 70px;
    position:relative;
    z-index:2;
}

.bg-blobs{
    position:fixed;
    inset:0;
    overflow:hidden;
    pointer-events:none;
    z-index:0;
}

.blob{
    position:absolute;
    border-radius:50%;
    filter:blur(50px);
    opacity:.25;
    animation:floatBlob 12s infinite ease-in-out;
}

.blob-1{
    width:260px;
    height:260px;
    background:#3b82f6;
    top:80px;
    left:-60px;
}

.blob-2{
    width:300px;
    height:300px;
    background:#ec4899;
    top:300px;
    right:-90px;
    animation-delay:1.5s;
}

.blob-3{
    width:220px;
    height:220px;
    background:#14b8a6;
    bottom:30px;
    left:25%;
    animation-delay:3s;
}

.site-header{
    position:sticky;
    top:0;
    z-index:1000;
    backdrop-filter:blur(16px);
}

.glass-header{
    background:rgba(8,17,32,.72);
    border-bottom:1px solid rgba(255,255,255,.08);
    box-shadow:0 8px 30px rgba(2,8,23,.18);
}

.nav-shell{
    min-height:82px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
}

.logo{
    display:flex;
    align-items:center;
    gap:10px;
    font-size:1.3rem;
    font-weight:800;
    color:#fff;
    white-space:nowrap;
}

.logo-icon{
    width:46px;
    height:46px;
    border-radius:50%;
    display:grid;
    place-items:center;
    color:#fff;
    background:var(--gradient-main);
    box-shadow:0 10px 25px rgba(236,72,153,.28);
}

.brand-gradient{
    background:var(--gradient-main);
    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
    background-clip:text;
    color:transparent;
}

.desktop-nav{
    display:flex;
    align-items:center;
    gap:8px;
}

.desktop-nav a,
.mobile-menu a{
    color:#fff;
    font-weight:600;
    padding:10px 14px;
    border-radius:999px;
    transition:all .28s ease;
}

.desktop-nav a:hover,
.mobile-menu a:hover,
.active-nav{
    background:rgba(255,255,255,.12);
    color:#fff;
    transform:translateY(-1px);
}

.btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    border:none;
    cursor:pointer;
    padding:14px 22px;
    border-radius:999px;
    font-weight:700;
    font-size:.98rem;
    transition:all .28s ease;
    box-shadow:var(--shadow);
}

.btn:hover{
    transform:translateY(-3px) scale(1.01);
}

.btn-primary,
.btn-nav{
    color:#fff;
    background:var(--gradient-main);
}

.btn-secondary{
    color:#0f172a;
    background:#fff;
    border:1px solid rgba(15,23,42,.08);
}

.btn-large{
    padding:16px 28px;
    font-size:1.05rem;
}

.pulse-btn{
    animation:pulseGlow 2.5s infinite;
}

.desktop-only{
    display:inline-flex;
}

.mobile-only{
    display:none;
}

.hamburger{
    width:52px;
    height:52px;
    border-radius:14px;
    border:1px solid rgba(255,255,255,.16);
    background:rgba(255,255,255,.08);
    display:none;
    flex-direction:column;
    justify-content:center;
    gap:6px;
    padding:0 12px;
}

.hamburger span{
    display:block;
    height:3px;
    width:100%;
    border-radius:999px;
    background:#fff;
    transition:.25s ease;
}

.mobile-menu{
    display:none;
    flex-direction:column;
    gap:8px;
    padding:0 4% 20px;
    background:rgba(8,17,32,.96);
    border-top:1px solid rgba(255,255,255,.08);
}

.mobile-menu.open{
    display:flex;
    animation:slideDown .35s ease;
}

.hero,
.page-hero,
.section-card,
.glass-card,
.contact-box,
.feature-box,
.stat-card,
.mockup-card,
.content-box,
.admin-login-card{
    box-shadow:var(--shadow);
}

.hero{
    display:grid;
    grid-template-columns:1.2fr .8fr;
    gap:34px;
    align-items:center;
    background:rgba(255,255,255,.78);
    border:1px solid rgba(255,255,255,.62);
    border-radius:32px;
    padding:48px;
    margin-bottom:26px;
    backdrop-filter:blur(14px);
}

.hero-title{
    font-size:clamp(2.2rem, 5vw, 4.3rem);
    line-height:1.05;
    margin:10px 0 16px;
    font-weight:800;
    color:#081120;
}

.hero-subtitle{
    font-size:1.08rem;
    color:#334155;
    max-width:720px;
}

.eyebrow{
    display:inline-flex;
    align-items:center;
    gap:8px;
    background:var(--gradient-soft);
    color:#0f172a;
    padding:10px 16px;
    border-radius:999px;
    font-weight:700;
    font-size:.9rem;
}

.hero-actions{
    margin-top:22px;
    display:flex;
    flex-wrap:wrap;
    gap:14px;
}

.hero-badges{
    margin-top:18px;
    display:flex;
    flex-wrap:wrap;
    gap:14px;
    color:#0f172a;
    font-weight:600;
}

.hero-badges span{
    display:flex;
    align-items:center;
    gap:8px;
    background:#fff;
    padding:10px 14px;
    border-radius:999px;
}

.hero-visual{
    display:flex;
    justify-content:center;
}

.mockup-card{
    width:min(100%, 380px);
    min-height:300px;
    background:linear-gradient(180deg, #ffffff 0%, #eef4ff 100%);
    border-radius:30px;
    padding:20px;
    position:relative;
    overflow:hidden;
    border:1px solid rgba(37,99,235,.14);
}

.mockup-top{
    display:flex;
    gap:8px;
    margin-bottom:26px;
}

.mockup-top span{
    width:12px;
    height:12px;
    border-radius:50%;
    background:var(--gradient-main);
}

.mockup-body{
    display:flex;
    align-items:flex-end;
    gap:14px;
    height:200px;
}

.chart-bar{
    flex:1;
    border-radius:18px 18px 10px 10px;
    background:var(--gradient-main);
    animation:growBar 2.2s ease-in-out infinite alternate;
}

.chart-1{height:42%;}
.chart-2{height:65%;}
.chart-3{height:85%;}
.chart-4{height:58%;}
.chart-5{height:92%;}

.floating-card{
    animation:floatCard 4s ease-in-out infinite;
}

.page-hero,
.section-card,
.content-box{
    background:rgba(255,255,255,.82);
    border:1px solid rgba(255,255,255,.7);
    border-radius:28px;
    padding:34px;
    margin-bottom:24px;
    backdrop-filter:blur(12px);
}

.small-hero{
    text-align:center;
}

.center-text{
    text-align:center;
}

.center-actions{
    justify-content:center;
}

.section-heading h2,
.page-hero h1{
    margin-top:0;
    font-size:clamp(1.8rem, 3.2vw, 3rem);
}

.feature-grid{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:18px;
}

.feature-box,
.contact-box,
.stat-card{
    background:linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    border:1px solid rgba(37,99,235,.08);
    border-radius:24px;
    padding:24px;
    transition:all .28s ease;
}

.feature-box:hover,
.contact-box:hover,
.stat-card:hover,
.feature-link:hover{
    transform:translateY(-8px);
    box-shadow:0 24px 40px rgba(37,99,235,.16);
}

.feature-box i,
.contact-box i{
    font-size:2rem;
    margin-bottom:12px;
    background:var(--gradient-main);
    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
}

.feature-box h3,
.contact-box h3{
    margin:8px 0;
}

.two-col{
    display:grid;
    grid-template-columns:1.1fr .9fr;
    gap:20px;
    align-items:start;
}

.mini-stats{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:14px;
}

.stat-card h3{
    margin:0;
    font-size:2rem;
    font-weight:800;
    background:var(--gradient-main);
    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
}

.card{
    background:#fff;
    border-radius:26px;
    padding:28px;
    border:1px solid rgba(37,99,235,.08);
}

.modern-form label{
    display:block;
    margin:16px 0 8px;
    font-weight:700;
    color:#0f172a;
}

.form-grid{
    display:grid;
    grid-template-columns:repeat(2, 1fr);
    gap:18px;
}

.form-card input,
.form-card select,
.form-card textarea{
    width:100%;
    border:1px solid rgba(148,163,184,.35);
    background:linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    color:#0f172a;
    border-radius:16px;
    padding:14px 16px;
    font-size:1rem;
    outline:none;
    transition:all .25s ease;
}

.form-card input:focus,
.form-card select:focus,
.form-card textarea:focus{
    border-color:#2563eb;
    box-shadow:0 0 0 4px rgba(37,99,235,.12);
    transform:translateY(-1px);
}

.form-card textarea{
    min-height:130px;
    resize:vertical;
}

.table-wrap{
    overflow-x:auto;
    border-radius:24px;
    background:rgba(255,255,255,.78);
    border:1px solid rgba(255,255,255,.62);
    padding:14px;
}

table{
    width:100%;
    border-collapse:collapse;
    min-width:760px;
    background:#fff;
    border-radius:18px;
    overflow:hidden;
}

thead{
    background:linear-gradient(90deg, #0f172a, #1d4ed8, #14b8a6, #ec4899);
    color:#fff;
}

th,
td{
    padding:14px 16px;
    text-align:left;
    border-bottom:1px solid rgba(15,23,42,.06);
    font-size:.95rem;
}

tbody tr:hover{
    background:rgba(37,99,235,.05);
}

.contact-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:20px;
}

.success-icon{
    font-size:4.5rem;
    margin-bottom:12px;
    color:#10b981;
    animation:popIn .7s ease;
}

.site-footer{
    position:relative;
    z-index:2;
    color:#fff;
    background:linear-gradient(135deg, #081120 0%, #0f172a 30%, #1d4ed8 100%);
    padding-top:42px;
    margin-top:20px;
}

.footer-grid{
    display:grid;
    grid-template-columns:1.2fr .8fr .8fr;
    gap:28px;
    padding-bottom:20px;
}

.footer-title{
    margin-top:0;
    font-size:2rem;
    font-weight:800;
}

.footer-text,
.footer-links li,
.footer-links a,
.site-footer p,
.site-footer h4{
    color:#e2e8f0;
}

.footer-links{
    list-style:none;
    padding:0;
    margin:0;
}

.footer-links li{
    margin:10px 0;
}

.footer-links a:hover{
    color:#fff;
}

.footer-bottom{
    border-top:1px solid rgba(255,255,255,.1);
    padding:14px 0 24px;
    text-align:center;
}

.admin-body{
    background:
        radial-gradient(circle at top left, rgba(59,130,246,0.14), transparent 30%),
        radial-gradient(circle at bottom right, rgba(236,72,153,0.12), transparent 30%),
        linear-gradient(180deg, #eff6ff 0%, #fdf2f8 100%);
    min-height:100vh;
    font-family:'Poppins', Arial, sans-serif;
}

.admin-login-wrap{
    min-height:100vh;
    display:grid;
    place-items:center;
    padding:24px;
}

.admin-login-card{
    width:min(100%, 500px);
    background:rgba(255,255,255,.88);
    border:1px solid rgba(255,255,255,.72);
    border-radius:30px;
    padding:34px;
    text-align:center;
    backdrop-filter:blur(14px);
}

.admin-login-icon{
    width:84px;
    height:84px;
    margin:0 auto 16px;
    border-radius:50%;
    display:grid;
    place-items:center;
    font-size:2rem;
    color:#fff;
    background:var(--gradient-main);
}

.alert-error{
    margin:14px 0;
    padding:12px 16px;
    border-radius:14px;
    background:#fee2e2;
    color:#991b1b;
    font-weight:600;
}

.admin-panel{
    padding:40px 0 60px;
}

.admin-topbar{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:14px;
    flex-wrap:wrap;
    margin-bottom:20px;
}

.admin-actions{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
}

.welcome-text{
    font-size:1.06rem;
}

.feature-link{
    color:inherit;
    display:block;
}

.fade-in-page{
    animation:fadeInUp .7s ease;
}

/* Animations */
@keyframes floatBlob{
    0%,100%{transform:translateY(0) scale(1);}
    50%{transform:translateY(-18px) scale(1.04);}
}

@keyframes floatCard{
    0%,100%{transform:translateY(0);}
    50%{transform:translateY(-10px);}
}

@keyframes growBar{
    0%{filter:saturate(1);}
    100%{filter:saturate(1.2) brightness(1.05);}
}

@keyframes slideDown{
    from{opacity:0; transform:translateY(-10px);}
    to{opacity:1; transform:translateY(0);}
}

@keyframes fadeInUp{
    from{opacity:0; transform:translateY(18px);}
    to{opacity:1; transform:translateY(0);}
}

@keyframes pulseGlow{
    0%,100%{box-shadow:0 0 0 0 rgba(236,72,153,.22), var(--shadow);}
    50%{box-shadow:0 0 0 14px rgba(236,72,153,0), var(--shadow);}
}

@keyframes popIn{
    from{opacity:0; transform:scale(.7);}
    to{opacity:1; transform:scale(1);}
}

/* Responsive */
@media (max-width: 992px){
    .hero{
        grid-template-columns:1fr;
        padding:34px;
    }

    .feature-grid{
        grid-template-columns:repeat(2, 1fr);
    }

    .contact-grid{
        grid-template-columns:1fr;
    }

    .two-col{
        grid-template-columns:1fr;
    }

    .mini-stats{
        grid-template-columns:repeat(3, 1fr);
    }

    .footer-grid{
        grid-template-columns:1fr 1fr;
    }
}

@media (max-width: 768px){
    .desktop-nav,
    .desktop-only{
        display:none;
    }

    .mobile-only{
        display:block;
    }

    .hamburger{
        display:flex;
    }

    .nav-shell{
        min-height:76px;
    }

    .main-content{
        padding:28px 0 60px;
    }

    .hero,
    .page-hero,
    .section-card,
    .content-box{
        padding:24px;
        border-radius:24px;
    }

    .hero-title{
        font-size:2.3rem;
    }

    .form-grid,
    .feature-grid,
    .mini-stats,
    .footer-grid{
        grid-template-columns:1fr;
    }

    .hero-actions{
        flex-direction:column;
        align-items:stretch;
    }

    .btn{
        width:100%;
    }

    .hero-badges{
        flex-direction:column;
        align-items:flex-start;
    }
}

.wizard-shell {
    padding: 32px;
}

.wizard-progress-wrap {
    margin-bottom: 24px;
}

.wizard-progress-bar {
    width: 100%;
    height: 14px;
    background: rgba(148,163,184,0.20);
    border-radius: 999px;
    overflow: hidden;
    margin-bottom: 14px;
}

.wizard-progress-fill {
    height: 100%;
    width: 25%;
    border-radius: 999px;
    background: linear-gradient(90deg, #2563eb, #14b8a6, #ec4899, #ef4444);
    transition: width 0.4s ease;
}

.wizard-steps-labels {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
}

.wizard-label {
    text-align: center;
    padding: 10px 12px;
    border-radius: 999px;
    font-weight: 700;
    font-size: 0.92rem;
    background: rgba(255,255,255,0.70);
    color: #64748b;
    border: 1px solid rgba(148,163,184,0.18);
}

.wizard-label.active,
.wizard-label.done {
    color: #fff;
    background: linear-gradient(90deg, #2563eb, #14b8a6, #ec4899);
}

.wizard-step {
    display: none;
    animation: fadeWizard 0.35s ease;
}

.wizard-step.active {
    display: block;
}

.step-intro {
    margin-bottom: 18px;
}

.step-intro h2 {
    margin-bottom: 6px;
}

.wizard-actions {
    display: flex;
    justify-content: flex-end;
    margin-top: 24px;
}

.wizard-actions-split {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    flex-wrap: wrap;
}

.section-mini-title {
    display: block;
    margin: 20px 0 10px;
    font-weight: 800;
    color: #0f172a;
}

.checkbox-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
    margin: 12px 0 20px;
}

.checkbox-card {
    display: flex;
    align-items: center;
    gap: 14px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    padding: 18px;
    border-radius: 18px;
    border: 1px solid rgba(37,99,235,0.08);
    cursor: pointer;
    transition: all 0.28s ease;
    font-weight: 700;
}

.checkbox-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 28px rgba(37,99,235,0.14);
}

.checkbox-card input {
    accent-color: #2563eb;
    transform: scale(1.2);
}

.checkbox-icon {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: #fff;
    background: linear-gradient(135deg, #2563eb, #14b8a6, #ec4899);
    flex-shrink: 0;
}

.field-help {
    display: block;
    margin-top: 8px;
    color: #64748b;
    font-size: 0.88rem;
}

.file-preview-list {
    display: grid;
    gap: 12px;
    margin-top: 16px;
}

.file-preview-item {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 16px;
    border-radius: 16px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    border: 1px solid rgba(37,99,235,0.08);
}

.file-preview-icon {
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: #fff;
    background: linear-gradient(135deg, #2563eb, #14b8a6, #ec4899);
}

.file-preview-content {
    display: flex;
    flex-direction: column;
}

.file-preview-content span {
    color: #64748b;
    font-size: 0.9rem;
}

.submit-note-box {
    margin-top: 22px;
    display: flex;
    gap: 16px;
    align-items: flex-start;
    padding: 20px;
    border-radius: 22px;
    background: linear-gradient(135deg, rgba(37,99,235,0.10), rgba(20,184,166,0.10), rgba(236,72,153,0.10));
    border: 1px solid rgba(37,99,235,0.10);
}

.submit-note-icon {
    width: 54px;
    height: 54px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    color: #fff;
    background: linear-gradient(135deg, #2563eb, #14b8a6, #ec4899);
    flex-shrink: 0;
}

.required-star {
    color: #ef4444;
}

.iti {
    width: 100%;
}

.iti__country-list {
    color: #111827;
}

@keyframes fadeWizard {
    from {
        opacity: 0;
        transform: translateY(14px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 768px) {
    .wizard-steps-labels {
        grid-template-columns: 1fr 1fr;
    }

    .checkbox-grid {
        grid-template-columns: 1fr;
    }

    .wizard-actions,
    .wizard-actions-split {
        flex-direction: column;
    }

    .wizard-actions .btn-main,
    .wizard-actions-split .btn-main,
    .wizard-actions-split .btn-secondary {
        width: 100%;
    }

    .submit-note-box {
        flex-direction: column;
    }
}

/* =========================================================
   THANK YOU PAGE
========================================================= */
.thank-you-hero {
    position: relative;
    padding: 70px 20px 30px;
    overflow: hidden;
}

.thank-you-bg-shape {
    position: absolute;
    border-radius: 999px;
    filter: blur(60px);
    opacity: 0.35;
    z-index: 0;
    animation: thankFloat 8s ease-in-out infinite;
}

.shape-one {
    width: 220px;
    height: 220px;
    background: #2563eb;
    top: 20px;
    left: -40px;
}

.shape-two {
    width: 250px;
    height: 250px;
    background: #ec4899;
    top: 120px;
    right: -60px;
    animation-delay: 1s;
}

.shape-three {
    width: 200px;
    height: 200px;
    background: #14b8a6;
    bottom: 0;
    left: 40%;
    animation-delay: 2s;
}

.thank-you-card {
    position: relative;
    z-index: 1;
    max-width: 1100px;
    margin: 0 auto;
    text-align: center;
    padding: 40px 28px;
    border-radius: 32px;
    background: rgba(255,255,255,0.82);
    backdrop-filter: blur(14px);
    box-shadow: 0 20px 50px rgba(0,0,0,0.10);
    border: 1px solid rgba(255,255,255,0.75);
}

.success-badge {
    width: 110px;
    height: 110px;
    margin: 0 auto 20px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    font-size: 54px;
    color: #fff;
    background: linear-gradient(135deg, #2563eb, #14b8a6, #ec4899, #ef4444);
    box-shadow: 0 18px 40px rgba(37,99,235,0.25);
    animation: popPulse 2.8s infinite;
}

.big-gradient-title {
    font-size: clamp(2.5rem, 6vw, 4.6rem);
    font-weight: 800;
    margin: 14px 0 16px;
}

.thank-you-text {
    max-width: 820px;
    margin: 0 auto 28px;
    font-size: 1.08rem;
    color: #334155;
}

.thank-you-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
    margin: 30px 0;
}

.thank-stat {
    padding: 24px;
    border-radius: 24px;
    background: linear-gradient(180deg, rgba(255,255,255,1), rgba(248,250,252,0.95));
    box-shadow: 0 10px 28px rgba(15,23,42,0.08);
    border: 1px solid rgba(37,99,235,0.08);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.thank-stat:hover {
    transform: translateY(-8px);
    box-shadow: 0 16px 36px rgba(37,99,235,0.15);
}

.thank-stat i {
    font-size: 34px;
    margin-bottom: 10px;
    background: linear-gradient(90deg, #2563eb, #14b8a6, #ec4899);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.thank-stat h3 {
    margin: 8px 0;
    font-size: 1.2rem;
}

.thank-you-actions {
    display: flex;
    justify-content: center;
    gap: 16px;
    flex-wrap: wrap;
    margin-top: 20px;
}

.big-btn {
    padding: 16px 24px;
    font-size: 1rem;
}

.center-heading {
    text-align: center;
}

.timeline-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-top: 20px;
}

.timeline-card {
    padding: 26px;
    border-radius: 24px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    box-shadow: 0 12px 28px rgba(15,23,42,0.08);
    border: 1px solid rgba(37,99,235,0.08);
    text-align: center;
    transition: transform 0.28s ease, box-shadow 0.28s ease;
}

.timeline-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 18px 34px rgba(37,99,235,0.14);
}

.timeline-icon {
    width: 76px;
    height: 76px;
    margin: 0 auto 16px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    color: #fff;
    font-size: 30px;
    background: linear-gradient(135deg, #2563eb, #14b8a6, #ec4899);
}

/* =========================================================
   ADMIN SUBMISSIONS PAGE
========================================================= */
.admin-wrapper {
    max-width: 1320px;
    margin: 0 auto;
    padding: 28px 18px 50px;
    position: relative;
    z-index: 1;
}

.admin-bg-orb {
    position: fixed;
    border-radius: 50%;
    filter: blur(70px);
    opacity: 0.24;
    z-index: 0;
    pointer-events: none;
}

.orb-a {
    width: 260px;
    height: 260px;
    background: #2563eb;
    top: 30px;
    left: -50px;
}

.orb-b {
    width: 280px;
    height: 280px;
    background: #ec4899;
    top: 220px;
    right: -70px;
}

.orb-c {
    width: 220px;
    height: 220px;
    background: #14b8a6;
    bottom: 20px;
    left: 30%;
}

.enhanced-admin-topbar {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: center;
    flex-wrap: wrap;
    margin-bottom: 24px;
    padding: 26px;
    border-radius: 28px;
    background: rgba(255,255,255,0.84);
    backdrop-filter: blur(12px);
    box-shadow: 0 18px 36px rgba(15,23,42,0.10);
    border: 1px solid rgba(255,255,255,0.75);
}

.admin-title-wrap {
    display: flex;
    align-items: flex-start;
    gap: 18px;
}

.admin-title-icon {
    width: 78px;
    height: 78px;
    border-radius: 24px;
    display: grid;
    place-items: center;
    color: #fff;
    font-size: 32px;
    background: linear-gradient(135deg, #2563eb, #14b8a6, #ec4899, #ef4444);
    box-shadow: 0 14px 34px rgba(37,99,235,0.20);
    flex-shrink: 0;
}

.dark-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(37,99,235,0.10), rgba(20,184,166,0.10), rgba(236,72,153,0.10));
    color: #0f172a;
    font-weight: 700;
    margin-bottom: 10px;
}

.admin-title-main {
    margin: 0 0 8px;
    font-size: clamp(2rem, 4vw, 3.3rem);
    font-weight: 800;
}

.admin-subtitle {
    margin: 0;
    color: #475569;
    max-width: 760px;
}

.admin-top-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.admin-btn {
    min-width: 150px;
    justify-content: center;
}

.admin-summary-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
    margin-bottom: 24px;
}

.admin-summary-card {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 22px;
    border-radius: 24px;
    background: rgba(255,255,255,0.84);
    backdrop-filter: blur(12px);
    box-shadow: 0 14px 30px rgba(15,23,42,0.08);
    border: 1px solid rgba(255,255,255,0.75);
}

.summary-icon {
    width: 66px;
    height: 66px;
    border-radius: 20px;
    display: grid;
    place-items: center;
    color: #fff;
    font-size: 26px;
    flex-shrink: 0;
}

.summary-blue {
    background: linear-gradient(135deg, #2563eb, #60a5fa);
}

.summary-pink {
    background: linear-gradient(135deg, #ec4899, #f472b6);
}

.summary-green {
    background: linear-gradient(135deg, #10b981, #2dd4bf);
}

.summary-label {
    display: block;
    color: #64748b;
    font-size: 0.92rem;
    margin-bottom: 4px;
}

.admin-summary-card h3 {
    margin: 0;
    font-size: 2rem;
    font-weight: 800;
    color: #0f172a;
}

.admin-content-card {
    padding: 28px;
    border-radius: 30px;
    background: rgba(255,255,255,0.84);
    backdrop-filter: blur(12px);
    box-shadow: 0 18px 40px rgba(15,23,42,0.10);
    border: 1px solid rgba(255,255,255,0.75);
}

.admin-section-head {
    margin-bottom: 22px;
}

.admin-section-head h2 {
    margin: 0 0 8px;
    font-size: 1.9rem;
}

.admin-section-head p {
    margin: 0;
    color: #64748b;
}

.empty-state-card {
    text-align: center;
    padding: 50px 20px;
    border-radius: 24px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    border: 1px solid rgba(37,99,235,0.08);
}

.empty-state-icon {
    width: 90px;
    height: 90px;
    margin: 0 auto 18px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    color: #fff;
    font-size: 38px;
    background: linear-gradient(135deg, #2563eb, #14b8a6, #ec4899);
}

.submission-cards-wrap {
    display: grid;
    gap: 22px;
}

.glassy-card {
    padding: 24px;
    border-radius: 28px;
    background: linear-gradient(180deg, rgba(255,255,255,0.96), rgba(248,250,252,0.92));
    box-shadow: 0 16px 34px rgba(15,23,42,0.08);
    border: 1px solid rgba(37,99,235,0.08);
}

.submission-card-header {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-bottom: 16px;
}

.submission-avatar {
    width: 66px;
    height: 66px;
    border-radius: 20px;
    display: grid;
    place-items: center;
    color: #fff;
    font-size: 28px;
    background: linear-gradient(135deg, #2563eb, #14b8a6, #ec4899, #ef4444);
    box-shadow: 0 12px 28px rgba(37,99,235,0.18);
    flex-shrink: 0;
}

.submission-main-info {
    flex: 1;
    min-width: 220px;
}

.submission-main-info h3 {
    margin: 0 0 6px;
    font-size: 1.45rem;
    color: #0f172a;
}

.submission-email,
.submission-date {
    margin: 4px 0;
    color: #475569;
}

.submission-id-badge {
    padding: 10px 16px;
    border-radius: 999px;
    font-weight: 800;
    color: #fff;
    background: linear-gradient(90deg, #2563eb, #14b8a6, #ec4899);
}

.submission-chip-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 18px;
}

.info-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    border-radius: 999px;
    font-weight: 700;
    font-size: 0.92rem;
    color: #fff;
}

.chip-blue {
    background: linear-gradient(90deg, #2563eb, #60a5fa);
}

.chip-teal {
    background: linear-gradient(90deg, #0f766e, #14b8a6);
}

.chip-pink {
    background: linear-gradient(90deg, #db2777, #ec4899);
}

.chip-red {
    background: linear-gradient(90deg, #dc2626, #ef4444);
}

.submission-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin-bottom: 18px;
}

.submission-block {
    padding: 18px;
    border-radius: 20px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    border: 1px solid rgba(37,99,235,0.08);
}

.submission-block h4,
.submission-detail-box h4,
.submission-files-area h4 {
    margin: 0 0 10px;
    color: #0f172a;
    font-size: 1rem;
}

.submission-block p,
.submission-detail-box p {
    margin: 0;
    color: #475569;
    word-break: break-word;
}

.submission-details-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
    margin-bottom: 20px;
}

.submission-detail-box {
    padding: 20px;
    border-radius: 22px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    border: 1px solid rgba(37,99,235,0.08);
    min-height: 130px;
}

.submission-files-area {
    padding: 20px;
    border-radius: 22px;
    background: linear-gradient(135deg, rgba(37,99,235,0.06), rgba(20,184,166,0.06), rgba(236,72,153,0.06));
    border: 1px solid rgba(37,99,235,0.08);
}

.submission-files-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
    margin-top: 14px;
}

.submission-file-card {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px;
    border-radius: 18px;
    background: rgba(255,255,255,0.94);
    text-decoration: none;
    color: inherit;
    box-shadow: 0 10px 24px rgba(15,23,42,0.07);
    border: 1px solid rgba(37,99,235,0.08);
    transition: transform 0.28s ease, box-shadow 0.28s ease;
}

.submission-file-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 30px rgba(37,99,235,0.14);
}

.submission-file-icon {
    width: 52px;
    height: 52px;
    border-radius: 16px;
    display: grid;
    place-items: center;
    color: #fff;
    background: linear-gradient(135deg, #2563eb, #14b8a6, #ec4899);
    flex-shrink: 0;
    font-size: 22px;
}

.submission-file-content {
    flex: 1;
    min-width: 0;
}

.submission-file-content strong {
    display: block;
    color: #0f172a;
    word-break: break-word;
}

.submission-file-content span {
    display: block;
    margin-top: 4px;
    font-size: 0.9rem;
    color: #64748b;
    word-break: break-word;
}

.submission-file-arrow {
    color: #2563eb;
    font-size: 18px;
}

.muted-text {
    color: #64748b;
}

/* =========================================================
   ANIMATIONS
========================================================= */
@keyframes thankFloat {
    0%, 100% {
        transform: translateY(0px) scale(1);
    }
    50% {
        transform: translateY(-18px) scale(1.05);
    }
}

@keyframes popPulse {
    0%, 100% {
        transform: scale(1);
        box-shadow: 0 18px 40px rgba(37,99,235,0.25);
    }
    50% {
        transform: scale(1.06);
        box-shadow: 0 22px 48px rgba(236,72,153,0.25);
    }
}

/* =========================================================
   RESPONSIVE
========================================================= */
@media (max-width: 1100px) {
    .submission-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .submission-details-grid {
        grid-template-columns: 1fr;
    }

    .submission-files-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 900px) {
    .thank-you-stats,
    .timeline-grid,
    .admin-summary-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .thank-you-card {
        padding: 28px 18px;
        border-radius: 24px;
    }

    .enhanced-admin-topbar,
    .admin-content-card {
        padding: 20px;
        border-radius: 24px;
    }

    .admin-title-wrap {
        flex-direction: column;
    }

    .admin-title-icon {
        width: 68px;
        height: 68px;
        font-size: 28px;
    }

    .submission-card-header {
        flex-direction: column;
        align-items: flex-start;
    }

    .submission-grid {
        grid-template-columns: 1fr;
    }

    .thank-you-actions,
    .admin-top-actions {
        flex-direction: column;
        width: 100%;
    }

    .thank-you-actions a,
    .admin-top-actions a {
        width: 100%;
        justify-content: center;
    }
}
/* =========================================================
   BRIGHT HEADER / NOT BLACK
========================================================= */
.bright-body {
    background:
        radial-gradient(circle at top left, rgba(59,130,246,0.16), transparent 28%),
        radial-gradient(circle at top right, rgba(236,72,153,0.14), transparent 28%),
        radial-gradient(circle at bottom center, rgba(20,184,166,0.14), transparent 30%),
        linear-gradient(180deg, #f7fbff 0%, #eef7ff 42%, #fff4fb 100%);
    min-height: 100vh;
    font-family: 'Poppins', sans-serif;
    color: #1e293b;
    overflow-x: hidden;
}

.header-color-clouds {
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    overflow: hidden;
}

.cloud {
    position: absolute;
    border-radius: 999px;
    filter: blur(60px);
    opacity: 0.30;
    animation: cloudFloat 10s ease-in-out infinite;
}

.cloud-a {
    width: 220px;
    height: 220px;
    background: #3b82f6;
    top: 40px;
    left: -40px;
}

.cloud-b {
    width: 260px;
    height: 260px;
    background: #14b8a6;
    top: 110px;
    right: -70px;
    animation-delay: 1s;
}

.cloud-c {
    width: 220px;
    height: 220px;
    background: #ec4899;
    bottom: 30px;
    left: 22%;
    animation-delay: 2s;
}

.cloud-d {
    width: 180px;
    height: 180px;
    background: #ef4444;
    bottom: 90px;
    right: 18%;
    animation-delay: 3s;
}

.site-header {
    position: sticky;
    top: 0;
    z-index: 1000;
}

.bright-glass-header {
    background: rgba(255, 255, 255, 0.72);
    backdrop-filter: blur(18px);
    border-bottom: 1px solid rgba(255,255,255,0.85);
    box-shadow: 0 12px 30px rgba(37,99,235,0.10);
}

.nav-shell {
    min-height: 86px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.logo-bright {
    display: flex;
    align-items: center;
    gap: 12px;
    text-decoration: none;
    min-width: 0;
}

.logo-icon-bright {
    width: 52px;
    height: 52px;
    border-radius: 18px;
    display: grid;
    place-items: center;
    color: #fff;
    font-size: 1.25rem;
    background: linear-gradient(135deg, #2563eb 0%, #14b8a6 35%, #ec4899 70%, #ef4444 100%);
    box-shadow: 0 14px 30px rgba(37,99,235,0.22);
    animation: softPulse 3.2s ease-in-out infinite;
    flex-shrink: 0;
}

.logo-text-wrap {
    display: flex;
    flex-direction: column;
    line-height: 1.05;
}

.logo-text-main {
    font-size: 1.45rem;
    font-weight: 800;
    letter-spacing: 0.2px;
    background: linear-gradient(135deg, #2563eb 0%, #14b8a6 35%, #ec4899 70%, #ef4444 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    color: transparent;
}

.logo-text-sub {
    font-size: 0.76rem;
    font-weight: 600;
    color: #64748b;
    margin-top: 2px;
}

.bright-desktop-nav {
    display: flex;
    align-items: center;
    gap: 8px;
}

.bright-desktop-nav a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #334155;
    text-decoration: none;
    font-weight: 700;
    padding: 12px 16px;
    border-radius: 999px;
    transition: all 0.28s ease;
    position: relative;
}

.bright-desktop-nav a:hover {
    transform: translateY(-2px);
    background: linear-gradient(135deg, rgba(37,99,235,0.10), rgba(20,184,166,0.10), rgba(236,72,153,0.10));
    color: #0f172a;
}

.bright-desktop-nav a.active-nav {
    background: linear-gradient(135deg, #2563eb 0%, #14b8a6 35%, #ec4899 70%, #ef4444 100%);
    color: #fff;
    box-shadow: 0 12px 22px rgba(37,99,235,0.20);
}

.nav-cta-wrap {
    display: inline-flex;
}

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border: none;
    cursor: pointer;
    padding: 14px 22px;
    border-radius: 999px;
    font-weight: 800;
    text-decoration: none;
    transition: all 0.30s ease;
}

.btn-bright {
    color: #fff;
    background: linear-gradient(135deg, #2563eb 0%, #14b8a6 35%, #ec4899 70%, #ef4444 100%);
    box-shadow: 0 14px 28px rgba(236,72,153,0.18);
}

.btn-bright:hover {
    transform: translateY(-3px) scale(1.01);
    box-shadow: 0 18px 34px rgba(37,99,235,0.22);
}

.desktop-only {
    display: inline-flex;
}

.mobile-only {
    display: none;
}

.hamburger-bright {
    width: 54px;
    height: 54px;
    border-radius: 16px;
    border: 1px solid rgba(255,255,255,0.95);
    background: linear-gradient(135deg, rgba(37,99,235,0.12), rgba(20,184,166,0.12), rgba(236,72,153,0.12));
    box-shadow: 0 10px 24px rgba(37,99,235,0.10);
    display: none;
    flex-direction: column;
    justify-content: center;
    gap: 6px;
    padding: 0 12px;
}

.hamburger-bright span {
    display: block;
    width: 100%;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(90deg, #2563eb, #14b8a6, #ec4899, #ef4444);
}

.bright-mobile-menu {
    display: none;
    flex-direction: column;
    gap: 10px;
    padding: 0 4% 20px;
    background: rgba(255,255,255,0.90);
    backdrop-filter: blur(16px);
    border-top: 1px solid rgba(255,255,255,0.85);
}

.bright-mobile-menu a {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #334155;
    text-decoration: none;
    font-weight: 700;
    padding: 14px 16px;
    border-radius: 18px;
    transition: all 0.28s ease;
    background: rgba(255,255,255,0.72);
    box-shadow: 0 8px 18px rgba(37,99,235,0.06);
}

.bright-mobile-menu a:hover {
    transform: translateY(-2px);
    background: linear-gradient(135deg, rgba(37,99,235,0.12), rgba(20,184,166,0.12), rgba(236,72,153,0.12));
    color: #0f172a;
}

.bright-mobile-menu a.active-nav {
    color: #fff;
    background: linear-gradient(135deg, #2563eb 0%, #14b8a6 35%, #ec4899 70%, #ef4444 100%);
}

.bright-mobile-menu.open {
    display: flex;
    animation: mobileMenuSlide 0.35s ease;
}

.mobile-menu-cta-bright {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-top: 4px;
    padding: 15px 18px;
    border-radius: 999px;
    color: #fff !important;
    font-weight: 800;
    background: linear-gradient(135deg, #2563eb 0%, #14b8a6 35%, #ec4899 70%, #ef4444 100%) !important;
    box-shadow: 0 14px 28px rgba(236,72,153,0.18);
}

.main-content {
    position: relative;
    z-index: 2;
    padding: 40px 0 70px;
}

.fade-in-page {
    animation: fadeInSoft 0.7s ease;
}

@keyframes cloudFloat {
    0%, 100% {
        transform: translateY(0) scale(1);
    }
    50% {
        transform: translateY(-16px) scale(1.05);
    }
}

@keyframes softPulse {
    0%, 100% {
        transform: scale(1);
        box-shadow: 0 14px 30px rgba(37,99,235,0.22);
    }
    50% {
        transform: scale(1.04);
        box-shadow: 0 18px 36px rgba(236,72,153,0.22);
    }
}

@keyframes mobileMenuSlide {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeInSoft {
    from {
        opacity: 0;
        transform: translateY(16px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 992px) {
    .bright-desktop-nav a span {
        display: none;
    }

    .bright-desktop-nav a {
        padding: 12px 13px;
    }
}

@media (max-width: 768px) {
    .bright-desktop-nav,
    .desktop-only {
        display: none;
    }

    .mobile-only {
        display: block;
    }

    .hamburger-bright {
        display: flex;
    }

    .nav-shell {
        min-height: 78px;
    }

    .logo-text-main {
        font-size: 1.2rem;
    }

    .logo-text-sub {
        font-size: 0.68rem;
    }
}/* ===== BRIGHT HEADER FIX ===== */

.bright-body {
    background:
        radial-gradient(circle at top left, rgba(59,130,246,0.16), transparent 28%),
        radial-gradient(circle at top right, rgba(236,72,153,0.14), transparent 28%),
        radial-gradient(circle at bottom center, rgba(20,184,166,0.14), transparent 30%),
        linear-gradient(180deg, #f7fbff 0%, #eef7ff 42%, #fff4fb 100%);
    min-height: 100vh;
    font-family: 'Poppins', sans-serif;
    color: #1e293b;
    overflow-x: hidden;
}

.header-color-clouds {
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    overflow: hidden;
}

.cloud {
    position: absolute;
    border-radius: 999px;
    filter: blur(60px);
    opacity: 0.30;
    animation: cloudFloat 10s ease-in-out infinite;
}

.cloud-a {
    width: 220px;
    height: 220px;
    background: #3b82f6;
    top: 40px;
    left: -40px;
}

.cloud-b {
    width: 260px;
    height: 260px;
    background: #14b8a6;
    top: 110px;
    right: -70px;
    animation-delay: 1s;
}

.cloud-c {
    width: 220px;
    height: 220px;
    background: #ec4899;
    bottom: 30px;
    left: 22%;
    animation-delay: 2s;
}

.cloud-d {
    width: 180px;
    height: 180px;
    background: #ef4444;
    bottom: 90px;
    right: 18%;
    animation-delay: 3s;
}

.site-header.bright-glass-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    background: rgba(255, 255, 255, 0.78);
    backdrop-filter: blur(18px);
    border-bottom: 1px solid rgba(255,255,255,0.92);
    box-shadow: 0 12px 30px rgba(37,99,235,0.10);
}

.nav-shell {
    min-height: 86px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    position: relative;
    z-index: 2;
}

.logo-bright {
    display: flex;
    align-items: center;
    gap: 12px;
    text-decoration: none;
    min-width: 0;
}

.logo-icon-bright {
    width: 52px;
    height: 52px;
    border-radius: 18px;
    display: grid;
    place-items: center;
    color: #fff;
    font-size: 1.25rem;
    background: linear-gradient(135deg, #2563eb 0%, #14b8a6 35%, #ec4899 70%, #ef4444 100%);
    box-shadow: 0 14px 30px rgba(37,99,235,0.22);
    animation: softPulse 3.2s ease-in-out infinite;
    flex-shrink: 0;
}

.logo-text-wrap {
    display: flex;
    flex-direction: column;
    line-height: 1.05;
}

.logo-text-main {
    font-size: 1.45rem;
    font-weight: 800;
    letter-spacing: 0.2px;
    background: linear-gradient(135deg, #2563eb 0%, #14b8a6 35%, #ec4899 70%, #ef4444 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    color: transparent;
}

.logo-text-sub {
    font-size: 0.76rem;
    font-weight: 600;
    color: #64748b;
    margin-top: 2px;
}

.bright-desktop-nav {
    display: flex;
    align-items: center;
    gap: 8px;
}

.bright-desktop-nav a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #334155 !important;
    text-decoration: none;
    font-weight: 700;
    padding: 12px 16px;
    border-radius: 999px;
    transition: all 0.28s ease;
    background: transparent;
}

.bright-desktop-nav a i {
    color: #475569 !important;
}

.bright-desktop-nav a:hover {
    transform: translateY(-2px);
    background: linear-gradient(135deg, rgba(37,99,235,0.10), rgba(20,184,166,0.10), rgba(236,72,153,0.10));
    color: #0f172a !important;
}

.bright-desktop-nav a:hover i {
    color: #0f172a !important;
}

.bright-desktop-nav a.active-nav {
    background: linear-gradient(135deg, #2563eb 0%, #14b8a6 35%, #ec4899 70%, #ef4444 100%);
    color: #ffffff !important;
    box-shadow: 0 12px 22px rgba(37,99,235,0.20);
}

.bright-desktop-nav a.active-nav i {
    color: #ffffff !important;
}

.nav-cta-wrap {
    display: inline-flex;
}

.btn-bright {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 14px 22px;
    border-radius: 999px;
    text-decoration: none;
    font-weight: 800;
    color: #ffffff !important;
    background: linear-gradient(135deg, #2563eb 0%, #14b8a6 35%, #ec4899 70%, #ef4444 100%);
    box-shadow: 0 14px 28px rgba(236,72,153,0.18);
    transition: all 0.30s ease;
}

.btn-bright:hover {
    transform: translateY(-3px) scale(1.01);
    box-shadow: 0 18px 34px rgba(37,99,235,0.22);
}

.desktop-only {
    display: inline-flex;
}

.mobile-only {
    display: none;
}

.hamburger-bright {
    width: 54px;
    height: 54px;
    border-radius: 16px;
    border: 1px solid rgba(255,255,255,0.95);
    background: linear-gradient(135deg, rgba(37,99,235,0.12), rgba(20,184,166,0.12), rgba(236,72,153,0.12));
    box-shadow: 0 10px 24px rgba(37,99,235,0.10);
    display: none;
    flex-direction: column;
    justify-content: center;
    gap: 6px;
    padding: 0 12px;
}

.hamburger-bright span {
    display: block;
    width: 100%;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(90deg, #2563eb, #14b8a6, #ec4899, #ef4444);
}

.bright-mobile-menu {
    display: none;
    flex-direction: column;
    gap: 10px;
    padding: 0 4% 20px;
    background: rgba(255,255,255,0.92);
    backdrop-filter: blur(16px);
    border-top: 1px solid rgba(255,255,255,0.85);
}

.bright-mobile-menu a {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #334155 !important;
    text-decoration: none;
    font-weight: 700;
    padding: 14px 16px;
    border-radius: 18px;
    transition: all 0.28s ease;
    background: rgba(255,255,255,0.72);
    box-shadow: 0 8px 18px rgba(37,99,235,0.06);
}

.bright-mobile-menu a i {
    color: #475569 !important;
}

.bright-mobile-menu a:hover {
    transform: translateY(-2px);
    background: linear-gradient(135deg, rgba(37,99,235,0.12), rgba(20,184,166,0.12), rgba(236,72,153,0.12));
    color: #0f172a !important;
}

.bright-mobile-menu a:hover i {
    color: #0f172a !important;
}

.bright-mobile-menu a.active-nav {
    color: #ffffff !important;
    background: linear-gradient(135deg, #2563eb 0%, #14b8a6 35%, #ec4899 70%, #ef4444 100%);
}

.bright-mobile-menu a.active-nav i {
    color: #ffffff !important;
}

.bright-mobile-menu.open {
    display: flex;
    animation: mobileMenuSlide 0.35s ease;
}

.mobile-menu-cta-bright {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-top: 4px;
    padding: 15px 18px;
    border-radius: 999px;
    color: #ffffff !important;
    font-weight: 800;
    background: linear-gradient(135deg, #2563eb 0%, #14b8a6 35%, #ec4899 70%, #ef4444 100%) !important;
    box-shadow: 0 14px 28px rgba(236,72,153,0.18);
}

.main-content {
    position: relative;
    z-index: 2;
    padding: 40px 0 70px;
}

.fade-in-page {
    animation: fadeInSoft 0.7s ease;
}

@keyframes cloudFloat {
    0%, 100% {
        transform: translateY(0) scale(1);
    }
    50% {
        transform: translateY(-16px) scale(1.05);
    }
}

@keyframes softPulse {
    0%, 100% {
        transform: scale(1);
        box-shadow: 0 14px 30px rgba(37,99,235,0.22);
    }
    50% {
        transform: scale(1.04);
        box-shadow: 0 18px 36px rgba(236,72,153,0.22);
    }
}

@keyframes mobileMenuSlide {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeInSoft {
    from {
        opacity: 0;
        transform: translateY(16px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 992px) {
    .bright-desktop-nav a span {
        display: none;
    }

    .bright-desktop-nav a {
        padding: 12px 13px;
    }
}

@media (max-width: 768px) {
    .bright-desktop-nav,
    .desktop-only {
        display: none;
    }

    .mobile-only {
        display: block;
    }

    .hamburger-bright {
        display: flex;
    }

    .nav-shell {
        min-height: 78px;
    }

    .logo-text-main {
        font-size: 1.2rem;
    }

    .logo-text-sub {
        font-size: 0.68rem;
    }
}


/* =========================================================
   QUESTIONNAIRE BUTTON UPGRADE
========================================================= */

/* Shared premium button look */
.btn-main,
.btn-secondary,
.wizard-next,
.wizard-prev,
.btn-submit-final {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 56px;
    padding: 14px 28px;
    border: none;
    border-radius: 999px;
    font-weight: 800;
    font-size: 1rem;
    line-height: 1;
    text-decoration: none;
    cursor: pointer;
    transition:
        transform 0.28s ease,
        box-shadow 0.28s ease,
        filter 0.28s ease,
        background 0.28s ease,
        color 0.28s ease;
    position: relative;
    overflow: hidden;
    letter-spacing: 0.2px;
}

/* glossy light sweep */
.btn-main::before,
.btn-secondary::before,
.wizard-next::before,
.wizard-prev::before,
.btn-submit-final::before {
    content: "";
    position: absolute;
    top: 0;
    left: -120%;
    width: 70%;
    height: 100%;
    background: linear-gradient(
        90deg,
        rgba(255,255,255,0) 0%,
        rgba(255,255,255,0.32) 50%,
        rgba(255,255,255,0) 100%
    );
    transform: skewX(-20deg);
    transition: left 0.55s ease;
}

.btn-main:hover::before,
.btn-secondary:hover::before,
.wizard-next:hover::before,
.wizard-prev:hover::before,
.btn-submit-final:hover::before {
    left: 140%;
}

/* Primary gradient buttons */
.btn-main,
.wizard-next,
.btn-submit-final {
    color: #ffffff;
    background: linear-gradient(135deg, #2563eb 0%, #14b8a6 35%, #ec4899 72%, #ef4444 100%);
    box-shadow:
        0 14px 28px rgba(37, 99, 235, 0.20),
        0 8px 18px rgba(236, 72, 153, 0.16);
}

/* Secondary previous button */
.btn-secondary,
.wizard-prev {
    color: #1e293b;
    background: linear-gradient(135deg, #ffffff 0%, #eff6ff 30%, #ecfeff 60%, #fdf2f8 100%);
    border: 1px solid rgba(37, 99, 235, 0.10);
    box-shadow:
        0 12px 24px rgba(15, 23, 42, 0.07),
        inset 0 1px 0 rgba(255,255,255,0.95);
}

/* hover */
.btn-main:hover,
.wizard-next:hover,
.btn-submit-final:hover {
    transform: translateY(-3px) scale(1.01);
    filter: saturate(1.08);
    box-shadow:
        0 18px 34px rgba(37, 99, 235, 0.24),
        0 12px 22px rgba(236, 72, 153, 0.20);
}

.btn-secondary:hover,
.wizard-prev:hover {
    transform: translateY(-3px) scale(1.01);
    box-shadow:
        0 16px 28px rgba(37, 99, 235, 0.12),
        0 10px 18px rgba(15, 23, 42, 0.08);
    color: #0f172a;
}

/* active press */
.btn-main:active,
.btn-secondary:active,
.wizard-next:active,
.wizard-prev:active,
.btn-submit-final:active {
    transform: translateY(0) scale(0.985);
}

/* focus visible */
.btn-main:focus-visible,
.btn-secondary:focus-visible,
.wizard-next:focus-visible,
.wizard-prev:focus-visible,
.btn-submit-final:focus-visible {
    outline: none;
    box-shadow:
        0 0 0 5px rgba(59, 130, 246, 0.18),
        0 16px 30px rgba(37, 99, 235, 0.18);
}

/* stronger final submit button */
.btn-submit-final {
    background: linear-gradient(135deg, #1d4ed8 0%, #0ea5e9 22%, #14b8a6 45%, #ec4899 72%, #ef4444 100%);
    min-width: 240px;
    font-size: 1.03rem;
}

/* previous icon and next icon spacing */
.wizard-prev i,
.wizard-next i,
.btn-submit-final i,
.btn-main i,
.btn-secondary i {
    font-size: 0.98rem;
}

/* button rows spacing */
.wizard-actions {
    margin-top: 26px;
}

.wizard-actions-split {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}

/* =========================================================
   FILE INPUT BEAUTIFICATION
========================================================= */

#project_files {
    width: 100%;
    padding: 18px;
    border-radius: 24px;
    border: 1px dashed rgba(37, 99, 235, 0.22);
    background:
        linear-gradient(135deg, rgba(37,99,235,0.06), rgba(20,184,166,0.06), rgba(236,72,153,0.07));
    color: #334155;
    font-weight: 600;
    transition:
        border-color 0.28s ease,
        box-shadow 0.28s ease,
        transform 0.28s ease,
        background 0.28s ease;
}

#project_files:hover {
    transform: translateY(-2px);
    border-color: rgba(236, 72, 153, 0.28);
    box-shadow: 0 12px 24px rgba(37, 99, 235, 0.08);
    background:
        linear-gradient(135deg, rgba(37,99,235,0.09), rgba(20,184,166,0.09), rgba(236,72,153,0.10));
}

#project_files:focus {
    outline: none;
    border-color: #2563eb;
    box-shadow: 0 0 0 5px rgba(37, 99, 235, 0.12);
}

/* Beautiful Choose Files button */
#project_files::file-selector-button {
    margin-right: 14px;
    border: none;
    border-radius: 999px;
    padding: 13px 22px;
    font-weight: 800;
    font-size: 0.95rem;
    cursor: pointer;
    color: #ffffff;
    background: linear-gradient(135deg, #2563eb 0%, #14b8a6 35%, #ec4899 72%, #ef4444 100%);
    box-shadow:
        0 10px 20px rgba(37, 99, 235, 0.18),
        0 6px 12px rgba(236, 72, 153, 0.14);
    transition:
        transform 0.28s ease,
        box-shadow 0.28s ease,
        filter 0.28s ease;
}

#project_files::file-selector-button:hover {
    transform: translateY(-2px);
    filter: saturate(1.08);
    box-shadow:
        0 14px 24px rgba(37, 99, 235, 0.22),
        0 8px 16px rgba(236, 72, 153, 0.18);
}

/* Safari / older webkit fallback */
#project_files::-webkit-file-upload-button {
    margin-right: 14px;
    border: none;
    border-radius: 999px;
    padding: 13px 22px;
    font-weight: 800;
    font-size: 0.95rem;
    cursor: pointer;
    color: #ffffff;
    background: linear-gradient(135deg, #2563eb 0%, #14b8a6 35%, #ec4899 72%, #ef4444 100%);
    box-shadow:
        0 10px 20px rgba(37, 99, 235, 0.18),
        0 6px 12px rgba(236, 72, 153, 0.14);
    transition:
        transform 0.28s ease,
        box-shadow 0.28s ease,
        filter 0.28s ease;
}

/* =========================================================
   STEP LABELS A BIT MORE BEAUTIFUL
========================================================= */

.wizard-label {
    text-align: center;
    padding: 11px 14px;
    border-radius: 999px;
    font-weight: 800;
    font-size: 0.93rem;
    background: rgba(255,255,255,0.72);
    color: #64748b;
    border: 1px solid rgba(148,163,184,0.18);
    box-shadow: 0 8px 16px rgba(15,23,42,0.04);
}

.wizard-label.active,
.wizard-label.done {
    color: #ffffff;
    background: linear-gradient(135deg, #2563eb 0%, #14b8a6 35%, #ec4899 72%, #ef4444 100%);
    box-shadow: 0 12px 24px rgba(37,99,235,0.18);
}

/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 768px) {
    .wizard-actions,
    .wizard-actions-split {
        flex-direction: column;
        align-items: stretch;
    }

    .btn-main,
    .btn-secondary,
    .wizard-next,
    .wizard-prev,
    .btn-submit-final {
        width: 100%;
    }

    #project_files::file-selector-button,
    #project_files::-webkit-file-upload-button {
        width: 100%;
        margin-right: 0;
        margin-bottom: 10px;
    }
}

.payment-options-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
    margin: 14px 0 22px;
}

.payment-option-card {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 18px;
    border-radius: 22px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    border: 1px solid rgba(37,99,235,0.08);
    box-shadow: 0 10px 22px rgba(15,23,42,0.06);
    cursor: pointer;
    transition: all 0.28s ease;
    position: relative;
}

.payment-option-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 30px rgba(37,99,235,0.12);
}

.payment-option-card input[type="radio"] {
    accent-color: #2563eb;
    transform: scale(1.2);
    flex-shrink: 0;
}

.payment-option-icon {
    width: 48px;
    height: 48px;
    border-radius: 16px;
    display: grid;
    place-items: center;
    color: #fff;
    font-size: 1.1rem;
    background: linear-gradient(135deg, #2563eb 0%, #14b8a6 35%, #ec4899 72%, #ef4444 100%);
    box-shadow: 0 10px 18px rgba(37,99,235,0.18);
    flex-shrink: 0;
}

.payment-option-text {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.payment-option-text strong {
    color: #0f172a;
    font-size: 1rem;
}

.payment-option-text small {
    color: #64748b;
    margin-top: 3px;
}

@media (max-width: 768px) {
    .payment-options-grid {
        grid-template-columns: 1fr;
    }
}

/* Payment option text should NOT be bold */
.payment-option-text strong {
    font-weight: 500;
    color: #0f172a;
}

.payment-option-text small {
    font-weight: 400;
    color: #64748b;
}

.payment-option-card {
    font-weight: 400;
}
