/* =====================================================================
   STANDARD BANK THEME  —  Prisco MFB
   Palette: #4FA460 green (primary) · #99CC33 lime · #FF9900 orange (CTA)
            · #F47264 coral (accent)
   Loaded AFTER style.css so it overrides the older prisco/gold styling.
===================================================================== */
:root {
    --bank-green:  #4FA460;   /* primary brand */
    --bank-green-d:#3c8a4d;   /* darker hover  */
    --bank-lime:   #99CC33;   /* secondary / light */
    --bank-orange: #FF9900;   /* CTA / highlight */
    --bank-orange-d:#e88900;
    --bank-coral:  #F47264;   /* accent */
    --bank-ink:    #17251c;   /* near-black green */
    --bank-dark:   #14301f;   /* footer / dark sections */
    --bank-muted:  #6a7a70;
    --bank-soft:   #f3f8ef;   /* soft tinted background */
    --bank-line:   #e6ede6;

    /* remap legacy tokens so old pages inherit the new theme */
    --prisco-blue: #4FA460;
    --prisco-gold: #FF9900;
    --prisco-dark: #14301f;
    --brand-blue:  #4FA460;
    --btn-orange:  #FF9900;
}

body { color: #2c3a33; font-family: 'Inter','Figtree', system-ui, sans-serif; }
h1,h2,h3,h4,h5,h6 { font-family: 'Poppins','Inter',system-ui,sans-serif; color: var(--bank-ink); }

a { color: var(--bank-green); }
a:hover, a:active, a a:visited { color: var(--bank-green-d) !important; }

/* ---- legacy helpers remapped ---- */
.text-gold    { color: var(--bank-green) !important; }
.text-primary { color: var(--bank-green) !important; }
.text-success { color: var(--bank-green) !important; }
.bg-dark      { background-color: var(--bank-dark) !important; }

/* ---- buttons ---- */
.btn-bank, .btn-prisco {
    display: inline-flex; align-items: center; justify-content: center;
    background: var(--bank-orange);
    color: #fff !important;
    padding: .8rem 1.7rem;
    border: none; border-radius: 8px;
    font-weight: 600; letter-spacing: .2px;
    box-shadow: 0 8px 20px rgba(255,153,0,.28);
    transition: transform .25s ease, box-shadow .25s ease, background .25s ease;
}
.btn-bank:hover, .btn-prisco:hover {
    background: var(--bank-orange-d);
    color: #fff !important;
    transform: translateY(-2px);
    box-shadow: 0 12px 26px rgba(255,153,0,.36);
}
.btn-bank-green {
    display:inline-flex; align-items:center; justify-content:center;
    background: var(--bank-green); color:#fff !important;
    padding:.8rem 1.7rem; border:none; border-radius:8px; font-weight:600;
    box-shadow:0 8px 20px rgba(79,164,96,.28); transition:.25s ease;
}
.btn-bank-green:hover { background:var(--bank-green-d); color:#fff !important; transform:translateY(-2px); }
.btn-bank-outline, .btn-prisco-outline {
    display:inline-flex; align-items:center; justify-content:center;
    border:2px solid var(--bank-green); color:var(--bank-green) !important;
    background:transparent; padding:.72rem 1.6rem; border-radius:8px; font-weight:600;
    transition:.25s ease;
}
.btn-bank-outline:hover, .btn-prisco-outline:hover {
    background:var(--bank-green); color:#fff !important; transform:translateY(-2px);
}
.btn-warning { background:var(--bank-orange) !important; border-color:var(--bank-orange) !important; color:#fff !important; }
.btn-outline-success { border-color:var(--bank-green) !important; color:var(--bank-green) !important; }
.btn-outline-success:hover { background:var(--bank-green) !important; color:#fff !important; }

/* ---- reusable section bits ---- */
.section-eyebrow {
    display:inline-block; text-transform:uppercase; letter-spacing:2px;
    font-size:12px; font-weight:700; color:var(--bank-green);
    background:rgba(79,164,96,.1); padding:6px 14px; border-radius:30px; margin-bottom:14px;
}
.bg-soft { background: var(--bank-soft) !important; }
.section-title { font-weight:800; color:var(--bank-ink); }
.divider-bar { width:70px; height:4px; border-radius:4px;
    background:linear-gradient(90deg,var(--bank-green),var(--bank-lime)); margin:14px 0; }
.divider-bar.mx-auto { margin-left:auto; margin-right:auto; }
.text-muted { color:var(--bank-muted) !important; }

/* ---- HERO ---- */
.bank-hero {
    position:relative; overflow:hidden;
    background:
        radial-gradient(1200px 500px at 85% -10%, rgba(153,204,51,.18), transparent 60%),
        linear-gradient(135deg, #ffffff 0%, var(--bank-soft) 100%);
}
.bank-hero .hero-headline { font-weight:800; line-height:1.15; color:var(--bank-ink); }
.bank-hero .hero-headline .accent { color:var(--bank-green); }
.hero-trust span { display:inline-flex; align-items:center; gap:.4rem;
    font-size:14px; font-weight:600; color:#41564b; }
.hero-slide-frame { border-radius:20px; overflow:hidden;
    box-shadow:0 30px 60px -20px rgba(20,48,31,.35); }
.hero-slide-frame img { width:100%; height:430px; object-fit:cover; }

/* ---- QUICK ACCESS TILES ---- */
.quick-band { margin-top:-45px; position:relative; z-index:5; }
.quick-tile {
    background:#fff; border:1px solid var(--bank-line); border-radius:14px;
    padding:26px 22px; height:100%; text-align:center;
    box-shadow:0 12px 30px -18px rgba(20,48,31,.25); transition:.3s ease;
}
.quick-tile:hover { transform:translateY(-6px); box-shadow:0 22px 40px -20px rgba(20,48,31,.35); }
.quick-tile .ico {
    width:58px; height:58px; margin:0 auto 14px; border-radius:14px;
    display:flex; align-items:center; justify-content:center; font-size:24px; color:#fff;
}
.quick-tile h6 { font-weight:700; margin-bottom:6px; }
.quick-tile p { font-size:13.5px; color:var(--bank-muted); margin:0; }
.ico-green  { background:linear-gradient(135deg,var(--bank-green),#5cb56d); }
.ico-lime   { background:linear-gradient(135deg,var(--bank-lime),#b4dd5a); }
.ico-orange { background:linear-gradient(135deg,var(--bank-orange),#ffb340); }
.ico-coral  { background:linear-gradient(135deg,var(--bank-coral),#ff9083); }

/* ---- FEATURE CARDS ---- */
.feature-card {
    background:#fff; border:1px solid var(--bank-line); border-radius:16px;
    padding:34px 26px; height:100%; transition:.3s ease;
}
.feature-card:hover { transform:translateY(-6px); border-color:transparent;
    box-shadow:0 24px 44px -22px rgba(20,48,31,.4); }
.feature-card .fico { font-size:40px; margin-bottom:14px; display:inline-block; }

/* ---- STATS BAND ---- */
.stats-band { background:linear-gradient(135deg,var(--bank-green) 0%, var(--bank-green-d) 100%); color:#fff; }
.stats-band .stat-num { font-size:2.4rem; font-weight:800; color:#fff; }
.stats-band .stat-num small { color:var(--bank-lime); }
.stats-band .stat-lbl { opacity:.9; font-size:14px; letter-spacing:.3px; }

/* ---- CTA BAND ---- */
.cta-band { position:relative; overflow:hidden; border-radius:22px;
    background:linear-gradient(120deg,var(--bank-dark),#1d4a2e);
    color:#fff; padding:52px 44px; }
.cta-band::after { content:""; position:absolute; right:-60px; top:-60px;
    width:240px; height:240px; border-radius:50%;
    background:radial-gradient(circle,rgba(153,204,51,.35),transparent 70%); }
.cta-band h2 { color:#fff; }

/* ---- SERVICE ROWS (restyle legacy) ---- */
.service-row { min-height:auto; background:#fff; }
.service-row.alt-bg { background:var(--bank-soft); }
.service-row:hover { background:var(--bank-soft); }
.interactive-button:hover { background:var(--bank-orange-d) !important; }

/* ---- CARDS / BLOG ---- */
.card { border-radius:16px; }
.blog-listing-post { border:1px solid var(--bank-line); border-radius:16px; transition:.3s ease; }
.blog-listing-post:hover { transform:translateY(-5px); box-shadow:0 22px 40px -22px rgba(20,48,31,.35) !important; }
.read.text-gold, .read { color:var(--bank-green) !important; }

/* ---- TOP BAR + NAV ---- */
.top-bar { background:var(--bank-dark) !important; color:#dbe7dc !important; border-bottom:none !important; }
.top-bar a { color:#dbe7dc !important; }
.top-bar a:hover { color:var(--bank-lime) !important; }
.top-bar .fas { color:var(--bank-lime) !important; }
.navbar-custom { background:#fff !important; box-shadow:0 4px 18px rgba(20,48,31,.06); }
.navbar-custom .nav-link { color:var(--bank-ink) !important; }
.navbar-custom .nav-link:hover, .navbar-custom .nav-link.active { color:var(--bank-green) !important; }
.nav-cta {
    background:var(--bank-orange); color:#fff !important; border-radius:8px;
    padding:8px 18px !important; font-weight:700 !important; margin-left:8px;
    box-shadow:0 8px 18px rgba(255,153,0,.3); transition:.25s ease;
}
.nav-cta:hover { background:var(--bank-orange-d); color:#fff !important; transform:translateY(-1px); }

/* ---- Nav dropdowns ---- */
.navbar-custom .dropdown-toggle::after { vertical-align:.15em; margin-left:.4em; }
.nav-dropdown {
    border:none; border-radius:12px; padding:10px; margin-top:8px; min-width:250px;
    box-shadow:0 18px 44px -18px rgba(20,48,31,.35); border-top:3px solid var(--bank-green);
}
.nav-dropdown .dropdown-item {
    border-radius:8px; padding:9px 12px; font-weight:600; font-size:14px; color:var(--bank-ink);
    display:flex; align-items:center; transition:.18s ease;
}
.nav-dropdown .dropdown-item i { color:var(--bank-green); }
.nav-dropdown .dropdown-item:hover { background:var(--bank-soft); color:var(--bank-green); }
.nav-dropdown .dropdown-item.text-success:hover { background:var(--bank-green); color:#fff !important; }
.nav-dropdown .dropdown-item.text-success:hover i { color:#fff; }
/* open on hover (desktop only) */
@media (min-width:992px){
    .navbar-custom .nav-item.dropdown:hover > .dropdown-menu { display:block; }
    .navbar-custom .nav-item.dropdown > .dropdown-menu { margin-top:0; }
}

/* ---- FOOTER ---- */
footer.bg-dark { background:var(--bank-dark) !important; }
footer .text-light:hover { color:var(--bank-lime) !important; }
footer h5 { color:#fff; }

/* =====================================================================
   CREATIVE COMPONENTS  (v3 redesign)
===================================================================== */

/* ---------- HERO (full-bleed dark gradient + card mockup) ---------- */
.hero-x {
    position:relative; overflow:hidden; color:#fff;
    background:linear-gradient(135deg,#0f3a22 0%, #1d4a2e 45%, #2f7d47 100%);
}
.hero-x .blob { position:absolute; border-radius:50%; pointer-events:none; }
.hero-x .blob-1 { width:460px; height:460px; top:-150px; right:-90px;
    background:radial-gradient(circle,rgba(153,204,51,.45),transparent 70%); }
.hero-x .blob-2 { width:380px; height:380px; bottom:-160px; left:-120px;
    background:radial-gradient(circle,rgba(255,153,0,.30),transparent 70%); }
.hero-x .grid-dots { position:absolute; inset:0; opacity:.15;
    background-image:radial-gradient(rgba(255,255,255,.6) 1px, transparent 1px);
    background-size:26px 26px; mask-image:linear-gradient(180deg,transparent,#000 30%,#000 70%,transparent); }
.hero-x .eyebrow-light {
    display:inline-flex; align-items:center; gap:8px; font-size:12px; font-weight:700;
    text-transform:uppercase; letter-spacing:2px; color:#173a10;
    background:var(--bank-lime); padding:7px 15px; border-radius:30px; }
.hero-x h1 { color:#fff; font-weight:800; line-height:1.12;
    font-size:clamp(2rem, 4.2vw, 3.4rem); letter-spacing:-.5px;
    overflow-wrap:break-word; word-break:break-word; }
.hero-x h1 .u {
    background:linear-gradient(transparent 62%, rgba(255,153,0,.55) 0);
    padding:0 3px; border-radius:4px;
    -webkit-box-decoration-break:clone; box-decoration-break:clone; }
.hero-x .lead-x { color:rgba(255,255,255,.82); font-size:1.08rem; line-height:1.7; max-width:520px; }
.hero-mini { display:flex; gap:36px; flex-wrap:wrap; }
.hero-mini .n { font-size:1.7rem; font-weight:800; color:#fff; line-height:1; }
.hero-mini .n small { color:var(--bank-lime); }
.hero-mini .l { font-size:12.5px; color:rgba(255,255,255,.65); margin-top:4px; }
.btn-white { background:#fff; color:var(--bank-dark) !important; border:none; border-radius:10px;
    padding:.85rem 1.7rem; font-weight:700; display:inline-flex; align-items:center; transition:.25s; }
.btn-white:hover { transform:translateY(-2px); box-shadow:0 14px 30px rgba(0,0,0,.25); color:var(--bank-dark) !important; }
.btn-ghost { background:rgba(255,255,255,.08); color:#fff !important; border:1px solid rgba(255,255,255,.35);
    border-radius:10px; padding:.85rem 1.7rem; font-weight:600; display:inline-flex; align-items:center; transition:.25s; }
.btn-ghost:hover { background:rgba(255,255,255,.18); color:#fff !important; }

/* ---------- Hero photo frame ---------- */
.card-stage { position:relative; min-height:440px; display:flex; align-items:center; justify-content:center; }
/* decorative accent block behind the photo */
.photo-accent { position:absolute; z-index:1; width:78%; height:78%; border-radius:26px;
    right:-14px; bottom:-14px;
    background:linear-gradient(135deg,var(--bank-lime),var(--bank-green)); opacity:.9; }
.photo-accent.pa-2 { left:-16px; top:-16px; right:auto; bottom:auto;
    width:120px; height:120px; border-radius:20px;
    background:linear-gradient(135deg,var(--bank-orange),var(--bank-coral)); opacity:.95; }
.photo-frame { position:relative; z-index:2; width:100%; border-radius:24px; overflow:hidden;
    box-shadow:0 34px 70px -24px rgba(0,0,0,.55); border:6px solid rgba(255,255,255,.14); }
.photo-frame .carousel-item img,
.photo-frame > img { width:100%; height:470px; object-fit:cover; display:block; }
.photo-frame .carousel-indicators { margin-bottom:12px; }
/* image inside the digital-banking split */
.split-photo { border-radius:20px; overflow:hidden; box-shadow:0 24px 50px -24px rgba(0,0,0,.5); }
.split-photo img { width:100%; height:360px; object-fit:cover; display:block; }
.float-glass { position:absolute; z-index:4; background:rgba(255,255,255,.14);
    backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); border:1px solid rgba(255,255,255,.28);
    border-radius:16px; padding:12px 16px; color:#fff; box-shadow:0 16px 40px rgba(0,0,0,.25); }
.float-glass.fg-top { top:14px; right:6%; }
.float-glass .fg-n { font-weight:800; font-size:1.15rem; }
.float-glass .fg-l { font-size:11px; opacity:.75; }
.chip-float { position:absolute; z-index:5; background:#fff; color:#17251c; border-radius:12px;
    padding:10px 14px; box-shadow:0 14px 34px rgba(0,0,0,.28); font-size:12.5px; font-weight:700;
    display:flex; align-items:center; gap:8px; }
.chip-float.cf-1 { bottom:40px; left:2%; }
.chip-float .dot-g { width:26px;height:26px;border-radius:50%; display:flex;align-items:center;justify-content:center; color:#fff; font-size:12px; }
@media (max-width:991px){ .float-glass, .chip-float { display:none; } .card-stage{ min-height:320px; } }

/* ---------- Logo / trust strip ---------- */
.logo-strip img { height:40px; width:auto; object-fit:contain; filter:grayscale(1) brightness(1.1);
    opacity:.55; transition:.3s; }
.logo-strip img:hover { filter:none; opacity:1; }

/* ---------- Page header (inner pages) ---------- */
.page-hero { position:relative; padding:96px 0 76px; color:#fff; overflow:hidden;
    background:linear-gradient(135deg,#0f3a22 0%,#1d4a2e 50%,#2f7d47 100%); }
.page-hero .ph-photo { position:absolute; inset:0; background-size:cover; background-position:center;
    opacity:.22; mix-blend-mode:luminosity; }
.page-hero::after { content:""; position:absolute; right:-80px; top:-90px; width:300px; height:300px;
    border-radius:50%; background:radial-gradient(circle,rgba(153,204,51,.35),transparent 70%); }
.page-hero .container { position:relative; z-index:2; }
.page-hero h1 { color:#fff; font-weight:800; font-size:clamp(2rem,4vw,2.9rem); }
.page-hero p { color:rgba(255,255,255,.82); max-width:620px; }
.page-crumb { font-size:13.5px; color:rgba(255,255,255,.8); margin-bottom:14px; }
.page-crumb a { color:var(--bank-lime); }
.page-crumb .sep { opacity:.5; margin:0 8px; }

/* ---------- Mini fact chips ---------- */
.fact-chip { display:flex; align-items:center; gap:12px; background:#fff; border:1px solid var(--bank-line);
    border-radius:14px; padding:14px 16px; box-shadow:0 12px 30px -20px rgba(20,48,31,.35); }
.fact-chip .fc-ico { width:44px; height:44px; border-radius:12px; flex:0 0 auto; color:#fff;
    display:flex; align-items:center; justify-content:center; font-size:18px; }
.fact-chip .fc-n { font-weight:800; font-size:1.15rem; line-height:1; color:var(--bank-ink); }
.fact-chip .fc-l { font-size:12px; color:var(--bank-muted); }

/* ---------- CATALOG (product / service) CARDS ---------- */
.cat-card { background:#fff; border:1px solid var(--bank-line); border-radius:18px; overflow:hidden;
    height:100%; transition:.3s ease; display:flex; flex-direction:column; }
.cat-card:hover { transform:translateY(-6px); box-shadow:0 26px 50px -26px rgba(20,48,31,.45); border-color:transparent; }
.cat-media { position:relative; height:210px; overflow:hidden; }
.cat-media img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.cat-card:hover .cat-media img { transform:scale(1.06); }
.cat-media .cat-ph { width:100%; height:100%; display:flex; align-items:center; justify-content:center;
    background:linear-gradient(135deg,#4FA460,#2f7d47); color:#fff; font-size:2.4rem; }

/* Branded graphic tile (used instead of stock photos) */
.cat-figure { position:relative; overflow:hidden; display:flex; align-items:center; justify-content:center; }
.cat-figure > i { font-size:3.4rem; color:#fff; z-index:2; }
.cat-figure .cf-label { position:absolute; left:0; right:0; bottom:14px; z-index:2; text-align:center;
    color:#fff; font-weight:700; font-size:13px; letter-spacing:.4px; opacity:.95; padding:0 14px; }
.cat-figure::before { content:""; position:absolute; inset:0; opacity:.14; z-index:1;
    background-image:radial-gradient(#fff 1.5px, transparent 1.5px); background-size:20px 20px; }
.cat-figure::after { content:""; position:absolute; width:190px; height:190px; border-radius:50%;
    top:-64px; right:-54px; background:rgba(255,255,255,.12); z-index:1; }
.catg-0 { background:linear-gradient(135deg,#4FA460,#2f7d47); }
.catg-1 { background:linear-gradient(135deg,#99CC33,#82b52c); }
.catg-2 { background:linear-gradient(135deg,#FF9900,#ff7a2f); }
.catg-3 { background:linear-gradient(135deg,#F47264,#e8596b); }
.catg-4 { background:linear-gradient(135deg,#14301f,#1d5231); }
.cat-tag { position:absolute; left:12px; top:12px; background:rgba(20,48,31,.82); color:#fff;
    font-size:11px; font-weight:700; letter-spacing:.4px; padding:5px 12px; border-radius:20px; }
.cat-body { padding:20px; display:flex; flex-direction:column; flex:1; }
.cat-body h5 { font-weight:700; font-size:1.08rem; margin-bottom:8px; }
.cat-body h5 a { color:var(--bank-ink); }
.cat-body h5 a:hover { color:var(--bank-green) !important; }
.cat-body p { color:var(--bank-muted); font-size:14px; flex:1; }
.cat-link { color:var(--bank-green) !important; font-weight:700; font-size:14px; }
.cat-link:hover { color:var(--bank-green-d) !important; }

/* ---------- Rich content (descriptions) ---------- */
.rich-content p { margin-bottom:1rem; line-height:1.8; color:#42514a; }
.content-features { list-style:none; padding:0; margin:1.2rem 0 0; }
.content-features li { position:relative; padding:8px 0 8px 34px; color:#33443c; font-weight:500;
    border-bottom:1px solid var(--bank-line); }
.content-features li:last-child { border-bottom:none; }
.content-features li::before { content:"\F26E"; font-family:"bootstrap-icons"; position:absolute; left:0; top:8px;
    color:var(--bank-green); font-size:17px; }

/* ---------- Detail sidebar ---------- */
.detail-side { background:#fff; border:1px solid var(--bank-line); border-radius:18px; padding:24px; }
.detail-side .side-head { font-weight:800; color:var(--bank-ink); margin-bottom:6px; }
.side-links { list-style:none; padding:0; margin:0; }
.side-links li a { display:flex; align-items:center; justify-content:space-between; gap:10px;
    padding:11px 14px; border-radius:10px; color:var(--bank-ink); font-weight:600; font-size:14px;
    border:1px solid var(--bank-line); margin-bottom:8px; transition:.2s; }
.side-links li a:hover, .side-links li.active a { background:var(--bank-green); color:#fff !important; border-color:transparent; }
.side-links li.active a { box-shadow:0 10px 22px -12px rgba(79,164,96,.7); }
.side-cta { background:linear-gradient(135deg,#123d24,#1d5231); color:#fff; border-radius:18px; padding:24px; }
.side-cta h5 { color:#fff; }

/* ---------- TEAM / LEADERSHIP CARDS ---------- */
.team-card { background:#fff; border:1px solid var(--bank-line); border-radius:18px; overflow:hidden;
    height:100%; transition:.3s ease; }
.team-card:hover { transform:translateY(-6px); box-shadow:0 26px 50px -26px rgba(20,48,31,.45); border-color:transparent; }
.team-photo { position:relative; height:300px; overflow:hidden; }
.team-photo img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.team-card:hover .team-photo img { transform:scale(1.06); }
.team-ph { width:100%; height:100%; display:flex; align-items:center; justify-content:center;
    background:linear-gradient(135deg,#4FA460 0%, #2f7d47 100%); position:relative; }
.team-ph::after { content:""; position:absolute; width:160px; height:160px; border-radius:50%;
    top:-40px; right:-40px; background:rgba(255,255,255,.12); }
.team-ph .ini { font-size:2.8rem; font-weight:800; color:#fff; letter-spacing:1px; z-index:1; }
.team-ph.ph-lime  { background:linear-gradient(135deg,#99CC33,#82b52c); }
.team-ph.ph-orange{ background:linear-gradient(135deg,#FF9900,#ff7a2f); }
.team-ph.ph-coral { background:linear-gradient(135deg,#F47264,#e8596b); }
.team-body { padding:18px 16px; text-align:center; }
.team-body h3 { font-size:1.05rem; font-weight:700; margin-bottom:3px; }
.team-body h3 a { color:var(--bank-ink); }
.team-body h3 a:hover { color:var(--bank-green) !important; }
.team-body .post { color:var(--bank-green); font-size:13px; font-weight:600; }
.team-empty { border:2px dashed var(--bank-line); border-radius:18px; padding:56px 20px; text-align:center; color:var(--bank-muted); }

/* ---------- BENTO GRID ---------- */
.bento { display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:170px; gap:18px; }
.bento .cell { border-radius:22px; padding:26px; position:relative; overflow:hidden;
    display:flex; flex-direction:column; justify-content:flex-end; transition:.3s ease; }
.bento .cell:hover { transform:translateY(-5px); box-shadow:0 26px 50px -24px rgba(20,48,31,.5); }
.bento .cell .bi { font-size:26px; }
.bento .cell h5 { margin:8px 0 4px; font-weight:700; }
.bento .cell p { margin:0; font-size:13.5px; opacity:.9; }
.cell-lg { grid-column:span 2; grid-row:span 2; }
.cell-wide { grid-column:span 2; }
.cell-green { background:linear-gradient(135deg,#4FA460,#3c8a4d); color:#fff; }
.cell-green h5, .cell-dark h5, .cell-orange h5, .cell-coral h5 { color:#fff; }
.cell-dark  { background:var(--bank-dark); color:#fff; }
.cell-lime  { background:linear-gradient(135deg,#99CC33,#82b52c); color:#16340f; }
.cell-lime h5 { color:#16340f; }
.cell-orange{ background:linear-gradient(135deg,#FF9900,#ff7a2f); color:#fff; }
.cell-coral { background:linear-gradient(135deg,#F47264,#e8596b); color:#fff; }
.cell-soft  { background:#fff; border:1px solid var(--bank-line); color:var(--bank-ink); }
.cell-soft h5 { color:var(--bank-ink); }
.cell .cell-num { font-size:2.6rem; font-weight:800; line-height:1; }
.cell::after { content:""; position:absolute; width:150px; height:150px; border-radius:50%;
    top:-50px; right:-50px; background:rgba(255,255,255,.12); }
.cell-soft::after { background:rgba(79,164,96,.08); }
@media (max-width:900px){ .bento{ grid-template-columns:repeat(2,1fr);} .cell-lg{ grid-column:span 2; grid-row:span 1;} }
@media (max-width:560px){ .bento{ grid-template-columns:1fr; grid-auto-rows:auto;} .cell{ min-height:150px;} .cell-lg,.cell-wide{ grid-column:auto;} }

/* ---------- STEPPER ---------- */
.stepper { position:relative; }
.stepper .track { position:absolute; top:36px; left:14%; right:14%; height:3px;
    background:repeating-linear-gradient(90deg,var(--bank-green) 0 10px,transparent 10px 20px); z-index:0; }
.step { position:relative; z-index:1; text-align:center; }
.step .dot { width:74px; height:74px; border-radius:50%; margin:0 auto 18px; color:#fff;
    display:flex; align-items:center; justify-content:center; font-weight:800; font-size:1.5rem;
    box-shadow:0 14px 30px -10px rgba(20,48,31,.5); }
.step:nth-child(1) .dot { background:linear-gradient(135deg,#4FA460,#3c8a4d); }
.step:nth-child(3) .dot { background:linear-gradient(135deg,#99CC33,#82b52c); color:#16340f; }
.step:nth-child(5) .dot { background:linear-gradient(135deg,#FF9900,#ff7a2f); }
.step:nth-child(7) .dot { background:linear-gradient(135deg,#F47264,#e8596b); }
@media (max-width:767px){ .stepper .track{ display:none; } }

/* ---------- DIGITAL BANKING SPLIT ---------- */
.split-green { background:linear-gradient(135deg,#123d24,#1d5231); color:#fff; border-radius:26px; overflow:hidden; }
.split-green h2 { color:#fff; }
.split-list li { display:flex; align-items:flex-start; gap:14px; margin-bottom:18px; color:rgba(255,255,255,.9); }
.split-list .tick { flex:0 0 auto; width:30px; height:30px; border-radius:8px; background:rgba(153,204,51,.25);
    color:var(--bank-lime); display:flex; align-items:center; justify-content:center; }

/* ---------- TESTIMONIALS ---------- */
.tcard { background:#fff; border:1px solid var(--bank-line); border-radius:20px; padding:30px; height:100%;
    transition:.3s ease; }
.tcard:hover { transform:translateY(-6px); box-shadow:0 26px 50px -26px rgba(20,48,31,.45); border-color:transparent; }
.tcard .quote { font-family:Georgia,serif; font-size:3rem; line-height:.6; color:var(--bank-lime); }
.tcard .avatar { width:52px; height:52px; border-radius:50%; object-fit:cover; border:2px solid var(--bank-lime); }
.tcard .stars i { color:var(--bank-orange); font-size:13px; }

/* ---------- STATS (glass over green) ---------- */
.stats-band .stat-cell { background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.15);
    border-radius:18px; padding:26px 14px; }
