/* ==========================================================================
   Shared broker / team header, footer brand block, compliance block and
   in-form broker line — LREC advertising rules (see COMPLIANCE.md).

   SOURCE: cookrealestate-site/assets/brand.css. scripts/compliance-sync.mjs
   copies this file verbatim into the Twin Hills and Rivermark repos; edit it
   here only. The markup it styles is stamped by the same script.

   LAC 46:LXVII.1909.B / 2501.F — the team name is minor to the sponsoring
   broker. Both marks are driven from the four custom properties below so the
   1.25× ratio cannot drift. Never set a font-size or height on either name
   or mark that bypasses them.
   ========================================================================== */
:root{
  --broker-name-size: 1.0625rem;              /* 17px */
  --team-name-size:   calc(var(--broker-name-size) / 1.25);
  --broker-mark-h:    44px;
  --team-mark-h:      calc(var(--broker-mark-h) / 1.25);

  --cbh-ink:#1B2932;
  --cbh-slate:#293E4C;
  --cbh-terra:#C56B3D;
  --cbh-sand:#E8D8C3;
  --cbh-paper:#FFFFFF;
  --cbh-hair:rgba(41,62,76,.16);
  --cbh-pad:clamp(16px,5vw,80px);
  --cbh-font:Poppins,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
@media (max-width:768px){
  :root{ --broker-name-size:.9375rem; --broker-mark-h:30px; } /* 15px / 30px → team 12px / 24px */
}

/* ---------- primary row: Stirling Properties, LLC — top and largest ----- */
.cbh-broker{
  display:flex;flex-wrap:wrap;align-items:center;column-gap:.42em;row-gap:6px;
  padding:10px var(--cbh-pad);background:var(--cbh-ink);color:#fff;
  font-family:var(--cbh-font);font-size:var(--broker-name-size);line-height:1.3;
  -webkit-font-smoothing:antialiased;
}
.cbh-broker-logo{display:block;flex:none;height:var(--broker-mark-h);width:auto;margin-right:.55em}
.cbh-broker-name{font-size:var(--broker-name-size);font-weight:600;color:#fff;white-space:nowrap}
.cbh-broker-line{white-space:nowrap;color:var(--cbh-sand)}
.cbh-broker-role{font-weight:400}
.cbh-broker-tel{
  font-size:max(16px,var(--broker-name-size));font-weight:600;color:#fff;
  text-decoration:none;white-space:nowrap;font-variant-numeric:tabular-nums;
}
.cbh-broker-tel:hover,.cbh-direct:hover{text-decoration:underline;text-underline-offset:3px}
/* Bradley's direct line: after the broker line in DOM order, smaller, and the
   first thing to go when the row runs out of room. */
.cbh-direct{
  margin-left:auto;font-size:min(.875rem,var(--broker-name-size));font-weight:400;
  color:var(--cbh-sand);text-decoration:none;white-space:nowrap;
}
.cbh-broker a:focus-visible,.cbh-foot a:focus-visible{outline:2px solid var(--cbh-sand);outline-offset:3px}
@media (max-width:1180px){ .cbh-direct{display:none} }
@media (max-width:768px){
  .cbh-broker{padding:9px 16px 10px}
  .cbh-broker-line{flex-basis:100%}
  .cbh-broker-dash{display:none}
}

/* ---------- secondary row: Cook Advisory Team — subordinate ------------- */
.cbh-lockup{display:inline-flex;align-items:center;gap:12px;text-decoration:none;min-width:0;color:inherit}
.cbh-mark{display:block;flex:none;height:var(--team-mark-h);width:calc(var(--team-mark-h) * 1148 / 1256)}
.cbh-mark-frame,.cbh-mark-r{fill:var(--cbh-mark-ink,var(--cbh-slate))}
.cbh-mark-c{fill:var(--cbh-mark-accent,var(--cbh-terra))}
.cbh-team{display:flex;flex-direction:column;min-width:0}
/* The wordmark is part of the logo (Poppins 600, terracotta) — drawn as SVG
   text at 1:1, so its computed font-size is its rendered size. */
.cbh-wordmark{
  display:block;overflow:visible;
  height:calc(var(--team-name-size) * 1.12);width:calc(var(--team-name-size) * 12.3);
}
.cbh-wordmark text{
  font-family:var(--cbh-font);font-weight:600;font-size:var(--team-name-size);
  letter-spacing:.06em;fill:var(--cbh-wordmark,var(--cbh-terra));
}
.cbh-team-qual{
  display:block;margin-top:2px;font-family:var(--cbh-font);font-weight:400;
  font-size:max(11px,calc(var(--team-name-size) * .88));line-height:1.3;
  color:var(--cbh-qual,var(--cbh-slate));
}
/* Reversed lockup for dark grounds: white frame and R, terracotta inner frame. */
.cbh-lockup--rev{--cbh-mark-ink:#fff;--cbh-qual:var(--cbh-sand)}

/* Stand-alone team row (landing sites) */
.cbh-team-row{
  display:flex;align-items:center;justify-content:space-between;gap:10px 20px;flex-wrap:wrap;
  padding:9px var(--cbh-pad);background:var(--cbh-paper);border-bottom:1px solid var(--cbh-hair);
}
.cbh-team-site{
  font-family:var(--cbh-font);font-size:.8125rem;color:var(--cbh-slate);text-decoration:none;white-space:nowrap;
}
.cbh-team-site:hover{text-decoration:underline;text-underline-offset:3px}
@media (max-width:600px){ .cbh-team-site{display:none} }

/* ---------- footer brand block: Stirling first, Cook secondary ---------- */
.cbh-foot{font-family:var(--cbh-font);color:var(--cbh-sand)}
.cbh-foot-logo{display:block;height:var(--broker-mark-h);width:auto;margin-bottom:14px}
.cbh-foot-broker{margin:0 0 12px;font-size:.875rem;line-height:1.65;color:var(--cbh-sand)}
.cbh-foot-name{font-size:var(--broker-name-size);font-weight:600;color:#fff}
.cbh-foot-phones{margin:0 0 18px;font-size:.875rem;line-height:1.8}
.cbh-foot-phones a{color:#fff;text-decoration:none;font-weight:600}
.cbh-foot-phones a.cbh-foot-direct{color:var(--cbh-sand);font-weight:400}
.cbh-foot-phones a:hover{text-decoration:underline;text-underline-offset:3px}
.cbh-foot .cbh-lockup{padding-top:16px;border-top:1px solid rgba(232,216,195,.22)}
/* Host footers style every p / a / img inside them (opacity, block links,
   fixed logo widths). The brand block keeps its own sizing and full
   contrast wherever it is dropped in. */
.cbh-foot .cbh-foot-logo{width:auto;height:var(--broker-mark-h);margin-bottom:14px}
.cbh-foot .cbh-foot-broker,.cbh-foot .cbh-foot-phones{opacity:1;font-size:.875rem;color:var(--cbh-sand);font-weight:400}
.cbh-foot .cbh-foot-phones a{display:inline;opacity:1;font-size:.875rem;line-height:1.8;color:#fff;font-weight:600}
.cbh-foot .cbh-foot-phones a.cbh-foot-direct{color:var(--cbh-sand);font-weight:400}
.cbh-foot .cbh-lockup{display:inline-flex;opacity:1}

/* ---------- §4 compliance block ------------------------------------------
   A required disclosure, not fine print: 14px minimum, 4.5:1 minimum,
   never collapsed or hidden at any breakpoint. */
.compliance-block{
  display:block;margin:0;padding:16px var(--cbh-pad);
  background:var(--cb-ground,var(--cbh-paper));color:var(--cb-ink,var(--cbh-ink));
  border-top:1px solid var(--cbh-hair);
  font-family:var(--cbh-font);font-size:max(14px,.875rem);font-weight:400;line-height:1.6;
  text-align:left;opacity:1;
}
.compliance-block__line{margin:0;max-width:none;font-size:inherit;color:inherit;overflow-wrap:break-word}
.compliance-block a{color:inherit;font-weight:600;text-decoration:underline;text-underline-offset:2px;white-space:nowrap}
.compliance-block--dark{--cb-ground:transparent;--cb-ink:var(--cbh-sand);border-top-color:rgba(232,216,195,.22);padding-left:0;padding-right:0}
.compliance-block--inline{margin-top:22px;padding:14px 16px;border:1px solid var(--cbh-hair)}

/* ---------- §5.1 in-form broker identification ---------------------------- */
.form-broker-id{
  margin:14px 0 10px;font-family:var(--cbh-font);font-size:max(13px,.8125rem);
  font-weight:400;line-height:1.5;color:var(--fbi-ink,var(--cbh-ink));text-align:left;
}
.form-broker-id a{color:inherit;font-weight:600;white-space:nowrap}
.form-broker-id--dark{--fbi-ink:var(--cbh-sand)}
