:root{
    --fin-bg:#07101f;
    --fin-bg-2:#0a1528;
    --fin-surface:#0f1c33;
    --fin-surface-2:#13233e;
    --fin-line:rgba(255,255,255,.08);
    --fin-text:#eef4ff;
    --fin-soft:rgba(255,255,255,.72);

    --fin-blue:#60a5fa;
    --fin-cyan:#5eead4;
    --fin-purple:#8b5cf6;
    --fin-gold:#f6c453;
}

body.fintech-page{
    background:#ffffff;
    color:#0f172a;
    overflow-x:hidden;
}

/* hero */
.fintech-hero{
    position:relative;
    min-height:100vh;
    padding:140px 0 70px;
    overflow:hidden;
    background:
        radial-gradient(circle at 12% 20%, rgba(96,165,250,.18), transparent 24%),
        radial-gradient(circle at 88% 18%, rgba(139,92,246,.16), transparent 28%),
        radial-gradient(circle at 70% 80%, rgba(94,234,212,.08), transparent 24%),
        linear-gradient(180deg, #07101f 0%, #091427 45%, #0b1324 100%);
    color:var(--fin-text);
}

.fintech-grid-bg{
    position:absolute;
    inset:0;
    background-image:
        linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
    background-size:56px 56px;
    mask-image:linear-gradient(to bottom, rgba(0,0,0,.85), rgba(0,0,0,.2));
    pointer-events:none;
}

.fintech-orb{
    position:absolute;
    width:420px;
    height:420px;
    border-radius:50%;
    filter:blur(70px);
    opacity:.22;
    pointer-events:none;
}

.orb-left{
    top:100px;
    left:-100px;
    background:#2a7fff;
}

.orb-right{
    top:40px;
    right:-80px;
    background:#7c4dff;
}

.fintech-hero-wrap{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:1.08fr .92fr;
    gap:48px;
    align-items:center;
}

.fintech-badge,
.section-kicker{
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:12px 16px;
    border-radius:999px;
    border:1px solid rgba(255,255,255,.1);
    background:rgba(255,255,255,.04);
    backdrop-filter:blur(12px);
    font-size:.78rem;
    font-weight:800;
    letter-spacing:.16em;
    text-transform:uppercase;
}

.section-kicker{
    padding:0;
    background:none;
    border:none;
    color:#6b7cff;
}

.section-kicker.light{
    color:#c6d6ff;
}

.fintech-hero-copy h1{
    margin:22px 0 18px;
    font-size:clamp(2.7rem, 5vw, 5.3rem);
    line-height:1.02;
    letter-spacing:-.045em;
    font-weight:900;
    color:#f7fbff;
}

.fintech-hero-copy h1 span{
    display:block;
    background:linear-gradient(90deg, #ffffff 0%, #8ec5ff 35%, #7aa6ff 65%, #8c70ff 100%);
    -webkit-background-clip:text;
    background-clip:text;
    -webkit-text-fill-color:transparent;
    color:transparent;
}

.fintech-lead{
    max-width:760px;
    font-size:1.06rem;
    line-height:1.85;
    color:var(--fin-soft);
    margin:0 0 28px;
}

.fintech-actions{
    display:flex;
    flex-wrap:wrap;
    gap:14px;
    margin-bottom:30px;
}

.btn-fintech{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:180px;
    padding:15px 24px;
    border-radius:16px;
    font-weight:700;
    text-decoration:none;
    transition:.3s ease;
}

.btn-fintech-primary{
    color:#fff;
    background:linear-gradient(135deg, var(--fin-blue), var(--fin-purple));
    box-shadow:0 18px 45px rgba(96,165,250,.22);
}

.btn-fintech-primary:hover{
    transform:translateY(-3px);
    box-shadow:0 24px 60px rgba(96,165,250,.32);
}

.btn-fintech-secondary{
    color:#fff;
    border:1px solid rgba(255,255,255,.12);
    background:rgba(255,255,255,.04);
}

.btn-fintech-secondary:hover{
    transform:translateY(-3px);
    background:rgba(255,255,255,.08);
}

.fintech-proof{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:14px;
}

.proof-box{
    padding:18px;
    border-radius:18px;
    border:1px solid rgba(255,255,255,.08);
    background:rgba(255,255,255,.03);
}

.proof-box strong{
    display:block;
    margin-bottom:7px;
    color:#fff;
    font-size:1rem;
}

.proof-box span{
    display:block;
    color:rgba(255,255,255,.66);
    line-height:1.6;
    font-size:.92rem;
}

/* panel */
.hero-window{
    border-radius:30px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.08);
    background:linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.03));
    backdrop-filter:blur(16px);
    box-shadow:0 30px 90px rgba(0,0,0,.36);
}

.window-top{
    display:flex;
    gap:8px;
    padding:16px 20px;
    border-bottom:1px solid rgba(255,255,255,.08);
}

.window-top span{
    width:10px;
    height:10px;
    border-radius:50%;
    background:rgba(255,255,255,.32);
}

.window-body{
    padding:24px;
}

.window-badge{
    display:inline-flex;
    padding:10px 14px;
    margin-bottom:18px;
    border-radius:999px;
    border:1px solid rgba(96,165,250,.25);
    background:rgba(96,165,250,.12);
    color:#beddff;
    font-size:.76rem;
    font-weight:800;
    letter-spacing:.16em;
    text-transform:uppercase;
}

.dashboard-core{
    padding:24px;
    border-radius:26px;
    border:1px solid rgba(255,255,255,.08);
    background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
}

.dashboard-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:20px;
    margin-bottom:22px;
}

.dashboard-head small{
    display:block;
    font-size:.78rem;
    color:#8db8ff;
    letter-spacing:.15em;
    text-transform:uppercase;
    font-weight:700;
    margin-bottom:10px;
}

.dashboard-head h2{
    margin:0;
    font-size:1.9rem;
    line-height:1.08;
    color:#fff;
    max-width:360px;
}

.status-chip{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:11px 14px;
    border-radius:999px;
    background:rgba(94,234,212,.1);
    border:1px solid rgba(94,234,212,.18);
    color:#baffea;
    font-size:.85rem;
    font-weight:700;
    white-space:nowrap;
}

.status-chip i{
    font-size:.6rem;
}

.metric-row{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:14px;
    margin-bottom:20px;
}

.metric-box{
    padding:18px;
    border-radius:18px;
    border:1px solid rgba(255,255,255,.07);
    background:rgba(255,255,255,.04);
}

.metric-box strong{
    display:block;
    color:#fff;
    font-size:1.12rem;
    margin-bottom:6px;
}

.metric-box span{
    color:rgba(255,255,255,.66);
    font-size:.9rem;
}

.signal-box{
    position:relative;
    height:130px;
    border-radius:22px;
    border:1px solid rgba(255,255,255,.07);
    background:
        linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px),
        linear-gradient(180deg, rgba(8,14,28,.2), rgba(10,15,27,.8));
    background-size:22px 22px, 22px 22px, auto;
    overflow:hidden;
}

.signal-line{
    position:absolute;
    left:0;
    right:0;
    height:2px;
    border-radius:999px;
    background:linear-gradient(90deg, transparent 0%, #65f0d2 30%, #6ea8ff 65%, transparent 100%);
    opacity:.9;
}

.line-1{ top:30px; animation: pulseLine 3s linear infinite; }
.line-2{ top:63px; animation: pulseLine 4s linear infinite; }
.line-3{ top:96px; animation: pulseLine 5s linear infinite; }

@keyframes pulseLine{
    0%{ transform:translateX(-30%); opacity:.35; }
    50%{ opacity:1; }
    100%{ transform:translateX(30%); opacity:.35; }
}

.dashboard-mini-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
    margin-top:16px;
}

.mini-card{
    padding:18px;
    border-radius:18px;
    border:1px solid rgba(255,255,255,.07);
    background:rgba(255,255,255,.04);
}

.mini-card strong{
    display:block;
    margin-bottom:6px;
    font-size:1rem;
    color:#fff;
}

.mini-card span{
    display:block;
    color:rgba(255,255,255,.68);
    line-height:1.6;
    font-size:.92rem;
}

.mini-card.blue{ box-shadow:0 0 0 1px rgba(96,165,250,.08); }
.mini-card.purple{ box-shadow:0 0 0 1px rgba(139,92,246,.08); }
.mini-card.cyan{ box-shadow:0 0 0 1px rgba(94,234,212,.08); }
.mini-card.gold{ box-shadow:0 0 0 1px rgba(246,196,83,.08); }

/* ticker */
.fintech-ticker{
    position:relative;
    z-index:2;
    margin-top:70px;
    border-top:1px solid rgba(255,255,255,.08);
    border-bottom:1px solid rgba(255,255,255,.08);
    background:rgba(255,255,255,.03);
    overflow:hidden;
}

.fintech-ticker-track{
    display:flex;
    gap:60px;
    width:max-content;
    padding:18px 0;
    animation: fintechTicker 28s linear infinite;
}

.fintech-ticker-track span{
    white-space:nowrap;
    color:rgba(255,255,255,.82);
    font-size:.88rem;
    font-weight:800;
    letter-spacing:.18em;
    text-transform:uppercase;
}

@keyframes fintechTicker{
    from{ transform:translateX(0); }
    to{ transform:translateX(-50%); }
}

/* overview */
.finance-overview{
    padding:90px 0 40px;
    background:linear-gradient(180deg, #f4f8ff 0%, #ffffff 100%);
}

.overview-card{
    display:grid;
    grid-template-columns:1.1fr .9fr;
    gap:28px;
    padding:34px;
    border-radius:30px;
    border:1px solid rgba(15,23,42,.08);
    background:#fff;
    box-shadow:0 24px 70px rgba(15,23,42,.06);
}

.overview-copy h2{
    margin:14px 0 14px;
    font-size:clamp(2rem,3vw,3.2rem);
    line-height:1.08;
    letter-spacing:-.03em;
    color:#0f172a;
}

.overview-copy p{
    margin:0;
    color:#667085;
    line-height:1.85;
    font-size:1rem;
}

.overview-points{
    display:grid;
    gap:14px;
}

.point-box{
    padding:22px;
    border-radius:22px;
    border:1px solid rgba(15,23,42,.08);
    background:linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}

.point-box strong{
    display:block;
    margin-bottom:8px;
    color:#101828;
}

.point-box span{
    display:block;
    color:#667085;
    line-height:1.7;
    font-size:.95rem;
}

/* generic headings */
.section-heading{
    max-width:760px;
    margin-bottom:36px;
}

.section-heading.center{
    text-align:center;
    margin-left:auto;
    margin-right:auto;
}

.section-heading h2{
    margin:14px 0 14px;
    font-size:clamp(2.1rem,3vw,3.4rem);
    line-height:1.08;
    letter-spacing:-.03em;
    color:#0f172a;
}

.section-heading p{
    margin:0;
    color:#667085;
    line-height:1.8;
    font-size:1.02rem;
}

/* solutions */
.finance-solutions{
    padding:70px 0 110px;
    background:#ffffff;
}

.finance-solution-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px;
    margin-top:34px;
}

.finance-card{
    position:relative;
    padding:28px;
    border-radius:26px;
    border:1px solid rgba(15,23,42,.08);
    background:linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    box-shadow:0 18px 50px rgba(15,23,42,.05);
    overflow:hidden;
    transition:.3s ease;
}

.finance-card:hover{
    transform:translateY(-6px);
}

.finance-card::before{
    content:"";
    position:absolute;
    top:-40px;
    right:-40px;
    width:140px;
    height:140px;
    border-radius:50%;
    opacity:.12;
}

.f1::before{ background:#60a5fa; }
.f2::before{ background:#5eead4; }
.f3::before{ background:#8b5cf6; }
.f4::before{ background:#f6c453; }
.f5::before{ background:#3b82f6; }
.f6::before{ background:#14b8a6; }

.finance-card-top{
    position:relative;
    z-index:2;
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:18px;
}

.finance-card-top span{
    font-size:.8rem;
    font-weight:800;
    letter-spacing:.16em;
    color:#334155;
}

.finance-card-top i{
    width:44px;
    height:44px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:14px;
    background:#0f172a;
    color:#fff;
}

.finance-card h3{
    position:relative;
    z-index:2;
    margin:0 0 12px;
    font-size:1.28rem;
    line-height:1.2;
    color:#0f172a;
}

.finance-card p{
    position:relative;
    z-index:2;
    margin:0 0 16px;
    color:#667085;
    line-height:1.8;
}

.tag-list{
    position:relative;
    z-index:2;
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}

.tag-list span{
    display:inline-flex;
    padding:9px 13px;
    border-radius:999px;
    border:1px solid rgba(15,23,42,.08);
    background:#fff;
    font-size:.82rem;
    font-weight:700;
    color:#0f172a;
}

/* stats band */
.finance-stats-band{
    position:relative;
    padding:110px 0;
    overflow:hidden;
    background:
        radial-gradient(circle at 15% 20%, rgba(96,165,250,.15), transparent 24%),
        radial-gradient(circle at 82% 75%, rgba(139,92,246,.12), transparent 28%),
        linear-gradient(180deg, #091224 0%, #081120 100%);
    color:#fff;
}

.finance-stats-band::before{
    content:"";
    position:absolute;
    inset:0;
    background-image:
        linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
    background-size:58px 58px;
}

.stats-band-grid{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:30px;
    align-items:start;
}

.stats-intro h2{
    margin:14px 0 0;
    font-size:clamp(2.1rem,3vw,3.6rem);
    line-height:1.05;
    letter-spacing:-.03em;
}

.stats-boxes{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px;
}

.stat-box{
    padding:24px;
    border-radius:22px;
    border:1px solid rgba(255,255,255,.08);
    background:rgba(255,255,255,.04);
    backdrop-filter:blur(10px);
}

.stat-box strong{
    display:block;
    font-size:1.7rem;
    margin-bottom:6px;
    color:#fff;
}

.stat-box span{
    color:rgba(255,255,255,.7);
    line-height:1.6;
}

/* process */
.finance-process{
    padding:110px 0;
    background:#ffffff;
}

.process-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:18px;
    margin-top:30px;
}

.process-card{
    padding:28px 24px;
    border-radius:24px;
    border:1px solid rgba(15,23,42,.08);
    background:linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    box-shadow:0 18px 50px rgba(15,23,42,.04);
}

.process-card span{
    width:52px;
    height:52px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:16px;
    background:linear-gradient(135deg, var(--fin-blue), var(--fin-purple));
    color:#fff;
    font-weight:800;
    margin-bottom:18px;
}

.process-card h3{
    margin:0 0 10px;
    color:#0f172a;
    font-size:1.12rem;
}

.process-card p{
    margin:0;
    color:#667085;
    line-height:1.8;
}

/* cta */
.finance-cta{
    padding:0 0 120px;
    background:#fff;
}

.finance-cta-box{
    position:relative;
    overflow:hidden;
    padding:54px;
    border-radius:34px;
    background:
        radial-gradient(circle at 15% 20%, rgba(96,165,250,.2), transparent 24%),
        radial-gradient(circle at 84% 75%, rgba(139,92,246,.16), transparent 28%),
        linear-gradient(135deg, #091224 0%, #10182b 100%);
    color:#fff;
    box-shadow:0 35px 90px rgba(15,23,42,.18);
    border:1px solid rgba(255,255,255,.08);
}

.finance-cta-box h2{
    margin:14px 0 14px;
    max-width:900px;
    font-size:clamp(2rem,3vw,3.3rem);
    line-height:1.08;
    letter-spacing:-.03em;
}

.finance-cta-box p{
    margin:0 0 28px;
    max-width:760px;
    color:rgba(255,255,255,.74);
    line-height:1.85;
}

/* responsive */
@media (max-width: 1200px){
    .fintech-hero-wrap,
    .overview-card,
    .stats-band-grid{
        grid-template-columns:1fr;
    }

    .finance-solution-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .process-grid{
        grid-template-columns:repeat(2,1fr);
    }
}

@media (max-width: 992px){
    .fintech-proof{
        grid-template-columns:1fr;
    }

    .metric-row,
    .dashboard-mini-grid{
        grid-template-columns:1fr 1fr;
    }
}

@media (max-width: 768px){
    .fintech-hero{
        padding:120px 0 60px;
    }

    .finance-solution-grid,
    .process-grid,
    .metric-row,
    .dashboard-mini-grid,
    .stats-boxes{
        grid-template-columns:1fr;
    }

    .fintech-hero-copy h1{
        font-size:2.5rem;
    }

    .section-heading h2,
    .overview-copy h2,
    .stats-intro h2,
    .finance-cta-box h2{
        font-size:2rem;
    }

    .window-body,
    .dashboard-core,
    .overview-card,
    .finance-cta-box{
        padding:24px;
    }

    .fintech-actions{
        flex-direction:column;
    }

    .btn-fintech{
        width:100%;
    }
}