/* Site chrome on proxied pages (the STR Analyzer) — document-level half.
   The Life Elevated header and footer are injected by functions/str-revenue-analyzer
   as <lem-site-header>/<lem-site-footer>, each with its own shadow root, so the
   site's CSS and the Analyzer's CSS never touch each other. Only what a shadow
   root can't do for itself lives here: fonts (@font-face is ignored inside shadow
   trees), the scroll lock, and the header's reserved height. */
@font-face { font-family: 'Playfair'; font-display: swap; src: url('/fonts/playfair.woff2') format('woff2'); font-weight: 100 900; font-style: normal; }
@font-face { font-family: 'Montserrat'; font-display: swap; src: url('/fonts/Montserrat.woff2') format('woff2'); font-weight: 100 900; font-style: normal; }
@font-face { font-family: 'Font Awesome 6 Free'; font-style: normal; font-weight: 900; font-display: block; src: url('/vendor/webfonts/fa-solid-900.woff2') format('woff2'); }
@font-face { font-family: 'Font Awesome 6 Brands'; font-style: normal; font-weight: 400; font-display: block; src: url('/vendor/webfonts/fa-brands-400.woff2') format('woff2'); }

/* Hidden until the shadow stylesheet lands (it flips them visible with an
   !important :host rule), so the bar never flashes unstyled. The height is the
   fixed header's footprint, reserved up front so the Analyzer never jumps;
   chrome.js corrects it to the measured bar once the page is live. */
lem-site-header, lem-site-footer { display: block; visibility: hidden; }
lem-site-header { height: 95px; }
@media (min-width: 1100px) { lem-site-header { height: 166px; } }

html.mnav-locked, html.mnav-locked body { overflow: hidden; }
