/* ═══════════════════════════════════════════════════════════════
   ohr-footer.css — ONE footer for the consumer pages
   (landing, membership, terms, privacy, welcome, relocate, methodology)
   + lockup sizing for the dashboards' compact .page-footer.
   Load BEFORE ohr-mobile.css. The band is dark in BOTH themes
   (ohr-polish.css already forces that where it loads; this file makes the
   pages without it — Terms, Privacy — match). 2026-09-16.
   ═══════════════════════════════════════════════════════════════ */
footer.ohr-footer{background:linear-gradient(180deg,#1A1A1A 0%,#1E1B17 70%,#211E18 100%);color:rgba(255,255,255,.72);padding:48px 32px 32px;position:relative;}
html[data-theme="dark"] footer.ohr-footer{background:linear-gradient(180deg,#0E0E0D 0%,#141311 70%,#171512 100%);}

/* Five tracks: brand + Platform / Membership / Account / Legal on ONE row. */
.ohr-footer .ft-in{max-width:1200px;margin:0 auto 36px;display:grid;grid-template-columns:minmax(240px,1.9fr) repeat(4,minmax(0,1fr));gap:40px 32px;align-items:start;}
.ohr-footer .ft-logo{display:block;width:fit-content;margin-bottom:14px;}
.ohr-footer .ft-logo-img{height:44px;width:auto;display:block;}
.ohr-footer .ft-d{font-family:'IBM Plex Sans',sans-serif;font-size:14px;font-weight:300;line-height:1.7;color:rgba(255,255,255,.55);max-width:380px;margin:0;}

/* Brokerage lockup — black-on-transparent PNG, inverted to white on the band.
   52px keeps "GLOBAL PROPERTIES" legible (it was illegible at 34px). */
.ohr-footer .ft-brokerage{margin-top:24px;}
.ohr-footer .ft-brokerage a{display:block;width:fit-content;}
.ohr-footer .ft-brokerage img{height:52px;width:auto;display:block;filter:invert(1);opacity:.92;transition:opacity .14s;}
.ohr-footer .ft-brokerage a:hover img{opacity:1;}

.ohr-footer .ft-col-h{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.35);margin-bottom:14px;}
.ohr-footer .ft-col a{display:block;width:fit-content;font-family:'IBM Plex Sans',sans-serif;font-size:14px;color:rgba(255,255,255,.6);text-decoration:none;margin-bottom:10px;transition:color .12s;}
.ohr-footer .ft-col a:hover{color:rgba(255,255,255,.9);}

/* Bottom bar: stacked, left-aligned — the disclaimer no longer races the
   floating "Talk to Bradley" pill for the right edge. */
.ohr-footer .ft-bot{max-width:1200px;margin:0 auto;padding-top:22px;border-top:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;align-items:flex-start;gap:8px;}
.ohr-footer .ft-cp{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.04em;color:rgba(255,255,255,.4);}
.ohr-footer .ft-disc{font-family:'IBM Plex Mono',monospace;font-size:10px;line-height:1.7;color:rgba(255,255,255,.28);max-width:760px;text-align:left;}
.ohr-footer .logo-accent{color:var(--red,#C1272D);}

/* When the floating pill is up (ohr-contact.js adds body.ohrc-has-fab), the
   band grows so the last line can scroll clear of it. */
body.ohrc-has-fab footer.ohr-footer{padding-bottom:104px;}

/* Compact dashboard footer (.page-footer on Free / Public): lockup stacked
   under the OHR mark; white variant only on the dark theme's black footer. */
.page-footer .ft-brokerage{display:block;width:fit-content;margin-top:12px;}
.page-footer .ft-brokerage img{height:36px;width:auto;display:block;}   /* = the ARMLS logo beside it (Bradley 2026-09-28) */
@media(max-width:768px){.page-footer .ft-brokerage img{height:32px;}}   /* ARMLS logo steps to 32px here too */
html[data-theme="dark"] .page-footer .ft-brokerage img{filter:invert(1);}

@media(max-width:1024px){
  .ohr-footer .ft-in{grid-template-columns:repeat(4,minmax(0,1fr));gap:32px 24px;}
  .ohr-footer .ft-brand{grid-column:1/-1;}
}
@media(max-width:640px){
  footer.ohr-footer{padding:40px 20px 28px;}
  .ohr-footer .ft-in{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px;}
  .ohr-footer .ft-brokerage img{height:44px;}
  .ohr-footer .ft-bot{align-items:flex-start;text-align:left;}
}
