/* ==========================================================================
   icons-2027.css — FontAwesome, subset to what this site actually uses
   --------------------------------------------------------------------------
   Replaces assets/fontawesome/css/all.min.css (102 KB, ~2,450 icons) and the
   full webfonts (278 KB). Only the 70 icons referenced anywhere in the HTML
   or JS are included.

   Regenerate after adding an icon:
       python scratchpad/fa-map.py <repo> && python scratchpad/fa-subset.py <repo>
   If an icon renders as a blank box, it was added to markup without being
   re-subset — run the above and redeploy.

   font-display:swap (FontAwesome ships `block`, which hides glyphs for up to
   3s and cost ~80ms here per Lighthouse).
   ========================================================================== */
@font-face {
    font-family: "Font Awesome 6 Free";
    font-style: normal;
    font-weight: 900;
    font-display: swap;
    src: url('../assets/fontawesome/webfonts-subset/fa-solid-900.woff2') format('woff2');
}
@font-face {
    font-family: "Font Awesome 6 Free";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('../assets/fontawesome/webfonts-subset/fa-regular-400.woff2') format('woff2');
}
@font-face {
    font-family: "Font Awesome 6 Brands";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('../assets/fontawesome/webfonts-subset/fa-brands-400.woff2') format('woff2');
}

.fa, .fas, .far, .fab {
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    display: var(--fa-display, inline-block);
    font-style: normal;
    font-variant: normal;
    line-height: 1;
    text-rendering: auto;
}

.fa, .fas { font-family: "Font Awesome 6 Free"; font-weight: 900; }
.far      { font-family: "Font Awesome 6 Free"; font-weight: 400; }
.fab      { font-family: "Font Awesome 6 Brands"; font-weight: 400; }

.fa::before, .fas::before, .far::before, .fab::before {
    content: var(--fa);
}

/* --- icons in use --- */
.fa-plus { --fa: "\2b"; }
.fa-search { --fa: "\f002"; }
.fa-star { --fa: "\f005"; }
.fa-user { --fa: "\f007"; }
.fa-check { --fa: "\f00c"; }
.fa-times { --fa: "\f00d"; }
.fa-clock { --fa: "\f017"; }
.fa-lock { --fa: "\f023"; }
.fa-tag { --fa: "\f02b"; }
.fa-tags { --fa: "\f02c"; }
.fa-book { --fa: "\f02d"; }
.fa-image { --fa: "\f03e"; }
.fa-times-circle { --fa: "\f057"; }
.fa-check-circle { --fa: "\f058"; }
.fa-info-circle { --fa: "\f05a"; }
.fa-arrow-left { --fa: "\f060"; }
.fa-arrow-right { --fa: "\f061"; }
.fa-arrow-up { --fa: "\f062"; }
.fa-exclamation-triangle { --fa: "\f071"; }
.fa-calendar-alt { --fa: "\f073"; }
.fa-shopping-cart { --fa: "\f07a"; }
.fa-comments { --fa: "\f086"; }
.fa-arrow-up-right-from-square { --fa: "\f08e"; }
.fa-phone { --fa: "\f095"; }
.fa-credit-card { --fa: "\f09d"; }
.fa-briefcase { --fa: "\f0b1"; }
.fa-link { --fa: "\f0c1"; }
.fa-copy { --fa: "\f0c5"; }
.fa-bars { --fa: "\f0c9"; }
.fa-envelope { --fa: "\f0e0"; }
.fa-linkedin-in { --fa: "\f0e1"; }
.fa-sitemap { --fa: "\f0e8"; }
.fa-lightbulb { --fa: "\f0eb"; }
.fa-spinner { --fa: "\f110"; }
.fa-code { --fa: "\f121"; }
.fa-calendar { --fa: "\f133"; }
.fa-rocket { --fa: "\f135"; }
.fa-html5 { --fa: "\f13b"; }
.fa-file-alt { --fa: "\f15c"; }
.fa-university { --fa: "\f19c"; }
.fa-database { --fa: "\f1c0"; }
.fa-file-word { --fa: "\f1c2"; }
.fa-heading { --fa: "\f1dc"; }
.fa-chart-line { --fa: "\f201"; }
.fa-heartbeat { --fa: "\f21e"; }
.fa-balance-scale { --fa: "\f24e"; }
.fa-hand-pointer { --fa: "\f25a"; }
.fa-calendar-check { --fa: "\f274"; }
.fa-universal-access { --fa: "\f29a"; }
.fa-utensils { --fa: "\f2e7"; }
.fa-expand-arrows-alt { --fa: "\f31e"; }
.fa-left-right { --fa: "\f337"; }
.fa-css3-alt { --fa: "\f38b"; }
.fa-desktop { --fa: "\f390"; }
.fa-facebook-f { --fa: "\f39e"; }
.fa-js { --fa: "\f3b8"; }
.fa-mobile-alt { --fa: "\f3cd"; }
.fa-node-js { --fa: "\f3d3"; }
.fa-shield-alt { --fa: "\f3ed"; }
.fa-react { --fa: "\f41b"; }
.fa-compress-alt { --fa: "\f422"; }
.fa-boxes { --fa: "\f468"; }
.fa-comment-dots { --fa: "\f4ad"; }
.fa-robot { --fa: "\f544"; }
.fa-brain { --fa: "\f5dc"; }
.fa-layer-group { --fa: "\f5fd"; }
.fa-tachometer-alt { --fa: "\f625"; }
.fa-blog { --fa: "\f781"; }
.fa-tools { --fa: "\f7d9"; }
