/* BuildFlow — site stylesheet.
   Everything visual is inline in the markup, exactly as the prototype
   authored it. This file carries only what an inline style cannot
   express: the generated hover/focus rule pool and the preloader. */
@import url("hover.css");

#bf-preloader.bf-done { opacity: 0; visibility: hidden; }

/* Self-hosted Poppins. Replaces the Google Fonts request, which is
   render-blocking and leaks visitor IPs to a third party. */
@font-face{font-family:'Poppins';font-style:normal;font-weight:300;font-display:swap;src:url('fonts/Poppins-Light.ttf') format('truetype')}
@font-face{font-family:'Poppins';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/Poppins-Regular.ttf') format('truetype')}
@font-face{font-family:'Poppins';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/Poppins-Medium.ttf') format('truetype')}
@font-face{font-family:'Poppins';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/Poppins-SemiBold.ttf') format('truetype')}
@font-face{font-family:'Poppins';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/Poppins-Bold.ttf') format('truetype')}

/* Preloader backstop.
   site.js clears #bf-preloader once the DOM is parsed. This rule clears
   it after 4s using nothing but CSS, so a script error, a blocked file
   or a slow connection can never leave a visitor stuck behind a
   full-screen overlay. */
@keyframes bf-preload-timeout {
  to { opacity: 0; visibility: hidden; }
}
#bf-preloader {
  animation: bf-preload-timeout 400ms linear 4s forwards;
}
