/* Heart of Lending Hub: shared shell + brand tokens (Bandit brand identity, June 2026 — see hol-brand/BRAND.md).
   Brand fonts (NB Akademie / Signifier) are desktop-licensed only, so the web uses Bandit's fallbacks:
   Helvetica for the sans, Georgia for the serif. Regular weight only; hierarchy comes from size, space and colour. */
:root{
  /* palette */
  --white:#FFFFFF; --cream:#FAF4E9; --tobacco:#361918; --wine:#522128; --blood:#691C07;
  --stone:#B4A796; --moss:#4C473C; --charcoal:#24201E; --ember:#B6390B;
  /* roles */
  --ink:var(--charcoal); --muted:rgba(36,32,30,.62); --line:rgba(36,32,30,.14); --line-strong:rgba(36,32,30,.28);
  --panel:var(--white); --tint:rgba(180,167,150,.16);
  --ok:var(--moss); --ok-bg:rgba(76,71,60,.10);
  --alert:#8F2C08; --alert-bg:rgba(182,57,11,.09);
  --caution:var(--wine); --caution-bg:rgba(180,167,150,.30);
  /* type */
  --sans:"NB Akademie","Helvetica Neue",Helvetica,Arial,sans-serif;
  --serif:"Signifier",Georgia,serif;
  /* shape + motion */
  --pill:999px; --radius:2px; --ease:cubic-bezier(.22,1,.36,1);
  /* rounded panels, as on hol.com.au: sections 40px, inner panels 24px, 32px apart */
  --radius-lg:40px; --radius-md:24px; --panel-soft:#F2EADF; --lift-shadow:0 10px 28px rgba(36,25,24,.08);
  /* legacy names still used by some page styles */
  --burgundy:var(--tobacco); --burgundy-d:var(--charcoal); --bone:var(--cream); --chalk:var(--cream); --rust:var(--ember);
}
*{box-sizing:border-box}
body{margin:0;font-family:var(--sans);font-weight:400;background:var(--cream);color:var(--ink);
  line-height:1.4;letter-spacing:-.01em;-webkit-font-smoothing:antialiased}
b,strong,h1,h2,h3,h4,th{font-weight:400}
b,strong{color:var(--charcoal)}
button,input{font-family:inherit}

/* ---- top bar ---- */
.hub-bar{background:var(--tobacco);color:var(--cream);display:flex;align-items:center;justify-content:space-between;
  gap:16px;padding:0 28px;height:62px}
.hub-bar a{color:inherit;text-decoration:none}
.hub-brand{display:flex;align-items:center;gap:16px;white-space:nowrap;min-width:0}
.hub-brand img{height:13px;width:auto;display:block}
.hub-brand .sect{display:flex;align-items:center;gap:8px;padding-left:16px;border-left:1px solid rgba(250,244,233,.28);
  font-size:11px;text-transform:uppercase;letter-spacing:.08em;line-height:1}
.hub-brand .crumb{opacity:.62}
.hub-who{display:flex;align-items:center;gap:16px;font-size:13px;min-width:0}
.hub-who .nm{opacity:.78;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hub-who button{background:transparent;border:1px solid rgba(250,244,233,.42);color:var(--cream);
  border-radius:var(--pill);padding:6px 14px;font-size:12px;cursor:pointer;white-space:nowrap;letter-spacing:0;
  transition:background .2s var(--ease)}
.hub-who button:hover{background:rgba(250,244,233,.1)}
.hub-banner{background:var(--alert-bg);color:var(--alert);border-bottom:1px solid rgba(182,57,11,.25);padding:11px 28px;
  font-size:14px;text-align:center}

/* ---- shared page parts ---- */
.hub-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0}
.hub-title{font-size:40px;line-height:1.1;letter-spacing:-.02em;margin:10px 0 0;font-weight:400}
.hub-lede{color:var(--muted);font-size:16px;line-height:1.35;max-width:560px;margin:12px 0 0}
.hub-foot{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:11px;
  text-transform:uppercase;letter-spacing:.08em;border-top:1px solid var(--line);margin:56px 0 24px;padding-top:14px}
.hub-btn{display:inline-flex;align-items:center;gap:8px;background:var(--tobacco);color:var(--cream);border:1px solid var(--tobacco);
  border-radius:var(--pill);padding:11px 22px;font-size:15px;letter-spacing:0;cursor:pointer;text-decoration:none;
  transition:background .2s var(--ease),border-color .2s var(--ease)}
.hub-btn:hover{background:var(--charcoal);border-color:var(--charcoal)}
.hub-btn:disabled{opacity:.4;cursor:not-allowed}
.hub-btn.ghost{background:transparent;color:var(--charcoal);border-color:var(--line-strong)}
.hub-btn.ghost:hover{border-color:var(--charcoal);background:transparent}
@keyframes hub-lift{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.hub-lift{animation:hub-lift .8s var(--ease) both}
@media (prefers-reduced-motion:reduce){.hub-lift{animation:none}}

@media (max-width:640px){
  .hub-bar{padding:0 16px;height:56px}
  .hub-brand .sect .crumb,.hub-brand .sect .dot,.hub-who .nm{display:none}
  .hub-brand{gap:12px}.hub-brand .sect{padding-left:12px}
  .hub-banner{padding:10px 16px}
  .hub-title{font-size:32px}
}
