:root {
  --ab-ink: #07192d;
  --ab-ink-soft: #102942;
  --ab-gold: #bd8424;
  --ab-gold-dark: #946313;
  --ab-paper: #ffffff;
  --ab-canvas: #f6f7f9;
  --ab-line: #dfe3e8;
  --ab-text: #111827;
  --ab-muted: #667085;
  --ab-success: #218653;
  --ab-danger: #c43c3c;
  --ab-radius: 12px;
  --ab-shadow: 0 18px 50px rgba(7, 25, 45, .09);
  --ab-serif: Georgia, 'Times New Roman', serif;
  --ab-sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

html { scroll-behavior: smooth; }
body { background: var(--ab-canvas); color: var(--ab-text); font-family: var(--ab-sans); -webkit-font-smoothing: antialiased; }
a { color: var(--ab-ink); }
.ab-display { font-family: var(--ab-serif); letter-spacing: -.035em; }
.ab-muted { color: var(--ab-muted) !important; }
.ab-section { padding: clamp(4.5rem, 8vw, 8rem) 0; }
.ab-container { width: min(1180px, calc(100% - 2rem)); margin-inline: auto; }
.ab-kicker { color: var(--ab-gold-dark); text-transform: uppercase; letter-spacing: .16em; font-size: .73rem; font-weight: 750; }

.ab-site-nav { min-height: 76px; background: rgba(255,255,255,.94); border-bottom: 1px solid rgba(7,25,45,.1); backdrop-filter: blur(16px); }
.ab-brand { display: inline-flex; align-items: center; gap: .72rem; color: var(--ab-ink); text-decoration: none; font-family: var(--ab-serif); font-size: 1.4rem; }
.ab-brand-mark { width: 38px; height: 38px; object-fit: contain; }
.ab-site-nav .nav-link { color: #26364a; font-size: .91rem; font-weight: 600; padding: .7rem 1rem !important; }
.ab-site-nav .nav-link:hover, .ab-site-nav .nav-link:focus { color: var(--ab-gold-dark); background: transparent; }
.ab-btn-primary { background: var(--ab-gold); border: 1px solid var(--ab-gold); color: #fff; border-radius: 8px; font-weight: 700; padding: .78rem 1.2rem; transition: transform .2s ease, background .2s ease, box-shadow .2s ease; }
.ab-btn-primary:hover { background: var(--ab-gold-dark); border-color: var(--ab-gold-dark); color: #fff; transform: translateY(-2px); box-shadow: 0 10px 24px rgba(189,132,36,.2); }
.ab-btn-outline { border: 1px solid #c6ccd3; color: var(--ab-ink); border-radius: 8px; font-weight: 700; padding: .78rem 1.2rem; background: #fff; }
.ab-btn-outline:hover { border-color: var(--ab-gold); color: var(--ab-gold-dark); }

.ab-hero { min-height: min(760px, calc(100vh - 76px)); display: flex; align-items: center; background: #fff; overflow: hidden; }
.ab-hero h1 { color: var(--ab-ink); font-family: var(--ab-serif); font-size: clamp(3.1rem, 6.2vw, 6.4rem); line-height: .97; letter-spacing: -.055em; max-width: 720px; }
.ab-hero-copy { font-size: clamp(1rem, 1.45vw, 1.16rem); line-height: 1.8; color: #526174; max-width: 590px; }
.ab-hero-visual { position: relative; min-height: 520px; display: grid; place-items: center; }
.ab-hero-orbit { position: absolute; width: min(520px, 90%); aspect-ratio: 1; border: 1px solid rgba(189,132,36,.24); border-radius: 50%; animation: abSpin 28s linear infinite; }
.ab-hero-orbit::before, .ab-hero-orbit::after { content: ''; position: absolute; width: 12px; height: 12px; background: var(--ab-gold); border-radius: 50%; top: 12%; left: 17%; box-shadow: 0 0 0 8px rgba(189,132,36,.09); }
.ab-hero-orbit::after { inset: auto 10% 17% auto; }
.ab-phone { width: min(330px, 72%); min-height: 510px; z-index: 2; border-radius: 34px; background: var(--ab-ink); border: 8px solid #0d1825; padding: 1.4rem; color: white; box-shadow: 0 35px 70px rgba(7,25,45,.3); transform: rotate(4deg); animation: abFloat 6s ease-in-out infinite; }
.ab-phone-screen { height: 100%; min-height: 450px; background: #f8fafc; color: var(--ab-ink); border-radius: 24px; padding: 1.2rem; }
.ab-balance { font-family: var(--ab-serif); font-size: 2.2rem; }
.ab-mini-row { display: flex; justify-content: space-between; gap: 1rem; padding: .9rem 0; border-bottom: 1px solid var(--ab-line); font-size: .83rem; }

.ab-product-band { background: #f3f0eb; }
.ab-product-frame { background: white; border: 1px solid var(--ab-line); border-radius: 18px; box-shadow: var(--ab-shadow); overflow: hidden; }
.ab-browser-bar { height: 42px; border-bottom: 1px solid var(--ab-line); display: flex; align-items: center; gap: 7px; padding: 0 16px; }
.ab-browser-bar span { width: 8px; height: 8px; border-radius: 50%; background: #cfd5dd; }
.ab-service { padding: 1.5rem 2rem 2rem 0; border-right: 1px solid var(--ab-line); height: 100%; }
.ab-service:last-child { border-right: 0; }
.ab-icon { width: 44px; height: 44px; display: grid; place-items: center; color: var(--ab-gold-dark); border: 1px solid rgba(189,132,36,.35); border-radius: 10px; font-size: 1.25rem; }
.ab-security { background: var(--ab-ink); color: white; }
.ab-security .ab-muted { color: #aebdca !important; }
.ab-security-item { padding: 1.4rem 0; border-top: 1px solid rgba(255,255,255,.14); }

.ab-card { background: #fff; border: 1px solid var(--ab-line); border-radius: var(--ab-radius); box-shadow: 0 8px 24px rgba(7,25,45,.05); transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
.ab-card:hover { transform: translateY(-3px); border-color: #c7ced6; box-shadow: var(--ab-shadow); }
.ab-btn, .btn-primary { background: var(--ab-gold); border-color: var(--ab-gold); color: #fff; }
.ab-btn:hover, .btn-primary:hover { background: var(--ab-gold-dark); border-color: var(--ab-gold-dark); color: #fff; }
.form-control, .form-select { border-color: #cfd5dd; border-radius: 8px; min-height: 44px; font-size: .92rem; }
.form-control:focus, .form-select:focus { border-color: var(--ab-gold); box-shadow: 0 0 0 .2rem rgba(189,132,36,.12); }

#admin-sidebar, aside.bg-dark { background: var(--ab-ink) !important; }
#admin-sidebar .nav-link, aside.bg-dark .nav-link { border-radius: 8px; margin: 2px 0; font-size: .89rem; }
#admin-sidebar .nav-link.active, aside.bg-dark .nav-link.active { color: white !important; background: linear-gradient(90deg, var(--ab-gold), #d1a652) !important; }
#admin-sidebar .nav-link:hover, aside.bg-dark .nav-link:hover { background: rgba(255,255,255,.08); }
.table > :not(caption) > * > * { padding: .9rem .8rem; border-bottom-color: var(--ab-line); }
.table thead th { color: #58677a; text-transform: uppercase; letter-spacing: .06em; font-size: .7rem; }

.ab-reveal { opacity: 0; transform: translateY(24px); transition: opacity .7s ease, transform .7s cubic-bezier(.2,.8,.2,1); }
.ab-reveal.is-visible { opacity: 1; transform: translateY(0); }
.ab-site-footer { background: var(--ab-ink); color: #d8e0e7; padding: 4rem 0 2rem; }
.ab-site-footer a { color: #d8e0e7; text-decoration: none; }
.ab-site-footer a:hover { color: #e2b45e; }

.ab-auth-shell { min-height: calc(100vh - 76px); display: grid; place-items: center; padding: 3rem 1rem; background: radial-gradient(circle at 82% 16%, rgba(189,132,36,.13), transparent 28rem), linear-gradient(145deg, #f1f4f7, #fff 58%); }
.ab-auth-shell-admin { min-height: 100vh; background: radial-gradient(circle at 50% 0, rgba(189,132,36,.16), transparent 32rem), var(--ab-ink); }
.ab-auth-card { width: min(100%, 440px); padding: clamp(1.5rem, 5vw, 2.75rem); border: 1px solid var(--ab-line); border-radius: 1.5rem; background: rgba(255,255,255,.96); box-shadow: 0 24px 70px rgba(7,25,45,.16); }
.ab-auth-card .form-control { min-height: 50px; border-radius: .75rem; }
.ab-admin-login{position:relative;isolation:isolate;background:linear-gradient(145deg,#041321,#0b2743 68%,#102f4c);padding:2rem 1rem;overflow:hidden}.ab-admin-login::before{content:'';position:absolute;inset:0;background:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(to bottom,black,transparent 80%);z-index:-2}.ab-admin-login-glow{position:absolute;width:520px;height:520px;border-radius:50%;background:rgba(189,132,36,.16);filter:blur(90px);top:-310px;left:50%;transform:translateX(-50%);z-index:-1}.ab-admin-login-card{width:min(100%,460px);padding:2.75rem;animation:abDashboardIn .65s cubic-bezier(.2,.75,.25,1) both;border-color:rgba(255,255,255,.25);box-shadow:0 35px 90px rgba(0,0,0,.32)}.ab-admin-logo{width:84px;height:84px;margin:0 auto 1rem;display:grid;place-items:center;border:1px solid #d9c18c;border-radius:50%;background:#fff;box-shadow:0 12px 30px rgba(7,25,45,.13)}.ab-admin-logo img{max-width:64px;max-height:64px;object-fit:contain}.ab-login-input .input-group-text{background:#f8fafc;border-color:#cfd5dd;color:#6b7280;border-radius:.75rem 0 0 .75rem}.ab-login-input .form-control{border-left:0;border-radius:0}.ab-login-input .btn{border-color:#cfd5dd;border-radius:0 .75rem .75rem 0;background:#fff}.ab-login-input:focus-within{border-radius:.75rem;box-shadow:0 0 0 .2rem rgba(189,132,36,.12)}.ab-login-input:focus-within .input-group-text,.ab-login-input:focus-within .form-control,.ab-login-input:focus-within .btn{border-color:var(--ab-gold);box-shadow:none}

@keyframes abFloat { 0%,100% { transform: rotate(4deg) translateY(0); } 50% { transform: rotate(2deg) translateY(-15px); } }
@keyframes abSpin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { *,*::before,*::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; } .ab-reveal { opacity: 1; transform: none; } }
@media (max-width: 991.98px) { .ab-hero { padding: 4rem 0; } .ab-hero-visual { min-height: 480px; } .ab-service { border-right: 0; border-bottom: 1px solid var(--ab-line); padding: 1.5rem 0; } main[style*="margin-left"], .container[style*="margin-left"] { margin-left: 0 !important; padding-top: 5rem; } aside.bg-dark { transform: translateX(-100%); transition: transform .25s ease; z-index: 1040; } body.ab-sidebar-open aside.bg-dark { transform: translateX(0); } }
@media (max-width: 575.98px) { .ab-hero h1 { font-size: 3.15rem; } .ab-hero-visual { min-height: 430px; } .ab-phone { min-height: 420px; width: 265px; } .ab-phone-screen { min-height: 360px; } }

/* Premium public website */
.pm-utility { background:#041322; color:#c7d1dc; font-size:.75rem; padding:.52rem 0; letter-spacing:.015em; }
.pm-utility-divider { display:inline-block; height:12px; border-left:1px solid #526273; margin:0 1rem; vertical-align:-2px; }
.pm-notice { background:#d2a13e; color:#132335; font-size:.78rem; font-weight:650; text-align:center; padding:.55rem 0; }
.pm-hero { position:relative; min-height:720px; height:calc(100vh - 142px); max-height:900px; overflow:hidden; background:#07192d; color:#fff; }
.pm-hero-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; transform:scale(1.015); animation:pmHeroIn 1.3s ease both; }
.pm-hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(3,17,31,.98) 0%,rgba(4,20,36,.91) 30%,rgba(5,22,39,.38) 59%,rgba(5,18,31,.08) 100%); }
.pm-hero-inner { position:relative; z-index:2; height:100%; display:flex; align-items:center; }
.pm-hero-copy { max-width:720px; padding-bottom:2rem; }
.pm-eyebrow { display:inline-flex; align-items:center; color:#e0b761; text-transform:uppercase; letter-spacing:.18em; font-size:.72rem; font-weight:800; }
.pm-hero h1,.pm-business h2,.pm-cta h2 { font-family:var(--ab-serif); font-size:clamp(3.2rem,6.3vw,6.8rem); line-height:.94; letter-spacing:-.055em; margin:1.4rem 0; }
.pm-hero h1 em,.pm-business h2 em,.pm-cta h2 em,.pm-heading h2 em,.pm-section-title em { color:#e0b761; font-weight:400; }
.pm-hero p { color:#d5dde6; font-size:1.1rem; max-width:590px; line-height:1.75; margin-bottom:2rem; }
.pm-btn-light { background:rgba(255,255,255,.06); color:#fff; border:1px solid rgba(255,255,255,.45); border-radius:8px; font-weight:700; padding:.78rem 1.2rem; }
.pm-btn-light:hover { color:#07192d; background:#fff; border-color:#fff; }
.pm-scroll { position:absolute; z-index:3; left:50%; bottom:24px; color:#fff; width:42px; height:42px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.4); border-radius:50%; animation:pmBounce 2.4s ease-in-out infinite; }
.pm-trust { background:#f8f5ef; border-bottom:1px solid #e4ded3; }
.pm-trust-item { display:flex; justify-content:center; align-items:center; gap:.9rem; padding:1.45rem 1rem; border-right:1px solid #e4ded3; }
.pm-trust-item:last-child { border-right:0; }.pm-trust-item>i{font-size:1.65rem;color:var(--ab-gold)}.pm-trust-item div{display:flex;flex-direction:column;text-align:left}.pm-trust-item strong{font-family:var(--ab-serif);font-size:1rem}.pm-trust-item span{font-size:.72rem;color:#6f7781}
.pm-heading { max-width:760px; margin:auto; }.pm-heading h2,.pm-section-title{font-family:var(--ab-serif);font-size:clamp(2.7rem,5vw,4.8rem);line-height:1.02;letter-spacing:-.045em;color:var(--ab-ink);margin:1rem 0}.pm-heading p,.pm-lead{color:#657181;line-height:1.8;font-size:1.02rem}
.pm-service-card{display:flex;flex-direction:column;height:100%;min-height:320px;padding:2rem;color:var(--ab-ink);text-decoration:none;background:#fff;border:1px solid #e1e5e9;border-radius:4px;transition:.3s ease}.pm-service-card:hover{color:var(--ab-ink);transform:translateY(-7px);box-shadow:0 24px 55px rgba(7,25,45,.11);border-color:#d2a13e}.pm-service-icon{width:54px;height:54px;display:grid;place-items:center;border:1px solid #dac38e;color:#a36c10;font-size:1.35rem;border-radius:50%}.pm-service-card h3{font-family:var(--ab-serif);font-size:1.65rem;margin:1.5rem 0 .75rem}.pm-service-card p{color:#657181;line-height:1.7;font-size:.9rem;flex:1}.pm-link{color:#9a670e;font-weight:750;text-decoration:none;font-size:.88rem}.pm-link i{transition:transform .2s}.pm-link:hover i,.pm-service-card:hover .pm-link i{transform:translateX(5px)}
.pm-personal{background:#f4f1eb}.pm-photo-panel{position:relative;min-height:570px;overflow:hidden;border-radius:4px;box-shadow:var(--ab-shadow)}.pm-photo-panel>img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:70% center}.pm-photo-note{position:absolute;left:24px;bottom:24px;background:#fff;padding:1rem 1.25rem;display:flex;align-items:center;gap:.85rem;box-shadow:0 12px 35px rgba(0,0,0,.16)}.pm-photo-note>i{font-size:1.6rem;color:#b47d1b}.pm-photo-note span{display:flex;flex-direction:column;font-size:.76rem;color:#667085}.pm-photo-note b{font-family:var(--ab-serif);font-size:1rem;color:#07192d}.pm-checks{display:grid;gap:.8rem;margin-top:1.5rem}.pm-checks span{color:#344154}.pm-checks i{color:#b47d1b;margin-right:.7rem}
.pm-business{background:#06182b;color:#fff;min-height:610px;display:flex;align-items:center;overflow:hidden}.pm-business h2{font-size:clamp(3rem,5.5vw,5.8rem)}.pm-business p{max-width:520px;color:#b7c3cf;line-height:1.8}.pm-business-art{height:450px;border:1px solid rgba(255,255,255,.15);background:radial-gradient(circle at 70% 20%,rgba(210,161,62,.35),transparent 35%),linear-gradient(145deg,#102a44,#07192d);display:flex;align-items:flex-end;padding:2.5rem;position:relative;overflow:hidden}.pm-business-art>i{position:absolute;font-size:19rem;color:rgba(255,255,255,.055);right:-1rem;top:-2rem}.pm-business-art div{display:flex;flex-direction:column;position:relative}.pm-business-art span{color:#dfb96a;text-transform:uppercase;letter-spacing:.14em;font-size:.68rem}.pm-business-art strong{font-family:var(--ab-serif);font-size:2rem;margin-top:.4rem}
.pm-security-tile{min-height:165px;padding:1.5rem;border:1px solid #e0e4e8;display:flex;flex-direction:column;justify-content:space-between;background:#fafbfc}.pm-security-tile i{font-size:2rem;color:#b47d1b}.pm-security-tile strong{font-family:var(--ab-serif);font-size:1.2rem}
.pm-cta{padding:7rem 0;background:linear-gradient(rgba(7,25,45,.95),rgba(7,25,45,.95)),url('../img/premium-banker.png') center/cover;color:#fff}.pm-cta h2{font-size:clamp(3rem,5.5vw,5.5rem)}.pm-cta p{color:#c6d0da;margin-bottom:2rem}.pm-footer-copy{color:#aeb9c4;max-width:370px;line-height:1.7}.pm-social{width:36px;height:36px;border:1px solid rgba(255,255,255,.2);display:grid;place-items:center;border-radius:50%}
.pm-page-hero{background:#07192d;color:#fff;padding:6rem 0}.pm-page-hero h1{font-family:var(--ab-serif);font-size:clamp(3rem,6vw,5.8rem);letter-spacing:-.05em}.pm-page-hero p{color:#b9c5d0;max-width:660px;font-size:1.05rem;line-height:1.8}.pm-content-card{background:#fff;border:1px solid #e0e4e8;padding:2rem;height:100%}.pm-content-card i{color:#b47d1b;font-size:1.7rem}.pm-content-card h3{font-family:var(--ab-serif);margin:1.25rem 0 .8rem}.pm-content-card p{color:#657181;line-height:1.75}
@keyframes pmHeroIn{from{opacity:.45;transform:scale(1.06)}to{opacity:1;transform:scale(1.015)}}@keyframes pmBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(8px)}}
@media(max-width:991.98px){.pm-utility{display:none}.pm-notice{font-size:.7rem}.pm-hero{min-height:700px;height:calc(100vh - 126px)}.pm-hero-image{object-position:67% center}.pm-hero-shade{background:linear-gradient(90deg,rgba(3,17,31,.97),rgba(4,20,36,.78) 70%,rgba(5,18,31,.38))}.pm-trust-item:nth-child(2){border-right:0}.pm-trust-item:nth-child(-n+2){border-bottom:1px solid #e4ded3}.pm-business{padding:4rem 0}.pm-photo-panel{min-height:480px}}
@media(max-width:575.98px){.pm-hero{min-height:690px}.pm-hero h1{font-size:3.25rem}.pm-hero-image{object-position:68% center;opacity:.65}.pm-hero-shade{background:linear-gradient(90deg,rgba(3,17,31,.96),rgba(4,20,36,.72))}.pm-trust-item{padding:1rem .5rem;gap:.55rem}.pm-trust-item>i{font-size:1.25rem}.pm-trust-item strong{font-size:.85rem}.pm-trust-item span{font-size:.62rem}.pm-service-card{min-height:270px}.pm-photo-panel{min-height:430px}.pm-page-hero{padding:4rem 0}}

/* Portal dashboard motion and polish */
.ab-dashboard-main{background:radial-gradient(circle at 92% 4%,rgba(189,132,36,.08),transparent 24rem),#f6f7f9;overflow:hidden}
.ab-dashboard-main .ab-kpi-card,.ab-dashboard-main .ab-chart-card,.ab-dashboard-main .ab-table-card,.ab-dashboard-main .ab-motion{animation:abDashboardIn .62s cubic-bezier(.2,.75,.25,1) both}
.ab-dashboard-main .row>.col-md-3:nth-child(1) .ab-kpi-card{animation-delay:.05s}.ab-dashboard-main .row>.col-md-3:nth-child(2) .ab-kpi-card{animation-delay:.12s}.ab-dashboard-main .row>.col-md-3:nth-child(3) .ab-kpi-card{animation-delay:.19s}.ab-dashboard-main .row>.col-md-3:nth-child(4) .ab-kpi-card{animation-delay:.26s}
.ab-dashboard-main .ab-chart-card{animation-delay:.3s}.ab-dashboard-main .ab-table-card{animation-delay:.4s}
.ab-kpi-card{position:relative;overflow:hidden;min-height:116px;border:0}.ab-kpi-card::after{content:'';position:absolute;right:-28px;top:-34px;width:100px;height:100px;border-radius:50%;background:rgba(189,132,36,.08)}
.ab-kpi-card:hover{transform:translateY(-5px)}.ab-chart-card,.ab-table-card{border:0!important;box-shadow:0 14px 40px rgba(7,25,45,.07)}
.ab-dashboard-main canvas{animation:abCanvasIn .9s .35s ease both}
@keyframes abDashboardIn{from{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:none}}
@keyframes abCanvasIn{from{opacity:0;filter:blur(4px)}to{opacity:1;filter:none}}
@media(max-width:991.98px){.ab-dashboard-main{margin-left:0!important;padding-top:5rem!important}}
