/* =====================================================
   Theme — premium fintech look
   ===================================================== */
:root {
  --navy: #0B1E3B;
  --navy-2: #12294e;
  --indigo: #4F46E5;
  --violet: #7C3AED;
  --emerald: #10B981;
  --rose: #F43F5E;
  --ink: #1E293B;
  --muted: #64748B;
  --soft: #F8FAFC;
  --line: #E2E8F0;
  --grad: linear-gradient(135deg, var(--indigo) 0%, var(--violet) 100%);
  --shadow-sm: 0 2px 8px rgba(15, 23, 42, .06);
  --shadow-md: 0 10px 30px rgba(15, 23, 42, .10);
  --shadow-lg: 0 24px 60px rgba(15, 23, 42, .16);
  --radius: 1.1rem;
}

body {
  font-family: 'Inter', system-ui, -apple-system, sans-serif;
  color: var(--ink);
  background: #fff;
  overflow-x: hidden;
}
h1, h2, h3, h4, h5, .navbar-brand, .display-4, .display-5 {
  font-family: 'Plus Jakarta Sans', 'Inter', sans-serif;
  font-weight: 700;
  letter-spacing: -.02em;
}
a { text-decoration: none; }
.text-muted-2 { color: var(--muted); }
.section { padding: 5.5rem 0; }
.section-soft { background: var(--soft); }
.section-title { font-size: 2.2rem; margin-bottom: .6rem; }
.section-kicker {
  display: inline-block; font-size: .78rem; font-weight: 700; letter-spacing: .12em;
  text-transform: uppercase; color: var(--indigo);
  background: color-mix(in srgb, var(--indigo) 8%, transparent); border-radius: 999px; padding: .35rem .9rem; margin-bottom: 1rem;
}

/* ---------- Brand mark ---------- */
.brand-mark {
  display: inline-flex; align-items: center; justify-content: center;
  width: 40px; height: 40px; border-radius: 12px;
  background: var(--grad); color: #fff; font-weight: 800; font-size: 1.25rem;
  font-family: 'Plus Jakarta Sans', sans-serif;
  box-shadow: 0 6px 16px color-mix(in srgb, var(--indigo) 35%, transparent);
  flex: 0 0 auto;
}
.brand-logo-img { height: 40px; width: auto; max-width: 160px; object-fit: contain; }
.navbar-brand { display: flex; align-items: center; gap: .65rem; font-size: 1.35rem; }

/* ---------- Navbar ---------- */
.navbar-glass {
  transition: all .3s ease;
  background: rgba(255, 255, 255, .75);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(226, 232, 240, .6);
}
.navbar-glass.scrolled { background: rgba(255, 255, 255, .96); box-shadow: var(--shadow-sm); }
.navbar-glass .nav-link { font-weight: 500; color: var(--ink); padding: .5rem .9rem; border-radius: .6rem; }
.navbar-glass .nav-link:hover, .navbar-glass .nav-link.active { color: var(--indigo); background: color-mix(in srgb, var(--indigo) 7%, transparent); }

/* ---------- Buttons ---------- */
.btn { border-radius: .8rem; font-weight: 600; padding: .6rem 1.35rem; }
.btn-grad {
  background: var(--grad); color: #fff; border: 0;
  box-shadow: 0 8px 20px color-mix(in srgb, var(--indigo) 35%, transparent);
  transition: transform .2s ease, box-shadow .2s ease;
}
.btn-grad:hover { color: #fff; transform: translateY(-2px); box-shadow: 0 12px 26px color-mix(in srgb, var(--indigo) 45%, transparent); }
.btn-outline-navy { border: 1.5px solid var(--line); color: var(--ink); background: #fff; }
.btn-outline-navy:hover { border-color: var(--indigo); color: var(--indigo); }

/* ---------- Hero ---------- */
.hero {
  position: relative; overflow: hidden;
  padding: 9.5rem 0 6rem;
  background:
    radial-gradient(60rem 30rem at 85% -10%, color-mix(in srgb, var(--violet) 18%, transparent), transparent 60%),
    radial-gradient(50rem 28rem at -10% 30%, color-mix(in srgb, var(--indigo) 14%, transparent), transparent 60%),
    radial-gradient(40rem 22rem at 55% 110%, rgba(16, 185, 129, .12), transparent 60%),
    linear-gradient(180deg, #FFFFFF 0%, #F4F6FF 100%);
}
.hero h1 { font-size: clamp(2.4rem, 5vw, 3.7rem); line-height: 1.12; }
.hero .lead { color: var(--muted); font-size: 1.15rem; max-width: 34rem; }
.text-grad {
  background: var(--grad);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: transparent;
}

/* floating glass cards in hero */
.hero-visual { position: relative; min-height: 420px; }
.glass-card {
  position: absolute; border-radius: 1.2rem; padding: 1.25rem 1.5rem;
  background: rgba(255, 255, 255, .72);
  backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, .9);
  box-shadow: var(--shadow-lg);
  animation: floaty 6s ease-in-out infinite;
}
.glass-card .small-label { font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.glass-card .big-number { font-size: 1.6rem; font-weight: 800; font-family: 'Plus Jakarta Sans', sans-serif; }
.gc-1 { top: 8%; left: 6%; animation-delay: 0s; z-index: 3; }
.gc-2 { top: 42%; right: 2%; animation-delay: 1.4s; z-index: 2; }
.gc-3 { bottom: 4%; left: 16%; animation-delay: 2.6s; z-index: 3; }
.hero-blob {
  position: absolute; inset: 10% 8% auto auto; width: 70%; aspect-ratio: 1/1;
  background: var(--grad); opacity: .12; filter: blur(4px);
  border-radius: 42% 58% 62% 38% / 45% 42% 58% 55%;
  animation: blob 14s ease-in-out infinite;
}
@keyframes floaty { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-14px); } }
@keyframes blob {
  0%, 100% { border-radius: 42% 58% 62% 38% / 45% 42% 58% 55%; }
  50% { border-radius: 58% 42% 40% 60% / 55% 60% 40% 45%; }
}

/* trust marquee */
.trust-strip { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #fff; overflow: hidden; }
.marquee { display: flex; gap: 4rem; white-space: nowrap; animation: marquee 28s linear infinite; padding: 1.1rem 0; }
.marquee span { font-weight: 700; color: #B6C2D4; font-size: 1.05rem; letter-spacing: .06em; text-transform: uppercase; }
@keyframes marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* ---------- Cards ---------- */
.feature-card {
  border: 1px solid var(--line); border-radius: var(--radius); padding: 2rem 1.75rem;
  background: #fff; height: 100%;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.feature-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-md); border-color: color-mix(in srgb, var(--indigo) 35%, transparent); }
.feature-icon {
  width: 52px; height: 52px; border-radius: 14px; display: flex; align-items: center; justify-content: center;
  background: color-mix(in srgb, var(--indigo) 10%, transparent); color: var(--indigo); font-size: 1.4rem; margin-bottom: 1.1rem;
}
.feature-card:nth-child(odd) .feature-icon { background: rgba(16, 185, 129, .1); color: var(--emerald); }

/* steps */
.step-num {
  width: 44px; height: 44px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
  background: var(--grad); color: #fff; font-weight: 800; box-shadow: 0 6px 16px color-mix(in srgb, var(--indigo) 30%, transparent);
}

/* stats band */
.stats-band { background: var(--navy); color: #fff; border-radius: 1.6rem; padding: 3rem 2rem; position: relative; overflow: hidden; }
.stats-band::before {
  content: ""; position: absolute; inset: -40% -10% auto auto; width: 60%; aspect-ratio: 1;
  background: var(--grad); opacity: .25; filter: blur(60px); border-radius: 50%;
}
.stat-value { font-size: 2.4rem; font-weight: 800; font-family: 'Plus Jakarta Sans', sans-serif; }
.stat-label { color: #93A5C4; font-size: .9rem; }

/* testimonials */
.testimonial-card {
  background: #fff; border: 1px solid var(--line); border-radius: var(--radius);
  padding: 1.8rem; height: 100%; box-shadow: var(--shadow-sm);
}
.testimonial-card .stars { color: #F59E0B; }
.avatar-chip {
  width: 44px; height: 44px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
  background: var(--grad); color: #fff; font-weight: 700; font-size: .9rem;
}

/* pricing */
.pricing-card {
  border: 1px solid var(--line); border-radius: 1.4rem; padding: 2.2rem 1.9rem; background: #fff; height: 100%;
  transition: transform .25s ease, box-shadow .25s ease;
}
.pricing-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-md); }
.pricing-card.popular {
  background: var(--navy); color: #fff; border: 0; box-shadow: var(--shadow-lg);
  position: relative; overflow: hidden;
}
.pricing-card.popular::before {
  content: ""; position: absolute; inset: auto -20% -50% auto; width: 80%; aspect-ratio: 1;
  background: var(--grad); opacity: .35; filter: blur(50px); border-radius: 50%;
}
.pricing-card.popular .text-muted-2 { color: #9DB0CE; }
.popular-badge {
  position: absolute; top: 1.2rem; right: 1.2rem; background: var(--grad);
  color: #fff; font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
  padding: .3rem .8rem; border-radius: 999px;
}
.price { font-size: 2.6rem; font-weight: 800; font-family: 'Plus Jakarta Sans', sans-serif; }
.pricing-card ul { list-style: none; padding: 0; margin: 1.4rem 0; }
.pricing-card ul li { padding: .45rem 0; display: flex; gap: .6rem; align-items: center; }

/* CTA band */
.cta-band {
  background: var(--grad); border-radius: 1.6rem; padding: 3.5rem 2.5rem; color: #fff;
  position: relative; overflow: hidden;
}
.cta-band::after {
  content: ""; position: absolute; inset: -60% auto auto -10%; width: 50%; aspect-ratio: 1;
  background: rgba(255, 255, 255, .18); filter: blur(40px); border-radius: 50%;
}

/* ---------- Forms ---------- */
.form-control, .form-select {
  border-radius: .8rem; border: 1.5px solid var(--line); padding: .68rem 1rem;
}
.form-control:focus, .form-select:focus {
  border-color: var(--indigo); box-shadow: 0 0 0 .2rem color-mix(in srgb, var(--indigo) 12%, transparent);
}
.form-label { font-weight: 600; font-size: .88rem; }

/* auth pages */
.auth-wrap { min-height: 100vh; display: flex; align-items: center; padding: 7rem 0 3rem; background:
  radial-gradient(50rem 26rem at 110% -10%, color-mix(in srgb, var(--violet) 14%, transparent), transparent 60%),
  radial-gradient(44rem 24rem at -20% 110%, rgba(16, 185, 129, .12), transparent 60%),
  var(--soft);
}
.auth-card { border: 0; border-radius: 1.4rem; box-shadow: var(--shadow-lg); overflow: hidden; }
.auth-side {
  background: var(--navy); color: #fff; padding: 3rem 2.5rem; height: 100%;
  position: relative; overflow: hidden;
}
.auth-side::before {
  content: ""; position: absolute; inset: auto -30% -40% auto; width: 90%; aspect-ratio: 1;
  background: var(--grad); opacity: .35; filter: blur(60px); border-radius: 50%;
}

/* ---------- Accordion (FAQ) ---------- */
.accordion-item { border: 1px solid var(--line); border-radius: 1rem !important; margin-bottom: .9rem; overflow: hidden; }
.accordion-button { font-weight: 600; padding: 1.15rem 1.4rem; }
.accordion-button:not(.collapsed) { background: color-mix(in srgb, var(--indigo) 6%, transparent); color: var(--indigo); box-shadow: none; }
.accordion-button:focus { box-shadow: none; border-color: var(--line); }

/* ---------- Footer ---------- */
.footer { background: var(--navy); color: #B7C3D9; padding: 4rem 0 1.5rem; margin-top: 0; }
.footer h6 { color: #fff; font-weight: 700; margin-bottom: 1rem; }
.footer a { color: #B7C3D9; display: block; padding: .28rem 0; transition: color .2s; }
.footer a:hover { color: #fff; }
.footer .footer-bottom { border-top: 1px solid rgba(255, 255, 255, .1); margin-top: 2.5rem; padding-top: 1.4rem; font-size: .87rem; }
.social-btn {
  width: 38px; height: 38px; border-radius: 10px; display: inline-flex !important; align-items: center; justify-content: center;
  background: rgba(255, 255, 255, .08); color: #fff !important; padding: 0 !important; margin-right: .5rem;
}
.social-btn:hover { background: var(--indigo); }

/* =====================================================
   Member area (app shell)
   ===================================================== */
.app-body { background: var(--soft); min-height: 100vh; }
.app-topbar {
  background: #fff; border-bottom: 1px solid var(--line);
  position: sticky; top: 0; z-index: 1020;
}
.app-shell { display: flex; gap: 1.5rem; align-items: flex-start; }
.app-sidenav {
  width: 240px; flex: 0 0 240px; background: #fff; border: 1px solid var(--line);
  border-radius: var(--radius); padding: .9rem; position: sticky; top: 86px;
}
.app-sidenav a {
  display: flex; align-items: center; gap: .7rem; padding: .68rem .9rem; border-radius: .7rem;
  color: var(--ink); font-weight: 500; font-size: .93rem; margin-bottom: .15rem;
}
.app-sidenav a i { font-size: 1.05rem; color: var(--muted); }
.app-sidenav a:hover { background: var(--soft); }
.app-sidenav a.active { background: color-mix(in srgb, var(--indigo) 9%, transparent); color: var(--indigo); font-weight: 600; }
.app-sidenav a.active i { color: var(--indigo); }
.app-main { flex: 1 1 auto; min-width: 0; }
@media (max-width: 991px) {
  .app-shell { flex-direction: column; }
  .app-sidenav { width: 100%; flex: 1 1 auto; position: static; display: flex; flex-wrap: wrap; gap: .25rem; }
  .app-sidenav a { margin-bottom: 0; }
}

/* balance card */
.balance-card {
  background:
    radial-gradient(24rem 12rem at 90% -20%, rgba(255, 255, 255, .22), transparent 60%),
    linear-gradient(135deg, #312E81 0%, var(--indigo) 45%, var(--violet) 100%);
  color: #fff; border-radius: 1.4rem; padding: 2rem; box-shadow: var(--shadow-lg);
  position: relative; overflow: hidden;
}
.balance-card .label { font-size: .78rem; letter-spacing: .1em; text-transform: uppercase; color: rgba(255, 255, 255, .75); font-weight: 600; }
.balance-amount { font-size: 2.6rem; font-weight: 800; font-family: 'Plus Jakarta Sans', sans-serif; }
.acct-chip {
  background: rgba(255, 255, 255, .16); border-radius: 999px; padding: .35rem .95rem;
  font-family: 'Courier New', monospace; font-weight: 700; letter-spacing: .1em; font-size: .9rem;
}
.eye-btn { background: rgba(255,255,255,.16); border: 0; color: #fff; border-radius: 10px; width: 38px; height: 38px; }
.eye-btn:hover { background: rgba(255,255,255,.28); }

/* panels & tables */
.panel { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 1.5rem; }
.panel-title { font-size: 1.05rem; font-weight: 700; margin-bottom: 1rem; }
.table-modern { margin: 0; }
.table-modern th {
  font-size: .74rem; text-transform: uppercase; letter-spacing: .07em; color: var(--muted);
  border-bottom: 1px solid var(--line) !important; font-weight: 700; padding: .7rem .75rem;
}
.table-modern td { padding: .85rem .75rem; vertical-align: middle; border-color: #F1F5F9; }
.amt-in { color: var(--emerald); font-weight: 700; }
.amt-out { color: var(--rose); font-weight: 700; }
.txn-icon {
  width: 38px; height: 38px; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center; font-size: 1rem;
}
.txn-icon.in { background: rgba(16, 185, 129, .12); color: var(--emerald); }
.txn-icon.out { background: rgba(244, 63, 94, .1); color: var(--rose); }
.quick-action {
  display: flex; flex-direction: column; align-items: center; gap: .55rem; padding: 1.2rem .6rem;
  background: #fff; border: 1px solid var(--line); border-radius: var(--radius); color: var(--ink);
  font-weight: 600; font-size: .87rem; transition: all .2s ease; text-align: center;
}
.quick-action i { font-size: 1.5rem; color: var(--indigo); }
.quick-action:hover { border-color: var(--indigo); color: var(--indigo); transform: translateY(-3px); box-shadow: var(--shadow-sm); }

.badge-soft-success { background: rgba(16, 185, 129, .12); color: #059669; }
.badge-soft-danger { background: rgba(244, 63, 94, .12); color: #E11D48; }
.badge-soft-indigo { background: color-mix(in srgb, var(--indigo) 10%, transparent); color: var(--indigo); }
.badge-soft-muted { background: rgba(100, 116, 139, .12); color: var(--muted); }

/* statement print */
@media print {
  .app-topbar, .app-sidenav, .no-print, .footer { display: none !important; }
  .app-body { background: #fff; }
  .panel { border: 0; padding: 0; }
}

/* AOS fallback: if JS never initializes AOS, keep content visible */
html:not(.aos-ready) [data-aos] { opacity: 1 !important; transform: none !important; }

/* =====================================================
   Template variants — public marketing pages only.
   Selected in Admin > Settings > Colors & template.
   Nav/footer restyle via body class; homepage partials
   (home_classic/home_aurora/home_minimal.php) supply the
   structurally different hero + sections per template.
   ===================================================== */

/* ---------- Aurora: bold, solid dark nav + gradient accents ---------- */
body.tpl-aurora .navbar-glass {
  background: var(--navy); backdrop-filter: none; -webkit-backdrop-filter: none;
  border-bottom: 0; box-shadow: 0 2px 20px rgba(0, 0, 0, .18);
}
body.tpl-aurora .navbar-glass .navbar-brand, body.tpl-aurora .navbar-glass .navbar-brand span { color: #fff; }
body.tpl-aurora .navbar-glass .nav-link { color: rgba(255, 255, 255, .82); }
body.tpl-aurora .navbar-glass .nav-link:hover, body.tpl-aurora .navbar-glass .nav-link.active {
  color: #fff; background: color-mix(in srgb, var(--indigo) 55%, transparent); border-radius: 999px;
}
body.tpl-aurora .navbar-glass .btn-outline-navy { border-color: rgba(255, 255, 255, .35); color: #fff; background: transparent; }
body.tpl-aurora .navbar-glass .btn-outline-navy:hover { border-color: #fff; }
body.tpl-aurora .navbar-toggler-icon { filter: invert(1) brightness(2); }
body.tpl-aurora .footer { position: relative; }
body.tpl-aurora .footer::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: var(--grad); }
body.tpl-aurora .social-btn:hover { background: var(--grad); }

/* ---------- Minimal: plain, quiet nav + centered single-row footer ---------- */
body.tpl-minimal .navbar-glass {
  background: #fff; backdrop-filter: none; -webkit-backdrop-filter: none;
  border-bottom: 1px solid var(--line); box-shadow: none;
}
body.tpl-minimal .navbar-glass.scrolled { box-shadow: none; }
body.tpl-minimal .navbar-glass .nav-link { letter-spacing: .02em; font-weight: 500; }
body.tpl-minimal .footer { background: #fff; color: var(--muted); border-top: 1px solid var(--line); padding: 3.5rem 0 1.5rem; }
body.tpl-minimal .footer h6 { color: var(--ink); }
body.tpl-minimal .footer a { color: var(--muted); }
body.tpl-minimal .footer a:hover { color: var(--indigo); }
body.tpl-minimal .footer .row > div { flex: 0 0 100%; max-width: 100%; text-align: center; margin-bottom: 1.75rem; }
body.tpl-minimal .footer .d-flex.align-items-center.gap-2.mb-3 { justify-content: center; }
body.tpl-minimal .footer .social-btn { background: var(--soft); color: var(--ink) !important; }
body.tpl-minimal .footer .footer-bottom { flex-direction: column; text-align: center; gap: .4rem; }

/* ---------- Aurora homepage components ---------- */
.aurora-hero {
  position: relative; overflow: hidden; padding: 11rem 0 7rem; text-align: center; color: #fff;
  background: var(--grad);
}
.aurora-hero::before {
  content: ""; position: absolute; inset: 0;
  background:
    radial-gradient(50rem 30rem at 15% 110%, rgba(255, 255, 255, .16), transparent 60%),
    radial-gradient(40rem 24rem at 90% -10%, rgba(255, 255, 255, .14), transparent 60%);
}
.aurora-hero .container { position: relative; }
.aurora-hero h1 { font-size: clamp(2.4rem, 5.4vw, 4rem); line-height: 1.1; color: #fff; }
.aurora-hero .lead { color: rgba(255, 255, 255, .88); font-size: 1.18rem; max-width: 40rem; margin: 0 auto; }
.aurora-stats { display: flex; flex-wrap: wrap; justify-content: center; gap: 1rem; margin-top: 3rem; }
.aurora-stat-pill {
  background: rgba(255, 255, 255, .14); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, .25); border-radius: 1.1rem; padding: 1.1rem 1.6rem; min-width: 150px;
}
.aurora-stat-pill .num { font-size: 1.7rem; font-weight: 800; font-family: 'Plus Jakarta Sans', sans-serif; color: #fff; }
.aurora-stat-pill .lbl { font-size: .8rem; color: rgba(255, 255, 255, .82); }
.aurora-wave { display: block; width: 100%; line-height: 0; margin-top: -1px; }
.aurora-feature-row {
  display: flex; gap: 1.4rem; align-items: flex-start; padding: 1.6rem 0;
  border-bottom: 1px solid var(--line);
}
.aurora-feature-row:last-child { border-bottom: 0; }
.aurora-feature-row .aurora-feature-icon {
  width: 56px; height: 56px; border-radius: 16px; flex: 0 0 auto; display: flex; align-items: center; justify-content: center;
  background: var(--grad); color: #fff; font-size: 1.5rem; box-shadow: 0 8px 20px color-mix(in srgb, var(--indigo) 35%, transparent);
}
.aurora-quote {
  position: relative; background: var(--navy); color: #fff; border-radius: 1.6rem; padding: 3rem;
  overflow: hidden;
}
.aurora-quote::before { content: ""; position: absolute; inset: auto -20% -50% auto; width: 60%; aspect-ratio: 1; background: var(--grad); opacity: .35; filter: blur(60px); border-radius: 50%; }
.aurora-quote blockquote { position: relative; font-size: 1.5rem; font-weight: 600; font-family: 'Plus Jakarta Sans', sans-serif; line-height: 1.4; }
.aurora-mini-avatars { display: flex; gap: -8px; margin-top: 1.5rem; position: relative; }
.aurora-mini-avatars .avatar-chip { margin-right: -10px; border: 2px solid var(--navy); }

/* ---------- Minimal homepage components ---------- */
.minimal-hero { padding: 10.5rem 0 5rem; background: #fff; }
.minimal-hero h1 { font-size: clamp(2.6rem, 6vw, 4.4rem); line-height: 1.08; font-weight: 800; max-width: 46rem; }
.minimal-hero .lead { color: var(--muted); font-size: 1.15rem; max-width: 34rem; }
.minimal-stat-strip {
  display: flex; flex-wrap: wrap; gap: 2.5rem; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line);
  padding: 2rem 0; margin-top: 3rem;
}
.minimal-stat-strip .num { font-size: 1.8rem; font-weight: 800; font-family: 'Plus Jakarta Sans', sans-serif; color: var(--ink); }
.minimal-stat-strip .lbl { font-size: .82rem; color: var(--muted); }
.minimal-feature-row {
  display: flex; gap: 1.3rem; align-items: flex-start; padding: 1.5rem 0; border-bottom: 1px solid var(--line);
}
.minimal-feature-row .minimal-feature-icon {
  width: 46px; height: 46px; border-radius: 12px; flex: 0 0 auto; display: flex; align-items: center; justify-content: center;
  border: 1.5px solid var(--line); color: var(--indigo); font-size: 1.2rem;
}
.minimal-quote {
  border: 1.5px solid var(--line); border-radius: 1.2rem; padding: 2rem; height: 100%;
}
.minimal-quote .quote-mark { font-size: 2.4rem; font-family: Georgia, serif; color: var(--indigo); line-height: .6; display: block; margin-bottom: .5rem; }
.minimal-cta { border: 1.5px solid var(--line); border-radius: 1.4rem; padding: 3rem 2rem; text-align: center; }

/* =====================================================
   Homepage hero slideshow — admin-managed, up to 5 slides.
   Shared across all 3 templates; each renders the same slide
   data with its own heading/CTA styling (see render_hero_slideshow()).
   ===================================================== */
.hero-slideshow .carousel-item { height: 690px; border-radius: 1rem; transition-duration: .6s; overflow: hidden; }
.hero-slideshow h1 { font-size: clamp(1.6rem, 2.6vw, 2.1rem) !important; line-height: 1.2 !important; }
.hero-slideshow .lead { font-size: .95rem !important; line-height: 1.55 !important; max-width: 100% !important; }
.hero-slideshow .section-kicker { margin-bottom: .6rem !important; }
.hero-slideshow .carousel-item > div {
  padding: 1.25rem; border-radius: inherit; height: 100%; width: 100%;
  display: flex; flex-direction: column; justify-content: center; overflow: hidden;
}
.hero-slideshow-aurora .carousel-item { height: 360px; }
.hero-slideshow-aurora .carousel-item.active { display: flex; align-items: center; justify-content: center; }
.hero-slideshow-aurora .carousel-item > div { padding: 0; align-items: center; }
.hero-slideshow-minimal .carousel-item { height: 340px; }
.hero-slideshow .carousel-item[style*="background-image"] { color: #fff; }
.hero-slideshow .carousel-item[style*="background-image"] .section-kicker { background: rgba(255, 255, 255, .18); color: #fff; }
.hero-slideshow .carousel-item[style*="background-image"] h1 { color: #fff; }
.hero-slideshow .carousel-item[style*="background-image"] .lead { color: rgba(255, 255, 255, .88); }
.hero-slideshow-indicators { position: static; margin: 1.25rem 0 0; }
.hero-slideshow-indicators [data-bs-target] {
  width: 8px; height: 8px; border-radius: 50%; background-color: var(--line); opacity: 1;
  border: 0; margin: 0 4px;
}
.hero-slideshow-indicators .active { background-color: var(--indigo); width: 22px; border-radius: 4px; }
.hero-slideshow-aurora .hero-slideshow-indicators [data-bs-target] { background-color: rgba(255, 255, 255, .35); }
.hero-slideshow-aurora .hero-slideshow-indicators .active { background-color: #fff; }
.hero-slideshow .carousel-control-prev, .hero-slideshow .carousel-control-next {
  width: 2.4rem; height: 2.4rem; top: 50%; transform: translateY(-50%); border-radius: 50%;
  background: rgba(15, 23, 42, .06); opacity: 1;
}
.hero-slideshow .carousel-control-prev-icon, .hero-slideshow .carousel-control-next-icon { width: 1.1rem; height: 1.1rem; filter: invert(.4); }
.hero-slideshow-aurora .carousel-control-prev, .hero-slideshow-aurora .carousel-control-next { background: rgba(255, 255, 255, .16); }
.hero-slideshow-aurora .carousel-control-prev-icon, .hero-slideshow-aurora .carousel-control-next-icon { filter: none; }
@media (max-width: 767px) {
  .hero-slideshow .carousel-control-prev, .hero-slideshow .carousel-control-next { display: none; }
}
.hero-slideshow-corporate .carousel-item { height: 360px; }

/* =====================================================
   Template: Corporate — welcoming, community-led banking.
   The visual language is intentionally original: open space, organic
   corners, a deep evergreen base, warm highlights and image-led stories.
   ===================================================== */
.utility-bar {
  position: fixed; top: 0; left: 0; right: 0; z-index: 1031;
  height: 38px; background: #143d36; color: rgba(255, 255, 255, .84);
  font-size: .8rem; align-items: center;
}
.utility-bar a { color: rgba(255, 255, 255, .8); }
.utility-bar a:hover { color: #fff; }
body.tpl-corporate .navbar-glass {
  top: 38px; background: rgba(255,255,255,.96); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid #dce7e1; box-shadow: none;
}
body.tpl-corporate .navbar-glass.scrolled { box-shadow: var(--shadow-sm); }
@media (max-width: 767.98px) {
  body.tpl-corporate .navbar-glass { top: 0; }
}

.corporate-hero {
  padding: 10.5rem 0 5.5rem;
  background: linear-gradient(115deg, #edf5ef 0%, #f8f6ef 52%, #e3f0eb 100%);
  position: relative; overflow: hidden;
}
.corporate-hero::after { content:""; position:absolute; width:36rem; height:36rem; border-radius:46% 54% 61% 39% / 40% 43% 57% 60%; background:#b7d9c5; opacity:.34; right:-15rem; top:4rem; }
.corporate-hero .container { position:relative; z-index:1; }
@media (max-width: 767.98px) {
  .corporate-hero { padding-top: 7.5rem; }
}
.corporate-visual {
  background: #143d36; border-radius: 2rem 2rem 2rem .5rem; padding: 2.6rem; color: #fff; height: 100%;
  min-height: 380px; display: flex; flex-direction: column; justify-content: center; gap: 1.55rem;
  position: relative; overflow: hidden;
}
.corporate-visual::before {
  content: ""; position: absolute; inset: 0; opacity: .06; background-image:
    linear-gradient(rgba(255, 255, 255, .6) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .6) 1px, transparent 1px);
  background-size: 28px 28px;
}
.corporate-visual-stat { position: relative; display: flex; align-items: center; gap: 1rem; }
.corporate-visual-stat .icon {
  width: 48px; height: 48px; border-radius: 50%; flex: 0 0 auto; display: flex; align-items: center; justify-content: center;
  background: #d9a441; color:#143d36; font-size: 1.15rem;
}
.corporate-visual-stat .num { font-size: 1.3rem; font-weight: 800; font-family: 'Plus Jakarta Sans', sans-serif; }
.corporate-visual-stat .lbl { font-size: .82rem; color: rgba(255, 255, 255, .7); }

.service-card-dark {
  background: #143d36; border-radius: 1.5rem 1.5rem 1.5rem .45rem; padding: 2.2rem 1.8rem; color: #fff; height: 100%;
  transition: transform .2s ease, box-shadow .2s ease;
}
.service-card-dark:hover { transform: translateY(-6px); box-shadow: 0 18px 32px rgba(20,61,54,.18); }
.service-card-dark .icon {
  width: 54px; height: 54px; border-radius: 50%; background: #d9a441; color:#143d36;
  display: flex; align-items: center; justify-content: center; font-size: 1.4rem; margin-bottom: 1.2rem;
}
.service-card-dark p { color: rgba(255, 255, 255, .72); }
.service-card-dark a { color: #fff; font-weight: 600; font-size: .88rem; }

.split-panel {
  position: relative; border-radius: 1.8rem 1.8rem 1.8rem .5rem; overflow: hidden; padding: 3rem 2.2rem; color: #fff;
  min-height: 260px; display: flex; flex-direction: column; justify-content: flex-end;
}
.split-panel.p-indigo { background: linear-gradient(135deg, #286356, #143d36); }
.split-panel.p-navy { background: linear-gradient(135deg, #204f45, #102f2a); }

.calc-card { background: #fff; border: 1px solid #dce7e1; border-radius: 1.8rem 1.8rem 1.8rem .45rem; padding: 2.2rem; box-shadow: 0 14px 32px rgba(20,61,54,.08); }
.calc-card .form-range { accent-color: #286356; }
.calc-result-bar {
  background: var(--soft); border-radius: .8rem; padding: 1.2rem 1.5rem; display: flex; flex-wrap: wrap;
  gap: 1.5rem; align-items: center; justify-content: space-between; margin-top: 1.5rem;
}
.calc-result-bar .item .lbl { font-size: .76rem; color: var(--muted); text-transform: uppercase; letter-spacing: .05em; }
.calc-result-bar .item .val { font-size: 1.25rem; font-weight: 800; font-family: 'Plus Jakarta Sans', sans-serif; }

.security-dark { background: #143d36; border-radius: 2rem 2rem 2rem .5rem; padding: 3.5rem 2.5rem; }
.security-item { display: flex; gap: 1rem; align-items: flex-start; }
.security-item .icon {
  width: 48px; height: 48px; border-radius: 50%; flex: 0 0 auto; display: flex; align-items: center; justify-content: center;
  background: rgba(255, 255, 255, .1); color: #fff; font-size: 1.2rem;
}
.security-item h6 { color: #fff; margin-bottom: .3rem; }
.security-item p { color: #93A5C4; font-size: .88rem; margin-bottom: 0; }

/* ---------- Community homepage ---------- */
.community-home { background:#fff; color:#193a35; }
.community-home h1, .community-home h2, .community-home h3 { font-family:'Plus Jakarta Sans','Inter',sans-serif; color:#143d36; }
.community-hero { padding:9.8rem 0 4.5rem; background:#f4f1e8; overflow:hidden; }
.community-slider-shell { overflow:hidden; border-radius:2.3rem 2.3rem 2.3rem .55rem; box-shadow:0 22px 46px rgba(20,61,54,.16); }
.community-slider-shell .hero-slideshow { margin:0; }
.community-slider-shell .hero-slideshow-community .carousel-item { min-height:560px; height:560px; padding:clamp(2.5rem,5vw,5.7rem); display:flex; align-items:center; background-color:#dbeee2; }
.community-slider-shell .hero-slideshow-community .carousel-item::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(232,239,230,.78) 0%,rgba(232,239,230,.58) 43%,rgba(232,239,230,.10) 73%,rgba(20,61,54,.08) 100%); }
.community-slider-shell .hero-slideshow-community .carousel-item > div { position:relative; z-index:1; max-width:650px; }
.community-slider-shell .hero-slideshow-community .section-kicker { color:#286356; background:rgba(255,255,255,.58); }
.community-slider-shell .hero-slideshow-community h1 { font-size:clamp(2.75rem,5.3vw,5.25rem); letter-spacing:-.055em; line-height:.98; margin-bottom:1.5rem; max-width:620px; color:#143d36; }
.community-slider-shell .hero-slideshow-community .lead { color:#41635c; font-size:1.12rem; line-height:1.7; max-width:510px; }
.community-slider-shell .hero-slideshow-community .btn { background:#d9a441 !important; color:#163b35 !important; border-radius:999px !important; border:0; box-shadow:none; font-weight:700; }
.community-slider-shell .hero-slideshow-community .btn:hover { background:#e4b34f !important; transform:translateY(-2px); }
.community-slider-shell .hero-slideshow-community .carousel-indicators { justify-content:flex-start; left:clamp(2.5rem,5vw,5.7rem); right:auto; bottom:1.5rem; margin:0; }
.community-slider-shell .hero-slideshow-community .carousel-indicators button { background:#143d36; width:30px; }
.community-eyebrow { display:inline-flex; align-items:center; gap:.45rem; color:#286356; font-size:.75rem; font-weight:800; letter-spacing:.11em; text-transform:uppercase; margin-bottom:1.15rem; }
.community-hero h1 { font-size:clamp(2.75rem,5.3vw,5.25rem); letter-spacing:-.055em; line-height:.98; margin-bottom:1.5rem; max-width:620px; }
.community-btn { display:inline-flex; align-items:center; gap:.8rem; border-radius:999px; padding:.82rem 1.35rem; font-weight:700; transition:transform .18s ease,background .18s ease; }
.community-btn:hover { transform:translateY(-2px); }
.community-btn-primary { background:#d9a441; color:#163b35; }.community-btn-primary:hover { background:#e4b34f; color:#163b35; }
.community-btn-quiet { color:#143d36; border:1px solid rgba(20,61,54,.3); }.community-btn-quiet:hover { color:#143d36; background:rgba(255,255,255,.5); }
.community-btn-dark { background:#143d36; color:#fff; }.community-btn-dark:hover { background:#1f574d; color:#fff; }
.community-hero-art { background:linear-gradient(165deg,#9ccbb5 0%,#72a98f 100%); position:relative; overflow:hidden; min-height:360px; }
.community-hero-art.community-hero-photo { background:linear-gradient(90deg,rgba(20,61,54,.08),rgba(20,61,54,.08)),url('../img/uploads/community-hero-placeholder.png') center/cover; }
.community-hero-photo .community-sun,.community-hero-photo .community-hill { display:none; }
.community-sun { width:190px; height:190px; position:absolute; top:11%; right:19%; border-radius:50%; background:#f7cf69; box-shadow:0 0 0 28px rgba(247,207,105,.18); }
.community-hill { position:absolute; border-radius:54% 46% 0 0 / 29% 32% 0 0; width:145%; left:-22%; bottom:-21%; transform:rotate(-8deg); }
.community-hill-back { height:60%; background:#45816c; bottom:9%; }.community-hill-front { height:55%; background:#143d36; }
.community-card-float { position:absolute; z-index:2; left:11%; bottom:12%; border-radius:1.1rem 1.1rem 1.1rem .3rem; background:rgba(255,255,255,.94); box-shadow:0 18px 40px rgba(20,61,54,.18); padding:1rem 1.2rem; display:flex; align-items:center; gap:.75rem; color:#143d36; font-weight:700; font-size:.86rem; }
.community-logo { width:35px; height:35px; object-fit:contain; }.community-card-float .brand-mark { width:35px; height:35px; font-size:1rem; }
.community-finder { position:relative; z-index:3; margin-top:-2rem; padding-bottom:5.5rem; }.community-finder-shell { background:#fff; box-shadow:0 17px 42px rgba(20,61,54,.13); border-radius:1.4rem 1.4rem 1.4rem .35rem; padding:2.3rem; }
.community-finder-heading h2 { font-size:clamp(1.7rem,3vw,2.45rem); letter-spacing:-.04em; margin-bottom:1.7rem; }.community-tabs { display:flex; overflow-x:auto; border-bottom:1px solid #dbe7df; gap:.25rem; }
.community-tabs button { appearance:none; white-space:nowrap; border:0; background:transparent; padding:.9rem 1.05rem; color:#55716a; font-weight:700; border-bottom:3px solid transparent; }.community-tabs button:hover,.community-tabs button.active { color:#143d36; border-color:#d9a441; }.community-tabs i { margin-right:.35rem; }
.community-tab-panel { display:none; justify-content:space-between; align-items:center; gap:2rem; padding-top:2rem; }.community-tab-panel.active { display:flex; }.community-tab-panel h3 { font-size:1.25rem; margin:0 0 .45rem; }.community-tab-panel p { color:#55716a; margin:0; }.community-panel-icon { width:42px; height:42px; display:inline-flex; align-items:center; justify-content:center; border-radius:50%; background:#e4f0e8; color:#286356; margin-right:.75rem; float:left; }.community-text-link,.community-product-card a { color:#143d36; font-weight:800; white-space:nowrap; }.community-text-link:hover,.community-product-card a:hover { color:#286356; }
.community-section { padding:5.5rem 0; }.community-section-heading { max-width:680px; margin-bottom:2.7rem; }.community-section-heading h2 { font-size:clamp(2rem,4vw,3.35rem); letter-spacing:-.05em; line-height:1.03; }.community-section-heading p { color:#55716a; font-size:1.05rem; line-height:1.7; }
.community-product-card { height:100%; padding:2.1rem; border:1px solid #dbe7df; border-radius:1.35rem 1.35rem 1.35rem .35rem; background:#fff; transition:transform .2s ease,box-shadow .2s ease; }.community-product-card:hover { transform:translateY(-5px); box-shadow:0 16px 32px rgba(20,61,54,.1); }.community-product-card-featured { background:#e9f1eb; border-color:#e9f1eb; }.community-product-icon { width:54px; height:54px; display:inline-flex; align-items:center; justify-content:center; border-radius:50%; background:#143d36; color:#f7cf69; font-size:1.35rem; margin-bottom:1.5rem; }.community-card-kicker { color:#286356; font-size:.73rem; text-transform:uppercase; letter-spacing:.11em; font-weight:800; margin-bottom:.5rem; }.community-product-card h3 { font-size:1.45rem; letter-spacing:-.035em; }.community-product-card > p:not(.community-card-kicker) { color:#55716a; line-height:1.65; min-height:78px; }
.community-spotlight { padding:5.5rem 0; background:#f4f1e8; }.community-spotlight-intro { max-width:650px; margin-bottom:2.7rem; }.community-spotlight-intro h2 { font-size:clamp(2rem,4vw,3.3rem); letter-spacing:-.05em; line-height:1.04; }.community-spotlight-intro p { color:#55716a; line-height:1.7; }.community-option-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.1rem; }.community-option-card { position:relative; background:#fff; padding:2rem; border-radius:1.35rem 1.35rem 1.35rem .35rem; border:1px solid #e5e4db; }.community-option-card-main { background:#143d36; border-color:#143d36; color:#fff; }.community-option-card-main h3,.community-option-card-main .community-card-kicker,.community-option-card-main .community-text-link { color:#fff; }.community-option-card-main .community-option-lead,.community-option-card-main li { color:#c4dbcf; }.community-option-tag { position:absolute; top:1.2rem; right:1.2rem; border-radius:999px; padding:.28rem .65rem; background:#d9a441; color:#143d36; font-size:.68rem; text-transform:uppercase; letter-spacing:.08em; font-weight:800; }.community-option-card h3 { font-size:1.55rem; letter-spacing:-.04em; }.community-option-lead { color:#55716a; line-height:1.55; min-height:52px; }.community-option-stat { display:flex; flex-direction:column; border-top:1px solid #dbe7df; border-bottom:1px solid #dbe7df; padding:1.1rem 0; margin:1.3rem 0; }.community-option-card-main .community-option-stat { border-color:rgba(255,255,255,.2); }.community-option-stat strong { font-size:1.75rem; letter-spacing:-.05em; }.community-option-stat span { color:#55716a; font-size:.82rem; }.community-option-card-main .community-option-stat span { color:#c4dbcf; }.community-option-card ul { list-style:none; padding:0; margin:0 0 1.5rem; }.community-option-card li { color:#41635c; margin:.6rem 0; font-size:.92rem; }.community-option-card li i { color:#c68d22; margin-right:.35rem; }
.community-story { padding:1.5rem 0 5.5rem; }.community-story-art { background:#b7d9c5; min-height:480px; height:100%; overflow:hidden; position:relative; border-radius:2rem 0 0 .45rem; }.community-story-orb { position:absolute; width:370px; height:370px; border-radius:46% 54% 61% 39%; background:#d9a441; right:-80px; top:55px; }.community-story-lines { position:absolute; inset:0; opacity:.3; background:repeating-linear-gradient(135deg,transparent 0 30px,rgba(20,61,54,.38) 31px 33px); }.community-story-mark { position:absolute; z-index:2; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; color:#143d36; font-size:2.3rem; font-family:'Plus Jakarta Sans',sans-serif; font-weight:800; letter-spacing:-.05em; }.community-story-logo { max-width:180px; height:68px; object-fit:contain; margin-bottom:1rem; }.community-story-mark .brand-mark { width:70px; height:70px; font-size:2rem; margin-bottom:1rem; }.community-story-copy { height:100%; padding:clamp(2.5rem,5vw,5rem); background:#143d36; color:#fff; border-radius:0 2rem 2rem 0; }.community-story-copy h2 { color:#fff; font-size:clamp(2rem,3.4vw,3rem); letter-spacing:-.05em; line-height:1.05; }.community-story-copy p { color:#c4dbcf; line-height:1.7; }.community-story-copy ul { padding:0; list-style:none; color:#fff; margin:1.6rem 0 2rem; }.community-story-copy li { margin:.75rem 0; }.community-story-copy li i { color:#f7cf69; margin-right:.5rem; }
.community-help { padding:0 0 5rem; }.community-help-inner { background:#f4f1e8; border-radius:1.6rem 1.6rem 1.6rem .35rem; padding:2.6rem clamp(1.7rem,5vw,4rem); display:flex; align-items:center; justify-content:space-between; gap:2rem; }.community-help h2 { font-size:clamp(1.8rem,3vw,2.7rem); letter-spacing:-.045em; margin:0 0 .4rem; }.community-help p { color:#55716a; margin:0; }
@media (max-width:991.98px) { .community-hero-art { min-height:300px; }.community-story-art { min-height:340px; border-radius:2rem 2rem 0 .45rem; }.community-story-copy { border-radius:0 0 2rem 2rem; }.community-hero { padding-top:7.5rem; }.community-option-grid { grid-template-columns:1fr; }.community-slider-shell .hero-slideshow-community .carousel-item { min-height:480px; height:480px; } }
@media (max-width:767.98px) { .community-finder-shell { padding:1.5rem; }.community-tab-panel.active,.community-help-inner { align-items:flex-start; flex-direction:column; }.community-product-card > p:not(.community-card-kicker) { min-height:0; }.community-slider-shell { border-radius:1.6rem 1.6rem 1.6rem .35rem; }.community-slider-shell .hero-slideshow-community .carousel-item { min-height:510px; height:510px; padding:2.4rem 1.7rem; background-position:62% center !important; }.community-slider-shell .hero-slideshow-community .carousel-item::before { background:linear-gradient(90deg,rgba(232,239,230,.87) 0%,rgba(232,239,230,.68) 72%,rgba(232,239,230,.26) 100%); }.community-slider-shell .hero-slideshow-community h1 { font-size:2.85rem; }.community-slider-shell .hero-slideshow-community .carousel-indicators { left:1.7rem; } }

/* Screenshot-inspired community home */
body.tpl-corporate { background:#f8efe5; }
body.tpl-corporate .utility-bar { position:relative !important; top:auto !important; left:auto !important; right:auto !important; z-index:auto; height:38px; background:#f1e7dc; color:#4e4a45; font-size:.68rem; }
body.tpl-corporate .utility-bar a { color:inherit; }
/* The contact strip and primary navigation are two deliberate header rows.
   Override Bootstrap's .fixed-top so the navigation cannot overlap the strip. */
body.tpl-corporate .navbar-glass { position:relative !important; top:auto !important; background:#fff; border:0; box-shadow:none; min-height:59px; }
body.tpl-corporate .navbar-brand { font-size:1rem; color:#3e4543; }
body.tpl-corporate .brand-mark { width:31px; height:31px; border-radius:4px; background:#ff6422; box-shadow:none; font-size:.92rem; }
body.tpl-corporate .navbar-glass .nav-link { color:#52524e; font-size:.75rem; padding:.5rem .72rem; }
body.tpl-corporate .btn-outline-navy { border:0; background:#ff6422; color:#fff; border-radius:0; padding:.7rem 1.1rem; }
.community-reference { color:#4b4d49; background:#f8efe5; font-size:14px; }
.community-reference h1,.community-reference h2,.community-reference h3 { color:#3d4240; font-family:'Plus Jakarta Sans','Inter',sans-serif; font-weight:800; }
.community-reference .container { max-width:1080px; }.ref-narrow { max-width:930px !important; }
.ref-kicker { margin:0 0 10px; color:#4c5854; font-size:10px; font-weight:800; letter-spacing:.015em; }
.ref-button { display:inline-flex; gap:9px; align-items:center; background:#ff6422; color:#fff; border-radius:4px; padding:9px 13px; font-size:10px; font-weight:800; line-height:1; transition:transform .2s,background .2s; }
.ref-button:hover { color:#fff; background:#df4f17; transform:translateY(-1px); }.ref-button-light { background:#fff; color:#454944; }.ref-button-light:hover { color:#454944; background:#faf7f1; }
.ref-hero-slider,.ref-hero-slider .carousel-inner,.ref-hero-slider .carousel-item { height:405px; }.ref-hero { display:grid; grid-template-columns:41.5% 58.5%; height:405px; min-height:405px; background:#a8cbc5; }
.ref-hero-copy { padding:104px max(7vw,calc((100vw - 930px)/2)) 54px; padding-right:45px; align-self:center; }.ref-hero-copy h1 { margin:0 0 10px; color:#fff; font-size:34px; letter-spacing:-.055em; line-height:1.02; }.ref-hero-copy p:not(.ref-kicker) { color:#eef7f3; margin:0 0 18px; max-width:300px; font-size:11px; }
.ref-hero-image { position:relative; height:405px; min-height:405px; overflow:hidden; background:linear-gradient(135deg,#547161,#d8c6a2 48%,#647760); }.ref-hero-image:before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 48% 22%,#f6d2ad 0 9%,transparent 9.5%),radial-gradient(ellipse at 54% 52%,#d99564 0 16%,transparent 16.5%),radial-gradient(ellipse at 48% 54%,#d29a74 0 24%,transparent 24.5%),linear-gradient(105deg,transparent 31%,rgba(255,247,230,.6) 32% 48%,transparent 49%); }.ref-hero-sun { position:absolute; width:75%; height:75%; left:15%; bottom:-42%; border-radius:50%; background:rgba(252,242,211,.35); }.ref-hero-leaves { position:absolute; inset:-10%; background:radial-gradient(ellipse at 10% 20%,#1e4436 0 5%,transparent 5.5%),radial-gradient(ellipse at 80% 18%,#284d3d 0 7%,transparent 7.5%),radial-gradient(ellipse at 8% 73%,#2c513f 0 10%,transparent 10.5%); opacity:.9; }.ref-hero-image i { position:absolute; right:8%; bottom:7%; color:#fff; font-size:70px; }
.ref-hero-image.has-photo { background-size:cover; background-position:center; }.ref-hero-image.has-photo:after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(20,61,54,.08),rgba(20,61,54,.08)); }.ref-hero-image.has-photo:before,.ref-hero-image.has-photo .ref-hero-sun,.ref-hero-image.has-photo .ref-hero-leaves,.ref-hero-image.has-photo i { display:none; }.ref-hero-indicators { justify-content:flex-end; margin:0 4% 15px 0; }.ref-hero-indicators button { width:22px !important; height:3px !important; border:0 !important; background-color:#fff !important; opacity:.55; }.ref-hero-indicators .active { opacity:1; }
.ref-products { padding:38px 0 45px; background:#fff; }.ref-products-top { display:flex; justify-content:space-between; gap:20px; align-items:center; }.ref-products-top h2 { margin:0 0 19px; font-size:22px; }.ref-tabs { display:flex; overflow:auto; border-bottom:1px solid #e3ddd6; }.ref-tabs button { flex:1; min-width:120px; border:0; border-right:1px solid #eee9e3; padding:10px 12px; color:#676862; background:#faf7f2; font-size:9px; }.ref-tabs button.active { color:#ed5c24; background:#fff; font-weight:800; }.ref-product-layout { display:grid; grid-template-columns:1fr 1.48fr .69fr; gap:15px; padding:22px 10px 0; }.ref-product-intro h3 { margin:0 0 10px; color:#f35c25; font-size:17px; line-height:1.03; }.ref-product-intro p { font-size:9px; line-height:1.5; }.ref-product-intro ul { padding:0; list-style:none; font-size:8.5px; line-height:1.45; color:#5b6d67; }.ref-product-intro li { margin:8px 0; padding-left:14px; position:relative; }.ref-product-intro li:before { content:'●'; position:absolute; left:0; color:#8ec7bc; }.ref-loan-list { display:grid; gap:7px; }.ref-loan-card { display:grid; grid-template-columns:1fr 18px 62px 62px; align-items:center; gap:6px; background:#eee8e0; padding:9px 10px; border-radius:5px; min-height:58px; }.ref-loan-card strong,.ref-loan-card span,.ref-rate small { display:block; }.ref-loan-card strong { font-size:9px; }.ref-loan-card span { font-size:7.5px; }.ref-loan-card > i { color:#7c817c; }.ref-rate b { display:block; font-size:9px; }.ref-rate small { font-size:6.5px; }.ref-house-art { min-height:245px; overflow:hidden; position:relative; border-radius:4px; background:linear-gradient(125deg,#8e542a,#e3ab56 43%,#cf7b2e 44%,#f1b560); }.ref-house-art:before { content:""; position:absolute; inset:20px 15px 0; background:repeating-linear-gradient(90deg,rgba(255,255,255,.45) 0 2px,transparent 2px 30px),repeating-linear-gradient(0deg,rgba(82,42,20,.38) 0 2px,transparent 2px 35px); }.ref-window { position:absolute; width:45px; height:83px; top:24px; left:24px; background:#aec6bd; border:5px solid #fff0d5; }.ref-house-person { position:absolute; width:43px; height:90px; left:35px; bottom:12px; background:#f1e0bd; border-radius:35% 35% 10% 10%; box-shadow:27px 13px 0 -7px #b67338; }.ref-house-art span { position:absolute; right:-5px; bottom:12px; color:#8b4b1f; background:#f4d9a6; padding:14px 7px; font-size:20px; font-weight:800; line-height:.9; transform:rotate(-3deg); }
.ref-tab-panel { display:none; }.ref-tab-panel.active { display:block; }.ref-tab-card-list { display:grid; align-content:start; gap:8px; }.ref-tab-card { display:grid; grid-template-columns:minmax(0,1fr) 25px; gap:6px; align-items:center; min-height:72px; padding:11px 12px; border-radius:8px; color:#353b39; background:#eee6dc; transition:background .2s,transform .2s; }.ref-tab-card:hover { color:#353b39; background:#e5dbce; transform:translateX(2px); }.ref-tab-card-copy strong,.ref-tab-card-copy span { display:block; }.ref-tab-card-copy strong { font-size:10px; text-decoration:underline; }.ref-tab-card-copy span { margin-top:2px; font-size:9px; line-height:1.35; }.ref-tab-card > i { color:#81817b; font-size:20px; }.ref-tab-card:has(.ref-card-stats) { grid-template-columns:minmax(0,1fr) 25px; }.ref-card-stats { grid-column:1 / -1; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; padding-top:8px; border-top:1px solid #d3cac0; }.ref-card-stats b,.ref-card-stats small { display:block; }.ref-card-stats b { font-size:10px; }.ref-card-stats small { font-size:7.5px; line-height:1.25; }.ref-tab-art { position:relative; overflow:hidden; min-height:245px; border-radius:8px; background:#d5a46c; }.ref-tab-art:before,.ref-tab-art:after,.ref-tab-art span { content:""; position:absolute; }.ref-tab-art-home { background:linear-gradient(125deg,#8e542a,#e3ab56 43%,#cf7b2e 44%,#f1b560); }.ref-tab-art-home:before { inset:20px 15px 0; background:repeating-linear-gradient(90deg,rgba(255,255,255,.45) 0 2px,transparent 2px 30px),repeating-linear-gradient(0deg,rgba(82,42,20,.38) 0 2px,transparent 2px 35px); }.ref-tab-art-home:after { width:43px; height:90px; left:35px; bottom:12px; border-radius:35% 35% 10% 10%; background:#f1e0bd; box-shadow:27px 13px 0 -7px #b67338; }.ref-tab-art-accounts { background:linear-gradient(145deg,#b8a69c,#f1e5d0 44%,#c48062 45%,#f7d4a8); }.ref-tab-art-accounts:before { width:55%; height:38%; left:-8%; bottom:12%; border-radius:45%; background:#6cb0a0; transform:rotate(-24deg); box-shadow:100px -93px 0 -35px #f2d2b1; }.ref-tab-art-accounts:after { width:45%; height:12%; right:-10%; top:12%; border-radius:50%; background:#285144; }.ref-tab-art-loans { background:linear-gradient(125deg,#d6c7b4,#7d3e24 47%,#e5e1d9 48%,#bca477); }.ref-tab-art-loans:before { width:95px; height:115px; right:8px; bottom:0; border-radius:52% 52% 0 0; background:#f0cfad; box-shadow:-21px 42px 0 -16px #203d42; }.ref-tab-art-cards { background:linear-gradient(145deg,#ff8655,#de552b 47%,#e7a47c); }.ref-tab-art-cards:before { width:100px; height:46px; left:-7px; top:102px; border-radius:7px; background:#333d3d; transform:rotate(-18deg); box-shadow:92px -40px 0 -20px #d39f77; }.ref-tab-art-switch { background:linear-gradient(160deg,#142d36,#263e42 55%,#c0893f 56%,#edc36f); }.ref-tab-art-switch:before { width:112px; height:142px; right:-20px; bottom:-4px; border-radius:48% 48% 0 0; background:#e5b895; }.ref-tab-art-switch:after { width:86px; height:100px; left:18px; bottom:0; border-radius:50% 50% 0 0; background:#c48636; }
.ref-feature { padding:70px 0; }.ref-copy { max-width:265px; margin-left:calc((100% - 930px)/2); }.ref-copy h2 { margin:0 0 13px; font-size:28px; line-height:.94; letter-spacing:-.06em; }.ref-copy > p:not(.ref-kicker) { font-size:9px; line-height:1.55; margin-bottom:17px; }.ref-feature-green { background:#a9cbc6; }.ref-feature-cream { min-height:270px; background:#f8efe5; }.ref-feature-pink { min-height:300px; background:#f5bdd3; }.ref-tech { min-height:300px; }.ref-feature-grid { display:grid; grid-template-columns:265px 1fr; gap:70px; align-items:center; }.ref-feature-grid .ref-copy { margin-left:0; }.ref-collage { height:230px; position:relative; }.ref-collage div { position:absolute; border-radius:4px; background-size:cover; box-shadow:0 10px 22px rgba(37,72,65,.15); }.ref-collage div:nth-child(1) { width:130px; height:130px; left:0; top:0; background:linear-gradient(130deg,#6ba75a,#e1df7c 45%,#457c5e); }.ref-collage div:nth-child(2) { width:220px; height:128px; right:0; top:2px; background:linear-gradient(125deg,#f1c595,#d57e52 40%,#77a0a4 41%,#e9cc95); }.ref-collage div:nth-child(3) { width:220px; height:130px; left:30px; bottom:0; background:linear-gradient(150deg,#d09a72 0 32%,#f8d3a1 33% 52%,#a96d45 53% 58%,#6a8481 59%); }
.ref-community-collage { height:250px; }.ref-community-collage img { position:absolute; display:block; object-fit:cover; border-radius:5px; box-shadow:0 10px 22px rgba(37,72,65,.16); }.ref-community-collage img:nth-child(1) { width:128px; height:128px; top:0; left:0; object-position:left center; }.ref-community-collage img:nth-child(2) { width:132px; height:96px; top:30px; left:46px; object-position:center; }.ref-community-collage img:nth-child(3) { width:174px; height:100px; top:0; right:0; object-position:center; }.ref-community-collage img:nth-child(4) { width:220px; height:132px; bottom:0; left:28px; object-position:center; }
.ref-help { padding:47px 0 60px; background:#f8efe5; }.ref-help h2 { margin:0 0 10px; font-size:21px; line-height:1.08; }.ref-help p { font-size:9px; }.ref-help ul { list-style:none; padding:0; margin:11px 0; }.ref-help li { margin:6px 0; }.ref-help li:before { content:'→'; color:#ed5c24; padding-right:10px; }.ref-help a { color:#ed5c24; font-size:10px; }
body.tpl-corporate .footer { background:#3f4140; padding:38px 0 18px; font-size:10px; } body.tpl-corporate .footer .brand-mark { background:#ff6422; } body.tpl-corporate .footer h6 { color:#fff; font-size:12px; }
@media (max-width:767.98px) { .ref-hero-slider,.ref-hero-slider .carousel-inner,.ref-hero-slider .carousel-item,.ref-hero { height:auto; }.ref-hero { grid-template-columns:1fr; }.ref-hero-copy { padding:70px 28px 42px; }.ref-hero-image { height:260px; min-height:260px; }.ref-products { padding:30px 0; }.ref-products-top { align-items:flex-start; }.ref-products-top h2 { font-size:20px; }.ref-product-layout { grid-template-columns:1fr; padding-left:0; padding-right:0; }.ref-house-art { min-height:180px; }.ref-feature { padding:52px 0; }.ref-copy { margin-left:0; }.ref-copy h2 { font-size:27px; }.ref-feature-grid { grid-template-columns:1fr; gap:32px; }.ref-collage { height:210px; }.ref-help h2 br { display:none; } }

/* Readable, full-scale presentation for the community template. */
body.tpl-corporate .navbar-brand { font-size:1.1rem; } body.tpl-corporate .navbar-glass .nav-link { font-size:.9rem; padding:.65rem .95rem; } body.tpl-corporate .utility-bar { font-size:.8rem; } body.tpl-corporate .footer { font-size:.88rem; } body.tpl-corporate .footer h6 { font-size:1rem; }
.community-reference { font-size:16px; }.ref-kicker { font-size:12px; }.ref-button { padding:11px 16px; font-size:12px; }.ref-products-top h2 { font-size:28px; }.ref-tabs button { font-size:12px; padding:13px 16px; }.ref-product-intro h3 { font-size:24px; }.ref-product-intro p { font-size:12px; }.ref-product-intro ul { font-size:11px; }.ref-product-intro li { margin:10px 0; }.ref-tab-card { min-height:86px; padding:14px 16px; border-radius:9px; }.ref-tab-card-copy strong { font-size:13px; }.ref-tab-card-copy span { font-size:11px; }.ref-tab-card > i { font-size:25px; }.ref-card-stats b { font-size:13px; }.ref-card-stats small { font-size:10px; }.ref-copy { max-width:330px; }.ref-copy h2 { font-size:36px; }.ref-copy > p:not(.ref-kicker) { font-size:12px; line-height:1.65; }.ref-help h2 { font-size:27px; }.ref-help p,.ref-help a { font-size:12px; }
@media (min-width:992px) { .community-reference .container { max-width:1240px; }.community-reference .ref-narrow { max-width:1180px !important; }.ref-hero-slider,.ref-hero-slider .carousel-inner,.ref-hero-slider .carousel-item,.ref-hero,.ref-hero-image { height:480px; min-height:480px; }.ref-hero-copy { padding-top:100px; padding-bottom:70px; }.ref-hero-copy h1 { font-size:46px; }.ref-hero-copy p:not(.ref-kicker) { font-size:14px; max-width:355px; }.ref-products { padding:54px 0 64px; }.ref-product-layout { grid-template-columns:1fr 1.55fr .75fr; gap:24px; padding-top:30px; }.ref-tab-card-list { gap:11px; }.ref-tab-art { min-height:330px; }.ref-feature { padding:100px 0; }.ref-feature-grid { grid-template-columns:330px 1fr; gap:100px; }.ref-collage,.ref-community-collage { height:290px; }.ref-community-collage img:nth-child(1) { width:158px; height:158px; }.ref-community-collage img:nth-child(2) { width:165px; height:120px; left:60px; top:38px; }.ref-community-collage img:nth-child(3) { width:220px; height:126px; }.ref-community-collage img:nth-child(4) { width:276px; height:165px; left:35px; }.ref-feature-cream,.ref-feature-pink,.ref-tech { min-height:390px; }.ref-help { padding:74px 0 85px; } }

/* Home loans landing page */
.loans-page { background:#fff; color:#3f4542; }.loans-page h1,.loans-page h2,.loans-page h3 { color:#3e4341; }.loans-page .container { max-width:1180px; }.loans-crumb { border-bottom:1px solid #ece7df; font-size:.76rem; padding:11px 0; }.loans-crumb a,.loans-text-link { color:#ed5c24; }.loans-crumb span { color:#aaa39a; margin:0 8px; }.loans-hero { display:grid; grid-template-columns:42% 58%; min-height:410px; }.loans-hero-copy { display:flex; flex-direction:column; justify-content:center; padding:70px max(8vw,calc((100vw - 1180px)/2)); padding-right:45px; background:#a8cbc5; }.loans-hero-copy p { margin:0 0 9px; font-weight:700; font-size:.8rem; }.loans-hero-copy h1 { margin:0 0 10px; color:#fff; font-size:3.5rem; letter-spacing:-.06em; }.loans-hero-copy span { color:#eff8f4; max-width:295px; }.loans-hero-image { background-size:cover; background-position:center; }.loans-two-col { display:grid; grid-template-columns:30% 1fr; gap:9%; padding:72px 0; }.loans-two-col h2 { font-size:2.15rem; line-height:.98; letter-spacing:-.055em; }.loans-two-col p { color:#555b57; font-size:.94rem; line-height:1.6; }.loans-button { display:inline-flex; align-items:center; gap:10px; border:0; border-radius:4px; padding:10px 15px; background:#ff6422; color:#fff; font-weight:800; font-size:.78rem; }.loans-button:hover { color:#fff; background:#df501a; }.loans-text-link { display:inline-block; font-size:.82rem; font-weight:700; }.loans-products { border-top:1px solid #ece7df; }.loans-products > div:first-child { max-width:245px; }.loans-card-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }.loans-card { display:flex; flex-direction:column; align-items:flex-start; }.loans-card img { width:100%; height:128px; object-fit:cover; border-radius:6px; margin-bottom:12px; }.loans-card h3 { font-size:1rem; margin:0 0 5px; }.loans-card p { margin:0 0 8px; font-size:.78rem; min-height:55px; }.loans-card > strong { font-size:.82rem; margin:0 0 12px; }.loans-card > strong span { color:#6b716c; font-weight:600; }.loans-card .loans-button { padding:8px 13px; font-size:.7rem; }.loans-options { border-top:1px solid #ece7df; }.loans-option-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; align-content:start; }.loans-option-grid article { min-height:150px; padding:21px 18px; border-radius:5px; background:#eee7dc; }.loans-option-grid article:nth-child(2) { background:#f4c0d5; }.loans-option-grid article:nth-child(3) { background:#849144; color:#fff; }.loans-option-grid h3 { font-size:.9rem; }.loans-option-grid article:nth-child(3) h3 { color:#fff; }.loans-option-grid p { font-size:.76rem; line-height:1.45; }.loans-help-band { background:#a8cbc5; padding:0; }.loans-help-band .container { display:grid; grid-template-columns:44% 56%; min-height:205px; }.loans-help-band > .container > div { padding:38px 0; }.loans-help-band h2 { color:#fff; font-size:1.9rem; }.loans-help-band p { color:#edf7f3; max-width:400px; }.loans-button-light { color:#3e4341; background:#fff; }.loans-button-light:hover { color:#3e4341; background:#f8f5f0; }.loans-help-band img { width:100%; height:205px; object-fit:cover; object-position:center; }.loans-compare { margin:72px auto; background:#efe8dd; }.loans-compare-head { display:flex; align-items:center; justify-content:space-between; padding:20px 22px 0; }.loans-compare-head h2 { font-size:1.45rem; }.loans-compare-head .loans-button { padding:7px 12px; }.loans-compare-grid { display:grid; grid-template-columns:repeat(4,1fr); }.loans-compare-card { background:#fff; border:1px solid #e7e0d8; }.loans-compare-card header { display:flex; align-items:start; justify-content:space-between; padding:16px 14px 5px; background:#c6ded8; }.loans-compare-card:nth-child(1) header { background:#f4c0d5; }.loans-compare-card:nth-child(3) header { background:#e7dccf; }.loans-compare-card:nth-child(4) header { background:#d4dd9a; }.loans-compare-card h3 { font-size:.82rem; }.loans-compare-card button { border:0; background:transparent; color:#fff; font-size:1rem; }.loans-compare-card > p { min-height:90px; padding:0 14px; font-size:.72rem; }.loans-compare-card dl { margin:0; }.loans-compare-card dl div { padding:13px 14px; border-top:1px solid #e8e1d8; }.loans-compare-card dt { color:#777; font-size:.65rem; font-weight:500; }.loans-compare-card dd { margin:3px 0 0; color:#414642; font-size:.83rem; font-weight:800; }.loans-need { padding-top:15px; padding-bottom:55px; border-top:1px solid #ece7df; }.loans-need p { align-self:center; margin:0; }.loans-callback { border-top:1px solid #ece7df; }.loans-callback form { max-width:590px; }.loans-form-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:11px; margin-bottom:15px; }.loans-form-grid label { color:#555; font-size:.72rem; font-weight:700; }.loans-form-grid input,.loans-form-grid select { display:block; width:100%; height:34px; margin-top:4px; border:1px solid #b8d6cf; background:#eaf4f1; padding:6px 8px; }.loans-form-grid .wide { grid-column:1 / -1; }.loans-callback small { display:block; max-width:360px; margin-top:12px; color:#777; font-size:.68rem; }
@media (max-width:767.98px) { .loans-hero { grid-template-columns:1fr; }.loans-hero-copy { min-height:290px; padding:48px 28px; }.loans-hero-copy h1 { font-size:2.7rem; }.loans-hero-image { min-height:240px; }.loans-two-col { grid-template-columns:1fr; gap:20px; padding:48px 22px; }.loans-card-grid,.loans-option-grid { grid-template-columns:1fr; }.loans-card p { min-height:0; }.loans-help-band .container { grid-template-columns:1fr; padding:0 22px; }.loans-help-band > .container > div { padding:38px 0; }.loans-help-band img { margin:0 -22px; width:calc(100% + 44px); }.loans-compare { margin:42px 16px; overflow:auto; }.loans-compare-grid { min-width:860px; }.loans-need { padding-top:48px; }.loans-callback { padding-bottom:48px; } }

/* Personal loans landing page */
.personal-loans-page { background:#fff; color:#3f4542; }.personal-loans-page .container { max-width:1180px; }.pl-hero { display:grid; grid-template-columns:42% 58%; min-height:410px; }.pl-hero-copy { display:flex; flex-direction:column; justify-content:center; padding:70px max(8vw,calc((100vw - 1180px)/2)); padding-right:45px; background:#a8cbc5; }.pl-hero-copy p { margin:0 0 9px; font-size:.8rem; font-weight:700; }.pl-hero-copy h1 { margin:0 0 10px; color:#fff; font-size:3.3rem; line-height:.98; letter-spacing:-.06em; }.pl-hero-copy span { color:#edf7f3; max-width:285px; }.pl-hero-image { overflow:hidden; }.pl-hero-image img { display:block; width:100%; height:410px; object-fit:cover; object-position:center; }.pl-products { padding-top:54px; padding-bottom:70px; }.pl-products > div:first-child { max-width:255px; }.pl-info,.pl-support { display:grid; grid-template-columns:25% 1fr; gap:9%; padding:60px 0; border-top:1px solid #ebe5dd; }.pl-info-title h2 { font-size:2rem; line-height:.98; letter-spacing:-.055em; }.pl-info-title p { font-size:.83rem; line-height:1.55; }.pl-info-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:30px 24px; }.pl-info-grid article { position:relative; padding-left:25px; }.pl-info-grid i { position:absolute; left:0; top:2px; color:#a8cbc5; font-size:.8rem; }.pl-info-grid h3 { font-size:.84rem; margin:0 0 7px; }.pl-info-grid p { color:#565c57; font-size:.75rem; line-height:1.5; margin:0; }.pl-support .pl-info-grid { grid-template-columns:repeat(3,1fr); }.pl-start { display:grid; grid-template-columns:19% 1fr; gap:7%; padding:65px 0; border-top:1px solid #ebe5dd; }.pl-start > div:first-child h2 { font-size:2rem; line-height:.98; letter-spacing:-.055em; }.pl-start > div:first-child p { font-size:.8rem; line-height:1.55; }.pl-start-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }.pl-start-grid img { width:100%; height:130px; object-fit:cover; border-radius:6px; }.pl-start-grid h3 { margin:10px 0 6px; font-size:.9rem; }.pl-start-grid p { min-height:48px; font-size:.75rem; line-height:1.45; }.pl-start-grid .loans-button { padding:8px 12px; font-size:.69rem; }.pl-callback { padding-top:55px; border-top:1px solid #ebe5dd; }.personal-loans-page .loans-card img { height:138px; }
@media (max-width:767.98px) { .pl-hero { grid-template-columns:1fr; }.pl-hero-copy { min-height:290px; padding:48px 28px; }.pl-hero-copy h1 { font-size:2.7rem; }.pl-hero-image { min-height:240px; }.pl-hero-image img { height:240px; }.pl-products { padding-top:48px; }.pl-info,.pl-support,.pl-start { grid-template-columns:1fr; gap:25px; padding:48px 22px; }.pl-info-grid,.pl-support .pl-info-grid,.pl-start-grid { grid-template-columns:1fr; }.pl-start-grid img { height:180px; }.pl-start-grid p { min-height:0; }.pl-callback { padding-bottom:48px; } }

/* Community impact landing page */
.impact-page { background:#fff; color:#404642; }.impact-page .container { max-width:1180px; }.impact-hero { display:grid; grid-template-columns:42% 58%; min-height:410px; }.impact-hero-copy { display:flex; flex-direction:column; justify-content:center; padding:70px max(8vw,calc((100vw - 1180px)/2)); padding-right:45px; background:#a8cbc5; }.impact-hero-copy p { margin:0 0 9px; font-size:.8rem; font-weight:700; }.impact-hero-copy h1 { margin:0 0 10px; color:#fff; font-size:3.15rem; line-height:.98; letter-spacing:-.06em; }.impact-hero-copy span { color:#eef7f3; max-width:285px; }.impact-hero-image { overflow:hidden; }.impact-hero-image img { display:block; width:100%; height:410px; object-fit:cover; object-position:center; }.impact-two-col { display:grid; grid-template-columns:25% 1fr; gap:9%; padding:66px 0; border-bottom:1px solid #ebe5dd; }.impact-two-col h2,.impact-testimonials h2 { font-size:2rem; line-height:.98; letter-spacing:-.055em; }.impact-two-col > div > p { color:#565c57; font-size:.82rem; line-height:1.58; }.impact-story-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }.impact-story-grid img { display:block; width:100%; height:145px; object-fit:cover; border-radius:6px; }.impact-story-grid h3 { margin:10px 0 5px; font-size:.86rem; }.impact-story-grid p { min-height:54px; margin:0 0 10px; font-size:.75rem; line-height:1.48; }.impact-story-grid .loans-button,.impact-pillar-grid .loans-button { padding:8px 12px; font-size:.68rem; }.impact-video-card { position:relative; overflow:hidden; border-radius:6px; min-height:220px; }.impact-video-card img { width:100%; height:220px; object-fit:cover; }.impact-video-card span { position:absolute; left:50%; top:50%; display:grid; width:50px; height:50px; place-items:center; border-radius:50%; background:#ff6422; color:#fff; transform:translate(-50%,-50%); font-size:1.7rem; }.impact-video-card small { position:absolute; left:15px; bottom:12px; color:#fff; font-weight:800; }.impact-pillar-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; align-content:start; }.impact-pillar-grid h3 { font-size:.85rem; }.impact-pillar-grid p { min-height:85px; font-size:.75rem; line-height:1.5; }.impact-eco { position:relative; min-height:340px; overflow:hidden; background:#758443; }.impact-eco-image { position:absolute; inset:0; background-position:center; background-size:cover; opacity:.45; }.impact-eco-overlay { position:relative; z-index:1; display:flex; min-height:340px; padding:65px 25px; align-items:center; flex-direction:column; justify-content:center; text-align:center; color:#fff; }.impact-eco-overlay > img { position:absolute; width:min(900px,90%); top:26px; opacity:.5; mix-blend-mode:screen; }.impact-eco-overlay h2 { max-width:640px; color:#fff; font-size:2rem; line-height:1.04; }.impact-sustain-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:13px; align-content:start; }.impact-sustain-grid article { min-height:140px; padding:17px; border-radius:5px; background:#849144; color:#fff; }.impact-sustain-grid .impact-feature-image { grid-row:span 2; padding:0; overflow:hidden; background:#e9e2d8; }.impact-sustain-grid img { width:100%; height:100%; object-fit:cover; }.impact-sustain-grid h3 { color:#fff; font-size:.84rem; }.impact-sustain-grid p { font-size:.72rem; line-height:1.45; }.impact-community-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }.impact-community-grid article { min-height:160px; padding:20px 16px; border-radius:5px; background:#ff6422; color:#fff; }.impact-community-grid h3 { color:#fff; font-size:.86rem; }.impact-community-grid p { font-size:.74rem; line-height:1.5; }.impact-accordion details { margin-bottom:7px; border-radius:5px; background:#ece7df; }.impact-accordion details:nth-child(2n) { background:#f6c1d7; }.impact-accordion summary { display:flex; justify-content:space-between; gap:10px; padding:12px 14px; cursor:pointer; font-size:.8rem; font-weight:800; list-style:none; }.impact-accordion summary::-webkit-details-marker { display:none; }.impact-accordion details p { padding:0 14px 13px; margin:0; font-size:.75rem; }.impact-testimonials { display:grid; grid-template-columns:25% 1fr; gap:9%; padding:65px 0; }.impact-testimonials > div { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }.impact-testimonials blockquote { margin:0; color:#4d534f; font-size:.86rem; font-style:italic; line-height:1.55; }.impact-testimonials cite { display:block; margin-top:13px; color:#888; font-size:.73rem; font-style:normal; }
@media (max-width:767.98px) { .impact-hero { grid-template-columns:1fr; }.impact-hero-copy { min-height:290px; padding:48px 28px; }.impact-hero-copy h1 { font-size:2.65rem; }.impact-hero-image img { height:240px; }.impact-two-col,.impact-testimonials { grid-template-columns:1fr; gap:25px; padding:48px 22px; }.impact-story-grid,.impact-pillar-grid,.impact-community-grid,.impact-testimonials > div { grid-template-columns:1fr; }.impact-story-grid img { height:190px; }.impact-story-grid p,.impact-pillar-grid p { min-height:0; }.impact-eco,.impact-eco-overlay { min-height:310px; }.impact-sustain-grid { grid-template-columns:1fr; }.impact-sustain-grid .impact-feature-image { height:210px; grid-row:auto; } }

/* Personal banking / account page */
.banking-page { background:#fff; color:#404642; }.banking-page .container { max-width:1180px; }.banking-hero { display:grid; grid-template-columns:42% 58%; min-height:410px; background:#ff6422; }.banking-hero-copy { display:flex; flex-direction:column; justify-content:center; padding:70px max(8vw,calc((100vw - 1180px)/2)); padding-right:45px; }.banking-hero-copy p { margin:0 0 9px; color:#fff; font-size:.8rem; font-weight:700; }.banking-hero-copy h1 { margin:0 0 10px; color:#fff; font-size:3.15rem; line-height:.98; letter-spacing:-.06em; }.banking-hero-copy span { color:#fff5ee; max-width:290px; }.banking-hero-image { overflow:hidden; }.banking-hero-image img { display:block; width:100%; height:410px; object-fit:cover; object-position:center; }.banking-two-col { display:grid; grid-template-columns:28% 1fr; gap:8%; padding:64px 0; border-bottom:1px solid #ebe5dd; }.banking-two-col h2,.banking-why-title h2,.banking-start h2 { font-size:2rem; line-height:.98; letter-spacing:-.055em; }.banking-two-col > div > p { color:#565c57; font-size:.83rem; line-height:1.58; }.banking-card-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; align-content:start; }.banking-card-grid article:last-child { max-width:calc(50% - 10px); }.banking-card-grid img { display:block; width:100%; height:150px; object-fit:cover; border-radius:6px; }.banking-card-grid h3 { margin:10px 0 5px; font-size:1rem; }.banking-card-grid p { min-height:46px; margin:0 0 11px; font-size:.76rem; line-height:1.5; }.banking-card-grid .loans-button { padding:8px 12px; font-size:.69rem; }.banking-why { display:grid; grid-template-columns:25% 1fr; gap:9%; padding:65px 0; border-bottom:1px solid #ebe5dd; }.banking-why-title p { font-size:.82rem; line-height:1.55; }.banking-why-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:30px 24px; }.banking-why-grid article { position:relative; padding-left:25px; }.banking-why-grid i { position:absolute; left:0; top:2px; color:#a8cbc5; font-size:.8rem; }.banking-why-grid h3 { margin:0 0 7px; font-size:.83rem; }.banking-why-grid p { margin:0; color:#565c57; font-size:.74rem; line-height:1.5; }.banking-start { display:grid; grid-template-columns:20% 1fr; gap:7%; padding:65px 0; border-bottom:1px solid #ebe5dd; }.banking-start > div:first-child p { font-size:.8rem; line-height:1.55; }.banking-start-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }.banking-start-grid img { width:100%; height:145px; object-fit:cover; border-radius:6px; }.banking-start-grid h3 { margin:10px 0 6px; font-size:.88rem; }.banking-start-grid p { min-height:50px; font-size:.75rem; line-height:1.45; }.banking-start-grid .loans-button { padding:8px 12px; font-size:.69rem; }.banking-fine-print { padding:42px 0 64px; }.banking-fine-print h2 { font-size:.82rem; }.banking-fine-print p { max-width:950px; color:#676d68; font-size:.72rem; line-height:1.65; }
@media (max-width:767.98px) { .banking-hero { grid-template-columns:1fr; }.banking-hero-copy { min-height:290px; padding:48px 28px; }.banking-hero-copy h1 { font-size:2.65rem; }.banking-hero-image img { height:240px; }.banking-two-col,.banking-why,.banking-start { grid-template-columns:1fr; gap:25px; padding:48px 22px; }.banking-card-grid,.banking-why-grid,.banking-start-grid { grid-template-columns:1fr; }.banking-card-grid article:last-child { max-width:none; }.banking-card-grid img { height:190px; }.banking-card-grid p,.banking-start-grid p { min-height:0; }.banking-fine-print { padding:42px 22px; } }

/* Business banking page */
.business-page { background:#fff; color:#404642; }.business-page .container { max-width:1180px; }.business-hero { display:grid; grid-template-columns:42% 58%; min-height:410px; background:#f4bdd3; }.business-hero-copy { display:flex; flex-direction:column; justify-content:center; align-items:flex-start; padding:70px max(8vw,calc((100vw - 1180px)/2)); padding-right:45px; }.business-hero-copy p { margin:0 0 9px; font-size:.8rem; font-weight:700; }.business-hero-copy h1 { margin:0 0 10px; font-size:3.1rem; line-height:.98; letter-spacing:-.06em; }.business-hero-copy span { max-width:275px; color:#5c5256; }.business-hero-copy .loans-button { margin-top:20px; }.business-hero-image { overflow:hidden; }.business-hero-image img { display:block; width:100%; height:410px; object-fit:cover; }.business-two-col { display:grid; grid-template-columns:28% 1fr; gap:8%; padding:64px 0; border-bottom:1px solid #ebe5dd; }.business-two-col h2,.business-reasons h2,.business-start h2 { font-size:2rem; line-height:.98; letter-spacing:-.055em; }.business-two-col > div > p { color:#565c57; font-size:.83rem; line-height:1.58; }.business-card-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }.business-card-grid img { width:100%; height:160px; object-fit:cover; border-radius:6px; }.business-card-grid h3 { margin:10px 0 5px; font-size:1rem; }.business-card-grid p { min-height:70px; margin:0 0 11px; font-size:.76rem; line-height:1.5; }.business-card-grid .loans-button { padding:8px 12px; font-size:.69rem; }.business-reasons { display:grid; grid-template-columns:25% 1fr; gap:9%; padding:65px 0; border-bottom:1px solid #ebe5dd; }.business-reasons > div:first-child p { font-size:.8rem; line-height:1.55; }.business-reason-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }.business-reason-grid article { position:relative; padding-left:25px; }.business-reason-grid i { position:absolute; left:0; top:2px; color:#a8cbc5; font-size:.8rem; }.business-reason-grid h3 { margin:0 0 7px; font-size:.83rem; }.business-reason-grid p { margin:0; color:#565c57; font-size:.74rem; line-height:1.5; }.business-start { display:grid; grid-template-columns:20% 1fr; gap:7%; padding:65px 0; border-bottom:1px solid #ebe5dd; }.business-start > div:first-child p { font-size:.8rem; line-height:1.55; }.business-start-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }.business-start-grid img { width:100%; height:155px; object-fit:cover; border-radius:6px; }.business-start-grid h3 { margin:10px 0 6px; font-size:.9rem; }.business-start-grid p { min-height:42px; font-size:.75rem; line-height:1.45; }.business-start-grid .loans-button { padding:8px 12px; font-size:.69rem; }.business-callback { padding-top:55px; }.business-callback form { max-width:620px; }.business-help { padding:70px 0; background:#f4ecdf; }.business-help h2 { font-size:1.8rem; line-height:1.03; }.business-help p,.business-help li { font-size:.8rem; }.business-help ul { list-style:none; padding:0; }.business-help li { margin:7px 0; }.business-help li:before { content:'→'; margin-right:10px; color:#ff6422; }.business-help a { color:#ed5c24; }.business-fine-print { padding:42px 0 64px; }.business-fine-print h2 { font-size:.82rem; }.business-fine-print p { max-width:950px; color:#676d68; font-size:.72rem; line-height:1.65; }
@media (max-width:767.98px) { .business-hero { grid-template-columns:1fr; }.business-hero-copy { min-height:290px; padding:48px 28px; }.business-hero-copy h1 { font-size:2.65rem; }.business-hero-image img { height:240px; }.business-two-col,.business-reasons,.business-start { grid-template-columns:1fr; gap:25px; padding:48px 22px; }.business-card-grid,.business-reason-grid,.business-start-grid { grid-template-columns:1fr; }.business-card-grid p,.business-start-grid p { min-height:0; }.business-callback { padding-bottom:48px; }.business-help { padding:48px 22px; }.business-fine-print { padding:42px 22px; } }

/* =====================================================
   Member shell v2 — dark sidebar, premium fintech look.
   Mirrors the admin console so the whole app feels like
   one product. Used by includes/account_header.php.
   ===================================================== */
.member-body { background: #F3F5F9; min-height: 100vh; }
.m-sidebar {
  position: fixed; top: 0; left: 0; bottom: 0; width: 264px; z-index: 1040;
  background: linear-gradient(180deg, var(--navy) 0%, color-mix(in srgb, var(--navy) 78%, var(--indigo)) 100%);
  color: #fff; padding: 1.4rem 1rem; overflow-y: auto; display: flex; flex-direction: column;
  transition: transform .25s ease;
}
.m-sidebar .brand {
  display: flex; align-items: center; gap: .7rem; color: #fff; font-weight: 800;
  font-size: 1.25rem; font-family: 'Plus Jakarta Sans', sans-serif; padding: .4rem .6rem 1.1rem;
}
.m-sidebar .acct-mini {
  background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .12);
  border-radius: .8rem; padding: .7rem .9rem; margin-bottom: 1.1rem;
}
.m-sidebar .acct-mini .lbl { font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; color: rgba(255, 255, 255, .55); }
.m-sidebar .acct-mini .num { font-family: 'Courier New', monospace; font-weight: 700; letter-spacing: .08em; font-size: .92rem; }
.m-nav-label {
  font-size: .68rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
  color: rgba(255, 255, 255, .38); padding: .9rem .6rem .35rem;
}
.m-link {
  display: flex; align-items: center; gap: .7rem; padding: .62rem .8rem; border-radius: .7rem;
  color: rgba(255, 255, 255, .74); font-weight: 500; font-size: .92rem; margin-bottom: .12rem;
  text-decoration: none; transition: all .15s ease;
}
.m-link i { font-size: 1.02rem; width: 20px; text-align: center; }
.m-link:hover { color: #fff; background: rgba(255, 255, 255, .07); }
.m-link.active {
  color: #fff; background: linear-gradient(135deg, color-mix(in srgb, var(--indigo) 92%, transparent), color-mix(in srgb, var(--violet) 92%, transparent));
  box-shadow: 0 6px 16px color-mix(in srgb, var(--indigo) 35%, transparent); font-weight: 600;
}
.m-link .m-count {
  margin-left: auto; background: var(--rose); color: #fff; font-size: .66rem;
  border-radius: 999px; padding: .16rem .5rem; font-weight: 700;
}
.m-content { margin-left: 264px; min-height: 100vh; display: flex; flex-direction: column; }
.m-topbar {
  position: sticky; top: 0; z-index: 1020; background: rgba(255, 255, 255, .85);
  backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--line); padding: .85rem 1.6rem;
  display: flex; align-items: center; justify-content: space-between; gap: 1rem;
}
.m-page { padding: 1.6rem; flex: 1 1 auto; width: 100%; max-width: 1200px; margin: 0 auto; }
.bell-btn {
  position: relative; width: 42px; height: 42px; border-radius: 12px; border: 1px solid var(--line);
  background: #fff; color: var(--ink); display: inline-flex; align-items: center; justify-content: center;
  font-size: 1.15rem;
}
.bell-btn:hover { border-color: var(--indigo); color: var(--indigo); }
.bell-badge {
  position: absolute; top: -6px; right: -6px; background: var(--rose); color: #fff;
  font-size: .64rem; font-weight: 700; border-radius: 999px; min-width: 18px; height: 18px;
  display: flex; align-items: center; justify-content: center; padding: 0 4px; border: 2px solid #fff;
}
.notif-menu { width: 350px; max-width: 92vw; border-radius: 1rem !important; padding: 0; overflow: hidden; }
.notif-item { display: flex; gap: .8rem; padding: .8rem 1rem; border-bottom: 1px solid #F1F5F9; color: var(--ink); text-decoration: none; }
.notif-item:hover { background: var(--soft); }
.notif-item.unread { background: color-mix(in srgb, var(--indigo) 5%, #fff); }
.notif-item .n-icon {
  width: 36px; height: 36px; border-radius: 10px; flex: 0 0 auto; display: flex; align-items: center; justify-content: center;
  background: color-mix(in srgb, var(--indigo) 10%, transparent); color: var(--indigo); font-size: 1rem;
}
.notif-item .n-title { font-weight: 600; font-size: .86rem; }
.notif-item .n-body { font-size: .78rem; color: var(--muted); }
.notif-item .n-time { font-size: .7rem; color: #94A3B8; white-space: nowrap; }
.m-hamburger { display: none; }
@media (max-width: 991.98px) {
  .m-sidebar { transform: translateX(-100%); }
  .m-sidebar.open { transform: translateX(0); box-shadow: 0 0 60px rgba(0, 0, 0, .35); }
  .m-content { margin-left: 0; }
  .m-hamburger { display: inline-flex; }
  .m-page { padding: 1rem; }
}
/* stat tile used on the redesigned member dashboard */
.stat-tile { background: #fff; border: 1px solid var(--line); border-radius: 1.1rem; padding: 1.2rem 1.4rem; height: 100%; }
.stat-tile .t-label { font-size: .76rem; color: var(--muted); font-weight: 600; text-transform: uppercase; letter-spacing: .05em; }
.stat-tile .t-value { font-size: 1.45rem; font-weight: 800; font-family: 'Plus Jakarta Sans', sans-serif; }
@media print {
  .m-sidebar, .m-topbar, .no-print { display: none !important; }
  .m-content { margin-left: 0; }
  .member-body { background: #fff; }
}
